27 th Oct 2003 Checking Secure Interactions of Smart Card Applets: extended version P. Bieber, J. Cazin, P. Girard, J. –L. Lanet, V. Wiels, and G. Zanon.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Security of JavaCard smart card applets Erik Poll University of Nijmegen
New Security Issues Raised by Open Cards Pierre GirardJean-Louis Lanet GERMPLUS R&D.
Information Flow and Covert Channels November, 2006.
Operating System Security
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Grid Computing, B. Wilkinson, 20045a.1 Security Continued.
Tamper Resistant Software An Implementation By David Aucsmith, IAL “This paper describes a technology for the construction of tamper resistant software.”
FIPS 201 Personal Identity Verification For Federal Employees and Contractors National Institute of Standards and Technology Information Technology Laboratory.
H Apr-01 Clark Thomborson Software Security CompSci 725 Handout 28: Report Writing #2 (Sample Titles & Abstracts) Clark Thomborson University of.
Ashish Kundu CS590F Purdue 02/12/07 Language-Based Information Flow Security Andrei Sabelfield, Andrew C. Myers Presentation: Ashish Kundu
Title of Selected Paper: Design and Implementation of Secure Embedded Systems Based on Trustzone Authors: Yan-ling Xu, Wei Pan, Xin-guo Zhang Presented.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
8.1 Learning Objectives To become familiar with the range of security threats faced by networked and distributed systems (DSs); To examine various cryptographic.
Security Considerations in Adaptive Middleware Security and Mobile Agents Ajanta – Mobile Agent’s research project papers (
SE 555 Software Requirements & Specification Requirements Validation.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
Information Systems Security Security Architecture Domain #5.
1 The Problem o Fluid software cannot be trusted to behave as advertised unknown origin (must be assumed to be malicious) known origin (can be erroneous.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Secure Electronic Transaction (SET)
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
© 2009 Matthew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
ISA 562 Internet Security Theory & Practice
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Trusted Systems Laboratory Hewlett-Packard Laboratories Bristol, UK InfraSec 2002 InfraSec 2002 Bristol, October 2002 Marco Casassa Mont Richard.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
Hardening Digital Signatures against Untrusted Signature Software 姓名:謝宏偉 學號: M99G0219 Digital Information Management, ICDIM '07. 2nd International.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Containment and Integrity for Mobile Code Security policies as types Andrew Myers Fred Schneider Department of Computer Science Cornell University.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
© 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
CSE 219 Computer Science III Program Design Principles.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Lattice-Based Access Control Models Ravi S. Sandhu Colorado State University CS 681 Spring 2005 John Tesch.
Secure Active Network Prototypes Sandra Murphy TIS Labs at Network Associates March 16,1999.
G53SEC 1 Reference Monitors Enforcement of Access Control.
29 th October 2003 Checking Secure Interactions of Smart Card Applets: extended version P. Bieber, J. Cazin, P. Girard, J. –L. Lanet, V. Wiels, and G.
12/4/20151 Computer Security Security models – an overview.
12/13/20151 Computer Security Security Policies...
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
AUTHORS – X. NIE, D. FENG, J. CHE, X. WANG PRESENTED BY- PREOYATI KHAN KENT STATE UNIVERSITY Design and Implementation of Security Operating System based.
Information Security CS 526 Topic 17
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
A Lattice Model of Secure Information Flow By Dorothy E. Denning Presented by Drayton Benner March 22, 2000.
Trusted Operating Systems
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
The Inevitability of Failure: The Flawed Assumption of Security in Modern Computing Environments presented by Toby.
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 16 October 14, 2004.
JAVA CARD Presented by: MAYA RAJ U C A S,PATHANAMTHITTA.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
Chap5: Designing Trusted Operating Systems.  What makes an operating system “secure”? Or “trustworthy”?  How are trusted systems designed, and which.
22 feb What is Access Control? Access control is the heart of security Definitions: * The ability to allow only authorized users, programs or.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Secure Information Flow for Reactive Programming Paradigm Zhengqin Luo SAFA workshop 2009.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Outline What does the OS protect? Authentication for operating systems
Outline What does the OS protect? Authentication for operating systems
Presentation transcript:

27 th Oct 2003 Checking Secure Interactions of Smart Card Applets: extended version P. Bieber, J. Cazin, P. Girard, J. –L. Lanet, V. Wiels, and G. Zanon Published in Journal of Computer Security Presented By: Sruthi Bandhakavi (Day 1)

Contents of the paper A security policy that associates levels to applet attributes and methods. A technique based on model checking to verify that actual information flows between applets are authorized. The approach is illustrated on applets involved in an electronic purse running on Java enabled smart cards. Goal: To provide techniques and tools for the Java Card issuer to verify that new applets interact securely with already loaded applets.

What is a Java Card? Java Card - A smart card capable of running Java programs. The system architecture on the Java Card

Benefits of Java Card Technology Interoperable Secure Multi-Application Capable Dynamic Open Compatible with Existing Standards

Multi-application Smart Card A smart card that can contain several functions.

Advantages of multi-application smart cards To reduce the number of cards in the users’ wallets Allow the issuers to decrease the time-to-market, the development, infrastructure and deployment costs or to update/add applications after card issuance. Allow the commercial synergies between partners and can lead to new business opportunities. Ex: A credit card with an electronic purse and a frequent flyer application. More cost effective than several cards with single applications.

Participants Issuer Proposes the card to the user. (Bank) Application provider (AP) Designs the application for targeted card OS. Negotiates with the issuer for downloading its application into the card. Owner of the applet and applet’s data. (airways operating the frequent flyer application). Card Operator(CO) Interacts with the card either to use an application or to perform an administrative task. (Bank) Card Holder(User)

Security issues Platform level security Applications segregation(OS Security) Quality of security services offered by the platform (correctness of JVM, tamper resistance, cryptographic algorithms, post issuance loading mechanisms) Issuers’ responsibility. Application security Under providers’ responsibility but relies on platform security. OS must guarantee the security of the applications even though some insecure applications are encountered by it. Information flow security Difficulties that arise from illegal data sharing inside a card.

Security Policies Discretionary Security Policy Application will be in charge of defining their own security policy, for example, by providing access control lists to the OS using which the propagation of data between applets is controlled. Mandatory Security Policy Card wide security policy necessary to solve the problem of re-sharing shared objects.

Trust Relationships

Security Level lattice without Sharing

Security level lattice with unacceptable sharing

Security level lattice with acceptable sharing

Implementation Issues Classifying the data objects and assigning granularity. Enforcing a security policy

Classification of data objects Assign a security level to each data object. In a given applet, label the objects with their provider’s level. If an object is shared, assign the level related to the shared data. Authorized information flows in an applet will be from lower labeled objects to higher ones.

Enforcing the security policy Dynamically Using a reference monitor, which will be called each time an object reference is made by the virtual machine. Costly in memory and execution time. Statically By checking the correctness of information flows between applets. Done using security level set with a lattice structure.

Applet Certification

Example of three applets sharing data

Lattice of security levels

Electronic Purse Functionalities

Electronic purse threats Applet Interactions

Security Policy Each applet provider is assigned a security level and we consider special levels for shared data. In our example we have a level for each applet: AF for Air France, P for Purse and RC for RentaCar, AF+P for data shared by Air France and Purse, etc. The relation between levels ≤ is used to authorize or forbid information flows between applets. In the policy we consider, AF + P ≤ AF and AF + P ≤ P, this means that information whose level is AF + P is authorized to flow towards information whose level is P or AF. The applets may only communicate through shared interfaces, directs flows between levels AF, P and RC are forbidden. AF ! ≤ P, P ! ≤ AF, AF ! ≤ RC, RC ! ≤ AF, P ! ≤ RC & RC ! ≤ P.

Authorized information flows The levels together with the ≤ relation have a lattice structure, so there are a bottom level public and top level private.

Secure Dependency Model Applies to systems where applications might maliciously or involuntarily, communicate confidential information to other applications. Ensures that dependencies between system objects cannot be exploited to establish an indirect communication channel. When applied to electronic purse, illicit interactions will be detected by controlling the dependencies between objects of the system.

Definitions Set of Evolutions A program is described by a set of evolutions that associate a value with each object at each date. Ev  Objects X Dates  Values Set Objects X Dates is made of three disjoint subsets: Input objects : not computed by the program Output objects: computed by the program and are directly observable Internal objects: not observable. Function lvl Associates a security level with input and output objects.

Secure Dependency Property(SecDep) Requires that the value of the output objects with security level l only depends on the value of input objects whose security level is dominated by l :  o t  Output,  e  Ev,  e’  Ev, e ~ aut(ot) e’  e(o t ) = e’(o t ) where aut(o t ) = {o’ t’  Input | t’ < t, lvl(o’ t’ ) ≤ lvl( o t )} and e ~ aut(ot) e’ iff  o’ t’  aut(o t ), e(o’ t’ ) = e’ (o’ t’ ). Cannot be directly proved by a model checker like SMV because it is neither a safety or liveness property nor a refinement property. So sufficient conditions of SecDep that are better handled by SMV are looked up.

Definitions 2 Set dep(i, o t ) Contains objects with date t-1 used by instruction at program location i to compute the value o t. Program counter Internal object such that pc t-1 determines the current instruction used to compute the value of o t. Whenever and object is modified(i.e. o t-1 is different from o t ) then we consider that pc t-1 belongs to dep(i, o t ). Function lvldep Associates a computed level with each object for each evolution. If o t is an input object then lvldep(e, o t ) = lvl(o t ) otherwise lvldep(e, o t ) = max{lvldep(e, o’ t-1 ) | o’ t-1  dep(e(pc t-1 ), o t ) } where max denotes the least upper bound in the lattice of levels.

Hypothesis 1. The value of o t computed by the program is determined by the values of objects in dep(e(pc t-1 ), o t ) :  o t  Output,  e  Ev,  e’  Ev, e ~ dep(e(pct-1 ), ot) e’  e(o t ) = e’(o t )

Theorem 1. A program satisfies SecDep if the computed level of an output object is always dominated by it security level:  o t  Output,  e  Ev, lvldep(e, o t ) ≤ lvl(o t )