410 likes | 706 Views
Everything you always wanted to know about Smart Cards. Marc Witteman <Witteman@Riscure.com> November 2001. Contents. Secure communication threats objective of cryptography cryptographic services, principles and algorithms Smart cards concepts applications architecture Security
E N D
Everything you always wanted to know about Smart Cards... Marc Witteman <Witteman@Riscure.com> November 2001
Contents • Secure communication • threats • objective of cryptography • cryptographic services, principles and algorithms • Smart cards • concepts • applications • architecture • Security • basic security features • attacks • counter measures
What are the threats ? receiver sender Confidentiality: unauthorized disclosure of information Integrity: unauthorized modification of information Authenticity: unauthorized use of service
Objective of cryptography • Giving trust in: • authenticity of message and/or sender • integrity of message • (sometimes) confidentiality of message • by using an algorithm based on a secret shared between participants in a scheme.
Key Key message encryption decryption message Key MAC Key = ? message encryption encryption MAC message Challenge Key Key encryption encryption response response = ? Cryptographic services Encryption (confidentiality) Message Authentication Codes (integrity) Electronic signatures (authentication)
Cryptographic principles • based on: • key secrecy • strong algorithms • difficult to guess key from message/ciphertext pairs • sufficient key length (brute force) • Kerckhoffs’ principle: • strength should reside in secrecy of key, • not in secrecy of algorithm
Cryptographic algorithms (1) Classical systems: • transposition (mixing character sequence) • substitution (changing characters) • poly-alphabetic substitution (Viginere, Hagelin) easily broken, using language statistics
Cryptographic algorithms (2) Today two kinds of algorithms: • repetitive permutations and substitutions of bits: • DES, 3-DES, IDEA, RC5, Blowfish … • secret key • mathematical calculations • RSA, Rabin, ElGamal, zero-knowledge, elliptic curve… • public key
Anne Doe 1234 5678 8910 Smart card concepts A smart card: • can store data (e.g. profiles, balances, personal data) • provides cryptographic services (e.g. authentication, confidentiality, integrity) • is a microcomputer • is small and personal • is a secure device
Smart card application area’s • Communication • Entertainment • Retail • Transportation • Health care • Government • E-commerce • E-banking • Education • Office
Retail Sale of goodsusing Electronic Purses, Credit / Debit Vending machines Loyalty programs Tags & smart labels Communication GSM Payphones Transportation Public Traffic Parking Road Regulation (ERP) Car Protection Smart card applications (1) • Entertainment • Pay-TV • Public event access control
Healthcare Insurance data Personal data Personal file Government Identification Passport Driving license E-commerce sale of information sale of products sale of tickets, reservations E-banking access to accounts to do transactions shares Smart card applications (2)
Educational facilities Physical access Network access Personal data (results) Copiers, vending machines, restaurants, ... Office Physical access Network access Time registration Secure e-mail & Web applications Smart card applications (3)
Gnd Vcc Vpp Reset I/O Clock Smart card architecture Physical appearance: Credit card or SIM dimensions Contacts or contactless
What’s inside a smart card ? Central Processing Unit: heart of the chip CPU
What’s inside a smart card ? security logic: detecting abnormal conditions, e.g. low voltage CPU security logic
What’s inside a smart card ? serial i/o interface: contact to the outside world CPU security logic serial i/o interface
testlogic What’s inside a smart card ? test logic: self-test procedures CPU security logic serial i/o interface
test logic ROM What’s inside a smart card ? • ROM: • card operating system • self-test procedures • typically 16 kbytes • future 32/64 kbytes CPU security logic serial i/o interface
test logic ROM RAM What’s inside a smart card ? RAM: ‘scratch pad’ of the processor typically 512 bytes future 1 kbyte CPU security logic serial i/o interface
test logic ROM RAM EEPROM What’s inside a smart card ? • EEPROM: • cryptographic keys • PIN code • biometric template • balance • application code • typically 8 kbytes • future 32 kbytes CPU security logic serial i/o interface
databus testlogic CPU ROM security logic RAM serial i/o interface EEPROM What’s inside a smart card ? databus: connection between elements of the chip 8 or 16 bits wide
Basic smart card security features • Hardware • closed package • memory encapsulation • fuses • security logic (sensors) • cryptographic coprocessors and random generator • Software • decoupling applications and operating system • application separation (Java card) • restricted file access • life cycle control • various cryptographic algorithms and protocols
Smart card attacks Side Channel Attacks Internal Attacks Logical Attacks
etching tools Microscope Probe station laser cutters Scanning Electron Microscope Focussed Ion Beam System and more……. Internal Attacks Lab pictures provided by TNO
Internal attack counter measures • Alarm (sensors) • light • active grid • Hide • feature size (< 300 nm) • multi-layer • buried bus • bus scrambling • shield • Confuse • glue logic • redundant logic
Logical attacks Communication Command scan File system scan Invalid / inopportune requests Crypt-analysis and protocol abuse
Logical attack counter measures • Command scan • limit command availability • restrict and verify command coding • life cycle management • File system scan • restrict file access • test file access mechanisms (PIN. AUT, etc) • Invalid / inopportune requests • exclude non-valid behaviour • verify conformance • Crypt analysis and protocol abuse • publish algorithms and initiate public discussion • evaluate crypto algorithm and protocol
Side channel Attacks • Use of ‘hidden’ signals • electromagnetic emission • power consumption • timing • Insertion of signals • power glitches • electromagnetic pulses
Power analysis peak shape slope Iddq area time
Threshold of read value A power dip at the moment of reading a memory cell Fault injection on smart cards Change a value read from memory to another value by manipulating the supply power:
Side channel attack counter measures • Signal analysis • reduce processor signal by balancing or equalising the power and/or shielding the emission • add noise to the processor activity (both in time and amplitude) • eliminate timing relation with processed key and or data • variable ordering of processes • blinding of intermediate values with random values • retry counters • limited control and visibility of crypto input and output • Signal insertion • use sensors for supply voltage, light and temperature • double implementation path (for verification) • check for runtime parameter validity
Conclusions • Smart card technology is emerging, applications are everywhere • Smart cards enhance service and security • Perfect security does not exist, even not for smart cards • Risk analysis is essential More info? Mailto: info@riscure.com