Giesecke & Devrient Sm@rtCafé Expert 3.2 FIPS 140-2 Non-Proprietary Security Policy Level 3 Validation Version 1.5 June 2008 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Smart Cards Table of Contents 1. INTRODUCTION ...................................................................................................... 4 1.1 PURPOSE.............................................................................................................. 4 1.2 REFERENCES ........................................................................................................ 4 1.3 DOCUMENT ORGANIZATION .................................................................................... 5 2. SM@RTCAFÉ EXPERT 3.2 CRYPTOGRAPHIC MODULE SPECIFICATION ....... 6 2.1 OVERVIEW ............................................................................................................ 6 2.1.1 Modules ........................................................................................................ 7 2.2 PHYSICAL SECURITY WITH WELL-DEFINED INTERFACES............................................ 7 2.2.1 The Chip modules: NXP P5CC073, NXP P5CD080 and NXP P5CD144...... 8 2.2.2 The contact Interface .................................................................................... 9 2.2.3 The contactless Interface ............................................................................ 10 2.2.4 The cryptographic boundary ....................................................................... 10 2.3 FINITE STATE MACHINE MODEL ............................................................................ 11 2.4 SOFTWARE SECURITY .......................................................................................... 11 2.4.1 Command Structure .................................................................................... 12 3. ROLES & SERVICES ............................................................................................. 13 3.1 ROLES ................................................................................................................ 13 3.1.1 Identity based Authentication ...................................................................... 13 3.2 SERVICES ........................................................................................................... 14 3.2.1 Crypto Officer Administrative Services........................................................ 14 3.2.2 Crypto Officer & User services .................................................................... 15 3.2.3 Unauthenticated services:........................................................................... 15 3.2.4 Relationship between Roles & Services...................................................... 16 3.2.5 Applets Services ......................................................................................... 16 3.2.6 Card Cryptographic Functions .................................................................... 18 3.2.7 RNG ............................................................................................................ 19 3.3 CRITICAL SECURITY PARAMETERS (CSP):............................................................. 20 4. SECURITY RULES ................................................................................................ 22 4.1 IDENTIFICATION & AUTHENTICATION SECURITY RULES ........................................... 22 4.2 APPLET LOADING SECURITY RULES ...................................................................... 22 4.2.1 "GP Delegated Management" ..................................................................... 22 4.2.2 "GP DAP" .................................................................................................... 23 4.3 ACCESS CONTROL SECURITY RULES .................................................................... 23 4.4 PHYSICAL SECURITY RULES ................................................................................. 23 4.5 KEY MANAGEMENT SECURITY POLICY ................................................................... 23 4.5.1 Cryptographic key generation ..................................................................... 23 4.5.2 Cryptographic key entry/output ................................................................... 23 4.5.3 Cryptographic key storage .......................................................................... 24 4.5.4 Cryptographic key destruction..................................................................... 24 4.6 APPROVED MODE ................................................................................................ 25 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 2 of 34 Smart Cards 5. SECURITY POLICY CHECK LIST TABLES.......................................................... 27 5.1 ROLES & REQUIRED AUTHENTICATION....................................................... 27 5.2 STRENGTH OF AUTHENTICATION MECHANISMS ....................................... 27 5.3 SERVICES AUTHORIZED FOR ROLES .......................................................... 27 5.4 ACCESS RIGHTS WITHIN SERVICES ............................................................ 28 6. CRYPTOGRAPHIC KEY MANAGEMENT ............................................................. 29 7. STANDARDS-BASED CRYPTOGRAPHY............................................................. 30 7.1 NON FIPS-APPROVED ALGORITHMS ...................................................................... 30 7.2 SELF-TESTS........................................................................................................ 30 7.2.1 Power-Up Self Tests ................................................................................... 30 7.2.2 Conditional Tests ........................................................................................ 31 8. MITIGATION OF ATTACKS................................................................................... 32 9. SECURITY POLICY CHECK LIST TABLES.......................................................... 32 9.1 ROLES AND REQUIRED AUTHENTICATION................................................................. 32 9.2 STRENGTH OF AUTHENTICATION MECHANISMS ........................................................... 32 9.3 SERVICES AUTHORIZED FOR ROLES ......................................................................... 32 9.4 MITIGATION OF OTHER ATTACKS ............................................................................. 33 10. ACRONYMS ........................................................................................................... 34 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 3 of 34 Smart Cards 1. INTRODUCTION 1.1 Purpose This is a non-proprietary Cryptographic Module Security Policy for Giesecke & Devrient (G&D) Sm@rtCafé Expert 3.2 . This security policy describes how Sm@rtCafé Expert 3.2 meets the security requirements of FIPS 140-2 [FIPS140-2] and how to run Sm@rtCafé Expert 3.2 in a secure FIPS 140-2 approved mode. This policy was prepared as part of the Level 3 FIPS 140-2 validation of Sm@rtCafé Expert 3.2 . Throughout this document, the Sm@rtCafé Expert 3.2 is referred to as the chip, the Sm@rtCafé Expert 3.2 , and the module. FIPS 140-2 (Federal Information Processing Standards Publication 140-2 -- Security Requirements for Cryptographic Modules) details the U.S. Government requirements for cryptographic modules. More information about the FIPS 140-2 standard and validation program is available on the NIST website at http://csrc.nist.gov/groups/STM/cmvp/index.html. 1.2 References This document deals only with operations and capabilities of Sm@rtCafé Expert 3.2 in the technical terms of a FIPS 140-2 cryptographic module security policy and has been written in parts describing GlobalPlatform functionality. More information is available on Sm@rtCafé Expert 3.2 from the following sources: · Overview information of Giesecke & Devrient products and services can be found at: www.gdai.com · For answers to technical or sales related questions, please refer to the contacts listed on the Giesecke & Devrient website at www.gdai.com [GPCS] GlobalPlatform Card Specification, v2.1.1, March 2003 [ISO] ISO/IEC 7816-3 : Second edition 1997-09-18, Identification cards - Integrated circuit(s) cards with contacts - Part 3 : Electronic signals and transmission protocols, ISO/IEC FCD 7816-4: 2003 (Draft) Identification cards - Integrated circuit(s) cards with contacts, Part 4: Interindustry commands for interchange, Working draft dated 2003-01-17, ISO SC17 Document 17N2268T, ISO/IEC 7816-5 : 1994, Identification cards - Integrated circuit(s) cards with contacts - Part 5 : Numbering system and registration procedure for application identifiers, ISO/IEC FCD 7816-6 : 2003 (Draft), Identification cards - Integrated circuit(s) cards with contacts - Part 6 : Interindustry data elements for interchange ­ FCD dated 2003-01-17, ISO SC17 Document 17N2270T, ISO/IEC FCD 7816-8: 2003 (Draft), Integrated circuit(s) cards with contacts, Part 8: Interindustry commands for a cryptographic toolbox. FCD dated 2003-01-17, ISO SC17 Document 17N2272T, ISO/IEC FCD 7816-9: 2003 (Draft), Integrated circuit(s) cards with contacts, Part 9: Interindustry commands for card and file management. FCD dated 2003- 01- 17, SC17 Document 17N2274T. [JCS] Java Card TM 2.2.1, Card Specification, October 2003, Sun Microsystems [X9.31] American Bankers Association, Digital Signatures using Reversible Public Key Cryptography for the Financial Services Industry (rDSA), ANSI X9.31-1998, Washington, D.C., 1998. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 4 of 34 Smart Cards [FIPS140-2] National Institute of Standards and Technology, FIPS 140 -2 Standard, 2002 [DES] National Institute of Standards and Technology, Data Encryption Standard, Federal Information Processing Standards Publication 46-3, October 25, 1999. Table 1 References 1.3 Document Organization The Security Policy document is one document in a FIPS 140-2 Submission Package. In addition to this document, the Submission Package contains: · Vendor Evidence document · Finite State Machine Model · Sm@rtCafé Expert 3.2 Reference Manuals · Other supporting documentation as additional references This Security Policy and the other validation submission documentation were produced by Giesecke & Devrient. With the exception of this non-proprietary Security Policy, the FIPS 140-2 Validation Submission Documentation is proprietary to Giesecke & Devrient and is releasable only under appropriate non-disclosure agreements. For access to these documents, please contact Giesecke & Devrient. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 5 of 34 Smart Cards 2. SM@RTCAFÉ EXPERT 3.2 CRYPTOGRAPHIC MODULE SPECIFICATION 2.1 Overview Sm@rtCafé Expert 3.2 (Hardware version: P5CC073, P5CD080 and P5CD144; Firmware version: CPDHxJC_RSEFI-025CC073V202, CPDIxJC_RSEFI- 025CD080V402 and CPDYxJC_RSEFI-025CD144V503) was developed by G&D and constitutes a complete operating system for smart cards. Providing a complete set of International Organization for Standardization (ISO), Europay, MasterCard and Visa (EMV) and proprietary enhanced commands, the Sm@rtCafé Expert 3.2 incorporates standards-based functionality along with its own optimized command set. Sm@rtCafé Expert 3.2 contains an implementation of the GlobalPlatform (GP) Version 2.1.1 specification [GPCS], which defines a secure infrastructure for post-issuance programmable smart cards. The GP specification defines a life cycle for GP compliant cards. Sm@rtCafé Expert 3.2 offers Java Card technology [JCS] and GlobalPlatform 2.1.1 [GPCS] services to applets. Other FIPS 140-2 validated applets may be downloaded on the chip. If an applet, which is not FIPS 140-2 validated, is loaded on this module, the module loses its FIPS 140-2 validation. State transitions between states of the life cycle involve well-defined sequences of operations. Cards that have been issued are necessarily in a "SECURED" state. This means that the G&D Security Domain has been loaded onto the card plus a set of keys and a PIN through which the Cryptographic Officer can be authenticated. Sm@rtCafé Expert 3.2 is based on the NXP smart card controller P5CC073, P5CD080 and P5CD144. Some highlighted features of Sm@rtCafé Expert 3.2 are: · SHA-1 and SHA-256 Hash algorithms · Compliant to ISO 7816 Parts 1-7 [ISO] · RSA up to 2048 bit modulus for: o Digital signature generation and verification o Key generation o Encryption/Decryption for key transport only · Triple-DES Encryption/Decryption [DES] © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 6 of 34 Smart Cards · AES Encryption/Decryption · DSA signature generation and verification 2.1.1 Modules Sm@rtCafé Expert 3.2 is available in three different modules. The following table list their differences. Module P5CC073 P5CD080 P5CD144 EEPROM size 72 KB 80 KB 144 KB Interfaces contact Dual Interface Dual Interface (contact and (contact and contactles) contactles) 2.2 Physical Security with Well-Defined Interfaces Sm@rtCafé Expert 3.2 is defined as a single-chip module for FIPS 140-2 purposes. The physical form of the module is a single chip coated in epoxy, with an attached faceplate and an ISO/IEC 7816 contact interface. It is intended to meet overall FIPS 140-2 Level 3 requirements (see Table 2 below). Section Section Title Level 1 Cryptographic Module Specification 3 2 Cryptographic Module Ports and 3 Interfaces 3 Roles, Services, and Authentication 3 4 Finite State Model 3 5 Physical Security 3 6 Operational Environment N/A 7 Cryptographic Key Management 3 8 Electromagnetic 3 Interference/Electromagnetic Compatibility 9 Self-tests 3 10 Design Assurance 3 11 Mitigation of Other Attacks 3 Table 2 ­ Intended Level per FIPS 140-2 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 7 of 34 Smart Cards 2.2.1 The Chip modules: NXP P5CC073, NXP P5CD080 and NXP P5CD144 Figure 1 Block Diagram of the NXP P5CC073, NXP P5CD080 and NXP P5CD144 The module is composed of a single chip micro-controller, coated in epoxy, with an attached faceplate, an ISO/IEC 14443 A contactless interface (for NXP P5CD080 and NXP P5CD144) and and a ISO/IEC 7816 contact interface. The chip contains the processor, Read Only Memory (ROM - 200 kilobytes), Random Access Memory (RAM - 6144 bytes), Electrically Erasable Programmable ROM (EEPROM - 72 kilobytes (NXP P5CC073) -80 kilobytes (NXP P5CD080) 144 kilobytes (NXP P5CD144), co-processors, input/output (I/O), and timers. The power interface accepts voltages in the range of +5V +/-10% and +1,8V +/-10%. The smart card controller provides a number of security features, including · High frequency detector · High voltage detector · Low frequency detector © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 8 of 34 Smart Cards · High temperature detector · Low temperature detector The chip is embedded in epoxy, which completely encapsulates the whole Integrated Circuit (IC). Only micro-wires connecting to the faceplate penetrate the epoxy, connecting to the faceplate interface of the module. Attempts to tamper with the module result in damage to the epoxy, the plastic card, or the metal faceplate (scratches, chips, dents, etc.). Figure 2 Picture of the NXP P5CC073, NXP P5CD080 and NXP P5CD144 module faceplate From the time of its manufacture, the card is in possession of the Cryptographic Officer until it is ultimately issued to the User. From that point, the card is in the physical possession of the User. If the module is attacked through physical means, the attack will be evident due to the disturbance of the packaging of the card and module. The ICC is embedded within an epoxy coating that is extremely difficult to penetrate without leaving evidence of the attack. Further, the packaging itself is resistant to penetration. The NXP P5CC073, NXP P5CD080 and NXP P5CD144 smart card controllers provide strong enclosure by coating module components in an epoxy. Physical removal of the epoxy will cause serious damage to the ICC such that all CSPs are destroyed. The module has been tested for and meets applicable Federal Communication Commission (FCC) Electromagnetic Interference (EMI) and Electromagnetic Compatibility (EMC) requirements for home use as defined in Subpart A of FCC Part 15. 2.2.2 The contact Interface There is only one physical contact interface to the module, the faceplate, which contains eight contacts, pinned as defined in ISO 7816-2. All FIPS 140-2 logical interfaces map to this single faceplate as detailed in Table 3. FIPS 140-2 Logical Interface Physical Interface Data Input Interface Faceplate © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 9 of 34 Smart Cards FIPS 140-2 Logical Interface Physical Interface Data Output Interface Faceplate Control Input Interface Faceplate Status Output Interface Faceplate Power Interface Faceplate Table 3 - FIPS 140-2 Logical Interfaces Additionally, the eight contacts of the faceplate can be mapped to the logical interfaces as depicted in Table 4. Contact Function FIPS 140-2 Logical Interface C1 Power supply Power Interface C2 Reset Control Input Interface C3 Clock Control Input Interface C4 Not connected N/A C5 Ground Power Interface C6 Not connected N/A C7 Input/Output for serial data Data Input Interface, Data Output Interface, Control Input Interface, Status Output Interface C8 Not connected N/A Table 4 - Contact to Function Mapping As described in ISO 7816-2, when the module is first inserted into the reader (also referred to as the terminal), a RST signal is transmitted to contact C2. Power is applied via contact C1; C7 is set to reception mode; and the external clock is established via contact C3. The I/O interface (C7) has reception and transmission modes. The smart card reader sends commands to the module and the module transmits responses using contact C7. 2.2.3 The contactless Interface This interface operates in accordance with ISO/IEC 14443A; the T=CL protocol is supported according to ISO/IEC 14443-4. 2.2.4 The cryptographic boundary In the scope of this document, the Sm@rtCafé Expert 3.2 is considered as a single chip implementation of a cryptographic module. The cryptographic boundary for Sm@rtCafé Expert 3.2 is the single chip micro- controller, coated in epoxy, with an attached faceplate, and the ISO/IEC 7816 contact interface for the NXP P5CC073 and the dual interface (ISO/IEC 7816 contact and © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 10 of 34 Smart Cards ISO/IEC 14443A contactless interfaces) for the NXP P5CD080 and NXP P5CD144. The chip is therefore providing the physical boundary. 2.3 Finite State Machine Model The card's system software undergoes a set of well-defined state transitions, as keys are stored on the card to establish Security Domains. Applets also progress through a set of well-defined state transitions as they are loaded, installed, and prepared for execution. The Finite State Model for the Sm@rtCafé Expert 3.2 is published as a separate document. 2.4 Software Security The firmware for the Sm@rtCafé Expert 3.2 is protected from modification due to the fact that it is stored in ROM. This systems software is written primarily using a high-level programming language and the machine language specific to the underlying chip that allows for performance increase or to enhance security of the module. It is loaded onto the module during manufacturing and does not allow for modification. An Error Detection Code (EDC) is calculated over the firmware during this installation and is checked at each power up. Attempts to modify the firmware require direct access to the IC and are prevented by the physical security described in section 2.2 above. The card systems software includes an on-card Java Card Virtual Machine. Applets are isolated from each other due to the fact that each runs in a "Java sandbox". The Java Card language does not contain any constructs that allow cross-sandbox communication directly; any such communication must go by way of systems software mechanisms, which allow for implementation of strict security measures. Each applet is loaded on the card within a Secure Channel which is protected by a TRIPLE-DES MAC. Sm@rtCafé Expert 3.2 also provides a Data Authentication Pattern for each loaded applet. This insures that the chip issuer has digitally signed each applet that is to be loaded on the chip, allowing prior security verification of each applet and avoiding the loading of any unauthorized applet during the manufacturing process. During the manufacturing process, only trusted (validated against FIPS 140-2) applets are loaded onto the chip. These include the Card Manager applet and the G&D Security Domain. After completion of the manufacturing process (including pre-personalization) when the chip has reached its normal Operating Life Cycle State (Card Manager Secured State), only trusted FIPS 140-2 validated applets shall be loaded or installed onto the module. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 11 of 34 Smart Cards Furthermore, at the time of loading, these applets must be identified as part of the cryptographic module. The FIPS 140-2 validation testing targeted this specific configuration of smartcard and applets. Changes to that configuration (for example, loading another applet), would constitute a new module, and the new configuration would need to undergo 140-2 testing for FIPS 140-2 compliance. 2.4.1 Command Structure Sm@rtCafé Expert 3.2 provides a well-defined, static set of commands. A smart card reader sends these commands to the module and then responses are transmitted from the module to the reader. Only these commands are available to an operator, and only the faceplate interface may be used to access the module's functionality. The details of these commands are defined in the Sm@rtCafé Expert 3.2 Technical Specification Document that is included as a proprietary and private extension to this Sm@rtCafé Expert 3.2 Policy document. Sm@rtCafé Expert 3.2 is only capable of operating in response to commands sent from the reader in what is called a command-response pair. The reader sends an Application Protocol Data Unit (APDU) to the module and module responds with an APDU. The APDU sent by the reader consists of a header and a body. The header contains a class byte differentiating between ISO defined command and private commands, an instruction byte containing the command code, and parameters relating to the command. The body contains any data that is needed for the command and, if necessary, the length of the expected data. The response APDU transmitted by the module consists of a body and a trailer. The body contains any data that is returned in response to the command and the trailer contains the status message. This card also provides an additional set of on-card services through the Java Card APIs. The API classes and their associated methods are also defined in Sm@rtCafé Expert 3.2 Technical Specifications. These services are only available internally, to an applet loaded on the card. They cannot be accessed from outside the module. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 12 of 34 Smart Cards 3. ROLES & SERVICES 3.1 Roles The Sm@rtCafé Expert 3.2 cryptographic module supports two roles: the Cryptographic Officer (CO) and the User. - The Cryptographic Officer: Is the on-card security controller and establishes his identity on the Sm@rtCafé Expert 3.2 module in TRIPLE-DES verification of a key set stored with the Card Manager application. Through mutual authentication between the Cryptographic Officer and the Card Manager a secure channel will be established so that access to security-critical information and services can be granted. The Card Manager applet is the Card Issuer Security Domain. - The User/Applet provider: The module supports a User role that has possession of the G&D Security Domain keyset and can request services provided by the G&D Security Domain instantiated on the card. The CO is responsible for instantiating the G&D Security Domain and thereby defining User roles. Upto 127 G&D Security Domain instances can be created if memory resources permit. 3.1.1 Identity based Authentication - Identification. The module supports a single identity: the Card Manager Security Officer who can assume both the CO and User role. The operator identifies himself by selecting his application and the key set inside the application. The application of the Cryptographic Officer is the Card manager. The application of the User/Applet provider is the G&D Security Domain. The selection of the application is done by a SELECT command. The selection of the key set is done in the INITIALIZE UPDATE, the first command of the two commands that open the Secure Channel. - Authentication. The operator authenticates himself using a mutual authentication scheme comprising two commands INITIALIZE UPDATE and EXTERNAL AUTHENTICATE. During this mutual authentication, the operator has to encrypt and TRIPLE-DES MAC a challenge sent by the card, proving knowledge of the TRIPLE- DES key set which was referenced during the identification. Dedicated services are provided by the Sm@rtCafé Expert 3.2 module to manage the CardHolder PIN (Global PIN). Please note that the module provides functionality to change/unblock Global PIN. However, the module does not use the Global PIN to provide authentication to its users. Any applets loaded on the card may use this PIN for authenticating Card Holders as end-users of the Sm@rtCafé Expert 3.2 . © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 13 of 34 Smart Cards 3.2 Services 3.2.1 Crypto Officer Administrative Services The Crypto Officer uses a command set for the administration of the G&D Security Domains and to load applets onto the Sm@rtCafé Expert 3.2 module. This command set includes the following commands. · DELETE ALL: is used to delete all packages and applet instances installed from those packages that have been loaded after completion of the card via LOAD commands. · GET STATUS: if the Card Manager is the current application, this command is used to retrieve Card Manager information according to a given search criteria. · PIN CHANGE / UNBLOCK: this command replaces or unblocks the Global PIN (Card Holder PIN). · SET STATUS: this command is used to modify the life cycle state of the Sm@rtCafé Expert 3.2 module or the life cycle state of an application. Applets loaded onto the Sm@rtCafé Expert 3.2 module post-issuance must be FIPS 140-2 validated. Applets are loaded through a Secure Channel established by the Crypto Officer with the Card Manager during the Identification/authentication process. The applet is divided in a series of blocks that fit in a LOAD command. The loading is managed in a series of LOAD commands, each one transmitting a block, encrypted and followed by a TRIPLE- DES MAC with the Secure Channel session keys established during the identification process. The correct transmission of each block of the applet and therefore of the whole applet is ensured by the TRIPLE-DES MAC. Optionally a mechanism called "GP DAP" enables the applet provider to check that his applet has been correctly loaded independently of the Issuer. The following DAP verification modes may be used - Single DES plus final Triple DES as defined in [GPCS], C.5.1 - Full Triple DES - RSA with PKCS#1 Scheme as defined in [GPCS], C.5.2 The DES Load File Data Block Signature verification consists of a series of DES MAC verification, ended by a TRIPLE-DES MAC verification. All the DES and TRIPLE-DES MAC operations use the"GP DAP" TRIPLE-DES key, loaded in the G&D Security Domain. The FIPS configured card prevents an operator from using this method of DAP verification, as DES is not a FIPS approved algorithm. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 14 of 34 Smart Cards The full Triple DES DAP verification consists of a series of TRIPLE-DES MAC verification. All the TRIPLE-DES MAC operations use the"GP DAP" TRIPLE-DES key, loaded in the G&D Security Domain. Full TRIPLE-DES DAP verification is allowed in the Approved mode of operation. The RSA Load File DAP is calculated using a PKCS#1 singature. The SHA-1 message digest is padded according to PKCS#1 V1.5 and encrypted with the private RSA key. DAP verification using RSA keys are allowed in the Approved mode of operation. 3.2.2 Crypto Officer & User services The following commands are available for both the Crypto Officer and the User: · INSTALL (CO): the INSTALL command instructs a Security Domain or the Card Manager which installation step it shall perform during an application installation process. · LOAD (CO): the LOAD command loads the byte-codes of the Load File (package) defined in the previously issued INSTALL command. · DELETE: the DELETE command deletes a Load File (package) or an Application (applet instance). · EXTERNAL AUTHENTICATE: this command is used by the Sm@rtCafé Expert 3.2 module to authenticate the host, establish the Secure Channel, and to determine the level of security required for all subsequent commands within the Secure Channel. A previous and successful execution of the INITIALIZE UPDATE command is required prior to processing this command. · PUT DATA: this command is used to store or replace one tagged data object provided in the command data field. · PUT KEY: this command is used to add, replace or modify a single key or key sets. 3.2.3 Unauthenticated services: · MANAGE CHANNEL: this command is used to open or close a logical channel. · GET DATA: the GET DATA command is used to retrieve a single data object. This command is available outside of a Secure Channel (no security condition). However, if issued within a Secure Channel, it must follow the same security level as defined in EXTERNAL AUTHENTICATE. · SELECT: this command is used for selecting an application (Card Manager or G&D Security Domain). © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 15 of 34 Smart Cards · GET FREE SPACE: GET FREE SPACE is used to display the largest free memory block for package loading or the complete available free EEPROM or the complete available Clear-On-Reset (COR) /Clear-On-Deselect (COD) space. · INITIALIZE UPDATE: this command is used to initiate a Secure Channel with the Card Manager or a Security Domain. Sm@rtCafé Expert 3.2 module and host session data are exchanged and session keys are generated by the Sm@rtCafé Expert 3.2 module upon completion of this command. However, the Secure Channel is not considered open until completion of a successful EXTERNAL AUTHENTICATE command that must immediately follow the INITIALIZE UPDATE command. A user can initiate module self-tests by issuing a card reset and issuing an APDU command. The module provides a Get ATR service to retrieve the module ATR value on power-up. All commands (except Manage Channel, Select, Initialize update, Get Free Space and Get Data) need a secured channel to be executed by either a CO or User. During the secure channel opening, the command access condition is specified (`CLEAR','MAC','MAC+ENC') and an access control is done on received commands. 3.2.4 Relationship between Roles & Services Roles/Services Crypto ­Officer User/Applet Unauthenticated Providers (Card Manager (G&D Security (Any role) Security Domain) Domain) INSTALL X X LOAD X X DELETE X X DELETE ALL X EXTERNAL AUTHENTICATE X X GET DATA X GET FREE SPACE X GET STATUS X INITIALIZE UPDATE X PIN X CHANGE/UNBLOCK PUT DATA X X PUT KEY X X SELECT X MANAGE CHANNEL X SET STATUS X Table 5 Relationship between Roles & Services 3.2.5 Applets Services Applets that are developed and downloaded onto the Sm@rtCafé Expert 3.2 module shall use the Sm@rtCafé Expert 3.2 Java Card APIs. These APIs are listed in a © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 16 of 34 Smart Cards detailed separate proprietary document and are only accessible by on-card applets. The APIs containing cryptographic services are: - Key Generation/Exchange: - RSA key pair generation: this API generates a pair of RSA keys. - Key exchange: the RSA algorithm API supports key wrapping/unwrapping. - DSA key pair generation: this API generates a pair of DSA keys as per FIPS 186-2. - Message Digest: - SHA-1: this API performs a SHA-1 Message Digest. - SHA-256: this API performs a SHA-256 Message Digest. - Random Numbers Generation: - Secure Random Generation: this API generates a random data, using output from the ANSI X9.31 FIPS140-2 approved method (Deterministic RNG) xored with random data generated by Hardware Random Generator (Non- Deterministic RNG) provided by the chip. - Signature and Verification: - RSA using SHA-1: for origin authentication and Data integrity verification. - DSA using SHA-1: for origin authentication and Data integrity verification. - TRIPLE-DES MAC: these APIs offer TRIPLE-DES MAC in CBC and ECB modes with various padding (no padding, PKCS5, ISO9797 M1 and M2). - Encryption/Decryption: - TRIPLE-DES/AES: these APIs offer TRIPLE-DES/AES encryption and decryption services using CBC or ECB mode using various padding (no padding, PKCS5, ISO9797 M1 and M2). - RSA: 1these APIs offer RSA up to keylength of 2048-bit using various padding (no padding, PKCS1, ISO14888 and ISO9796). The above stated algorithms shall be used only in a FIPS approved mode of operation and their use will be tested during the applet's FIPS 140-2 validation. 1 RSA Encrypt/Decrypt should only be used for key transport (key wrapping/unwrapping) in an Approved mode © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 17 of 34 Smart Cards The GP specification defines various GP APIs that may be used by the applets and that provide the same services as the Card Manager Commands (such as secure channel opening). In particular, the Global PIN verification may be implemented by the applets through the use of a dedicated API. 3.2.6 Card Cryptographic Functions The cryptographic module provides a FIPS approved platform for applets that provide cryptographic services to end -user applications. FIPS 140-2 validated algorithms in the Sm@rtCafé Expert 3.2 cryptographic module provide cryptographic services; these include: · TRIPLE-DES (3 key TRIPLE-DES): · The TRIPLE-DES (ECB/CBC mode) algorithm is used · for authenticating the Crypto Officer (EXTERNAL AUTH command) · for encrypting data flow from the host to the card. The reverse direction is not encrypted; i.e. the data and the status words returned in response to an APDU are not encrypted. · as a TRIPLE-DES MAC to authenticate the originator and to verify the integrity of the message · TRIPLE-DES MAC is also used together for DAP verification · TRIPLE-DES and TRIPLE-DES MAC functions are also provided as services to applets, through JavaCard APIs. · AES (128, 192 and 256-bit key-sizes): · AES functions are only provided as services to applets, through JavaCard APIs. · SHA-1: · The SHA-1 function is only provided as a service through Java APIs to applets. · SHA-256: · The SHA-256 function is only provided as a service through Java APIs to applets. · RSA PKCS#1 (1024-2048 bit keys): · RSA Signature Verification services are used during DAP verification. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 18 of 34 Smart Cards · RSA Sign/Verify functions are only provided as services to applets, through JavaCard APIs. The applet shall use RSA only for key wrapping/unwrapping or signature generation/verification. · DSA (1024 bit key sizes) · DSA Sign/Verify is only provided as as services to applets, through JavaCard APIs · Only 1024 bit key sizes are allowed for use in FIPS mode 3.2.7 RNG The cryptographic module offers a Secure RNG implementation in which the output from a FIPS approved PRNG compliant with ANSI X9.31 standard (Appendix A.2.4) xored with random data generated by Hardware Random Generator of the chip. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 19 of 34 Smart Cards 3.3 Critical Security Parameters (CSP): Key Key type Generation Entry Storage Use Crypto-Officer 112 bit Triple- External by Pre-configured Garbled in the Authentication keys DES keys manufacturing module's non- of Crypto- volatile memory Officer Session keys of 112 bit Triple- Authentication Generated on Garbled in Secured and or Crypto-Officer DES keys of Crypto- card during volatile memory encrypted Officer secure channel communication establishment between terminal and module depending on security level of authentication. Delegated 1024 bit RSA External by Load in Garbled in the Authorization of Management key Crypto-Officer encrypted form module's non- Delegated Token Key with PUT KEY volatile memory Management command commands Delegated 112 bit Triple- External by Load in Garbled in the Confirmation of Management DES key Crypto-Officer encrypted form module's non- command Receipt Key with PUT KEY volatile memory execution command RSA DAP 1024 bit RSA External by Load in Garbled in the Load File Data verification key key Crypto-Officer encrypted form module's non- Block Signature with PUT KEY volatile memory verification command TDES DAP 112 bit Triple- External by Load in Garbled in the Load File Data verification key DES key Crypto-Officer encrypted form module's non- Block Signature with PUT KEY volatile memory verification command User keys 112 bit Triple- External by Load in Garbled in the Authentication DES keys Crypto-Officer encrypted form module's non- of User with PUT KEY volatile memory command Session keys of 112 bit Triple- Authentication Generated on Garbled in Secured and or User DES keys of User card during volatile memory encrypted secure channel communication establishment between terminal and module depending on security level of authentication. Global PIN PIN External ­ Load in Garbled in the entered by encrypted form module's non- © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 20 of 34 Smart Cards Key Key type Generation Entry Storage Use Crypto-Officer with PIN volatile memory CHANGE / UPDATE command X9.31 PRNG 112 bit Triple- Internal by HW Internally Garbled in the Used by X9.31 keys DES keys random number initialized with module's non- PRNG generator of the individual keys volatile memory module randomly selected by the module ANSI X9.31 16 byte random Internal by HW Internally Garbled in the Used by X9.31 seed number random number initialized with module's non- PRNG generator of the individual keys volatile memory module randomly selected by the module © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 21 of 34 Smart Cards 4. SECURITY RULES 4.1 Identification & Authentication Security Rules Sm@rtCafé Expert 3.2 implements Identity-based Access Control Rules for identifying and authenticating the Crypto Officer and the User/Applet Provider role. · User/Applet Provider Authentication: The User/Applet Provider must prove possession of the G&D Security Domain keyset composed of 3 TRIPLE-DES keys (SDKENC, SDKMAC and SDKKEK). SDKENC, SDKMAC are used to derive the session keys used to encrypt, authenticate and check the integrity of the command data. SDKKEK is used to encrypt keys transported within the APDU command. This is the same process as the Crypto Officer authentication (Initialize Update & External Authenticate commands) but it uses the TRIPLE-DES keys of the G&D Security Domain. · Crypto Officer Authentication: The Cryptographic Officer must prove possession of the Card Manager Key Set composed of 3 TRIPLE-DES keys (KENC, KMAC and KKEK). KENC, KMAC are used to derive the session keys used to encrypt, authenticate and check the integrity of the command data. KKEK is used to encrypt keys transported within the APDU command. This is the same process as the User authentication (Initialize Update & External Authenticate commands) and follows the GP 2.1.1 specfications [GPCS]. 4.2 Applet Loading Security Rules Only applets validated according to FIPS 140-2 shall be loaded onto the Sm@rtCafé Expert 3.2 cryptographic module. Applets can only be loaded through a secure channel thus requiring TRIPLE-DES MAC verification over each Load block. In the Sm@rtCafé Expert 3.2 module, the applet is always loaded by the Issuer (Cryptographic Officer) or authorized by Issuer in case of Delegated Management. 4.2.1 "GP Delegated Management" If Delegated Management is used, the Crypto Officer has to set Delegate Management Keys for Token verification (KToken) and Reciept generation (KReceipt), install the G&D Security Domain with Delegated Management privilege and set Secure Channel keys of this Security Domain. User of G&D Security Domain can load packages or install applications on the card, only if he/she establishes a secure channel and presents the card with a Token during the GP Install for Load command. The Token is a RSA signature generated by the Card Issuer using the Card Issuer private key to ensure that the Card Issuer has authorized the load process and the Load File or the install process. If the token verification is successful, the card processes the Load command and answers with a reciept, i.e. a TRIPLE-DES MAC generated by the Card, acknowledging that the operation was successfully performed. For details see GP 2.1.1 [GPCS]. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 22 of 34 Smart Cards 4.2.2 "GP DAP" If the G&D Security Domain is instantiated with a DAP verification privilege, an applet may be loaded with an optional DAP. If the G&D Security Domain is instantiated with mandated DAP verification privilege, a DAP is required. The mechanism designated as "DAP" in GP 2.1.1 [GPCS] enables the applet provider to check, independently of the Issuer (Cryptographic Officer), that his applet has been correctly loaded. This check is done by MAC verification on the Load File. DAP may be generated either using TRIPLE-DES or RSA. As identified in Section 3.2.1, only DAP verification using full TRIPLE-DES or RSA may be used in the Approved mode of operation. This process is described in detail in the Reference Manual Sm@rtCafé Expert 3.2 . 4.3 Access Control Security Rules · Keys must be loaded through a secure channel and encrypted with the Kkek. Therefore the keys are always loaded in encrypted form. · Global PIN is set through a secure channel and encrypted with the Kkek. Therefore is always transferred in encrypted form. 4.4 Physical Security Rules The physical security of the Sm@rtCafé Expert 3.2 cryptographic module is designed to meet FIPS 140-2 level 3 requirements. A hard opaque epoxy is used to encapsulate the module to meet level 3 requirements. Once it is manufactured, the Sm@rtCafé Expert 3.2 module belongs to the Cryptographic Officer until it is ultimately issued to the end user. 4.5 Key Management Security Policy 4.5.1 Cryptographic key generation -TRIPLE-DES Session key derivation for Secure Channel, conforming to Open Platform Card Specification v2.1.1 [GPCS]. The random data required for opening a Secure Channel is generated using the FIPS140-2 approved ANSI X9.31 PRNG [X9.31] xored with random data generated by Hardware Random Generator of the chip. - RSA and DSA key pair generation using FIPS140-2 approved ANSI X9.31 PRNG [X9.31] xored with random data generated by Hardware Random Generator of chip. 4.5.2 Cryptographic key entry/output If Keys are imported they shall always be encrypted with the KEK and transferred by using the Put Key command within a secure channel. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 23 of 34 Smart Cards During this process, the keys are double encrypted (using the Session Key Kenc and the KEK) if the Secure Channel security level is set to MAC+ENC. Public key output is in non encrypted format. Other than public keys, no secret and private keys can be output from the module. 4.5.3 Cryptographic key storage The Keys contain the following parameters: · Key id, which is the Id of the key, · Algo Id, which determines which algorithm to be used, · Integrity Check value for the key. Symmetric keys are garbled by XOR calculation with card individual random number. Secret part x of DSA key is garbled by multiplication with card individual random number. Exponent of RSA private key is garbled by multiplication with card individual random number. DP and DQ of RSA CRT private key is garbled by multiplication with card individual random number. P and Q of RSA CRT private key is garbled by modulo calculation with card individual random number. PQ of RSA CRT private key is garbled by XOR calculation with card individual random number. RSA public key is not garbled. PIN is encrypted by DES calculation using a card individual key. 4.5.4 Cryptographic key destruction The Sm@rtCafé Expert 3.2 module replaces initialitzation Key Kinit of Card Manager with first new keyset loaded into Card Manager. Security Domain (Card Manager and G&D Security Domain) Keysets (including KENC, KMAC and KKEK) loaded onto the card can be deleted using the Delete APDU or replaced by reloading another key set for Crypto Officer and User using the Put Key command © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 24 of 34 Smart Cards The Sm@rtCafé Expert 3.2 module destroys cryptographic session keys KSMAC and KSENC of Security Domain (Card Manager and G&D Security Domain) when closing of a secure channel. The key(s) for "GP DAP" KDAP, PKDAP can only be updated. To delete DAP verification key(s), the Security Domain containing the key must be deleted. This operation deletes all the keys contained in the Security Domain. The keys loaded for Delegated Management KToken and KReceipt can be zeroized by overwriting them with new values using the Put Key command or using the Delete command. The Global PIN can be zeroized by overwriting with a new value. Key Management Details can be found in section 6. All keys including PRNG TRIPLE-DES key for FIPS140-2 approved ANSI X9.31 PRNG [X9.31] and the Global PIN can be zeroized by setting the card state to TERMINATED. 4.6 Approved mode The cryptographic module supports FIPS compliant operation at all times. Note that while the module provides certain non-Approved functions as internal services to applets loaded on the card (via the JavaCard API), these services are not accessible to operators of the module and have only been listed for the benefit of applet developers. It is the responsibility of the applet developer to develop applets that use the provided JavaCard API functions in a FIPS 140-2 compliant manner. Please note that the configuration tested for this FIPS 140-2 validation has no applets loaded on it (except for the Card Manager) which makes it impossible to access these non-Approved functions and hence the module remains in FIPS mode of operation at all times. Please refer to section 2.4 of this document for further details. The non-Approved applet services provided by the card's JavaCard API are: · DSA modulus sizes less than 1024-bits (i.e., 512-bits and 768-bits DSA) · DES and DES MAC · RSA Encrypt/Decrypt The ATR value returned by the module during power-up serves as an Approved mode indicator. The ATR returned by Sm@rtCafé Expert 3.2 , version CPDHxJC_RSEFI- 025CC073V202 is: ATR = 3B 74 18 00 00 73 66 74 65 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 25 of 34 Smart Cards The ATR returned by Sm@rtCafé Expert 3.2 , version CPDIxJC_RSEFI- 025CD080V402 is: ATR = 3B 7A 18 00 00 73 66 74 65 2D 63 64 30 38 30 The ATR returned by Sm@rtCafé Expert 3.2 , version CPDYxJC_RSEFI- 025CD144V503 is: ATR = 3B 7A 18 00 00 73 66 74 65 20 63 64 31 34 34 The value returned by the module after sending the Get Data command: 80 CA DF 7C 49 serves as an Approved mode indicator. The response to Get Data in the approved mode returned by Sm@rtCafé Expert 3.2 , version CPDHxJC_RSEFI-025CC073V202 is: Response (the last bits): 0C 08 00 00 6F FD 00 00 00 00 90 00 The response to Get Data in the approved mode returned by Sm@rtCafé Expert 3.2 , version CPDIxJC_RSEFI-025CD080V402 is: Response (the last bits): 0C 08 00 00 6F FD 6F FD 00 00 90 00 The response to Get Data in the approved mode returned by Sm@rtCafé Expert 3.2 , version CPDYxJC_RSEFI-025CD144V503 is: Response (the last bits): 0C 08 00 00 6F FD 6F FD 00 00 90 00 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 26 of 34 Smart Cards 5. SECURITY POLICY CHECK LIST TABLES 5.1 ROLES & REQUIRED AUTHENTICATION Role Type of authentication Authentication data TRIPLE-DES keys Crypto Officer TRIPLE-DES authentication (Crypto Officer Security Domain) TRIPLE-DES keys User/Applet Provider TRIPLE-DES authentication (G&D Security Domain) Table 6 Roles and required authentication 5.2 STRENGTH OF AUTHENTICATION MECHANISMS Authentication Mechanism Strength of Mechanism Probability that a random attempt succeeds is less TRIPLE-DES authentication than 1 in 1,000,000 Table 7 Strength of authentication mechanisms 5.3 SERVICES AUTHORIZED FOR ROLES Role Authorized Services Crypto Officer All CO Services as listed in Section 3.2.1 and 3.2.2 User/Applet Provider Only User Services as listed in Section 3.2.2 Table 8 Services authorized for roles © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 27 of 34 Smart Cards 5.4 ACCESS RIGHTS WITHIN SERVICES CSP Service Role Types of Access TRIPLE-DES CO keys: KENC, KMAC, KKEK, KToken, PUT KEY command Crypto Officer Write KReceipt TRIPLE-DES CO Keys: INITIALIZE UPDATE & Crypto Officer Execute KENC, KMAC EXTERNAL AUTH PUT KEY, PIN CHANGE/UNBLOCK commands TRIPLE-DES CO Key: K KEK Crypto Officer Execute (encryption of the loaded Key or PIN) TRIPLE-DES CO Session INITIALIZE UPDATE & Crypto Officer Create Keys: KSENC, KSMAC EXTERNAL AUTH TRIPLE-DES CO Session Message encryption Crypto Officer Execute Key: KSENC TRIPLE-DES CO Session Message integrity Crypto Officer Execute Key: KSMAC TRIPLE-DES User Keys: SDKENC, SDKMAC, SDKKEK, PUT KEY command User Write KDAP TRIPLE-DES User Keys: INITIALIZE UPDATE & User Execute SDKENC, SDKMAC EXTERNAL AUTH TRIPLE-DES User Key: PUT KEY command User Execute KSDKEK (encryption of the loaded Key) TRIPLE-DES User Session INITIALIZE UPDATE & User Create Keys: SDKSENC, SDKSMAC EXTERNAL AUTH TRIPLE-DES User Session Message encryption User Execute Key: SDKSENC TRIPLE-DES User Session Execute Message integrity User Key: SDKSMAC "GP DAP" TRIPLE-DES PUT KEY command Crypto Officer Write Key: KDAP "GP DAP" RSA Key: PKDAP PUT KEY command Crypto Officer Write LOAD command "GP DAP" TRIPLE-DES Crypto Officer and (MAC verification by G&D Execute Key: KDAP User Security Domain) LOAD command Crypto Officer and "GP DAP" RSA Key: PKDAP (MAC verification by G&D Execute User Security Domain) Delegated Management PUT KEY command Crypto Officer Write TRIPLE-DES key KReceipt Delegated Management LOAD command Crypto Officer Execute TRIPLE-DES key KReceipt PIN CHANGE/UNBLOCK Global PIN Crypto Officer Write command INITIALIZE UPDATE command Crypto Officer and TRIPLE-DES PRNG key Execute and RSA, DSA key generation User Table 9 Access rights within services © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 28 of 34 Smart Cards 6. CRYPTOGRAPHIC KEY MANAGEMENT The Sm@rtCafé Expert 3.2 with Applets smart card includes the following keys: · Initialization Key, Kinit used only for the first Card Manager key-set loading. · Security Domain (Card Manager and G&D Security Domain) key sets each containing three TRIPLE-DES keys stored in EEPROM. Each key is 112-bits. 1. Kenc used for Cryptographic Officer or User authentication per GP Specification 2. Kmac used for Cryptographic Officer or User authentication per GP Specification 3. Kkek used as Key Wrapping Key for encrypting keys input into the module using the Put Key command · Secure Channel session keys SMAC and SENC. These are 112-bit TRIPLE-DES keys stored in RAM · "GP DAP" TRIPLE-DES key, a 112-bit TRIPLE-DES key used for DAP verification using TRIPLE-DES MAC. · "GP DAP" RSA key, a 1024-bit public key used for DAP verification using RSA signature verification. · TRIPLE-DES PRNG key used with FIPS140-2 approved ANSI X9.31 PRNG [X9.31] is generated using Hardware Random Generator of chip during initialization. · Delegated Management 1024-bit RSA key KToken for Token verification to check if Delegated Management command is authorized by Crypto Officer. · Delegated Management 112-bit TRIPLE-DES key KReceipt for Receipt generation to prove successful execution of Delegated Management command. All keys can be zeroized by setting the card state to TERMINATED. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 29 of 34 Smart Cards 7. STANDARDS-BASED CRYPTOGRAPHY The Sm@rtCafé Expert 3.2 module implements strong, standards-based cryptography. It includes the following FIPS-approved algorithms: Triple-DES (3 key TRIPLE-DES) (ECB and CBC modes) AES (128, 192, 256-bit key sizes) (ECB and CBC modes) SHA-1 SHA-256 DSA RSA CRT RSA Sign/Verify Pseudo Random Number Generation: PRNG based on ANSI X9.31 [X9.31] Appendix A.2.4 7.1 Non FIPS-approved algorithms · DSA modulus sizes less than 1024-bits (i.e., 512-bits and 768-bits DSA) · DES and DES MAC · RSA Encrypt/Decrypt 7.2 Self-Tests The Sm@rtCafé Expert 3.2 runs startup and conditional self-tests to verify that it is functioning properly. These startup self-tests are performed before the module processes the first command it receives after a Reset. Conditional self-tests are executed whenever specific conditions are met. 7.2.1 Power-Up Self Tests The self-tests include: Software Integrity Tests: The module checks the integrity of its firmware: ROM: 16 bit hardware CRC Firmware in EEPROM: 16 bit hardware CRC Java Code in EEPROM: 16 bit hardware CRC 2 RSA Encrypt/Decrypt can be used for key transport in an Approved mode of operation © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 30 of 34 Smart Cards Cryptographic Algorithm KATs: Known Answer Tests (KATs) are run at power-up for the following algorithms: Triple-DES KAT Triple-DES MAC KAT AES KAT DSA Sign/Verify test SHA-1 KAT SHA-256 KAT RSA Sign/Verify KAT RSA CRT KAT ANSI 9.31 Software RNG KAT 7.2.2 Conditional Tests Conditional RSA Pairwise Consistency Check: After generating an RSA key pair, the module performs a sign/verify with that key pair to ensure that the key pair is correct. Conditional DSA Pairwise Consistency Check: After generating a DSA key pair, the module performs a sign/verify with that key pair to ensure that the key pair is correct. Continuous RNG test: On every output generated by ANSI X9.31 and hardware RNG the module performs a comparison with previously generated random block. The 8 first bytes generated by the ANSI X9.31 PRNG and the hardware RNG are only used for doing this continous comparison and never used for any service like cryptographic calculations. If generated numbers are equal to previous generated numbers, this selftest fails. If any of these self-tests fail, the module will halt all operations until it is reset. If module fails a self-test, the module sends the self-test failure indicator and enters the error state. No further communication is possible with the module until it is removed from the terminal and re-inserted or terminal resets the module. Software/Firmware Load Test: A TRIPLE-DES CBC MAC on the applet Load File is verified whenever an applet is loaded onto the cryptographic module since applet loading always takes place within a Secure Channel. If Security Domain Applet with mandated DAP privilege is installed and the DAP signature verification key is set in this Security Domain, every Package loaded onto the Card has to provide a DAP value (TRIPLE-DES MAC or RSA Signature), which is verified using the KDAP or PKDAP, respectively. If TRIPLE-DES MAC or DAP verification fails, package load is terminated. For more details see GP 2.1.1 [GPCS]. © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 31 of 34 Smart Cards 8. MITIGATION OF ATTACKS The module implements countermeasures for three attacks commonly used against smart cards: simple power analysis (SPA), differential power analysis (DPA), and timing analysis. These attacks work by monitoring the power consumption (SPA, DPA) or timing of operations during cryptographic processing in order to gain information about sensitive content, such as secret keys. The module's IC has a co-processor for performing DES and Triple-DES operations. This co-processor was specifically designed by NXP to counter SPA, DPA, and timing analysis attacks. G&D has conducted testing of the module's DES and Triple-DES processing for resistance to these attacks and found that no information was leaked during this processing via these attacks. The module's RSA implementation has been hardened against SPA, DPA, fault and timing analysis using a variety of techniques. For timing analysis, the timing of the RSA implementation does not correlate to the inputs to the implementation. To counter SPA, conditional jumps based on the exponent and squares were avoided. Randomization of the base and exponent is employed to counter DPA. G&D has conducted testing of the module's RSA processing for resistance to these attacks and found that no information was leaked during this processing via these attacks. 9. SECURITY POLICY CHECK LIST TABLES 9.1 Roles AND Required Authentication Role Type of authentication Authentication data Crypto Officer GP secure channel mutual GP secure channel TDES key set of authentication protocol three User/Applet Provider GP secure channel mutual GP secure channel TDES key set of authentication protocol or TDES three or Unblock PIN XAUT TDES key 9.2 Strength of authentication Mechanisms Authentication Mechanism Strength of Mechanism TDES authentication > 1:2 112 PIN > 1:1,000,000 for decimal PIN 9.3 Services authorized for Roles Role Authorized Services The Card Security Controller role services are listed in Crypto Officer Section 5.1 The Application Operator role services are listed in User/Applet Provider Section 5.1 © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 32 of 34 Smart Cards Section 5.1 9.4 Mitigation of Other Attacks Other Attacks Mitigation Mechanism Specific Limitations Simple Power Analysis Counter Measures against SPA N/A Differential Power Analysis Counter Measures against DPA N/A Timing Analysis Counter Measures against Timing Analysis N/A Differential Fault Analysis Counter Measures against Differential Fault Analysis N/A © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 33 of 34 Smart Cards 10. ACRONYMS ANSI American National Standards Institute APDU Application Protocol Data Unit ATR Answer-To-Reset CBC Cipher-Block Chaining CSP Critical Security Parameter CO Crypto Officer CRT Chinese Remainder Theorem Dap Data Authentication Pattern DES Data Encryption Standard DPA Differential Power Analysis EDC Error Detection Code EMC Electromagnetic Compatibility EMI Electromagnetic Interference EMV Europay Mastercard and Visa EEPROM Electrically Erasable Programmable ROM FCC Federal Communication Commission FIPS Federal Information Processing Standard G&D Giesecke & Devrient GHC Generalized Hamming Code I/O Input/Output IC Integrated Circuit ISO International Organization for Standardization JCRE Java Card TM Runtime Environment KAT Known Answer Test MAC Message Authentication Code MD5 Message Digest algorithm 5 N/A Not Applicable NIST National Institute of Standards and Technology GP GlobalPlatform PIN Personal Identification Number PKCS Public Key Cryptography Standards PKI Public Key Infrastructure PRNG Pseudo Random Number Generator PUK Personal Unblocking Key RAM Random Access Memory RNG Random Number Generator ROM Read Only Memory RSA Rivest Shamir and Adleman RST Reset SHA Secure Hash Algorithm SPA Simple Power Analysis © Copyright 2008 Giesecke & Devrient This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Security Policy for Sm@rtCafe' Expert 3.2, Version 1.5 page 34 of 34