SB nº SU-50 : Terminal Unpredictable Number Generation (Spec Change)

v1.0 Specification Bulletins

Specification Update Bulletin No. 50 First Edition February 2007 Terminal Unpredictable Number Generation This specification update modifies the example given in Book 4 of how to generate the Terminal Unpredictable Number.

Applicability

This Specification Update Bulletin applies to:

  • EMV Integrated Circuit Card Specifications for Payment Systems Version 4.1 Book 4 Cardholder, Attendant and Acquirer Interface Requirements

Related Documents

This Specification Update Bulletin should be read in conjunction with:

  • Type Approval Bulletin No 58: Terminal Level 2 – Offline enciphered PIN – Random Number Generation.

Description

This specification update changes the example given in Book 4 for generating a Terminal Unpredictable Number. Ideally the Unpredictable Number generated by a terminal should be truly unpredictable even given access to all previous such numbers generated by the terminal and it should be infeasible for an attacker to control the next Unpredictable Number that the terminal generates.1 If the terminal does not have access to a high quality random number generator, then one way of achieving the above objective is to calculate the Unpredictable Number incorporating information such as a Transaction Sequence Counter that is not controllable by outside parties. If cryptographic functions including a secret key store are available, then repeated encipherment of data including the Transaction Sequence Counter and other data (e.g. date/time) is preferable. If cryptographic functions are not available, then hashing the data is preferable to an exclusive-OR of the data. Specification Change Notice In EMV v4.1 Book 4 Cardholder, Attendant, and Acquirer Interface Requirements, please replace the second paragraph of Section 6.5.6 with the following: “One example of a method for generating the Unpredictable Number is to make it a function of 1 For some terminals without the capability of storing secret keys the first of these objectives may be difficult to achieve, as in principle all information inside the terminal is accessible to a resourceful attacker.

previous Application Cryptograms, the terminal Transaction Sequence Counter and other variable data (e.g. date/time). This function could be, in descending order of preference, a keyed encipherment function, a hash function, or an exclusive-OR.”