Book C-6 Kernel Specification
EMV® Contactless Specifications for Payment Systems Book C-6 Kernel 6 Specification Version 2.6 February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6
Legal Notice
Unless the user has an applicable separate agreement with EMVCo or with the applicable payment system, any and all uses of these Specifications is subject to the terms and conditions of the EMVCo Terms of Use agreement available at www.emvco.com and the following supplemental terms and conditions. Except as otherwise may be expressly provided in a separate agreement with EMVCo, the license granted in the EMVCo Terms of Use specifically excludes (a) the right to disclose, distribute or publicly display these Specifications or otherwise make these Specifications available to any third party, and (b) the right to make, use, sell, offer for sale, or import any software or hardware that practices, in whole or in part, these Specifications. Further, EMVCo does not grant any right to use the Kernel Specifications to develop contactless payment applications designed for use on a Card (or components of such applications). As used in these supplemental terms and conditions, the term “Card” means a proximity integrated circuit card or other device containing an integrated circuit chip designed to facilitate contactless payment transactions. Additionally, a Card may include a contact interface and/or magnetic stripe used to facilitate payment transactions. To use the Specifications to develop contactless payment applications designed for use on a Card (or components of such applications), please contact the applicable payment system. To use the Specifications to develop or manufacture products, or in any other manner not provided in the EMVCo Terms of Use, please contact EMVCo. These Specifications are provided "AS IS" without warranties of any kind, and EMVCo neither assumes nor accepts any liability for any errors or omissions contained in these Specifications. EMVCO DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT, AS TO THESE SPECIFICATIONS. EMVCo makes no representations or warranties with respect to intellectual property rights of any third parties in or in relation to the Specifications. EMVCo undertakes no responsibility to determine whether any implementation of these Specifications may violate, infringe, or otherwise exercise the patent, copyright, trademark, trade secret, know-how, or other intellectual property rights of third parties, and thus any person who implements any part of these Specifications should consult an intellectual property attorney before any such implementation. Without limiting the foregoing, the Specifications may provide for the use of public key encryption and other technology, which may be the subject matter of patents in several countries. Any party seeking to implement these Specifications is solely responsible for determining whether its activities require a license to any such technology, including for patents on public key encryption technology. EMVCo shall not be liable under any theory for any party's infringement of any intellectual property rights in connection with these Specifications. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2. 1. 1. 1. 1. 1. 1. 1. 2. 2.1. 2.1. 2. 2.2. 2.2. 2. 2.3. 2.3. 2.3. 3. 3.1. 3.1. 3. 3. 3. 3.4. 3. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 3. 3. 3. 3. 3. 4. 4. 4. 4.3. 4. 4. 4. 4.6. 4.6. 4. 4.7. 4.7. 4. 4. B.1. B.2. B.3. B.4. B.5. B.6. B.7. B.8. B.9. B.10. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2. C.1. C.2. C.3. D.1. D.2. D.3. D.4. D.5. D.6. D.7. D.8. D.9. D.10. D.11. D.12. D.13. D.14. D.15. E.1. E.1. February 2016 Page v
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 [This page is intentionally left blank.] February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 1 Introduction 1.1 Scope 1
Introduction
This EMV Contactless Specifications for Payment Systems, Book C-6, Kernel 6 Specification (this Specification) addresses the requirements applicable to Kernel 6, including the:
- Kernel 6 Approach,
- Terminal Transaction Processing Steps, and
- Application Protocol Data Unit (APDU) Commands. Baseline functionalities are addressed in [EMV Book B], which should be read as a companion document and is hereby incorporated into this specification by reference. These baseline functionalities include, but are not limited to:
- Preliminary Transaction Processing (i.e., Pre-Processing),
- Protocol Activation,
- Combination Selection,
- Kernel Activation,
- Outcome Processing, and
- Data Element Processing. 1.1
Scope
This Specification describes one of several Kernels defined for use with Entry Point.
1.2 Audience This Specification is intended for use by system designers in payment systems and financial institution staff responsible for implementing financial applications. Note: Throughout this Specification, Contactless Cards and Mobile Devices are referenced as Contactless Cards unless Contactless and Mobile Devices must be addressed separately. February 2016
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 1 Introduction 1.7 Terminology 1.3 Volumes of Contactless Specifications This Specification is part of an EMVCo ten-volume set, including:
- Book A: Architecture and General Requirements [EMV Book A]
- Book B: Entry Point Specification [EMV Book B]
- Book C-1: Kernel 1 Specification
- Book C-2: Kernel 2 Specification
- Book C-3: Kernel 3 Specification
- Book C-4: Kernel 4 Specification
- Book C-5: Kernel 5 Specification
- Book C-6: Kernel 6 Specification
- Book C-7: Kernel 7 Specification
- Book D: Contactless Communication Protocol [EMV Book D] 1.4 Reference Specifications In addition to the volumes cited in section 1.3, the following specifications and standards contain provisions that are referenced in this Specification. The latest version shall apply unless a publication date is explicitly stated. If any provision or definition in this Specification differs from those in the listed specifications and standards, the provision or definition herein shall take precedence. Abbreviation Title [EMV Book 1] [EMV Book 2] [EMV Book 3] [EMV Book 4] [ISO/IEC 639-1] [ISO/IEC 3166-1] [ISO/IEC 4217] [ISO/IEC 7810] [ISO/IEC 7813] EMV Integrated Circuit Card Specifications for Systems. Book 1 - Application Independent ICC to Interface Requirements. EMV Integrated Circuit Card Specifications for Systems. Book 2 - Security and Key Management. EMV Integrated Circuit Card Specifications for Systems. Book 3 - Application Specification. EMV Integrated Circuit Card Specifications for Systems. Book 4 - Cardholder, Attendant, and Interface Requirements. Codes for the representation of names of languages Alpha-2 Code. Codes for the representation of names of countries subdivisions Part 1 Country Codes. Codes for the representation of currencies and funds. Information technology – Identification cards – characteristics. Information technology – Identification cards – transaction cards. Payment Terminal Payment Payment Payment Acquirer – Part 1: and their Physical Financial countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 1 Introduction 1.7 Terminology Abbreviation [ISO/IEC 7816-4] [ISO/IEC 7816-5] [ISO/IEC 8583-1] [ISO/IEC 8825-1] [ISO/IEC 8859-1] [ISO/IEC 9797-1] [ISO/IEC 10116] [ISO/IEC 13239] [ISO/IEC 14443-1] [ISO/IEC 14443-2] [ISO/IEC 14443-3] [ISO/IEC 14443-4] Title Information technology – Identification cards – Integrated circuit cards – Part 4: Organization, security and commands for interchange. Identification cards – Integrated circuit cards – Part 5: Registration of application providers. Financial transaction card originated messages – Interchange message specifications – Part 1: Messages, data elements and code values. Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER). Information Technology – 8-bit single-byte coded graphic character sets – Part 1: Latin alphabet No. 1. Information technology – Security techniques - Message Authentication Codes (MACs) – Part 1: Mechanisms using a block cipher. Information technology – Security techniques - modes of operation for an n-bit block cipher. Information technology – Telecommunications and information exchange between systems – High-level data link control (HDLC) procedures. Identification cards – Contactless integrated circuit cards – Proximity cards – Part 1: Physical characteristics. Identification cards – Contactless integrated circuit cards – Proximity cards – Part 2: Radio frequency power and signal interface. Identification cards – Contactless integrated circuit cards – Proximity cards – Part 3: Initialization and anti-collision. Identification cards – Contactless integrated circuit cards – Proximity cards – Part 4: Transmission protocol.
1.5 Overview This volume includes the following chapters and annexes:
- Chapter 1: contains general information regarding this Specification.
- Chapter 2: provides a high-level description of the Kernel 6 approach, including configurations of the supported modes, transaction processing flows, terminal and configuration requirements and options, and supported APDU commands.
- Chapter 3: specifies detailed transaction processing flows for Kernel 6.
- Chapter 4: lists and describes the APDU commands used by Kernel 6.
- Annex A: is a glossary of terms and abbreviations used in this specification.
- Annex B: contains Kernel 6 Transaction Parameters and Outcomes.
- Annex C: lists data elements required for offline only, online only, and offline / online transactions.
- Annex D: is a dictionary of data elements for Kernel 6. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 1 Introduction 1.7 Terminology
- Annex E: specifies the Track Data for MS Mode and Legacy MS Mode Transactions.
1.6 Data Conventions The data conventions included in Table 1-1 are used throughout this Specification. Table 1-1: Data Conventions Convention Description ‘…’ Single quotation marks surround a decimal or hexadecimal digit. For example ‘3A’ or ‘9901’ […] Squared brackets surround a reference document. For example: [EMV Book A]. A Alphanumeric b Binary n Numeric Var Variable length For data elements that have multiple bytes, the first byte or byte 1 is the leftmost byte, while the last byte is the rightmost byte.
1.7 Terminology The terminology used in this specification is presented in Table 1-2. Table 1-2: Terminology Term Definition Shall, must, or required Denotes a mandatory requirement Should Denotes a recommendation May or optional Denotes an optional feature
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.1 Configuration of Supported Modes 2 Overview of Kernel 6 Approach A high-level description of the Kernel 6 approach is provided in the following sections:
- 2.1: Configuration of Supported Modes
- 2.2: Transaction Processing Flows
- 2.3: Configuration, Functionality, and APDU Command Support 2.1 Configuration of Supported Modes The Kernel 6 approach supports three principle configurations: EMV Mode, Magnetic Stripe Mode (MS Mode), and Legacy MS Mode or both EMV and MS Modes. EMV Mode allows the processing of transactions offline or online (based on Terminal capabilities), while MS Mode and Legacy MS Mode only support transactions completed online with:
- EMV Mode – Functioning as an operating mode that relies on an infrastructure created via data elements and configuration settings in a chip application, and
- MS Mode and Legacy MS Mode – Functioning as an operating mode based on the use of Track 1 and Track 2 equivalent data. Access to a particular configuration is enabled by a designated Application Identifier (AID) assigned to EMV Mode and MS Mode (‘A0000001523010’) and another specified for Legacy MS Mode (‘A0000003241010’).
2.1.1 EMV Mode (Offline or Online Transactions) EMV Mode conforms to the EMV requirements supporting offline and online capabilities including the functionalities and commands for:
- Selecting the application, initializing transaction processing, and reading records to obtain the application data items,
- Performing Cardholder Verification and Offline Data Authentication (ODA) for offline transactions,
- Enabling Processing Restrictions, Terminal Action Analysis, Online Processing, and Issuer Update Processing for online transactions, and
- Supporting security parameters, including an optimized cryptographic process that enables the generation of an Application Cryptogram (AC) or Combined Dynamic Data Authentication / Application Cryptogram Generation (CDA) using the Unpredictable Number (UN) provided by the reader in the Processing Data Objects List (PDOL). countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.2 Transaction Processing Flows Unlike contact EMV-based transactions, the reader performs certain checks before the card enters the Radio Frequency (RF) field as specified in [EMV Book B] and after the card has left the RF field. Additional information regarding EMV Mode is provided in Section 3 of this Specification.
2.1.2 MS Mode or Legacy MS Mode (Online Only Transactions) MS Mode and Legacy Zip Mode use Track 1 and Track 2 equivalent data, which contain the same fields as that of a magnetic stripe card. In addition, MS Mode and Legacy Mode support the inclusion of a Dynamic Card Verification Value (DCVV) in Track 1 and Track 2. Both Track 1 and Track 2 shall be coded according to [ISO/IEC7813].
2.2 Transaction Processing Flows Transaction Processing Flows for the MS and Legacy MS Modes and EMV Mode are provided in the following sections.
2.2.1 MS Mode and Legacy MS Mode Processing Flow (Online Only Processing) MS Mode and Legacy MS Mode offer enhanced magnetic stripe payment services using Track 1 and Track 2 equivalent data retrieved from the Contactless Card over the contactless interface. Unlike a magnetic stripe card, both MS Mode and Legacy MS Mode have the ability to generate a DCVV. If supported, the DCVV is integrated into the build of the Track 1 data and Track 2 data to be transmitted to the Issuer in an Authorization Request. The Authorization Request is sent via online messages defined by the payment scheme for Outcome Processing. Both DCVV-supported and Non-DCVV-supported configurations, which are described in detail in Annex E, provide data for online messages and clearing records. The MS Mode and Legacy MS Mode transaction flow is illustrated in Figure 2-1.
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.2 Transaction Processing Flows Figure 2-1: Magnetic Stripe Mode and Legacy MS Mode - Transaction Flow Card in RF Field Command/ Response Mandatory Process Entry Point Process CARD READER Pre-Processing* Protocol Activation List of Supported Applications Application Capabilities (AIP) and Data Location (AFL)** SELECT PPSE SELECT AID GET PROCESSING OPTIONS Track 1, Track 2, DCVV READ RECORD Combination Selection Initiate Application Processing Read Application Data Build Track 1/2 (DCVV) Online Processing Completion Notes: *Pre-processing may be optional at Legacy MS Contactless Readers. **Transaction-Specific Application Data are provided in Table 4-3.
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.2 Transaction Processing Flows 2.2.2 EMV Mode Processing Flow The Kernel will initiate the transaction in EMV Mode, when the mode is supported by both the card and the Kernel and the transaction passes the required PDOL checks. Terminal entry point shall perform the pre-processing and combination selection prior to the activation of the contactless interface of the reader and before the cardholder is invited to present a Contactless Card. Because the interaction (i.e., the command-response) between the card and the Terminal can only occur when the card is in the RF field, the process requires adaptations to permit the:
- Reduction of the number of commands and adjustment of the transaction flow for both the first and second presentment processes,
- Definition of data elements taking into account events relevant for contactless transactions,
- Usage of Entry Point as defined for [EMV Book B], to select the application and activate the corresponding Contactless Kernel 6,
- Generation of a CDA Cryptogram for an offline transaction or an Application Cryptogram for an online transaction during the transaction initiation,
- Execution of Terminal Risk Management before the card is placed in the field and after the card is removed from the field, and
- If required, execution of cardholder verification after the card is removed from the field. Issuers may allow a Contactless Card to be presented a second time (via a second presentment) for updating application data. The need for a second presentment is determined by the contactless reader by checking for the presence of Issuer scripts included in the authorization request response. The reader shall store the fields that are required for a second presentment in transient memory as specified in [EMV Book B]. Entry Point uses this transient memory to select the Combination used in the previous Final Combination Selection to deliver the Issuer Update Processing commands. The EMV Mode configuration uses the Outcome parameters defined in Annex B and provides data for online messages and clearing records. Figure 2-2 and Figure 2-3 illustrate EMV Mode online and offline transaction flows. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.2 Transaction Processing Flows Figure 2-2: Kernel 6 Contactless Transaction Flow - Online EMV Mode CARD READER Pre-Processing Protocol Activation List of Supported Applications Transaction-Specific Application Data* Terminal File Records SELECT PPSE SELECT AID GET PROCESSING OPTIONS READ RECORD Combination Selection Initiate Application Processing Read Application Data Card in RF Field Command/ Response Optional Process Mandatory Process Entry Point Process Cardholder Verification Processing Restrictions Terminal Action Analysis Try Another Interface Terminate Online Processing Second Tap Selected Application Processing Updates/ Scripting SELECT AID Issuer Updates/Script Online Completion Entry Point Selection START B Issuer Update Processing *Transaction-Specific Application Data are provided in Table 4-4. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.2 Transaction Processing Flows Figure 2-3: Kernel 6 Contactless Transaction Flow - Offline EMV Mode CARD READER Pre-Processing Protocol Activation List of Supported Applications Transaction-Specific Application Data* Terminal File Records Card in RF Field Command/ Response Optional Process Mandatory Process Entry Point Process Second Tap-Online with Issuer Script Selected Application Processing Updates/ Scripts SELECT PPSE SELECT AID GET PROCESSING OPTIONS READ RECORD Combination Selection Initiate Application Processing Read Application Data Offline Data Authenticaiton Cardholder Verification Processing Restrictions Terminal Action Analysis Try Another interface Terminate Processing Offline Completion Online Completion SELECT AID Issuer Script Entry Point Selection START B Issuer Update Processing *Transaction-Specific Application Data are provided in Table 4-3. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.3 Configuration, Functionality, and APDU 2.3 Configuration, Functionality, and APDU Command Support Section Summary:
- 2.3.1: POS System Configuration Options
- 2.3.2: Functionality
- 2.3.3: APDU Command Support 2.3.1 POS System Configuration Options The POS System Configuration options are used by the Kernel and must be set as described in [EMV Book A] and [EMV Book B]. In addition, the following configuration options are specific to Kernel 6. 1. Acceptance Environment: Reader will be enabled to support one of the following modes:
- EMV Mode,
- Mag-stripe Mode (MS Mode or Legacy MS Mode), or
- Both EMV Mode and MS Mode. 2. Kernel AID: Discover AIDs will be configured to be used with Kernel 6.
2.3.2 Functionality Specific Contactless functionalities are included in Table 2-1 and classified based on the following definitions:
- Mandatory: This functionality must be present and must conform to the behavior described in this Specification.
- Conditional: The presence of the functionality is dependent on another function.
- Acquirer Option: This functionality must be present in the Terminal application but the Acquirer may choose not to use the function. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.3 Configuration, Functionality, and APDU Table 2-1: Contactless Functionality Function Kernel 6 Terminal Support Entry Point Processing based on [EMV Book B] Mandatory Combination Selection Post Processing Mandatory Initiate Application Processing Mandatory Cardholder Verification Method (CVM)
- Online PIN
- Signature
- Consumer Device CVM
- No CVM Read Application Data
- EMV Data in Terminal File records, identified by Short File Identifier (SFI) and record number Conditional Conditional Offline Data Authentication (ODA)
- CDA Conditional
Notes
The Terminal shall support Entry Point processing as defined in [EMV Book B] See Section 3.1: Combination Selection Post Processing If a data requested by the PDOL is not present in the Terminal, then the Terminal shall set the value to zeroes. Mandatory for EMV Mode transactions except as determined by the payment system. Mandatory for Offline capable EMV Mode readers and MS and Legacy MS Mode readers Mandatory for Offline capable readers (must be performed before Termination Action Analysis)
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 Function Processing Restrictions
- Application Expiration Date
- Application
Effective Date
- Application Version Number
- Application Usage Control*
- Exception List Terminal Action Analysis Online Processing Completion
- Offline
- Online Issuer Update Processing
- Application Block
- Application Unblock
- Put Data
- Update Record 2 Overview of Kernel 6 Approach 2.3 Configuration, Functionality, and APDU Kernel 6 Terminal Support Mandatory Notes *Conditional Mandatory for offline transactions Mandatory Conditional Mandatory Mandatory Mandatory for Offline capable EMV Mode readers and MS & Legacy MS Mode readers countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 2 Overview of Kernel 6 Approach 2.3 Configuration, Functionality, and APDU 2.3.3 APDU Command Support The APDU commands included in Table 2-2 are designated as “Mandatory”, “Optional”, or “Not supported” by the Contactless Kernel 6 Terminal based on the following definitions:
- Mandatory: The command must be supported.
- Not supported: The command is not supported. Table 2-2: APDU Command Support Command Kernel 6 Support APPLICATION BLOCK Mandatory1 APPLICATION UNBLOCK Mandatory1 CARD BLOCK Not supported EXTERNAL AUTHENTICATE Not Supported GENERATE APPLICATION CRYPTOGRAM (AC) Not Supported GET CHALLENGE Not Supported GET DATA Mandatory GET PROCESSING OPTIONS Mandatory INTERNAL AUTHENTICATE Not Supported PIN CHANGE / UNBLOCK Not Supported PUT DATA Mandatory1 READ RECORD Mandatory SELECT Mandatory UPDATE RECORD Mandatory1 Notes: 1 = Terminal to only pass supported Issuer Script commands to card. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection 3 Terminal Transaction Processing Steps This section addresses the Kernel 6 transaction processing requirements, including process flows, in the following sections:
- 3.1: Combination Selection Post Processing
- 3.2: Initiate Application Processing
- 3.3: Read Application Data
- 3.4: Offline Data Authentication (ODA)
- 3.5: Cardholder Verification
- 3.6: Processing Restrictions
- 3.7: Terminal Action Analysis
- 3.8: Online Processing
- 3.9: Completion
- 3.10: Issuer Update Processing Details on each APDU command referenced in this section are provided in Section 4, and additional information regarding Outcomes and Outcome Parameters are included in Annex B.
3.1 Combination Selection Post Processing The transaction starts in the Kernel at the handover from Entry Point, which has performed:
- EMV Mode: Pre-Processing, Protocol Activation, Combination Selection, and Kernel Activation), or
- Mag-stripe (MS Mode or Legacy MS Mode): Pre-Processing, Protocol Activation, Combination Selection, and Kernel Activation. After Kernel Activation, the selected Kernel must check the response sent by the card to the SELECT command. The operations to be performed to validate the answer sent by the card are described in the following sections:
- 3.1.1: MS Mode and Legacy MS Mode:
- Figure 3-1: Processing Flow (Format Analysis)
- Figure 3-2: Processing Flow (PDOL Mandatory Check) countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection
- 3.1.2: EMV Mode:
- Figure 3-3: Processing Flow (Format Analysis)
- Figure 3-4: Processing Flow (PDOL Mandatory Check)
- Figure 3-5: Processing Flow (PDOL Optional Check)
- Figure 3-6: Processing Flow (Optional Check) 3.1.1 MS Mode and Legacy MS Mode Figure 3-1: MS and Legacy Modes Selection - Processing Flow (Format Analysis) Answer to Final SELECT (1) Answer has No tag ‘84’? Yes (2) Answer has No tag ‘A5’? Yes No (3a) Answer has tag ‘87’? Yes (3b) Tag ‘87’ No length correct? Yes (4a)
Answer
No has tag ‘BF0C’? Yes (4b) Tag ‘BF0C’ length No correct? Yes (5) Answer has No tag ‘9F7D’? Yes PDOL Analysis Kernel shall send the Outcome as ‘Try Another Interface’
countries.
EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 1 The Kernel shall check if Dedicated File (DF) name (tag ‘84’) of the application is provided by the card. If the tag is not present, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface (if one is supported). 2 Kernel shall check if File Control Information (FCI) Proprietary Template (tag ‘A5’) is present. If the tag is not present, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface (if one is supported). 3a Kernel shall check if Application Priority Indicator (tag ‘87’) is present in the answer provided by the card and is under tag ‘A5’.
- If the Application Priority Indicator (tag ‘87’) is present, go to step 3b.
- ELSE go to step 4a. Note: If the tag is not under the tag ‘A5’, the Kernel shall end the transaction with ‘End Application’ Outcome. 3b Kernel shall check if the length of tag ‘87’ is correct.
- If the length is not correct, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface (if one is supported).
- ELSE go to Step 4a. 4a Kernel shall check if FCI Issuer Discretionary Data (tag ‘BF0C’) is present in the answer and is under the tag ‘A5’.
- If FCI Issuer Discretionary Data tag (tag ‘BF0C’) is not present, the process will skip to the PDOL Analysis,
- ELSE go to Step 4b. Note: If the ‘BF0C’ tag is not under the tag ‘A5’, Kernel shall end the transaction with ‘End Application’ Outcome. 4b Tag BF0C shall be present if any of the subfields are present. The length of BF0C is checked based on the other fields present under it and it should be correctly TLV formatted.
- If the format is not correct, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface (if one is supported).
- ELSE go to step 5. 5 Kernel shall check if the “Discover® Network RF Contactless Payment Application Version Number” (tag ‘9F7D’) is present in the answer and under tag ‘BF0C’.
- If tag ‘9F7D’ is not present, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface (if one is supported).
- ELSE perform PDOL Analysis. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection Figure 3-2: MS Modes Selection - Processing Flow (PDOL Mandatory Check) PDOL Analysis (1) PDOL No present? Yes (3) UN No requested? Yes (4) Length is between No 1 to 4? Yes (5) Compute UN according to MS or Legacy MS Mode with a length as requested by PDOL (6) End of Application selection. Kernel shall send GET PROCESSING OPTIONS with PDOL data requested by the card under tag ‘83’ (TLV formatted) (2a) Other interface supported? Yes (2b) Send ‘Try Another Interface’ Outcome No Terminate Terminate # Description 1 The Kernel shall check if PDOL is requested by the application. If… Then… Yes Go to step 3. No Go to step 2a. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 2a If PDOL is not present, the Kernel shall check if another interface is supported. If… Then… Yes Go to step 2b. No Terminate the Transaction with ‘End Application’ (for Processing Error) Outcome. 2b If another interface is supported, the Kernel shall send the Outcome as ‘Try Another Interface’ to prompt the user to use another interface. 3 Kernel shall verify if an Unpredictable Number (UN) (tag ‘9F37’) is requested. If… Then… Yes Go to step 4. No Go to step 2a. 4 Kernel shall check if the length of UN requested by the application is between 1 to 4.
- If the length has a different size, Kernel shall end the transaction with ‘End Application’ (for Processing Error) Outcome.
- ELSE go to step 5. 5 Kernel shall compute a numeric UN for Legacy MS or MS Mode and pass it within the length requested by the PDOL. 6 Kernel shall end the selection process and shall send the GET PROCESSING OPTIONS with the PDOL data requested by the card under tag 83 (TLV formatted). countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection 3.1.2 EMV Mode (Figures 3-3 to 3-7) Figure 3-3: EMV Mode Selection - Processing Flow (Format Analysis) Answer to Final SELECT (1) Answer has No tag ‘84’? Yes (2) Answer has No tag ‘A5’? Yes (3) Answer has No tag ‘50’? Yes Kernel shall send an Outcome as ‘Try Another Interface’ (4) Answer has No PDOL? Yes PDOL Analysis # Description 1 The Kernel shall begin the checks on the response received for the final SELECT command. The Kernel shall check if DF name (tag ‘84’) of the application is provided by the card. If the tag is not present, the Kernel shall send the Outcome as ‘Try Another Interface’ to request the use of another interface (if one is supported). 2 Kernel shall check if FCI Proprietary Template (tag ‘A5’) is present. If the tag is not present, the Kernel shall send the outcome as ‘Try Another Interface’ to request the use of another interface (if one is supported). 3 Kernel shall check if Application Label (tag ‘50’) is present in the answer provided by the card and is under tag ‘A5’. If the tag is not present as specified, the Kernel shall send the Outcome as ‘Try Another Interface’ to request the use of another interface (if one is supported). countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 4 Kernel shall check if Processing Options Data Object List (PDOL) (tag ‘9F38’) is present in the answer provided by the card and is under tag ‘A5’.
- If tag ‘9F38’ is not present as specified, the Kernel shall send the Outcome as ‘Try Another Interface’ to request the use of another interface (if one is supported) to the Entry Point.
- If tag ‘9F38’ is present as specified, the Kernel shall perform a PDOL analysis. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection Figure 3-4: EMV Mode Selection - Processing Flow (PDOL Mandatory Check) PDOL Analysis (1) TTQ requested and length = ‘04’? Yes (2) Amount Authorized requested and length = ‘06’? Yes (3) Amount Others requested and length = ‘06’? Yes (4) Terminal Country code requested and length = ‘02’? Yes (5) Transaction Currency Code requested and length = ‘02’? Yes (6) Transaction Date requested and length = ‘03’? Yes (7) Transaction Type requested and length = ‘01’? Yes (8a) UN requested Yes No No No (9) Kernel shall send an Outcome as ‘Select Next’ No No No No No (8c) UN length = Yes ‘01’ or ‘04’ No Yes (8b) TTQ B1b8=1 and Tag 9F7D No present? No (8d) UN length = ‘04’ Optional Yes PDOL checks countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 1 Kernel shall check if the card requests a TTQ (tag ‘9F66’) with a length of 4 bytes. If the TTQ is not requested or the TTQ length is different from 4, then the Kernel shall go to step 9. 2 Kernel shall check if the card requests Amount Authorized (tag ‘9F02’) with a length of 6 bytes. If Amount Authorized is not requested or the Amount Authorized length is not equal to 6, then the Kernel shall go to step 9. 3 Kernel shall check if the card requests Amount Other (tag ‘9F03’) with a length of 6 bytes. If Amount Others is not requested or the Amount Others length is not equal to 6, then the Kernel shall go to step 9. 4 Kernel shall check if the card requests Terminal Country Code (tag ‘9F1A’) with a length of 2 bytes. If Terminal Country Code is not requested or the Terminal Country Code length is not equal to 2, then the Kernel shall go to step 9. 5 Kernel shall check if the card requests Transaction Currency Code (tag ‘5F2A’) with a length of 2 bytes. If the transaction Currency Code is not requested or the Transaction Currency Code length is not equal to 2, then the Kernel shall go to step 9. 6 Kernel shall check if the card requests Transaction Date (tag ‘9A’) with a length of 3 bytes. If the Transaction Date is not requested or the Transaction Date length is not equal to 3, then the Kernel shall go to step 9. 7 Kernel shall check if the card requests Transaction Type (tag ‘9C’) with a length of 1 byte. If the Transaction Type is not requested or the Transaction Type length is not equal to 1, then the Kernel shall go to step 9. 8 a. Kernel shall check if the card requests Unpredictable Number (UN) (tag ‘9F37’). If not present, the Kernel shall go to step 9. b. Kernel shall check if MS Mode (TTQ B1b8 = 1) is enabled and tag 9F7D is present in card response. If yes, the Transaction will process in MS Mode (go to 8c) else it continues in EMV Mode. (Go to 8d) c. Kernel will check for UN length of ‘01’ byte or ‘04’bytes. If yes, the Transaction will perform optional PDOL checks. If no, go to step 9. d. Kernel will check for UN length of ‘04’ bytes. If yes, the Transaction will perform optional PDOL checks. If no, go to step 9. Note: If the UN is not requested or the UN length is not correct, then the Kernel shall go to step 9. 9 The Kernel shall send the Outcome as ‘Select Next’. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection Figure 3-5: EMV Mode Selection - Processing Flow (PDOL Optional Check) Optional PDOL checks (1) Additional PDOL No element? Yes (3) Fill in PDOL with length of ‘00’ No (2) Known tag? requested by card Optional checks Yes (5) Fill in PDOL (4) Length = with data found Yes length available? No (7) Add padding bytes to reach the Yes length requested (6) Length > length available No (8) Fill in PDOL with truncated bytes to fit the length requested # Description 1 Kernel shall check if the PDOL requested by the card contains additional data to be sent with the GET PROCESSING OPTION. If… Then… Yes Go to step 2. No Go to Figure 3-6 to perform optional checks. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 2 Kernel verifies if the data element requested by the card is a Discover DPAS tag or EMV tag. If… Then… Yes Go to step 4. No Go to step 3. 3 If the requested data is unknown by the Kernel, the Kernel shall add the number of ‘00’ bytes requested by the card to data that will be sent to the card. Then, go to step 1. 4 Kernel shall check If the length requested by the card concerning the known element is equal to the length available in the Kernel. If… Then… Yes Go to step 5. No Go to step 6. 5 Kernel inserts requested data into the PDOL that will be sent to the card. Then, go to step 1. 6 Kernel checks if the length requested by the PDOL entry is greater than the length of available data inside the Kernel. If… Then… Yes Go to step 7. No Go to step 8. 7 Kernel shall add padding bytes (as per [EMV Book 3] Section 5.4 padding rules) to reach the size requested by the card and add the result to the PDOL that will be sent to the card. Then, go to step 1. 8 If the length of data requested by the card in the PDOL entry is lower than the length of available data inside the Kernel, the Kernel shall include truncated bytes to match the requested length (as per [EMV Book 3] Section 5.4). Then, go to step 1. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection Figure 3-6: EMV Mode Selection - Processing Flow (Optional Check) Optional Checks (1) Tag ‘5F2D’ Yes present? No (4) Tag ‘9F12’ Yes present? No (6) Tag ‘9F11’ Yes present? No (8)Tag ‘9F4D’ Yes present? No (10)Tag ‘9F7D’ Yes present? No (12)Issuer script commands Yes available? No (14) Reset TSI and TVR (15) TTQ B1b8 set to Yes ‘1’? No (2) Length between 2 and 8? No (3) Ignore Field Yes (5)Length between 1 and 16? No (5a) Ignore Field Yes (7) Length = ‘1’? No (7a) Ignore Field Yes (9)Length=’2'? No (9a) Ignore Field Yes (11)Length=’2'? No (11a) Ignore Field Yes (13) End of selection process. Terminal shall send SCRIPT commands as specified by issuer and in the same order (16)Tag ‘9F7D’ present? No (17)Transaction will Yes be processed in MS mode (18)End of selection process, Terminal shall send GET PROCESSING OPTIONS with PDOL data requested by the card under tag ‘83’ (TLV formatted) countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 1 Kernel shall check if the card has returned Language Preference (tag ‘5F2D’). If data is not present, the Kernel shall continue the optional checks. If… Then… Yes Go to step 2. No Go to step 4. 2 Kernel verifies if Language Preference (tag ‘5F2D’) length is coded between 2 and 8 bytes and is a multiple of 2. If… Then… Yes Go to step 4. No Go to step 3. 3 If the length returned by the card is not the expected one, the Kernel shall ignore the field and continue the optional checks. 4 Kernel shall check if Application Preferred Name (tag ‘9F12’) is sent by the card. If data is not present, the Kernel shall continue the optional checks (Step 6). 5 Kernel verifies if the Application Preferred Name (tag ‘9F12’) length is between 1 and 16 bytes. If the length returned by the card is not the expected one, the Kernel shall ignore the field (Step 5a) and continue the optional checks (Step 6). 6 Kernel shall check if Issuer Code Table Index (tag ‘9F11’) is sent by the card. If data is not present, the Kernel shall continue the optional checks (Step 8). 7 Kernel verifies if Issuer Code Table Index (tag ‘9F11’) length is 1 byte. If the length returned by the card is not the expected one, the Kernel shall ignore the field (Step 7a) and continue the optional checks (Step 8). 8 Kernel shall check if Log Entry (tag ‘9F4D’) is sent by the card. If data is not present, the Kernel shall continue the optional checks (Step 10). 9 Kernel verifies if Log Entry (tag ‘9F4D’) length is 2 bytes. If the length returned by the card is not the expected one, the Kernel shall ignore the field (Step 9a) and continue the optional checks (Step 10). 10 Kernel shall verify if the Contactless Payment Application Version Number (tag ‘9F7D’) is present. If data is not present, the Kernel shall continue the optional checks (Step 12). 11 Kernel verifies if the Contactless Payment Application Version Number (tag ‘9F7D’) length is 2 bytes. If the length returned by the card is not the expected one, the Kernel shall ignore the field (Step 11a) and continue the optional checks (Step 12). countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.1 Combination Selection # Description 12 Kernel shall verify if it receives Issuer script commands sent by Issuer. If… Then… Yes Go to step 13. No Go to step 14. 13 Kernel shall end the selection process and shall send script commands received from Issuer in the same order as received from Issuer. 14 New transaction is being processed. All information concerning the previous transaction (TVR and TSI) shall be reset. 15 Kernel shall check if it supports MS Mode (TTQ B1b8 =1). If… Then… Yes Go to step 16. No Go to step 18. 16 Kernel that supports MS Mode shall check if the card wishes to process the transaction in Legacy or MS Mode by verifying if tag ‘9F7D’ is present in the File Control Information (FCI). If… Then… Yes Go to step 17. No Go to step 18. 17 The transaction will be performed via MS Mode using a GPO command configured for MS or Legacy MS Mode processing. 18 The transaction will be performed via a GPO command configured for EMV Mode processing. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.2 Initiate Application Processing 3.2 Initiate Application Processing At the Initiate Application Processing stage, the Kernel indicates to the card that a new transaction is beginning by sending the GET PROCESSING OPTIONS command as described in this section. As part of this step, the Kernel will only check if the answer to the command is well formatted and will analyze data later during the Terminal Action Analysis step. Different checks must be performed depending on the type of transaction being processed. The diagrams included in this section show the checks performed by the Kernel when it receives the response to the GET PROCESSING OPTIONS command. countries. EMV Contactless Book C-6 Kernel 6 Spec v2.6 3 Terminal Application Processing 3.2 Initiate Application Processing Figure 3-7: Initiate Application Processing (Mandatory Data Checks: All Transactions) Mandatory Checks – Applicable to All Initiate Application Processing (1) SW = ‘9000’? No Yes (2) Answer well- No formatted? Yes (3) Tag ‘82’ present No and length =’02'? Yes (3a) Legacy Mode or Yes MS Mode? No (4) Tag ‘9F36’ present and length = No ‘02’? Yes (5) Tag ‘9F10’ No present? Yes (6) Tag ‘9F27’ present and length = No ‘01’? Yes (7) Tag ‘9F71’ present and length = No ‘02’? Yes Other checks (1a) SW = ‘6986’? No (1b) Yes Terminate and restart (3b) Tag ‘94’ present and length is multiple of 4? Yes Go to Next Transaction Step No (8) Other interface supported? No Terminate Yes (9) Send Outcome as ‘Try Another Interface’ © 2011-2016 EMVCo, LLC. All rights reserved. Reproduction, distribution and other use of this document is permitted only pursuant to the EMVCo Terms of Use agreement found at www.emvco.com, as s
Shown in part. Read the original for the full text.