Read Application Data
6.1 Keys and Certificates
6.1 Keys and Certificates
Offline Data Authentication is performed by the terminal using RSA public key technology to validate digital certificates and signatures from the card. RSA public key technology uses private keys to generate enciphered values (certificates or signatures) of data elements which are later decrypted
(unlocked) for validation and data recovery. For additional information on the RSA algorithm, refer to the EMV 4.0, Book 2, Annex B2.1.
6.1.1 Visa Certificate Authority (CA)
Offline Data Authentication requires a Certificate Authority (CA) which is a highly secure cryptographic facility that signs the issuer’s public keys with the Visa CA Private Keys. Terminals contain the CA public keys for the
applications recognized by the terminal. Visa is the Certificate Authority for Visa Smart Debit and Visa Smart Credit applications.
The issuer services provided by the Visa CA are:
● Generation of all Visa CA RSA key pairs.
● Generation of Issuer Public Key (PK) Certificates from public keys
provided by issuers.
● Performance of all key management processes required to support the
generation of Issuer PK Certificates.
● Administration of certificate revocation procedures as outlined by the
EMV 4.0, Book 2, Section 10.
6.1.2 RSA Key Pairs
Three key pairs are involved in Offline Data Authentication:
● Visa CA Public/Private Keys (SDA and DDA)
● Issuer Public/Private Keys (SDA and DDA)
● ICC Public/Private Keys (DDA only)
6.1.2.1 Visa Public/Private Keys
Visa as a CA generates up to six RSA public/private key pairs. Each key pair is identified by a unique Public Key Index (PKI). The Visa CA Public Keys and their indexes are loaded into terminals by acquirers. The Visa Private Keys are kept secret and used to sign Issuer Public Keys. The same Visa public/ private key pairs are used for SDA, DDA, and Offline Enciphered PIN.
Visa may periodically withdraw a public key pair or introduce a new key pair. An expiration date is assigned to each certificate. The application’s expiration
Issuers shall support EMV and Visa requirements for revocation and
introduction of Visa CA Public Keys. The EMV requirements are listed in the
EMV 4.0, Book 2, Section 10.
6.1.2.2 Issuer Public/Private Keys
To support SDA or DDA the issuer shall generate one or more RSA public/private key pair within a Host Security Module (HSM) and obtain Issuer PK Certificates from the Visa CA.
The Issuer Private Keys shall be kept in a secure device to be used to encrypt data for the card personalization process.
The Issuer Public Key is stored in an Issuer PK Certificate on the card. To obtain Issuer PK Certificates to personalize on cards:
● The issuer sends the Issuer Public Key to Visa.
● The Visa CA creates one or more Issuer PK Certificates with Visa Private
Keys. An Issuer PK Certificate is created for each Visa CA Public Key which is equal to or longer than the Issuer Public Key and which expires after the expiration date of the Issuer PK Certificate. An Issuer PK Certificate is created by signing the issuer’s Public Key input file with the Visa CA private key.
● The Certificate Authority Public Key Index (PKI) of the signing key is
associated with the Issuer PK Certificate.
● The Issuer PK Certificates and associated PKIs are conveyed to the issuer
from the Visa CA.
This process is described in the Visa Certificate Authority User’s Guide. The format of the data recovered from Issuer PK Certificate is shown in the
EMV 4.0, Book 2, Table 4. The following is a partial list of data elements in
the Issuer PK Certificate:
● Certificate Expiration Date assigned by the issuer
● The Issuer Public Key or the leftmost digits of the Issuer Public Key if the
entire key does not fit in the certificate
● The Issuer Public Key Length which shall be shorter than or equal to the
Visa CA Public Key length
● The hash result from hashing the Issuer Public Key and other data
Visa Integrated Circuit Card Card Specification, Version 1.4.0
6.1 Keys and Certificates
All cards which support SDA or DDA shall be personalized with an Issuer PK Certificate and a CA Public Key Index (PKI) to identify the Visa Public Key to use to decrypt the certificate.
The same Issuer Public/Private Keys and Issuer PK Certificates are used for both SDA and DDA.
6.1.2.3 ICC Public/Private Keys
For cards supporting DDA, the issuer shall generate a unique ICC public/private key pair for each card.
The ICC Private Key shall be stored in a secure location in the card.
The ICC Public Key is included in the ICC Public Key (PK) Certificate which is encrypted with the Issuer Private Key. The ICC PK Certificate is
personalized on the card. The ICC PK Certificate format and a complete list of the certificate subfields are shown in the EMV 4.0, Book 2, Table 10. The following is a partial list of the data elements included in the certificate:
● Certificate Expiration Date
● ICC Public Key or the leftmost digits of the key if the entire key does not
completely fit in the certificate
● ICC Public Key length which must be shorter than or equal to the Issuer
Public Key length
● The hash result from the hash of the ICC Public Key and related
information including the static data to be authenticated. The data to be hashed is shown in the EMV 4.0, Book 2, Table 11.
The ICC public/private key data may also be used to support the Offline Enciphered PIN method of cardholder verification described in Chapter 8, Cardholder Verification.