Card Specification Amendment A March 2004

Similar documents
Card Specifications & 2.1 Frequently Asked Questions December 2004

ETSI TS V ( )

ETSI TS V6.0.0 ( )

ETSI TS V7.3.0 ( )

ETSI TS V9.0.0 ( ) Technical Specification. Smart Cards; Remote APDU structure for UICC based applications (Release 9)

M/Chip Advance V1.1 Personalization Guide

PayPass M/Chip 4. Card Technical Specification

EMV 96 Integrated Circuit Card Application Specification for Payment Systems

ETSI TS V ( )

CALYPSO FUNCTIONAL SPECIFICATION. CNA Calypso rev 3.1 Applet Presentation

Technical Specification Smart Cards; Extensible Authentication Protocol support in the UICC (Release 9)

I N F O R M A T I O N S E C U R I T Y

ETSI TS V5.3.0 ( )

ETSI TS V7.1.0 ( )

ACOS5-64. Functional Specifications V1.04. Subject to change without prior notice.

Technological foundation

Functional Specification of the OpenPGP application on ISO Smart Card Operating Systems

SETECS OneCARD PIV II Java Card Applet. on Gemalto GemCombi'Xpresso R4 E72K PK card

EMV Contactless Specifications for Payment Systems

ETSI TS V ( )

I N F O R M A T I O N S E C U R I T Y

FINEID - S1 Electronic ID Application

ETSI TS V9.0.0 ( ) Technical Specification

EMV Contactless Specifications for Payment Systems

MultiApp ID V2.1 Platform FIPS Cryptographic Module Security Policy

ETSI TS V6.2.0 ( )

A Novel Scheme for On-demand Distribution of Secure Element Keys

ETSI TS V7.0.0 ( ) Technical Specification. Smart Cards; Extensible Authentication Protocol support in the UICC (Release 7)

GemXpresso R4 E36/E72 PK. Security Policy

Functional Specification of the OpenPGP application on ISO Smart Card Operating Systems

3GPP TS V9.1.0 ( )

EMVCo Letter of Approval - Contact Terminal Level 2 - Renewal

ETSI TS V7.1.0 ( )

Entrust IdentityGuard PIV Credential FIPS Cryptographic Module Security Policy Version: 1.0 Date: January 24, 2013

Functional Specification of the OpenPGP application on ISO Smart Card Operating Systems

ETSI TS V ( )

EMVCo Letter of Approval - Contact Terminal Level 2

ACOS 3 Contact Card. Functional Specification. Subject to change without prior notice

EMV Contactless Specifications for Payment Systems

Technical Specification Smart Cards; Secured packet structure for UICC based applications (Release 8)

3GPP TS V ( )

PKCS #15: Conformance Profile Specification

Expert 3.2

Technical report. Signature creation and administration for eidas token Part 1: Functional Specification

EMV Contactless Specifications for Payment Systems

CEPTEST Application Note

Expert 3.2

I N F O R M A T I O N S E C U R I T Y

Security Policy for Schlumberger Cyberflex Access 32K Smart Card with ActivCard Applets

Terminal Architecture for PSAM Applications (TAPA) Application Architecture Specification. Version 2.1. February 2001

Secure UHF Tags with Strong Cryptography Development of ISO/IEC Compatible Secure RFID Tags and Presentation of First Results

QR Code Specification for Payment Systems (EMV QRCPS)

Functional Specification

Technical Specification Smart Cards; UICC Application Programming Interface and Loader Requirements; Service description (Release 10)

KMIP 64-bit Binary Alignment Proposal

PayPass M-TIP Test Case User Guide. July 2014

DICOM Conformance Statement, Biim Ultrasound App Version 1

ETSI TS V7.0.0 ( )

3GPP TS V ( )

ETSI TS V7.8.0 ( )

FINEID - S1 v2.1 Electronic ID Application

Common Payment Application Contactless Extension CPACE. Functional Specification. CPACE for Dual Interface Cards

ETSI TS V ( )

MACHINE READABLE TRAVEL DOCUMENTS

Common Payment Application Contactless Extension CPACE. Functional Specification. Terminal Kernel

SmartCards as electronic signature devices Progress of standardization. Helmut Scherzer, CEN TC224/WG16 (Editor) IBM Germany

ISO/IEC INTERNATIONAL STANDARD. Identification cards Integrated circuit cards Part 4: Organization, security and commands for interchange

Symantec Corporation

ID-One PIV (Type A) FIPS Security Policy. (PIV Applet Suite on ID-One Cosmo V7-n) Public Version

Role & Purpose of Privileges in Global Platform

