MasterCard Relay Resistancer Protocol 09022021
MasterCard Relay Resistancer Protocol 09022021
MasterCard Relay Resistancer Protocol 09022021
Protocol
Cardholder Device Implementation Guide Version 1.0
9 February 2021
RRPCD
Contents
Contents
Recommendations.................................................................................................................................47
Audience
Mastercard provides this guide for card application developers, card application
testers, and customers.
Related Publications
The following publications are referenced by this document. Publications with a
date or version are referenced directly, and in the case of publications without a
date or version refer to the latest.
Reference Document
[EMVC2] EMV Contactless Specifications for Payment
Systems, Book C-2, Kernel Specification
[EMVB3] EMV Contactless Specifications for Payment
Systems, Book 3 Application Specification
[MCCASP] M/Chip Advance Card Application
Specification Payment V1.2.3 or M/Chip
Advance Card Application Specification
Payment and Data Storage V1.2.3
[MCM] M/Chip Mobile Specification V1.1.3
Notational Conventions
The following conventions are used throughout the document.
Notation Description
‘0’ to ‘9’ and ‘A’ to ‘F’ Hexadecimal notation. Values expressed in
the hexadecimal form are enclosed in single
quotes (i.e. ‘_’).
0110b Binary notation. Values expressed in binary
form are followed by b.
“abcd” an or ans string
[…] Optional part
Xx Undefined value
AIP[2][4] For multi-byte data objects, a byte index
and a bit index are used under brackets. This
example references the fourth bit of the
second byte of the Application Interchange
Profile data object.
Abbreviations
The following abbreviations are used throughout this guide.
Abbreviation Meaning
AC Application Cryptogram
AIP Application Interchange Profile
ARQC Authorization ReQuest Cryptogram
ATC Application Transaction Counter
C Conditional
CDA Combined DDA/AC Generation
DDA Dynamic Data Authentication
EMV EMV is a technology toolbox that enables globally
interoperable secure payments across both face-to-face and
remote environments
ERRD EXCHANGE RELAY RESISTANCE DATA
Abbreviation Meaning
ICCDN Integrated Circuit Card Dynamic Number
LoA Letter of Approval
M Mandatory
mPOS Mobile Point Of Sale
O Optional
PAN Primary Account Number
PDOL Processing Options Data Object List
PICC Proximity Integrated Circuit Card
RFU Reserved for Future Use
RRP Relay Resistance Protocol
TC Transaction Certificate
Relay Attack...........................................................................................................................................................10
Relay Resistance Protocol....................................................................................................................................11
Relay Attack
The relay attack is also known as the “chess grandmaster attack” by analogy to
the ruse in which someone who doesn’t know how to play chess can beat an
expert: the player simultaneously challenges two grandmasters to an online game
of chess and uses the moves chosen by the first grandmaster in the game against
the second grandmaster, and vice versa.
By relaying the opponents’ moves between the games, the player appears to be a
formidable opponent to both grandmasters and will win (or at least force a draw)
in one match.
A relay attack is where a bogus terminal is used to fool an unsuspecting cardholder
into transacting, where the actual transaction is relayed via a bogus card simulator
to the authentic terminal of an unsuspecting merchant. It may also be that a
bogus reader is used without the cardholder being aware of the transaction. In
Figure 1 Relay Attack, a genuine card (A) is placed against a bogus terminal (B)
and a fake card (C) is used to attempt a transaction in a genuine terminal (D). The
genuine terminal (D) would challenge the fake card (C) to prove its identity. This
challenge is then relayed by the fake card (C) to the genuine card (A) via the bogus
terminal (B) and the genuine card’s (A) response is relayed back to the genuine
terminal (D) on behalf of the fake card (C) for verification. The end result is that
the terminal (D) used for the real purchase sees the fake card (C) as genuine.
Figure 1: Relay Attack
There are many variations on this theme, and although the implementation of the
Relay Resistance Protocol (RRP) could be supported over the contact interface,
there is currently no contact terminal that supports it. As a result, this guide
mainly considers RRP over the contactless interface.
2. If both the terminal and cardholder device support RRP, the terminal:
– Generates an Unpredictable Number of 4 bytes. The terminal uses the same
Unpredictable Number as Terminal Relay Resistance Entropy for RRP as well
as the Unpredictable Number sent during the GENERATE AC command.
Using the same value as Terminal Relay Resistance Entropy for RRP and
Unpredictable Number for GENERATE AC command ensures that there is no
additional data to be sent to the issuer in case RRP has to be processed by
the issuer during online authorization.
– Starts a Timer
– Sends the ERRD command to the card
3. Upon reception of the ERRD command, the M/Chip application:
– Verifies that the RRP Counter is not equal to or greater than 3 as the ERRD
command can only be sent up to three times. After three trials, the
application will return the status bytes SW1 SW2 = ‘6985’.
– Increments the RRP Counter by 1.
– Generates a 4-byte Device Relay Resistance Entropy random value using the
ICC Dynamic Number generated during the GET PROCESSING OPTIONS
command and used for the CDA process. Device Relay Resistance Entropy is
generated as follows:
Device Relay Resistance Entropy = ICC Dynamic Number[(4*RRP
Counter)-3 : 4*RRP Counter].
The ICC Dynamic Number is used to create the Device Relay Resistance
Entropy so that the Device Relay Resistance Entropy can be verified by the
issuer in case RRP has to be processed by the issuer during online
authorization.
– In the ERRD response, returns the following data
– Device Relay Resistance Entropy – 4 bytes
– Min Time For Processing Relay Resistance APDU – 2 bytes
– Max Time For Processing Relay Resistance APDU – 2 bytes
– Transmission Time For Relay Resistance R-APDU – 2 bytes
4. Upon reception of the response, the terminal will evaluate the ERRD command
processing time and compare the value with the Min Time For Processing Relay
Resistance APDU and Max Time For Processing Relay Resistance APDU
returned by the M/Chip application. If within the time limits then the terminal
will set the appropriate bits in the Terminal Verification Results to reflect the
results of the verification. In case the max relay resistance limit is exceeded, the
terminal will generate a new Unpredictable Number and retry the ERRD
command up to 2 times. After three failures, the terminal will report RRP
failure in the Terminal Verification Results.
5. The terminal sends the GENERATE AC command that includes the
Unpredictable Number generated in step 2 or step 4 if ERRD is repeated.
6. As part of the GENERATE AC command processing and if an ERRD command
has been received (RRP Counter > 0), the M/Chip application:
– Compares the Terminal Relay Resistance Entropy value received in the ERRD
command with the Unpredictable Number value received in the GENERATE
AC command. If they do not match, the M/Chip application will decline the
transaction with an AAC.
– Checks that the Terminal Verification Results indicate that RRP was
performed. If it is not the case, the M/Chip application will decline the
transaction with an AAC.
– Checks that the terminal requested CDA in the GENERATE AC (by checking
Terminal Verification Results for M/Chip Advance and Reference Control
Parameter P1 for M/Chip Mobile). If it is not the case and the ‘Decline If CDA
Not Performed And RRP Performed’ bit in Application Control (Contactless)/
Application Control (CL Payment) is set to 1b, the M/Chip application will
decline the transaction with an AAC.
For M/Chip Advance as part of the GENERATE AC command processing and if
an ERRD command has not been received (RRP Counter = 0), the M/Chip
application:
– If the terminal requested a TC, Online is possible and the ‘Go Online If RRP
Not Performed’ bit in Application Control (Contactless) is set to 1b then an
ARQC is returned.
– If the terminal requested a TC, Online is not possible, and the ‘Decline If
Unable To Go Online And RRP Not Performed’ bit in Application Control
(Contactless) is set to 1b then an AAC is returned.
For M/Chip Mobile as part of the GENERATE AC command processing and if
an ERRD command has not been received (RRP Counter = 0) the M/Chip
application sets the ‘Relay Resistance Not Performed’ bit in the Card
Verification Results
7. Upon reception of the APDU response, as part of the CDA verification process,
the terminal will:
– Verify the integrity of the RRP data values received by the terminal during
the ERRD command and the integrity of the Terminal Relay Resistance
Entropy value received by the M/Chip application. If values are not matching,
it may indicate an attempt to hack the RRP. The terminal will report CDA
failure in Terminal Verification Results and fail the transaction.
– If CDA was not requested by the terminal in the GENERATE AC command
and RRP was performed, the terminal will update the discretionary data of
the track 2 equivalent data as follows:
1. CA Public Key Index – 1 digit
2. RRP Counter – 2 digits
3. Device Relay Resistance Entropy – 3 or 5 digits (5 digits if PAN <= 16)
4. Measured Relay Resistance Processing Time div 10 – 3 digits
In addition, a small tolerance is given by the reader in the form of a “grace period”
above and below the timing window defined by the cardholder device application
to accommodate potential timing inaccuracy. Two values, Minimum Relay
Resistance Grace Period and Maximum Relay Resistance Grace Period are
personalized in the terminal configuration.
These represent how far outside the timing window the measured relay resistance
processing time may be and yet still be considered acceptable. These grace periods
are intended to cater for small errors in timing accuracy and the better the quality
of the reader implementation the smaller they can be set. A few milliseconds at
most should be permitted.
• Minimum Relay Resistance Grace Period is subtracted from Min Time For
Processing Relay Resistance APDU to define the lower authorized processing
time window.
• Maximum Relay Resistance Grace Period is added to Max Time For Processing
Relay Resistance APDU to define the upper authorized processing time window.
• Using DGI ‘B100’ for the contact interface of cards and the contactless
interface of mobile applications
• Using DGI ‘B101’ for the contactless interface of cards
If the card or mobile application provider is unable to confidently specify the
required value of Min Time For Processing Relay Resistance APDU to be used then
a value of ‘0000’ should be personalized to ensure interoperability.
provide additional margin in case the reader is configured with the maximum Type
B C-APDU time by subtracting 10 from the expected minimum processing time.
Type A and B devices would provide additional margin in case Type A is used by
subtracting between 13 and 20 from the expected minimum processing time
depending on the device’s Type B response time (1ms for the maximum difference
in C-APDU time and between 0.3ms and 0.6ms for the difference in the R-APDU
time).
DGI Definitions
Code Value
CLA ‘80’
INS ‘A8’
P1 ‘00’
P2 ‘00’
Lc Card ‘02’, ‘07’, ‘0A’ or ‘0F’, Mobile ‘02’ or ‘0C’
Data PDOL Related Data
Le ‘00’
RRP Counter
The RRP Counter is set to zero during the processing of the GET PROCESSING
OPTIONS command by the M/Chip application.
The cardholder device will allow the terminal to send the EXCHANGE RELAY
RESPSITANCE DATA C-APDU a maximum of 3 times. RRP Counter is used by the
cardholder device to count the number of ERRD commands sent by the terminal
after a GET PROCESSING OPTIONS command. It is incremented after receiving
the EXCHANGE RELAY RESPSITANCE DATA command and before selecting the
Device Relay Resistance Entropy.
ICC Dynamic Number used in CDA and DDA signatures is therefore ICC Dynamic
Number[9:16].
The Device Relay Resistance Entropy is calculated as follows:
Device Relay Resistance Entropy := ICC Dynamic Number[(4xRRP Counter)-3 :
4xRRP Counter]
Example
When RRP Counter = 1:
Device Relay Resistance Entropy := ICC Dynamic Number[1:4]
M/Chip Mobile
For MCM 1.1, the table below defines the tags used by GET DATA and PUT DATA
commands for the RRP parameters.
M/Chip Advance
For MCA 1.2, the below table defines the tags used by GET DATA and PUT DATA
commands for the RRP parameters.
First Generate AC
The terminal sends the First GENERATE AC command along with transaction-
related data to the cardholder device, which then computes and returns an
application cryptogram.
Depending on the risk management in the M/Chip application, the cryptogram
returned by the cardholder device may differ from that requested in the command
message. The cardholder device may return an AAC (transaction declined), an
ARQC (online authorization request), or a TC (transaction approved).
NOTE: Refer to [MCCASP] or [MCM] for the detailed description of First GENERATE AC
command processing and First GENERATE AC state diagrams.
State – Start
In the start state of the processing of the First GENERATE AC command, the M/
Chip application performs the following checks.
• Before checking if the application is blocked, if an ERRD command was received
and processed (RRP Counter ≠ ‘00’), the M/Chip application compares the
Unpredictable Number received in the GENERATE AC command with the
Terminal Relay Resistance Entropy which was received in the ERRD command. If
they differ, the transaction is declined with an AAC. The terminal must use the
same value for both Terminal Relay Resistance Entropy in the ERRD command
and the Unpredictable Number in GENERATE AC command. If they differ, it
indicates tampering of the data.
• If an ERRD command was received and processed (RRP Counter ≠ ‘00’) and the
terminal does not indicate in Terminal Verification Results that it has performed
the Relay Resistance Protocol (the ‘RRP Performed’ bits in Terminal Verification
Results are not set to 10b) then the transaction is declined with an AAC. This is
to ensure that the M/Chip application cannot be fooled into believing that RRP
had been performed by the terminal when it had not been performed by the
genuine terminal but rather had been performed by the attacker.
• For M/Chip Mobile if an ERRD command was received and processed (RRP
Counter ≠ ‘00’) and the terminal did not request CDA (’Combined DDA/AC
Generation Requested’ in Reference Control Parameter P1 is not set) and
‘Decline If CDA Not Requested And RRP Performed’ in Application Control (CL
Payment) is set then the transaction is declined with an AAC as without
performing CDA, the RRP APDU processing times cannot be trusted.
• For M/Chip Advance if ‘Offline Data Authentication Was Not Performed’ or
‘CDA Failed’ is set in Terminal Verification Results and ‘Decline If CDA Not
Requested And RRP Performed’ in Application Control (Contactless) then
decline the transaction with an AAC as the genuine terminal would not have
requested CDA.
NOTE: The RRP related data is only included in the counters field generated during the First
GENERATE AC command.
Recovery Data
The below table lists the RRP related data added to the recovery data.
NOTE: If an implementation had variable timings but was able to dynamically determine
the timings that need to be reported then it would also need to add the data objects listed
in the below table to the recovery data and use them during RECOVER AC processing.
During the completion of the First GENERATE AC processing, when the recovery
data is updated, if both RRP and CDA were performed the RRP Performed Flag
(Recovery) is set to indicate that RRP data was included in the CDA signature. If
CDA was not performed or if RRP was not performed the RRP Performed Flag
(Recovery) is cleared. If the RRP Performed Flag (Recovery) is set then the other
RRP recovery values in the recovery data are updated to the corresponding values
used in the transaction.
Second Generate AC
In the Second GENERATE AC command processing, the M/Chip application
processes as follows.
NOTE: Refer to [MCCASP] or [MCM] for the detailed description of Second GENERATE AC
command processing and Second GENERATE AC state diagrams.
Recovery Data
During the completion of the Second GENERATE AC processing, when the recovery
data is updated, the RRP Performed Flag (Recovery) is cleared to indicate that
RRP data was not included in the CDA signature.
NOTE: It’s only necessary to update the RRP Performed Flag (Recovery) if the CDA
Transaction Flag (Recovery) is being set to indicate that CDA was performed.
Recover AC
The RECOVER AC command is used by the terminal when the terminal did not
receive the response on the First or Second GENERATE AC command.
The command data field contains the Unpredictable Number as an identification
of the AC that was not received. The RECOVER AC processing is modified as
follows for RRP.
If the CDA Transaction Flag (Recovery) is set and the RRP Performed Flag
(Recovery) is set then the M/Chip application will append the data in the below
table to the existing ICC Dynamic Data (after Hash Result or DS Summary 3 if
data storage is performed).
The length of the 'BB' padding following the ICC Dynamic Data in the dynamic
application data to be signed is accordingly reduced by 14 bytes.
NOTE: Refer to [MCCASP] or [MCM] for the detailed description of RECOVER AC command
processing and RECOVER AC state diagrams.
Code Value
CLA ‘80’
INS ‘EA’
P1 ‘00’
P2 ‘00’
Lc ‘04’
Data Terminal Relay Resistance Entropy
Le ‘00’
Table 12: Exchange Relay Resistance Data Response Message Data Field
Status Bytes
The status bytes that may be sent in response to the ERRD command are listed in
table Status Bytes for Exchange Relay Resistance Data Command.
Table 13: Status Bytes for Exchange Relay Resistance Data Command
Below are the details of the steps involved in the processing of the ERRD
command.
NOTE: Refer to [MCCASP] or [MCM] for the detailed description of ERRD command
processing and ERRD state diagrams.
RRP Counter
If RRP processing takes too long the first time, the terminal can resend the ERRD
command to the M/Chip application two more times. For example, the terminal
can send the ERRD command to the M/Chip application a maximum of three
times.
For every ERRD command received by the M/Chip application, RRP Counter is
incremented by 1. RRP Counter is stored in global transient memory and is used to
ensure that the value ‘6985’ is returned in SW12 when RRP Counter reaches 3.
Example
When RRP Counter = 1:
The reader calculates the device RRP APDU processing time as the total time
measured (13ms) minus time taken to transmit RRP APDU (1.8ms) minus the
minimum of the expected time to receive a response (2.4ms) and the device
reported transmission time (1.9ms) that is 1.9ms. See above figure.
13ms – 1.8ms – 1.9ms = 9.3ms calculated RRP APDU processing time
As the calculated RRP APDU processing time (9.3ms), in the above figure, is less
than the maximum time reported by the device (10ms) plus the grace period (2ms)
which is a total of 12ms allowed processing time no retry is required.
Figure 5: EMV Processing
As the calculated RRP ADPU processing time (9.3ms) is less than the allowed
maximum processing time (12ms) the Terminal Verification Results will indicate
that RRP was performed and succeeded so the transaction will continue normal
processing (figure EMV Processing) and will be approved.
The reader calculates the device RRP APDU processing time as the total time
measured (29ms) minus time taken to transmit RRP APDU (1.8ms) minus the
minimum of the expected time to receive a response (2.4ms) and the device
reported transmission time (1.9ms) that is 1.9ms.
29ms – 1.8ms – 1.9ms = 25.3ms calculated RRP APDU processing time.
As the calculated RRP APDU processing time (25.3ms) in the above figure is more
than the maximum time reported by the device (10ms) plus the grace period (2ms)
that is a total of 12ms allowed processing time a retry is attempted.
The reader calculates the device RRP APDU processing time as the total time
measured (32ms) minus time taken to transmit RRP APDU (1.8ms) minus the
minimum of the expected time to receive a response (2.4ms) and the device
reported transmission time (1.9ms) that is 1.9ms.
32ms – 1.8ms – 1.9ms = 28.3ms calculated RRP APDU processing time
As the calculated RRP APDU processing time (28.3ms) in figure ERRD Command
with Relay Attack – First Retry is more than the maximum time reported by the
device (10ms) plus the grace period (2ms) that is a total of 12ms allowed
processing time a retry is attempted.
The reader calculates the device RRP APDU processing time as the total time
measured (28ms) minus time taken to transmit RRP APDU (1.8ms) minus the
minimum of the expected time to receive a response (2.4ms) and the device
reported transmission time (1.9ms) that is 1.9ms.
28ms – 1.8ms – 1.9ms = 24.3ms calculated RRP APDU processing time.
As both retry attempts have been used and as the calculated RRP ADPU
processing time (24.3ms) in figure ERRD Command with Relay Attack – Second
Retry is more than the allowed maximum processing time (12ms) the reader
indicates in the Terminal Verification Results that RRP was performed but the
maximum time was exceeded.
The reader continues with normal transaction processing as shown in below figure
EMV Processing.
Based on the Terminal Action Codes and the Terminal Verification Results
indicating that the maximum RRP APDU processing time was exceeded, the reader
requests an ARQC from the card to go online to the issuer as shown in below figure
Cryptogram Generation.
Figure 10: Cryptogram Generation
The transaction will be sent online and may be declined by the issuer.
Recommendations
In the light of the study of RRP implementation in M/Chip Advance cards seeking
approval, Mastercard recommends the following points to be considered by the
card manufacturers.
1. For a card product to obtain a Mastercard LoA without any restriction, the
difference between RRP processing times at different heights in the contactless
operating volume should not exceed 15ms.
2. For products where the difference between RRP processing time at 0cm and
RRP processing time at 4cm lies between 15ms and 35ms, if a waiting time
extension was not requested after receiving ERRD command, the LoA will
include a note informing that these cards may offer a lower level of protection
against relay attacks. It is recommended that the Max Time For Processing
Relay Resistance APDU for these products is set to a higher value to avoid
acceptance issues in the field.
3. Products that request a waiting time extension during the processing of the
ERRD command are not suitable to have RRP enabled. The LoAs will include a
note informing that these cards do not offer protection against relay attacks.
Tag: ‘7’
Length: 6
Description: The Application Control (CL Payment) activates or de-activates
functions in the M/Chip Mobile application when the contactless interface is active.
Below are the details of RRP relevant bits of Application Control (CL Payment).
Tag: ‘D7’
Length: 6
Description: The Application Control (Contactless) activates or de-activates
functions in the M/Chip Advance application when the contactless interface is
active.
Below are the details of RRP relevant bits of Application Control (Contactless).
Tag: ‘82’
Length: 2
Description: The AIP indicates the capabilities of the card to support specific
functions in the application.
Below are the details of RRP specific bits of AIP.
Tag: ‘DF5E’
Length: 3
Description: Card Issuer Action Code – Decline On Offline Only (CL Payment) is
used by the M/Chip Mobile application to set the conditions when a TC request is
always declined at the First GENERATE AC by an offline-only card or an offline-
only terminal.
Tag: ‘DF46’
Length: 3
Description: Card Issuer Action Code – Go Online (CL Payment) is used by the M/
Chip Mobile application to set the conditions when a TC request is sent online at
the First GENERATE AC by an online terminal or an offline terminal with online
capability.
Tag: ‘9F52’
Length: 6
Description: The purpose of the Card Verification Results is to inform the issuer
about the context of a transaction, as part of the Issuer Application Data.
Below are the details of RRP specific bits of Card Verification Results of the M/
Chip Mobile application.
Tag: ‘DF8305’
Length: 2
Description: Indicates the time the Card expects to need for transmitting the
ERRD R-APDU. The Device Estimated Transmission Time For Relay Resistance R-
APDU is expressed in units of hundreds of microseconds.
Tag: ‘DF8302’
Length: 4
Description: Random number returned by the Card in response to the ERRD
command.
Tag: ‘9F4C’
Length: 16
Description: M/Chip application computes the ICC Dynamic Number in the GET
PROCESSING OPTIONS command. It is used as input for the calculation of the
Signed Dynamic Application Data and the generation of the Device Relay
Resistance Entropy in the response to the ERRD command.
Tag: -
Length: 16
Description: Triple DES key for ICC Dynamic Number generation when the
contactless interface is active.
Tag: ‘9F0D’
Length: 5
Description: This defines the issuer’s conditions that cause a transaction to be
rejected on an offline-only terminal.
Tag: ‘9F0F’
Length: 5
Description: This defines the issuer’s conditions that cause a transaction to be
transmitted online on an online capable terminal.
Tag: ‘DF8133’
Length: 2
Description: The Minimum Relay Resistance Grace Period and Maximum Relay
Resistance Grace Period represent how far outside the window defined by the
Card that the measured time maybe and yet still be considered acceptable. The
Maximum Relay Resistance Grace Period is expressed in units of hundreds of
microseconds.
Tag: ‘DF8136’
Length: 2
Description: Represents the threshold above which the Kernel considers the
variation between Measured Relay Resistance Processing Time and Min Time For
Processing Relay Resistance APDU no longer acceptable. The Relay Resistance
Accuracy Threshold is expressed in units of hundreds of microseconds.
Tag: ‘DF8137’
Length: 1
Description: Represents the threshold above which the Kernel considers the
variation between Device Estimated Transmission Time For Relay Resistance R-
APDU and Terminal Expected Transmission Time For Relay Resistance R-APDU is
no longer acceptable. The Relay Resistance Transmission Time Mismatch Threshold
is a percentage and expressed as an integer.
RRP Counter
Tag: -
Length: 1
Description: RRP Counter counts the number of ERRD commands after a GET
PROCESSING OPTIONS command.
Tag: ‘DF8134’
Length: 2
Description: Represents the time that the Kernel expects to need for transmitting
the ERRD command to the Card. The Terminal Expected Transmission Time For
Relay Resistance C-APDU is expressed in units of hundreds of microseconds.
Tag: ‘DF8135’
Length: 2
Description: Represents the time that the Kernel expects to need for transmitting
the ERRD R-APDU. The Terminal Expected Transmission Time For Relay Resistance
R-APDU is expressed in units of hundreds of microseconds.
Tag: ‘DF8301’
Length: 4
Description: Contains a Kernel challenge (random) to be used in the value field of
the ERRD command.
Tag: ‘95’
Length: 5
Description: Terminal Verification Results provide the status of the different
functions from the Terminal’s perspective.
Below is the description of the bits used for RRP implementation.
Torn Record
Tag: ‘FF8101’
Length: 4
Description: A copy of a record from the Torn Transaction Log that is expired. Torn
Record is sent to the Terminal as part of the Discretionary Data
Unpredictable Number
Tag: ‘9F37’
Length: 4
Description: Contains a Kernel challenge (random) to be used by the Card to
ensure the variability and uniqueness to the generation of a cryptogram during an
EMV mode transaction.
The terminal uses the same Unpredictable Number for both Terminal Relay
Resistance Entropy in ERRD command as well as the Unpredictable Number sent
during the GENERATE AC command.
Tag: -
Length: 4
Description: A persistent copy of the Unpredictable Number for transaction
recovery.
Notices
Following are policies pertaining to proprietary rights, trademarks, translations,
and details about the availability of additional information online.
Proprietary Rights
The information contained in this document is proprietary and confidential to Mastercard
International Incorporated, one or more of its affiliated entities (collectively “Mastercard”), or
both.
This material may not be duplicated, published, or disclosed, in whole or in part, without the
prior written permission of Mastercard.
Trademarks
Trademark notices and symbols used in this document reflect the registration status of
Mastercard trademarks in the United States. Please consult with the Global Customer Service
team or the Mastercard Law Department for the registration status of particular product,
program, or service names outside the United States.
All third-party product and service names are trademarks or registered trademarks of their
respective owners.
Disclaimer
Mastercard makes no representations or warranties of any kind, express or implied, with
respect to the contents of this document. Without limitation, Mastercard specifically disclaims
all representations and warranties with respect to this document and any intellectual property
rights subsisting therein or any part thereof, including but not limited to any and all implied
warranties of title, non-infringement, or suitability for any purpose (whether or not Mastercard
has been advised, has reason to know, or is otherwise in fact aware of any information) or
achievement of any particular result. Without limitation, Mastercard specifically disclaims all
representations and warranties that any practice or implementation of this document will not
infringe any third party patents, copyrights, trade secrets or other rights.
Translation
A translation of any Mastercard manual, bulletin, release, or other Mastercard document into a
language other than English is intended solely as a convenience to Mastercard customers.
Mastercard provides any translated document to its customers “AS IS” and makes no
representations or warranties of any kind with respect to the translated document, including,
but not limited to, its accuracy or reliability. In no event shall Mastercard be liable for any
damages resulting from reliance on any translated document. The English version of any
Mastercard document will take precedence over any translated version in any legal proceeding.