in the industry
play

in the Industry Benoit Feix 3 rd June 2011 Albena, Bulgaria, 29 May - PowerPoint PPT Presentation

Daily Life for a Secure Product in the Industry Benoit Feix 3 rd June 2011 Albena, Bulgaria, 29 May 3 June 2011 1 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). Outline Product Overview Product Design Cycle


  1. Daily Life for a Secure Product in the Industry Benoit Feix 3 rd June 2011 Albena, Bulgaria, 29 May – 3 June 2011 1 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II).

  2. Outline • Product Overview • Product Design Cycle • Evaluations and Certifications of Products (Functional, Security) • Intellectual Property • Some Classical Countermeasures • Some attacks and future … Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 2/xxpages

  3. Who are we? • French company with offices all over the world ─ Former name: Inside Contactless ─ Recently acquired Atmel Secure Microcontroller Solutions activity ─ ~340 employees in the world ─ Fabless company • Secure microcontrollers for cards, tokens, readers, etc. • NFC chip maker and solution provider Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 3/XX pages

  4. Basics Product Contain Appli Appli 1 2 Cryptographic Operating System Libraries Hardware Abstract Layer Integrated Circuit Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 4/XX pages

  5. Security Flow Security Process to have a full secure product: Identify assets to protect in integrity and confidentiality 1) Identify threats (possible attacks) and vulnerabilities 2) Define appropriate countermeasure software and/or 3) hardware Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 5/XX pages

  6. Secure Platform S Appli Appli • Many protections to implement E C 1 2 U  Circuit size (cost) is increased Operating Cryptographic R System Libraries I  Efficiency/performances decreases Hardware Abstract Layer T Integrated Circuit Y • Platform Assets to protect: • Secret keys: for encryption, authentication, signature • Private data • Issuer data • IPs: algorithms, code • Life cycle Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 6/XX pages

  7. Life Cycle – Steps of Design and SPECIFICAT CIFICATIO IONS NS Manufacture OS CRYPTO Tests Integrated Circuit Development Development Production Development Preparation Applications Securisation Development Product Photomask Manufacture Foundry Personnalisation Pre personnalisation Initialisation Tests Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 7/XX pages

  8. Life Cycle Market Life – End of Life - Transactions Management Product on - Updates the Field Field management - Replacement - Deactivation, End of Life - Loss, cancellation, robbery - Product broken Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 8/XX pages

  9. Integrated Circuit Architecture Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 9/XX pages

  10. Integrated Circuit Architecture • Processors: ─ CISC or RISC ─ Harvard or Von Neumann ─ 8 bit (CISC): 8051, AVR ─ 16 bits (RISC): proprietary cores ─ 32 bits (RISC): MIPS, ARM7, ARM9, SC100 … new ARM families • ROM: Read Only Memory • RAM: Random Access Memory • EEPROM: Electrically Erasable Programmable Read Only Memory • FLASH • RNG: Random Number Generator • Coprocessors for: ─ DES ─ AES ─ CRC ─ Long Integer Arithmetic • MMU: Memory Management Unit • Security Logic: sensors, noise generators … Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 10/XX pages

  11. Cryptographic Algorithm most used in embedded … • Symmetric ─ DES/TDES: NIST only recommends TDES ─ AES • Hash functions ─ SHA-1, SHA-2 ─ RIPEMD 160 ─ Later .. (2012) SHA-3: competition ongoing • Asymmetric ─ RSA CRT – RSA SFM ─ DSA / ECDSA ─ DH / ECDH ─ OBKG • Stream Ciphers: not so used … • Examples: cf. Oberthur presentation on Thursday morning. Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 11/XX pages

  12. Operating Systems • Two kinds of operating system in smart cards : ─ ‘’Closed’’ or dedicated systems • Generally mono applicative; dedicated to a unique usage; for instance banking cards, health cards, SIM cards for mobile ─ Open systems • Not dedicated to a specific application, it is possible to download some software (applets) after the ROM mask step and the personalization; for instance the Java Cards, or the MultOS operating system… Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 12/XX pages

  13. Operating System • Different functionalities ─ Input / Output data and associated protocol management ─ Memory Management in work areas ─ Basic and principle services for applicative codes • Secure Management of memory copies and transfers • Cryptogram calculation, random number generation, CRC … • Integrity of elements • Authentication • Session key management • Protocol, command management … ─ Multi applicative mode management ─ Access control management for reading and writing at each memory area ─ Life Cycle Management with security • Initialization • Pre-personalization • Personalization • Applicative mode Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 13/XX pages

  14. Operating System • Different languages ─ C ─ Assembly: native and dedicated to each microprocessor ─ C++ ─ Java Card • Examples of code sizes ─ Banking Card (native): • RAM ~ 2 to 4 Kbytes • ROM ~ 32 to 96 Kbytes • NVM ~ 8 to 32 Kbytes ─ SIM Card • RAM ~ 2 to 8 Kbytes • ROM ~ 128 to 256 Kbytes • NVM ~ 128 to 256 or more Kbytes ─ Multi applicative or open product • Can be more … big NVM allow to download a lot of applets. Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 14/XX pages

  15. Applications / Applets • Applications ─ Can be burned in ROM and then only instanced • On a closed system • In native language (assembly and C) ─ Can be downloaded during personalization or later in the life cycle in an open system: MultOS • Java Applets ─ Can be loaded on any product having a Java Card OS • Developed in Java Card ─ Open platform which manages the loading in a secure manner Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 15/XX pages

  16. … So many different possible attacks • Invasive Attacks Reverse Engineering Probing FIB (Focused Ion beam) • Passive Attacks Timing Attacks Side-Channel Analysis (Power, ElectroMagnetic, RF) • Active Attacks Fault Attacks … then so many competencies required ! Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 16/XX pages

  17. Invasive Attacks Techniques originate from the failure analysis domain • Gaining access to the chip • Reverse engineering • Reconstitution of the layers – Reading the memories – Read internal state • Probing the device – Circuit modifications (FIB) – Cost = Very expensive… Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 17/XX pages

  18. Reverse Engineering Gaining access to the chip (example) – Remove/cut plastic with a knife – Use chemical to remove resin (nitric acid, acetone…) – Reconnect the chip in another package if needed. – Layers reconstitution: using plasma machine or chemical – Each layer image is obtained through an electronic microscope – Each metal level can then be observed – Whole IC reverse engineering is very complex but part of it can be done – Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 18/XX pages

  19. Reading / Modifying Reading the memories – Depend on the kind of memory: a basic ROM can be directly read on – the top metal layer For diffused memory it is necessary to reach the bulk level and use – etching techniques Much more difficult in practice on other memories: Flash, EEPROM, – RAM Probing – Direct access to internal signals enables observation or modification of – internal data (bits): data flow in buses … Focused Ion Beam (FIB) – Can be used to add test pads (probing) on sensitive signals – To modify the internal behavior of a device –  Bypass security features, modify functionalities Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 19/XX pages

  20. Reading Modifying by Probing • Need a micro probing station • Put one or many probes on a circuit area to read or modify bits: ─ Values in a bus for instance … • Key bits in a bus ─ other sensitive values … Albena, Bulgaria, 29 May – 3 June 2011 Design and Security of Cryptographic Algorithms and Devices (ECRYPT II). 20/XX pages

Recommend


More recommend