EMVCo Letter of Approval - Contact Terminal Level 2

I N F O R M A T I O N S E C U R I T Y

PKCS #15 v1.0: Cryptographic Token Information Format Standard

Technical Specification Smart Cards; ETSI numbering system for telecommunication application providers (Release 12)

Provisioning Smartcard

FIPS Level 3. Security Policy of Java Card Platform Implementation for Infineon on SLE 78 (SLJ 52GxxyyyzR) V1.0f. August Version 2.

Design and Implementation of a Mobile Transactions Client System: Secure UICC Mobile Wallet

Technical report. Signature creation and administration for eidas token. Version 1.0 Release Candidate 6. Version 1.0 Release Candidate 6

EMVCo Letter of Approval - Contact Terminal Level 2

Acquirer JCB EMV Test Card Set

WatchKey ProX USB Token Cryptographic Module Hardware Version: K023314A Firmware Version:

ETSI TS V9.1.0 ( ) Technical Specification

ETSI TS V9.2.0 ( ) Technical Specification. Smart Cards; ETSI numbering system for telecommunication application providers (Release 9)

PKCS #11: Conformance Profile Specification

PKI BLADE Applet and Protiva PIV DL Card Security Policy

Technical Specification Smart Cards; UICC Application Programming Interface for Java Card for Contactless Applications (Release 10)

Security Target Lite SK e-pass V1.0

Changes to SP (SP ) Ketan Mehta NIST PIV Team NIST ITL Computer Security Division

ETSI TS V ( ) Technical Specification

Dolphin DCI 1.2. FIPS Level 3 Validation. Non-Proprietary Security Policy. Version 1.0. DOL.TD DRM Page 1 Version 1.0 Doremi Cinema LLC

ISO Data Element Definitions

KEYMAN. Security key and certificate management message. Edition 2016

JR/T Translated English of Chinese Standard: JR/T

3GPP TS V ( )

Interfaces for Personal Identity Verification Part 1: PIV Card Application Namespace, Data Model and Representation

ETSI TS V5.2.0 ( )

Acquirer JCB Dual Interface EMV Test Card Set

GLDA MAO-DOC-TEC-008 v2.28

Logical Data Structure (LDS) for Storage of Data in the Contactless IC Doc LDS 2 New Applications

Intended status: Standards Track January 13, 2015 Expires: July 17, 2015

Transcription:

Card Specification 2.1.1 March 2004 Use of this information is governed by the GlobalPlatform license agreement and any use inconsistent with that agreement is strictly prohibited.

2 GlobalPlatform Card Specification 2.1.1 03/2004

03/2004 GlobalPlatform Card Specification 2.1.1 3 Table of Contents DEFINITION OF AMENDMENT...4 TABLE OF EXTENSIONS...4 A.1 STORE DATA Command...5 A.1.1 Reference Control Parameter P1...5 A.1.2 Command Message Data Field...6 A.1.3 Response Message Processing State...6 Command Pre-Processing...7 A.2 Pseudo-Random Card Challenge...7 A.2.1 Secure Channel Protocol 02 Pseudo-Random Card Challenge...7 A.2.2 Secure Channel Protocol 02 Options Identifier...7 A.3 Data Element Tags and Values Allocation...8 A.3.1 Data Element Tags...8 A.3.2 Key Type Values...9 A.4 Card and Application Management...9 A.4.1 Executable Load File Version Number...9 A.4.2 Runtime Environment Version Number...10 A.4.3 GET STATUS Parameter P1 Extensions...10 Use of this information is governed by the GlobalPlatform license agreement and any use inconsistent with that agreement is strictly prohibited.

