smart cards smart cards a s a s safety critical systems
play

Smart Cards Smart Cards a(s) a(s) Safety Critical Systems Safety - PowerPoint PPT Presentation

Smart Cards Smart Cards a(s) a(s) Safety Critical Systems Safety Critical Systems Gemplus Labs Gemplus Labs Pierre.Paradinas Paradinas@ @gemplus gemplus.com .com Pierre. Agenda Agenda Smart Card Technologies Smart Card


  1. Smart Cards Smart Cards a(s) a(s) Safety Critical Systems Safety Critical Systems Gemplus Labs Gemplus Labs Pierre.Paradinas Paradinas@ @gemplus gemplus.com .com Pierre.

  2. Agenda Agenda � Smart Card Technologies Smart Card Technologies � � Java Card TM � Smart Card a specific domain Smart Card a specific domain � � Card Life cycle � Our Technical and Business constraints � FM and safety card development FM and safety card development �

  3. Historical account Historical account � 1967: First idea on the use of electronic component 1967: First idea on the use of electronic component � in credit card (Europe, US, Japan). in credit card (Europe, US, Japan). � 1974: Roland 1974: Roland Morenos Morenos patents patents � � 1979: First Bull CP8 card prototype 1979: First Bull CP8 card prototype � � 1982 1982- -1984: First experimentation in France 1984: First experimentation in France � � 1987 1987- -1989: ISO standard 1989: ISO standard � � 1990 1990- -1999: Applications 1999: Applications � � French “Carte Bleue” for banking � European mobile phone with GSM/SIM cards � Health insurance, e-purse,… � 1997: First Java based open card 1997: First Java based open card �

  4. Smart Cards Standards (1/2) Smart Cards Standards (1/2) � ISO 7816 ISO 7816- -1 1 � � Physical characteristic, constraints, size � ISO 7816 ISO 7816- -2 2 � � Dimension and location of the contacts � ISO 7816 ISO 7816- -3 3 � � Electric signal and transmission protocols � Card Answer to Reset: information about card characteristic � T=0; T=1

  5. Smart Cards Standards (2/2) Smart Cards Standards (2/2) � ISO 7816 ISO 7816- -4 4 � � Structure of the exchanged messages of command - response � APDU Application Protocol Data Unit. � ISO 7816 ISO 7816- -5 5 � � Application identifiers � ISO 7816 ISO 7816- -6 6 � � Data element of interchange � ETSI GSM 11.1: Command messages for SIM cards ETSI GSM 11.1: Command messages for SIM cards � � EMV: Command messages for payment cards EMV: Command messages for payment cards � � JC 2.1... JC 2.1... �

  6. Different Kind of Cards Different Kind of Cards � Memory cards Memory cards � � A simple memory without a processor � Data card contains data burned in read only memory � Token card: one bit in memory = one token (phone card) � Memory cards with logic Memory cards with logic � � Token card with electronic control to enhance security � Microprocessors cards (smart cards) Microprocessors cards (smart cards) � � A module includes a processor with RAM, ROM and EEPROM, the COS and the application.

  7. Smart card modules Smart card modules � Power and clock provided by the reader Power and clock provided by the reader � � Chip hidden under the contacts into a glue Chip hidden under the contacts into a glue � � Single chip (w/o a cryptographic Single chip (w/o a cryptographic- -processor) processor) � � Security features Security features � Gnd � address line scrambled Vcc � physical sensors Reset � others... Clk I/O Epoxy Component Antenna Plastic Contacts

  8. Smart Card Microcontrollers Microcontrollers Smart Card � Microcontrollers Microcontrollers � � 8 bit for low cost application � 16/32 bit will be used � Limited resources Limited resources � � ROM 8 to 64 kb; contain the burned OS � RAM 256 to 2 kb; fast and volatile, used as working memory � EEPROM 2 to 64 kb; used as memory storage, slow and subject to wear (anti stress mechanism). � Only one communication line (half duplex) Only one communication line (half duplex) �

  9. Small Software Small Software � Some thousand lines: tractable with the current tools, Some thousand lines: tractable with the current tools, � � Only sequential code, Only sequential code, � � Limited number of features, Limited number of features, � � Public domain specification (Java Card), Public domain specification (Java Card), � � Reactive system with one I/O line, Reactive system with one I/O line, � � Assembly and C are used…. Assembly and C are used…. �

  10. Motivations of Open Card Motivations of Open Card � Applications are developed by the card provider in a Applications are developed by the card provider in a � secure environment, secure environment, � Drawbacks: Drawbacks: � � time consuming � costly Responses Commands � poor flexibility � time to market Operating System + Application Chip

  11. Open Cards... Open Cards... � Applications developed by the customer or any Applications developed by the customer or any � application provider, application provider, Downloadable � Dynamically downloaded through a network Dynamically downloaded through a network � applications Data Instructions Responses Commands Secure Virtual Machine Operating System Chip

  12. Introduction to the Java card Introduction to the Java card � The Java Card The Java Card � � The JVM architecture The JVM architecture � � The security procedures The security procedures �

  13. What is a Java card ? What is a Java card ? � The Java Card The Java Card � � a smart card dedicated to Java applications � a platform with highly limited resources � a dedicated Java language � a multi-application device � a specific Java Virtual Machine (JVM) architecture.

  14. A subset of Java A subset of Java � A single thread virtual machine A single thread virtual machine � � Unsupported features Unsupported features � � Dynamic class loading � String and Thread classes � Double, float, char types � multiple dimension arrays � java.lang.System class � Garbage collection � Security manager � The Applet Firewall The Applet Firewall � � Programming limitations Programming limitations �

  15. The JVM architecture The JVM architecture � Developer property Developer property � Java Compiler � Developer property Developer property � Java compiler � � Applet provider Applet provider � � Bytecode verifier � Applet provider Applet provider � Bytecode verifier � Bytecode converter Bytecode converter � Java card features Java card features � � Card loader � Java card features Java card features � Loader � Linker Linker � Runtime firewall Firewall

  16. Java Card Environment Java Card Environment Code source Java Code source Java Class File Java Class File Java Java Java Bytecode verifier Bytecode verifier Compiler and Converter Compiler and Converter Dynamic Dynamic *.java *.java *.class *.class Security Security On On Card Card Java Card Java Card Files Files Firewall Firewall Off Card Card Off Linker Linker Loader Loader First static First static *.cap *.cap security tests tests security Other embedded Other embedded Static checks and resolutions Static checks and resolutions

  17. Java Card Security Chain Java Card Security Chain Virtual Machine Verifier Applet .java .class .cap Sign/Enc Loader Loader Applet Applet Applet OP CM Linker JC API Java Card JVM OS Chip

  18. Java Card Security Chain Java Card Security Chain Virtual Machine Verifier Sign/Enc Loader Applet Security Loader Applet Policy Applet Applet OP CM Linker Platform JC API Java Card JVM Security OS Chip

  19. ...and the sharing mechanism ...and the sharing mechanism � The Java Card specification provides a mechanism to The Java Card specification provides a mechanism to � share data between several applets, share data between several applets, � For example: a purse and a loyalty applet can share methods and/or objects, � Due to the limited resources of the smart cards new services or libraries will be offered. A share with B a method A share with B a method B share with C a method B share with C a method Purse Applet Purse Applet Loyalty Applet Loyalty Applet Hostile Applet Hostile Applet Log Buffer Log Buffer Buffer Buffer Log.getTransaction Log.getTransaction Buffer.reSell reSell Buffer. Applet Provider A Applet Provider B Applet Provider B Applet Provider C Applet Provider C Applet Provider A JCRE JCRE

  20. Two security levels Two security levels � Applications are no more developed under card Applications are no more developed under card � issuer control, issuer control, � Platform security Platform security � � Traditional means, � Use of formal methods. => Models of the platform security modules � Application security Application security � � There is a need for a global security policy � Flow control (data and/or code sharing) � Resources consumption (memory, CPU, method calls...) => Static analysis of applet configurations (part of the CMS)

  21. Smart card… a specific domain ? Smart card… a specific domain ? � Short development cycle Short development cycle � � Short life time Short life time � � Mass product, million of smart cards Mass product, million of smart cards � � A specific life cycle A specific life cycle �

Recommend


More recommend