SB nº 195: Errata for EMV® Book C-2 (Version 2.6)

v1.0 Specification Bulletins
Contactless

EMV® Specification Bulletin No. 195 February 2017 Errata for EMV Book C-2 (Version 2.6) This Specification Bulletin contains modifications for Book C-2.

Applicability

This Specification Bulletin applies to:  EMV Contactless Specifications for Payment Systems, Book C-2, Kernel 2 Specification, Version 2.6, February 2016

Related Documents

None

Effective Date

March 1, 2017 Approval Readiness Date March 1, 2017

Description

This Specification Bulletin describes the following changes to EMV Book C-2: 1. Addition of Payment Account Reference data object to the Data Record returned with the OUT signal for mag-stripe mode transactions 2. Modification to PDOL processing such that only data objects that can be updated with a DET signal can be requested from the Terminal 3. Modification to the test on PAN length in RRP processing 4. Correction to template reference for several data objects in data dictionary 5. Clarification to management of negative values and integer division in RRP processing

countries.

1. Payment Account Reference The Payment Account Reference data object is added to the data record described in Table 4.8 that is returned in the OUT signal for mag-stripe mode transactions: Table 4.8—Data Record Detail for Mag-Stripe Mode Transaction Application Label Data Object Application Preferred Name DF Name Issuer Code Table Index Mag-stripe Application Version Number (Reader) Payment Account Reference Track 1 Data Track 2 Data

countries.

2. PDOL Processing When processing the PDOL, data objects that are present but empty in the Kernel database are requested from the Terminal using the data exchange (DE) functionality. Processing steps S1.12 and S2.7 are modified to ensure that only data objects that may be updated by a DET signal from the Terminal can be requested by the Reader: S1.12 FOR every TL entry in the PDOL { IF [IsEmpty(T) AND Update Conditions of T include 'DET'] THEN SET Missing PDOL Data Flag AddToList(T, Data Needed) ENDIF } S2.7 CLEAR Missing PDOL Data Flag FOR every TL entry in the PDOL { IF [IsEmpty(T) AND Update Conditions of T include 'DET'] THEN SET Missing PDOL Data Flag ENDIF }

countries.

3. Modification to Test on PAN Length in RRP Processing As part of RRP processing, the discretionary part of the Track 2 Equivalent Data is populated with zeroes, subject to the length of the PAN. The test on the PAN length in processing steps S910.39 and S11.79 is corrected to refer to the PAN in the track data instead of the Application PAN. S910.39 ……. IF [GetLength(TagOf(Application PAN)) ≤ 8] IF [Number of digits in 'Primary Account Number' in Track 2 Equivalent Data ≤ 16] THEN Convert the third least significant byte of Device Relay Resistance Entropy from binary to 3 digit decimal in the range 0 to 255. Replace the next 3 digits of 'Discretionary Data' in Track 2 Equivalent Data with that value. ENDIF ……. S11.79 IF [IsNotEmpty(TagOf(Track 2 Equivalent Data))] THEN IF [GetLength(TagOf(Application PAN)) ≤ 8] IF [Number of digits in 'Primary Account Number' in Track 2 Equivalent Data ≤ 16] THEN ……. ……. IF [GetLength(TagOf(Application PAN)) ≤ 8] IF [Number of digits in 'Primary Account Number' in Track 2 Equivalent Data ≤ 16] THEN Convert the third least significant byte of Device Relay Resistance Entropy from binary to 3 digit decimal in the range 0 to 255. Replace the next 3 digits of 'Discretionary Data' in Track 2 Equivalent Data with that value. ENDIF

countries.

4. Correction to Template References in Data Dictionary The Template references for the DRDOL and DSDOL data objects are modified to refer only to template '70': A.1.49 DRDOL Tag: Template: Length: '9F51' '70' or '77' var. up to 250 A.1.53 DSDOL Tag: Template: Length: '9F5B' '70' or '77' var. up to 250

countries.

5. RRP Processing: Negative Values and Integer Division As part of Relay Resistance Protocol processing, certain calculations could result in negative values. The following steps are modified as shown so that in the event of a negative value the result is rounded to zero. In addition, division operations are modified to describe integer division as defined by the "div" convention defined in section 1.6.8. SR1.18 Measured Relay Resistance Processing Time:= MAX (0, (Time Taken / div 100) – Terminal Expected Transmission Time For Relay Resistance C-APDU – MIN (Device Estimated Transmission Time For Relay Resistance R-APDU, Terminal Expected Transmission Time For Relay Resistance R-APDU)) SR1.19 IF THEN ELSE [Measured Relay Resistance Processing Time &lt; MAX (0, (Minimum Time For Processing Relay Resistance APDU – Minimum Relay Resistance Grace Period))] GOTO SR1.20 GOTO SR1.22 ENDIF SR1.30 IF THEN [(( (Device Estimated Transmission Time For Relay Resistance R-APDU * 100) / div Terminal Expected Transmission Time For Relay Resistance R-APDU) * 100 &lt; Relay Resistance Transmission Time Mismatch Threshold) OR (( (Terminal Expected Transmission Time For Relay Resistance R-APDU * 100) / div Device Estimated Transmission Time For Relay Resistance R-APDU) * 100 < Relay Resistance Transmission Time Mismatch Threshold) OR (MAX (0, (Measured Relay Resistance Processing Time – Min Time For Processing Relay Resistance APDU)) > Relay Resistance Accuracy Threshold)] …. S910.39 …….. Divide the Measured Relay Resistance Processing Time by 10 using the div operator to give a count in milliseconds. If the value exceeds '03E7' (999), then set the value to '03E7'. Convert this value from 2 byte binary to 3 digit decimal by considering the 2 bytes as an integer. Replace the 3 least significant digits of 'Discretionary Data' in Track 2 Equivalent Data with this 3 digit decimal value. ENDIF

countries.

S911.79 …….. Divide the Measured Relay Resistance Processing Time by 10 using the div operator to give a count in milliseconds. If the value exceeds '03E7' (999), then set the value to '03E7'. Convert this value from 2 byte binary to 3 digit decimal by considering the 2 bytes as an integer. Replace the 3 least significant digits of 'Discretionary Data' in Track 2 Equivalent Data with this 3 digit decimal value. ENDIF

countries.

Legal Notice

The EMV® 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 the EMV® 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 the EMV® 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 the EMV® Specifications.

countries.