4 GlobalPlatform Card Specification 2.1.1 03/2004 Definition of Amendment A GlobalPlatform Amendment includes a set of optional extensions to the latest version of a GlobalPlatform specification, that address few limited technical change requests. An Amendment is intended to be incorporated as is in a subsequent release of the GlobalPlatform specification it amends. When implemented, an optional extension shall comply to the description provided in the corresponding Amendment. Table of Extensions This Card Specification is a set of optional extensions to the current Card Specification version 2.1.1. These extensions provide support for the latest GlobalPlatform Scripting Specification, EMV Card Personalization Specification (see http://www.emvco.com) and Smart Card Platform TS 102.225 and TS 102.226 specifications (see http://www.etsi.org). Each part of this Amendment: A.1, A.2, A.3 or A.4, describes a self-contained extension that may be implemented independently of each other. The following table classifies the different parts of this Amendment into a sequential order that reflects the Card Specification index. The additions to the current specification are in blue characters. Amendment Card Specification number section number Description A.1 sections 7.2.2 & 9.11 STORE DATA Command A.3 sections 9.1.6, 9.3.2.2, Data Element Tags and Values Allocation & 9.5.2.3.6 A.4 sections 9.4.2.1, Card and Application Management 9.4.3.1 & appendix F.2 A.2 appendices E.1.1 & E.4.2 Pseudo-Random Card Challenge

03/2004 GlobalPlatform Card Specification 2.1.1 5 A.1 STORE DATA Command The STORE DATA command functionality is extended to support Application data format and data encryption management. Implementing this extension A.1 requires supporting BER-TLV format for non-encrypted (Issuer) Security Domain data transfer, that is: reference control parameter P1 bits b7-b6-b5-b4 set to 0010 with the corresponding data field coding. Section 9.11 STORE DATA Command of version 2.1.1 is extended as described hereafter. A.1.1 Reference Control Parameter P1 Reference control parameter P1 of the STORE DATA command coding is extendedwith Application data format and data encryption information. Zero values for bits b4, b5, b6 and b7 ensure backward compatibility with the existing GlobalPlatform Card Specification. Section 9.11.2.1 STORE DATA Reference Control Parameter P1 is extended as follows: b8 b7 b6 b5 b4 b3 b2 b1 Meaning 0 More blocks 1 Last block 0 0 No general encryption information or nonencrypted data 0 1 Application dependent encryption of the data 1 0 RFU (encryption indicator) 1 1 Encrypted data 0 0 No general data structure information 0 1 DGI format of the command data field 1 0 BER-TLV format of the command data field 1 1 RFU (data structure information) X X X RFU Table 9-62: STORE DATA Reference Control Parameter P1 Bits b5 and b4 provide information on the data structure of the command message data field. b5 - b4 = 00 indicate that no general information on the data structure is provided, i.e. the data structure is Application dependent, b5 - b4 = 01 indicate that the command message data field is coded as one or more DGI structures, according to GlobalPlatform Scripting Specification version 1.1, b5 - b4 = 10 indicate that the command message data field is coded as one or more BER- TLV structures, according to ISO 8825. Bits b7 and b6 provide information on the encryption of the value fields of the data structure present in the command message data field. b7 b6 = 00 indicate that no general information on the data encryption is provided, i.e. the encryption (or non-encryption) of the data is Application dependent, or that the data value fields of all the data structures present in the current command message are not encrypted, b7 b6 = 01 indicate that the encryption (or non-encryption) of the data structure value fields is Application dependent, e.g. when multiple data structures are present in the current command message, some may have encrypted data value fields and other data value fields may be non-encrypted b7 b6 = 11 indicate that the data value fields of all the data structures present in the current command message are encrypted.

6 GlobalPlatform Card Specification 2.1.1 03/2004 A.1.2 Command Message Data Field The data field coding of the STORE DATA command reflects the different data formats indicated in the command Reference Control Parameter P1. Section 9.11.2.3 STORE DATA Command Data Field is extended as follows: The STORE DATA command data field may be formatted according to an Application's or Security Domain s requirements. Application dependent format applies when no information is available on the format of the incoming command data: bits b5-b4 of reference control parameter P1 are set to 00. In this case, information on the encryption (or non-encryption) of the incoming command data is usually not available (parameter P1 bits b7-b6 set to 00 ): the format and eventual encryption of the incoming command data are implicitly known by the Application. DGI formatting applies when all data structures that are present in the command data field are formatted as DGI structures (as defined in the Scripting Specification): bits b5-b4 of reference control parameter P1 are set to 01. In this case, some information may be available on the encryption (or non-encryption) of the value fields of the DGI data structures: reference control parameter P1 bits b7-b6 are set accordingly. BER-TLV formatting applies when all data structures that are present in the command data field are formatted as BER-TLV structures (as defined in ISO 8825): bits b5-b4 of reference control parameter P1 are set to 10. In this case, some information may be available on the encryption (or non-encryption) of the value fields of the TLV data structures: reference control parameter P1 bits b7-b6 are set accordingly. If the overall length of the intended command message exceeds 255 bytes, the individual (or group of) data shall be sent in multiple consecutive STORE DATA commands. Whether the data format is a DGI or BER-TLV data structure, the following rules shall apply: The data structure length indicators shall always reflect the actual full length of the data structure value field, The data structure value field shall be truncated in the STORE DATA command message containing the data structure length indicator (e.g. at the maximum length of the command message), The subsequent STORE DATA command shall contain the remainder of the data structure value field (that may be followed by one or more data structure(s) in this same command message) note: for very large data, more than one subsequent STORE DATA command message may be required for the remainder of the data structure value field, The receiving Application or Security Domain shall use the last data structure length indicator of a STORE DATA command message to determine whether a subsequent STORE DATA command is expected to contain the remainder of the data structure value field. A.1.3 Response Message Processing State The list of error conditions applicable to the STORE DATA command is completed with an additional data processing error. Table 9-63 of section 9.11.3.2 STORE DATA Response Processing State is extended as follows: SW1 SW2 Meaning '6A' '80' Incorrect values in command data 6A 88 Referenced data not found Table 9-63: STORE DATA Error Condition

03/2004 GlobalPlatform Card Specification 2.1.1 7 A.1.4 Command Pre-Processing The following applies only when STORE DATA command pre-processing is implemented. When the Security Domain receives a STORE DATA command destined to an Application, the preprocessing of the STORE DATA command by that Security Domain is not impacted by the new optional STORE DATA command functionality. Section 7.2.2 Security Domain access to Applications is extended with the following precision: The Security Domain unwraps this command according to the current Security Level of the current Secure Channel Session and prior to the command being forwarded to the Application. This pre-processing leaves as is the data structures of the command message as well as the eventual encryption of the data value fields of these data structures. A.2 Pseudo-Random Card Challenge In Explicit Secure Channel Initiation mode of Secure Channel Protocol 02, a pseudo-random generation algorithm provides the option to pre-compute the card challenge as opposed to it always being random. This would allow an off-card entity, with knowledge of the relevant Secure Channel secret keys and the ability to track the Secure Channel Sequence Counter, to precompute an authentication sequence without first communicating with the card. A.2.1 Secure Channel Protocol 02 Pseudo-Random Card Challenge Appendix E.4.2 Authentication Cryptograms in SCP 02 Explicit Secure Channel Initiation is extended as follows: Card Challenge The card challenge is either a random or pseudo-random number that shall be unique to a Secure Channel Session. A pseudo-random card challenge may be generated as follows: The AID of the currently selected Application is padded according to the padding rules defined in Appendix B.4 DES Padding; A MAC is calculated across the padded data as defined in Appendix B.1.2.2 - Single DES plus final triple DES, using the C-MAC session key and an ICV of binary zeroes; The six leftmost bytes of the resultant MAC constitute the card challenge. A.2.2 Secure Channel Protocol 02 Options Identifier To indicate support of a GlobalPlatform specified card challenge generation algorithm to an offcard entity, the SCP 02 options identifier is extended with new values. Appendix E.1.1 SCP 02 Secure Channel is extended as follows: "i" = '44': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 1 Secure Channel base key, well-known pseudo-random algorithm (card challenge), "i" = '45': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 3 Secure Channel Keys, well-known pseudo-random algorithm (card challenge), "i" = '54': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 1 Secure Channel base key, well-known pseudo-random algorithm (card challenge), "i" = '55': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 3 Secure Channel Keys, well-known pseudo-random algorithm (card challenge).

8 GlobalPlatform Card Specification 2.1.1 03/2004 For backward compatibility with the existing SCP 02 options identifier values, appendix E.1.1 SCP 02 Secure Channel is extended with the following precision: "i" = '04': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 1 Secure Channel base key, unspecified card challenge generation method, "i" = '05': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 3 Secure Channel Keys, unspecified card challenge generation method, "i" = '14': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 1 Secure Channel base key, unspecified card challenge generation method, "i" = '15': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 3 Secure Channel Keys, unspecified card challenge generation method A.3 Data Element Tags and Values Allocation The following data element tags and values are allocated by GlobalPlatform. Please note that some data elements tags and values are reserved for use by Smart Card Platform technical specifications. A.3.1 Data Element Tags In coordination with the Smart Card Platform project, a range of data element tags is reserved by GlobalPlatform for Smart Card Platform specifications. Note that Smart Card Platform TS 102.226 and GSM 03.48 specifications already define tags FF 1F and FF 20 with GlobalPlatform GET DATA command implementation and tag CA with GlobalPlatform INSTALL command. The usage and rules associated to those data elements are outside the scope of GlobalPlatform and defined by the Smart Card Platform specifications. Section 9.3.2.2 GET DATA command Parameter P1 and P2 is extended as follows: Tags in the range FF 00 to FF 1E are reserved for data elements defined by GlobalPlatform specifications, Tags in the range 'FF 1F' to 'FF 3F' are reserved for data elements defined by Smart Card Platform TS 102.226 specification, Tags in the range FF 40 to FF 7F are reserved for future use (RFU) and may be allocated in the future by GlobalPlatform to specific card schemes/specifications. Table 9-35 of section 9.5.2.3.6 INSTALL [for load] and INSTALL [for install] Parameters is extended as follows: Tag Length Value (Name) Presence 'C9' Variable Application Specific Mandatory Parameters 'EF' Variable System Specific Parameters Conditional 'C7' 2 Volatile data space limit Optional 'C8' 2 Non volatile data space limit Optional 'CA' Variable TS 102.226 specific parameter Optional 'EA' Variable TS 102.226 specific template Optional Table 9-35: Install Parameter Tags

03/2004 GlobalPlatform Card Specification 2.1.1 9 A.3.2 Key Type Values Key Type coding is extended to include new values: 82 to 84, that support the KIc and KID key and algorithm identifier coding defined in Smart Card Platform TS 102.225 specification. Table 9-10 of section 9.1.6 Key Type Coding is extended as follows: Value '00'-'7F' '80' '81' '82' '83' '84' '85'-'9F 'A0' 'A1' 'A2' 'A3' 'A4' 'A5' 'A6' 'A7' 'A8' 'A9'-'FE' 'FF' Meaning Reserved for private use DES mode (EBC/CBC) implicitly known Reserved (triple DES) Triple DES in CBC mode DES in ECB mode DES in CBC mode RFU (symmetric algorithms) RSA Public Key - public exponent e component (clear text) RSA Public Key - modulus N component (clear text) RSA Private Key - modulus N component RSA Private Key - private exponent d component RSA Private Key - Chinese Remainder P component RSA Private Key - Chinese Remainder Q component RSA Private Key - Chinese Remainder PQ component RSA Private Key - Chinese Remainder DP1 component RSA Private Key - Chinese Remainder DQ1 component RFU (asymmetric algorithms) Not Available Table 9-10: Key Type Coding A.4 Card and Application Management More management information is made available to off-card systems tracking multiple versions of application code and multiple versions of card platforms. A.4.1 Executable Load File Version Number Information available to an off-card system with the GET STATUS command is extended to include the Executable Load File Version Number when retrieving Executable Load File or Executable Load File and its Executable Modules information. Section 9.4.3.1 GET STATUS Response Message Data Field is extended as follows: Tag Length Value Presence 'E3' Variable GlobalPlatform Registry related data '4F' 1-n AID '9F70' '01' Life Cycle State 'C5' '01' Application Privileges Conditional 'CE' 1-n Executable Load File Version Number Optional '84' 1-n First or only Executable Module AID Conditional... '84' 1-n Last Executable Module AID Conditional Table 9-23: GlobalPlatform Registry Data (TLV)

10 GlobalPlatform Card Specification 2.1.1 03/2004 Note: the Executable Load File Version Number format and contents are beyond the scope of this specification. It shall consist of the version information contained in the original Load File: on a Java Card based card, this version number represent the major and minor version attributes of the original Load File Data Block. A.4.2 Runtime Environment Version Number The Card/Chip Details data object (sub-tag 66 ) of Card Recognition Data provides information on the card and chip. The description of this data object is extended to include information pertaining to the operating system or runtime environment identification and its version number. Appendix F.2 Structure of Card Recognition Data is extended with the following precision: Note 6: Tag '66': this data object may contain information about the card and chip implementation, such as the operating system/runtime environment or a security kernel. Such information shall be TLV encoded and may consist of one (or more) OID(s), each OID being introduced by tag 06 and indicating the organization responsible for specifying the operating system, runtime environment or security kernel, the identification of the corresponding specification and its version number. A.4.3 GET STATUS Parameter P1 Extensions The possibility to execute a combined interrogation of the card contents is added to the GET STATUS command. The GET STATUS command reference control parameter P1 is extended with new values representing combination of existing values. Some of these combinations were already listed in version 2.0.1 of GlobalPlatform Card Specification, i.e. values: E0, C0, A0, and 60. Please note that any combination including both values 20 and 10 is equivalent to a combination with value 10 only. Section 9.4.2.1 GET STATUS Reference Control Parameter P1 is extended as follows: The following combination values of the reference control parameter may apply: 'E0' Issuer Security Domain, Applications, Security Domains and Executable Load Files. 'D0' Issuer Security Domain, Applications and Security Domains, Executable Load Files and their Executable Modules. 'C0' Issuer Security Domain, Applications and Security Domains. 'A0' Issuer Security Domain and Executable Load Files. '90' Issuer Security Domain, Executable Load Files and their Executable Modules. '60' Applications, Security Domains and Executable Load Files. '50' Applications, Security Domains, Executable Load Files and their Executable Modules.