VSDC Perso 1 0 Mar 2009
VSDC Perso 1 0 Mar 2009
Personalization Specification
Requirements for Common Personalization of
Visa Integrated Circuit Card Specification (VIS) and
Visa Contactless Payment Specification (VCPS)
Applications
Version 1.0
March 2009
THIS SPECIFICATION IS PROVIDED ON AN “AS IS”, “WHERE IS”, BASIS, “WITH ALL
FAULTS” KNOWN AND UNKNOWN. TO THE MAXIMUM EXTENT PERMITTED BY
APPLICABLE LAW, VISA EXPLICITLY DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, REGARDING THE LICENSED WORK AND TITLES, INCLUDING ANY
IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, AND NON-INFRINGEMENT.
THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL
AND MUST BE MAINTAINED IN CONFIDENCE IN ACCORDANCE WITH THE TERMS
AND CONDITIONS OF THE WRITTEN AGREEMENT BETWEEN YOU AND VISA INC.,
VISA INTERNATIONAL SERVICE ASSOCIATION, AND/OR VISA EUROPE LIMITED.
Contents
1 Introduction ..................................................................................................................1-1
1.1 Purpose .......................................................................................................................1-1
1.2 Scope...........................................................................................................................1-1
1.3 Audience......................................................................................................................1-2
1.4 Reference Materials.....................................................................................................1-3
1.5 Terminology and Conventions .....................................................................................1-5
1.5.1 Notation............................................................................................................1-5
1.5.2 Document Word Usage....................................................................................1-5
1.5.3 Notation for the Presence of Tags in Commands and Responses ..................1-6
1.6 Document Organization ...............................................................................................1-7
2 Overview of the Personalization Process ..................................................................2-1
2.1 Card Personalization Data Processing ........................................................................2-1
2.1.1 Overview of the Process ..................................................................................2-1
2.1.2 The Infrastructure of Card Personalization ......................................................2-4
2.1.3 Secure Messaging ...........................................................................................2-4
2.1.4 The STORE DATA Command.............................................................................2-5
3 Data Preparation ..........................................................................................................3-1
3.1 Issuer Master Keys and Related Data .........................................................................3-2
3.2 Application Keys and Certificates ................................................................................3-2
3.3 Application Data...........................................................................................................3-2
3.3.1 Data Grouping Identifiers (DGIs)......................................................................3-3
4 VSDC-Specific Personalization Requirements..........................................................4-1
4.1 Requirements for Global VSDC Cards Using EMV CPS .............................................4-1
4.2 VSDC Requirements When EMV CPS Offers Options................................................4-1
4.3 Requirements for Global VCPS Cards.........................................................................4-2
4.4 Requirements for VSDC GlobalPlatform Applets Using EMV CPS .............................4-2
4.5 Common Personalization DGIs for VSDC ...................................................................4-2
4.6 Record Formats for VSDC ...........................................................................................4-2
4.6.1 Ending Personalization Processing..................................................................4-3
5 Application and Personalization Keys .......................................................................5-1
5.1 Summary of EMV CPS Personalization Keys..............................................................5-1
5.2 VSDC Application Keys – Post Personalization...........................................................5-3
6 DGIs for VIS ..................................................................................................................6-1
7 DGIs for VCPS (PPSE, qVSDC and MSD)...................................................................7-1
7.1 DGIs for PPSE .............................................................................................................7-1
7.2 DGIs for qVSDC and MSD ..........................................................................................7-2
Tables
Table 5-1 – VSDC Personalization Keys ...................................................................................5-1
Table 5-2 – VSDC Application Keys ..........................................................................................5-3
Table 6-1 – Data Grouping Identifiers for VIS............................................................................6-2
Table 6-2 – Data Content for DGI '0101' (Track 2 Equivalent Data) ..........................................6-4
Table 6-3 – Data Content for DGI '0102' (Track 2 Equivalent Data with alternate
Cardholder Name)..............................................................................................................6-4
Table 6-4 – Data Content for DGI '0201' (Data Authentication Certificate)................................6-5
Table 6-5 – Data Content for DGI '0202' (Additional Data Authentication Data)........................6-5
Table 6-6 – Data Content for DGI '0203' (Signed Static Application Data (SAD) ......................6-5
Table 6-7 – Data Content for DGI '0204' (Dynamic Authentication Certificate) .........................6-5
Table 6-8 – Data Content for DGI '0205' (Additional Dynamic Authentication Data) .................6-5
Table 6-9 – Data Content for DGI '0207' (ICC PIN Encipherment Certificate)...........................6-6
Table 6-10 – Data Content for DGI '0208' (Additional ICC PIN Encipherment Data).................6-6
Table 6-11 – Data Content for DGI '02nn' (Duplicate SAD) .......................................................6-6
Table 6-12 – Data Content for DGI '02nn' (Duplicate Data Authentication Data) ......................6-6
Table 6-13 – Data Content for DGI '02nn' (Duplicate Data Authentication Data) ......................6-6
Table 6-14 – Data Content for DGI '0301' (Card Risk Management Data) ................................6-7
Table 6-15 – Data Content for DGI '0302' (Additional Card Risk Management Data) ...............6-7
Table 6-16 – Data Content for DGI '0303' (Cardholder Verification Method List) ......................6-8
Table 6-17 – Data Content for DGI '03nn' (Duplicate Card Risk Management Data) ................6-8
Table 6-18 – Data Content for DGI '0401' (Terminal Velocity Checking Card Data) .................6-8
Table 6-19 – Data Content for DGI '0B01' (VLP Data) ..............................................................6-9
Table 6-20 – Data Content for DGI '0D01' (Application Internal Data).....................................6-10
Table 6-21 – Data Content for DGI '0E01' (Additional Application Internal Data) ....................6-10
Table 6-22 – Data Content for DGI '0E02' (Application Linkage for Block/Unblock)................6-11
Table 6-23 – Data Content for DGI '0Enn' (Duplicate Application Internal Data).....................6-11
Table 6-24 – Data Content for DGI '3000' (Application Common Internal Data)......................6-11
Table 6-25 – Data Content for DGI '9200' (GENERATE AC Response Data) ............................6-11
Table 6-26 – Data Content for DGI '9203' (GPO Response Data for VLP)..............................6-11
Table 7-1 – DGI for PPSE..........................................................................................................7-1
Table 7-2 – Data Content for DGI '9102'....................................................................................7-1
Table 7-3 – DGIs for qVSDC and MSD Application Paths.........................................................7-2
Figures
Figure 2-1 – Entities in the Personalization Process .................................................................2-2
Figure 5-1 – VSDC Personalization Key Usage ........................................................................5-4
Figure C-1 – Personalization Command Flow .......................................................................... C-5
Figure C-2 – C-MAC Computation.......................................................................................... C-16
1 Introduction
1.1 Purpose
Common Personalization as specified in the EMV Card Personalization Specification
(reference [EMV CPS]) documents a common approach to personalization for any card
application. It also includes requirements for personalization of EMV-based financial
applications such as Visa Integrated Circuit Card Specification (reference [VIS]) or Visa
Contactless Payment Specification (reference [VCPS] ) applications.
This specification describes additional personalization instructions specific to VSDC (for
applications based on either [VIS] or [VCPS]), including definitions of Data Grouping
Identifiers (DGIs) specific to VSDC applications. It also describes optional [EMV CPS]
functionality that is not supported for VSDC, and a subset of [EMV CPS] personalization
that is sufficient for personalization of [VCPS] for issuance in specific markets.
This document does not address requirements specific to Visa’s VSDC Global Platform
Applet other than the requirement in section 4.4.
[EMV CPS] is highly recommended for IC card implementations supporting VSDC
applications.
1.2 Scope
In this specification, card personalization means the use of data personalization
commands that are sent to a card that already contains Visa financial (and optional PSE
and if contactless is supported, PPSE) applications. This is sometimes referred to as
“on-card” personalization. The specification does not cover cards where an application
load file is personalized before being loaded onto the card.
In terms of the lifecycle of the card, card personalization is assumed to take place after
pre-personalization (see Definitions) and prior to card issuance. Other card
personalization activities such as embossing, magnetic stripe encoding, and the
personalization of non-IC applications are not covered by this specification.
In terms of the lifecycle of the personalization data, card personalization is defined by
[EMV CPS] in terms of two interfaces – the interface between the data preparation
system and the personalization device, and the interface between the personalization
device and the IC.
This specification will concentrate on the interface between the personalization device
and the IC card, defining the data elements and security requirements for this process.
This document will cover VIS, qVSDC (including the optional Offline qVSDC feature),
MSD (including the optional dCVV feature), and PPSE
It is assumed that personalization commands are principally handled by the card
application, rather than at the card level (that is, operating system). Some dialogue
between the card and personalization device may occur at the card level before the
application is selected (for example, to identify the card issuer).
1.3 Audience
This specification is intended for the following audiences:
Data Preparation Providers and Personalization Bureaus
Defines data preparation requirements for VSDC
Designers of VSDC applications based on [VIS] and [VCPS]
Specifies default file and record structure for VSDC applications
Data Preparation
Data preparation is the process that takes data extracted from issuer databases or
generated by the issuer in the fulfillment file and prepares it to be placed in an IC card
application during card personalization. Some of the data created may be the same
across all cards in a batch; other data may vary by card. Some data, such as keys, may
be secret and may need to be encrypted at all times during the personalization process.
Data preparation may be a single process or it may require interaction between multiple
systems.
Much of the definition of data preparation is application specific. This document focuses
on the data preparation processes that are commonly used for IC cards. Section 3
provides a detailed description of VSDC data preparation requirements.
Personalization Device
A personalization device is made up of hardware and software that is capable of acting
on Personalization Device Instruction data to control how personalization data is
selected and then sent to the IC card application. For most IC card personalization
processes, this equipment must have access to a security module (HSM) to establish
and operate a secure channel between the personalization device and the application on
an IC card. The secure channel services consist of MAC verification/generation (for
example, for the EXTERNAL AUTHENTICATE command), and decryption and re-encryption
of secret data such as keys. Personalization device processing is described in
[EMV CPS], and a summary of the usage for keys in personalization is described in
section 5.1 of this specification.
The personalization device processing is designed to be application independent. All of
the processing is the same regardless of the application being personalized.
3 Data Preparation
The data preparation process creates the Personalization Data Instruction (PDI) data
that is used to direct the personalization process and also the application data that is
used to personalize the IC card application. Data produced by the data preparation
process must be transported securely to the personalization device itself (unless it is
created in an HSM attached to the personalization device). Any secret data created by
the data preparation process remotely from the personalization device must therefore be
encrypted under a transport key before transmission, and all data files generated
remotely from the personalization device must be protected by a Message
Authentication Code (MAC) (to ensure integrity) before transmission.
Note: Visa has a tool to assist issuers with personalization, the VSDC Personalization
Assistant (VPA), which may be mandated in some regions. Contact your local
Visa representative for more information.
Key
Name Shared by Usage Master Card Session
Issuer Issuer, The KMC is used by the Card KMC
Master Card Manu- Manufacturer to generate card level
Key facturer and keys (KENC, KMAC, KDEK) and place
Personal- them on the card.
ization
Device Used to create a session key which KENC SKUENC
is used for mutual authentication and
to protect the confidentiality of the
APDU command data field in CBC
mode
Used to create session key which is KMAC SKUMAC
used for mutual authentication and
to create C-MACs used in command
processing
Used to create a session key which KDEK SKUDEK
is used to protect the confidentiality
of secret data in ECB mode between
the card and personalization device
Issuer Issuer and Secures offline PIN and other secret DEKISS
Data Ex- Data data between the Issuer and the
change Preparation Data Preparation Device
Key Device
Key
Name Shared by Usage Master Card Session
Transport Data Secures offline PIN and other secret DEK /
Keys Preparation data between the Data Preparation TK
Device and Device and the Personalization
Personal- Device
ization Special types of data transport keys
Device may be used as follows:
PEK/TK – PIN Encryption Key for
securing PIN data
KEK/TK – Key Exchange Key for
securing DES and RSA private keys
In extreme cases a transport key
derived from a Zone Control Master
Key ZCMK may be used to encipher
the entire data preparation file
MACkey Data Ensures the integrity of the MACkey N/A N/A
Preparation application data provided to the
Device Personalization Device in the
provides to Personalization Data File
Personal-
ization
Device in
Personal-
ization Data
File
Key Shared
Name by Usage Master Card Session
VSDC Issuer Master key is used to generate a MDK UDK SUDK
Online and Card card unique key which is used in (for
Authenti- online card and issuer authentication Common
cation Crypto-
Key gram)
VSDC Issuer Master key is used to generate a MAC MAC SUDK
Message and Card card unique key which is used to MDK UDK MAC
Authenti- generate session keys for message
cation authentication for post issuance
Key updates to the card
VSDC Issuer Master key is used to generate a ENC ENC SUDK
Data and Card card unique key which is used to MDK UDK ENC
Encipher- generate session keys for
ment Key encipherment of secret data (offline
PIN) contained in post issuance
updates to the card
ICC Issuer Generated by the Issuer and stored
Private and Card securely on the card. Used to sign
Key dynamic data during Offline Data
Authentication (DDA) or in Offline
Enciphered PIN processing.
This key is usually not retained by
the issuer after personalization.
ICC PIN Issuer Generated by the Issuer and stored
Encipher- and Card securely on the card. Used to
ment decipher offline enciphered PIN if
Private ICC Private Key is not used for this
Key purpose.
This key is usually not retained by
the issuer after personalization.
KMC
HSM
XYZ BANK
Card
Manufacturer
KMC XYZ BANK
KENC (used to decrypt APDU data field)
KMAC (used to verify MAC on APDU) 4000 1234 5678
KDEK (used to decrypt secret data) J. Smith
External
DGI Data Content Feature Encrypt Access
'0101' Track 2 Equivalent Data – Table 6-2 Minimum No READ RECORD
Data and
UPDATE RECORD
'0102' Track 2 Equivalent Data with alternate Minimum No READ RECORD
Cardholder Name – Table 6-3 Data and
UPDATE RECORD
'0201' Data Authentication Certificate – SDA, DDA, No READ RECORD
Table 6-4 CDA
'0202' Additional Data Authentication Data – SDA, DDA, No READ RECORD
Table 6-5 CDA
'0203' Signed Static Application Data (SAD) SDA No READ RECORD
– Table 6-6
'0204' Dynamic Authentication Certificate – DDA, CDA, No READ RECORD
Table 6-7 PIN
Encipher
'0205' Additional Dynamic Authentication DDA, CDA, No READ RECORD
Data – Table 6-8 PIN
Encipher
'0207' ICC PIN Encipherment Certificate – PIN No READ RECORD
Table 6-9 Encipher
'0208' Additional ICC PIN Encipherment PIN No READ RECORD
Data – Table 6-10 Encipher
'02nn' Duplicate Signed Static Application SDA No READ RECORD
Data – Table 6-11, Table 6-12
'02nn' Duplicate Data Authentication Data – DDA, CDA No READ RECORD
Table 6-13
'0301' Card Risk Management Data – Minimum No READ RECORD
Table 6-14 Data, CVM
'0302' Additional Card Risk Management Minimum No READ RECORD
Data – Table 6-15 Data, SDA,
CAM
'0303' Cardholder Verification Method List – CVM No READ RECORD
Table 6-16 and
UPDATE RECORD
'03nn' Duplicate Card Risk Management Minimum No READ RECORD
Data – Table 6-17 Data, CVM
'0401' Terminal Velocity Checking Card No READ RECORD
Data – Table 6-18 and
UPDATE RECORD
External
DGI Data Content Feature Encrypt Access
'0B01' VLP Data – Table 6-19 VLP No READ RECORD
'0D01' Application Internal Data – Table 6-20 AuthC No PUT DATA and
GET DATA
'0E01' Additional Application Internal Data – AuthC No None
Table 6-21
'0E02' Application Linkage for Block/Unblock Issuer No None
– Table 6-22 Script
'0Enn' Duplicate Application Internal Data – AuthC No None
Table 6-23
'3000' Application Common Internal Data – AuthC No GET DATA
Table 6-24
'9200' GENERATE AC Response Data – CAM No GENERATE AC
Table 6-25
'9203' GET PROCESSING OPTIONS Response GPO No GPO
Data for VLP – Table 6-26
Note: nn indicates store in last record(s) in the file, because it is a duplicate data
element.
Note: The DGIs listed in Table 6-1 for SFI 1-10 show the recommended SFI and record
placement for EMV record data. The data may be personalized in any SFI in the
range 1-10, and any record number supported by the application.
Note: Shading indicates data groupings whose data elements are recommended for
inclusion in the Signed Static Application Data (SAD). If any of the data elements
are not to be included in the signature, they should be placed in DGI '0302' or
DGI '0303'. These DGIs do not contain data elements included in the SAD
(non-shaded). DGI '0303' must contain the CVM List if the issuer plans to update
the CVM List using Issuer Script Processing.
Note: The data elements listed in DGIs '01xx' through '1Exx' may duplicate data
elements personalized in other DGIs (if different versions of the data element
may be used for different transactions). The Application File Locator (AFL) must
be personalized to prevent a device from reading more than one version of each
data element for any given transaction.
The requirement column titled ‘Req.’, in the following tables of data elements for each
DGI, lists the requirements for each data element:
M (Mandatory) indicates that the data element must be present, accessible using
READ RECORD command and provided to the terminal in order for transaction processing
to continue.
R (Required) indicates that the data element must be present, but that the terminal
should not terminate the transaction if it is not received.
C (Conditional) indicates that the data element is necessary under certain conditions.
Information on these conditions can be found in the Data Requirements Chart in [VIS]
Appendix A.
Note: The condition for Record Template (tag '70') is not listed in [VIS] Appendix A, but
it is required by EMV at the beginning of all records in SFI 1 through 10.
O (Optional) indicates that the data element is optional.
Table 6-2 – Data Content for DGI '0101' (Track 2 Equivalent Data)
* This field may be padded at the end with a single hex 'F' to ensure whole bytes.
Table 6-3 – Data Content for DGI '0102' (Track 2 Equivalent Data with alternate
Cardholder Name)
* This field may be padded at the end with a single hex 'F' to ensure whole bytes.
Table 6-4 – Data Content for DGI '0201' (Data Authentication Certificate)
Table 6-5 – Data Content for DGI '0202' (Additional Data Authentication Data)
Table 6-6 – Data Content for DGI '0203' (Signed Static Application Data (SAD)
Table 6-7 – Data Content for DGI '0204' (Dynamic Authentication Certificate)
Table 6-8 – Data Content for DGI '0205' (Additional Dynamic Authentication Data)
Note: The contents of this DGI may optionally be included in DGI '0202'.
Table 6-9 – Data Content for DGI '0207' (ICC PIN Encipherment Certificate)
Table 6-10 – Data Content for DGI '0208' (Additional ICC PIN Encipherment Data)
Note: If DDA is supported for both VIS and qVSDC, and the AIP is signed for offline
data authentication; the AIP value for VIS and qVSDC must be the same unless
separate certificates are personalized for the two paths.
Table 6-12 – Data Content for DGI '02nn' (Duplicate Data Authentication Data)
Table 6-13 – Data Content for DGI '02nn' (Duplicate Data Authentication Data)
Table 6-14 – Data Content for DGI '0301' (Card Risk Management Data)
Note: The data elements in this grouping are included in the Signed Application Data
(SAD). If updates to the Cardholder Verification Methods (CVM) List are to be
made by the issuer using Issuer Script Processing or if multiple CVM Lists are
used and a single SAD is used, the CVM List should be included in DGI '0303'
rather than in DGI '0301'.
Table 6-15 – Data Content for DGI '0302' (Additional Card Risk Management Data)
Table 6-16 – Data Content for DGI '0303' (Cardholder Verification Method List)
Table 6-17 – Data Content for DGI '03nn' (Duplicate Card Risk Management Data)
Note: The data elements in this grouping are included in the Signed Application Data
(SAD) if more than one SAD is required.
Table 6-18 – Data Content for DGI '0401' (Terminal Velocity Checking Card Data)
Table 6-20 – Data Content for DGI '0D01' (Application Internal Data)
Note: Future versions of this specification will use DGIs '3000' and '3001' for these data
elements to comply with [EMV CPS].
Table 6-21 – Data Content for DGI '0E01' (Additional Application Internal Data)
Note: Future versions of this specification will use DGI '3001' for these data elements to
comply with [EMV CPS].
Table 6-22 – Data Content for DGI '0E02' (Application Linkage for Block/Unblock)
Note: See Appendix B for detail on how the content of this DGI is used to control post
personalization processing of BLOCK and UNBLOCK commands for
multi-application cards.
Table 6-23 – Data Content for DGI '0Enn' (Duplicate Application Internal Data)
Table 6-24 – Data Content for DGI '3000' (Application Common Internal Data)
Table 6-25 – Data Content for DGI '9200' (GENERATE AC Response Data)
Table 6-26 – Data Content for DGI '9203' (GPO Response Data for VLP)
External
DGI Data Content Encrypt Req. Access
'9102' Select PPSE Response Data – Table 7-2 N/A M SELECT
External
DGI Data Content Encrypt Path Req. Access
Record Data
'0101' Record (in AFL list) – Table 7-4 N/A MSD M READ
RECORD
'0201' Record (in AFL list) – Table 7-5 N/A qVSDC C1 READ
RECORD
'0202' Record (in AFL list) – Table 7-6 N/A qVSDC C1 READ
RECORD
'0301' Record (in AFL list) – Table 7-7 N/A qVSDC C1 READ
and 17 RECORD
Internal Data
'0E01' Card Private Data – Table 7-8 N/A qVSDC/MSD R Data
dependent
'0E02' Application Linkage for Block/Unblock N/A qVSDC O None
– Table 6-22
DES Key Data
'8000' DES key(s) – Table 7-10 SKUDEK qVSDC/MSD M None
'9000' DES key check values – Table 7-11 N/A qVSDC/MSD O None
'8001' Alternate DES key for dCVV – SKUDEK MSD C4 None
Table 7-12 and 5
External
DGI Data Content Encrypt Path Req. Access
'8203' See Table 7-14 SKUDEK qVSDC C1 None
Note: This is an [EMV CPS] DGI and 3
Note: Some DGIs are only used for qVSDC, some only for MSD, and some are shared.
DGIs '0101', '0E01', '8000', '9102', '9200', '9206', and '9207' are always required
for globally interoperable cards.
qVSDC offline requires one set of the following additional DGIs to be personalized for
offline data authentication:
fDDA supporting RSA keys in Modulus-Exponent format –
'0201', '0202', '0301', '8101', '8103'
fDDA supporting RSA keys CRT format –
'0201', '0202', '0301', '8201', '8202', '8203', '8204', '8205'
For MSD, if dCVV is enabled:
dCVV – '8001' (conditional, if a different UDK is used for dCVV ― for example, if the
PAN Sequence Number is not zero)
For domestic-only qVSDC solutions, DGI '9206' (GPO Response Data for MSD) should
be excluded in order to “turn off” MSD.
For domestic-only MSD solutions, DGI '9207' (GPO Response Data for qVSDC) should
be excluded in order to “turn off” qVSDC.
If MSD and VIS (if supported) will be using different track data (for example, dCVV is
supported in MSD, but a different Track 2 Equivalent Data format is used for VIS), then
an additional record ('01nn') must be personalized containing the track data for VIS.
Track 1 Discretionary Data contains the Discretionary Data element of Track 1 coded to
the Visa Payment Technology Standards Manual, for use in MSD transactions in MSD
devices compliant only with the Version 1.4.2 Specification (those that do not support
Cryptogram 17 and where the AFL is returned and the records are read).
If dCVV is not present in Track 2 Equivalent Data, it is recommended that Track 1
Discretionary Data also include the iCVV (if present in Track 2 Equivalent Data).
Table 7-5 – Data Content for DGI '0201' (qVSDC with fDDA)
Note: For IPK Certificates created with a VSDC CA Key of length less than or equal to
1408 bits, it is possible to include additional data elements in DGI '0201'.
If additional data elements are to be included, it is recommended to include the
CA Public Key Index (tag '8F'), IPK Remainder (tag '92'), and Issuer Public Key
Exponent (tag '9F32') in DGI '0201' and not include these data elements in
DGI '0202'.
March 2009 Visa Confidential Page 7-5
Portions © 2000-2007 Visa International Service Association and © 2008-2009 Visa Inc. All Rights Reserved. This Specification is
proprietary and confidential to Visa International Service Association and Visa Inc.
7 DGIs for VCPS (PPSE, qVSDC and MSD) Card Personalization Specification for VSDC
7.2 DGIs for qVSDC and MSD Requirements for VIS and VCPS Applications
Version 1.0
Table 7-6 – Data Content for DGI '0202' (qVSDC with fDDA)
All the elements in Table 7-6 are defined in [VIS] with the exception of the last two data
elements (tags '9F69' and '9F6E'), which are defined in [VCPS].
This record contains static data used to generate the hash required by [VIS] for the ICC
Certificate.
For the qVSDC Path, use of static data for the ICC Certificate is optional and for
performance reasons is not recommended. If static data is not used, it is possible to
eliminate this record by including these data elements in another record; for example,
DGI '0202'.
If static data is used for qVSDC, this record must be identified in the qVSDC AFL entry
as containing the static data for signing. Tags '5A' and '5F24' are the recommended
elements to be signed, unless the card is also personalized for VIS (see section 6 for
VIS considerations). Data elements present in this record must not be present in any
other record.
Table 7-8 – Data Content for DGI '0E01' (Application Internal Data)
O7 or '9F5C' Cumulative Total Transaction Amount Upper Limit [VIS] Table A-1
9 (CTTAUL)
C20 '9F5D' Available Offline Spending Amount (AOSA) [VIS] Corrections
and 21
Table 7-9 – Data Content for DGI '0E02' (Application Linkage for Block/Unblock)
Note: See Appendix B for detail on how the content of this DGI is used to control post
personalization processing of BLOCK and UNBLOCK commands for
multi-application cards.
Table 7-11 – Data Content for DGI '9000' (DES Key Check Values, Optional)
Table 7-12 – Data Content for DGI '8001' (Alternate UDK for dCVV)
This DGI is personalized when the UDK used for dCVV is different from the UDK
personalized in DGI '8000'. For example, as the DES key for dCVV is derived using a
PAN Sequence Number of zero, any MSD application using a non-zero PAN Sequence
Number must include the alternate UDK if dCVV is also enabled.
Table 7-13 – Data Content for DGI '8101' and '8103' (RSA Keys : Mod/Exp)
Table 7-14 – Data Content for DGI '8201' through '8205' (RSA Keys : CRT)
Table 7-15 – Data Content for DGI '9102' (Select Response - Both or Contact Only)
Table 7-16 – Data Content for DGI '9103' (Select Response - Optional Contactless)
Table 7-17 – Data Content for DGI '9200' (Issuer Application Data)
Table 7-18 – Data Content for DGI '9206' (MSD GPO Response Data)
Personalizing this DGI activates the MSD Application Path. The AFL is only used for
transactions on devices that do not require an online cryptogram. For transactions on
devices that do require an online cryptogram, Cryptogram 17 will be used, regardless of
the value personalized for Issuer Application Data, tag '9F10' in DGI '9200' or '9207'.
Table 7-19 – Data Content for DGI '9207' (qVSDC GPO Response Data)
Personalizing this DGI activates the qVSDC Application Path. The AFL is returned in the
GPO command response for offline transactions only.
Note: If DDA is supported for both VIS and qVSDC, and the AIP is signed for offline
data authentication; the AIP value for VIS and qVSDC must be the same unless
separate certificates are personalized for the two paths.
Code Description
1 If supporting offline qVSDC.
2 If using ICC Keys in Modulus/Exponent format.
3 If using ICC Keys in CRT format.
4 If supporting MSD with dCVV.
5 If a different UDK is used for dCVV (for example, if the PAN Sequence Number is
not zero).
6 If using transaction logging, as defined in [EMV Book 3] Annex D, on applications
supporting this feature.
7 If supporting Low Value AND CTTA check.
8 If Low Value AND CTTA check is supported and offline PIN used to reset VLP
Available Funds.
9 If supporting Low Value OR CTTA check.
10 If supporting any of the Low Value options.
11 Personalizing this tag is mandatory unless the application supports Streamlined
qVSDC Card Risk Management processing.
12 If multiple payment applications are on the card.
13 If qVSDC will be using a different CVN than listed in the common Issuer Application
Data.
14 If supporting offline international transactions (“Offline transactions in non-matching
currency are allowed” bit in tag '9F68' is set to one).
15 If corresponding public key certificate is present and entire public key does not fit into
certificate.
16 If the qVSDC ICC Certificate is built without signed static data.
17 If the qVSDC ICC Certificate is built using signed static data.
18 If any of the Issuer Discretionary Options (IDD) are used.
19 If this option is supported by the implementation.
20 The AOSA is personalized as a 1-byte element to indicate access permissions.
21 If AOSA is to be returned in the GPO command response, this tag must be
personalized as described in [VCPS] Tables 11 and 12.
22 If tag '9F63' is personalized, it is recommended that this element be personalized, and
that it have a value greater than zero and no more than the value of tag '9F63'.
Code Description
23 This tag must be present in the last record specified in the AFL. It is recommended to
be personalized at the end of the record, as implementations may require it to be the
last data element in the record.
24 If supporting VSDC.
If qVSDC has a unique ICC Public Key Certificate (preferably without any signed static
data), the qVSDC personalization should be as shown for DGI '0202' in section 6
(Table 6-5). The VIS application path would then reference another record in SFI 2 (for
example, DGI '0203') containing the following elements.
Tag '8F' CA Public Key Index
Tag '92' Issuer Public Key Remainder
Tag '9F32' Issuer Public Key Exponent
Tag '9F46' ICC Public Key Certificate
Tag '9F47' ICC Public Key Exponent
Tag '9F48' ICC Public Key Remainder
Tag '9F4A' SDA Tag List
1
It is highly recommended that the SDA Tag List be personalized on cards supporting VSDC with both SDA
and DDA.
With the exception of tag '9F46', all elements in the above list would contain the same
value as the corresponding elements in the record used for qVSDC (DGI '0202').The
qVSDC AFL would then reference the record personalized with DGI '0202' and the VIS
AFL would reference a different DGI ('02nn') containing its certificate.
Alternatively (if space permits), DGI '0202' could contain tags shared by VIS and qVSDC
(tags '90', '8F', '92', and '9F32'), DGI '0201' could contain VIS-specific ICC Public Key
Certificate data elements (tags '9F46', '9F47', '9F48', and '9F49'), and DGI '0203' could
contain qVSDC-specific data elements (tags '9F46', '9F47', '9F48','5A', '5F24', '5F34',
and '9F69'). This would allow the AFLs for VIS and qVSDC to be shorter by including
more records in the same AFL entry.
Issuers should balance the benefits of using different ICC Public Key Certificates for VIS
and qVSDC (with potentially reduced transaction times) against the increased
complexity of generating and personalizing two ICC Public Key Certificates.
qVSDC
Stream- VIS (if
Tag Data Element qVSDC lined MSD supported)
'57' Track 2 Equivalent Data[2]
'5F20' Cardholder Name[2]
[2]
'5F34' Application PAN Sequence Number
'9F1F' Track 1 Discretionary Data[2]
'9F4F' Transaction Log Format
'9F51' Application Currency Code
'9F52' Application Default Action (ADA)
'9F53' Consecutive Transaction Limit
(International)[3]
2
For use in the GET PROCESSING OPTIONS response.
3
Normally personalized in DGI 0D01 for VIS, but may be personalized in DGI 0E01 with no impact to VIS.
qVSDC
Stream- VIS (if
Tag Data Element qVSDC lined MSD supported)
'9F54' Cumulative Total Transaction Amount Limit
(CTTAL)[3]
'9F55' Geographic Indicator
'9F56' Issuer Authentication Indicator
'9F57' Issuer Country Code
'9F58' Lower Consecutive Offline Limit (LCOL)
'9F59' Upper Consecutive Offline Limit (UCOL)
'9F5C' Cumulative Total Transaction Amount
Upper Limit (CTTAUL)[3]
'9F5D' Available Offline Spending Amount (AOSA)
'9F5E' Consecutive Transaction International
Upper Limit
'9F63' Offline Counter Initial Value
'9F67' MSD Offset (only if dCVV is supported)
'9F68' Card Additional Processes
'9F6B' Card CVM Limit
'9F6C' Card Transaction Qualifiers
'9F6D' VLP Reset Threshold
'9F6E' Form Factor Indicator
'9F72' Consecutive Transaction Limit (International
Country)
'9F73' Currency Conversion Factor
'9F75' Cumulative Total Transaction Amount Limit
(Dual Currency)
'9F76' Secondary Application Currency Code
'9F77' VLP Funds Limit
'9F78' VLP Single Transaction Limit
'9F79' VLP Available Funds
'9F7C' Customer Exclusive Data
qVSDC and
DGI Data Type qVSDC VIS (with contact VLP)
'0B01' Record
'0E01' Internal
Personalization of VLP Available Funds impacts qVSDC behavior differently than the
behavior defined for VLP in [VIS].
In qVSDC, if VLP Available Funds is personalized with a value of zero or any other value
up to and including the VLP Funds Limit, the application will use the personalized
amount to be the VLP Available Funds.
If the value is zero, there are no LV funds available for qVSDC until an online VIS
transaction is conducted and meets the requirements for resetting VLP Available Funds
to the VLP Funds limit.
8.6 DGI '8000' and '9000' – DES Keys and Key Check Values
DGI '8000' and '9000' contain the DES keys and DES key check values, respectively.
Unique Derived Key (UDK), used for authentication
Message Authentication (MAC) DEA Key.
The UDK is shared by qVSDC, VIS, and MSD (except for MSD dCVV calculations if the
Alternate UDK for dCVV is personalized). If VIS is supported, the ENC UDK is also
included:
Unique Derived Key (UDK)
Message Authentication (MAC) DEA Key
Data Encipherment (ENC) DEA Key
Table A-1 – Issuer Discretionary Data Personalization Options in VIS and VCPS
IDD
Length Option Data Element Values Included in Issuer
IDD Option (bytes) ID Discretionary Data
VLP Available Funds 10 '1' 5 low-order bytes of VLP Available Funds
followed by a 4-byte MAC
Cumulative Total 10 '2' 5 low-order bytes of CTTA followed by a 4-
Transaction Amount (CTTA) byte MAC
VLP Available Funds and 15 '3' 5 low-order bytes of VLP Available funds
CTTA followed by 5 low-order bytes of the CTTA
followed by a 4-byte MAC
CTTA and CTTA Limit 15 '4' 5 low-order bytes of CTTA followed by 5
(CTTAL) low-order bytes of CTTAL followed by a 4-
byte MAC
Available Offline Spending 10 '5' 5 low-order bytes of AOSA followed by a 4-
Amount (AOSA) byte MAC
Static Data 1-15 N/A Issuer specified constant card data
The four-byte MAC is generated using a session key derived from the MAC UDK using
the first method defined in [VIS] section B.4.
The BLOCK/UNBLOCK List contains the full AIDs of the applications to be BLOCKED or
UNBLOCKED and is stored in a single DGI ('0E02') for Common Personalization (or tag
'9F64' for those applets that do not support Common Personalization). The BLOCK/
UNBLOCK List can be accessed by all linked applications and may be accessed by any
VSDC application. Indicators are in bold in the following examples illustrating various
scenarios of Visa application BLOCK and UNBLOCK.
EXAMPLE 1:
Visa Credit – an APPLICATION BLOCK or APPLICATION UNBLOCK command would
BLOCK or UNBLOCK only that AID.
Visa Debit – shares data with PLUS and BLOCK or UNBLOCK would BLOCK and
UNBLOCK both applications associated with these AIDs.
EXAMPLE 2:
Visa Credit – an APPLICATION BLOCK or APPLICATION UNBLOCK command would
BLOCK or UNBLOCK only that application.
Visa Debit – shares data with Application A and BLOCK would BLOCK both
applications associated with these AIDs but a separate UNBLOCK is needed for
each application.
EXAMPLE 3:
The following example is intended to illustrate all permutations of this approach.
APP1 – an APPLICATION BLOCK or APPLICATION UNBLOCK command would BLOCK or
UNBLOCK only that application.
APP2 and APP3 – an APPLICATION BLOCK command would block only one AID at a
time but UNBLOCK would UNBLOCK them both.
APP2 and APP4 – an APPLICATION UNBLOCK command would unblock only one AID
at a time but BLOCK would BLOCK them both.
APP3 and APP4 – an APPLICATION BLOCK or APPLICATION UNBLOCK command would
BLOCK and UNBLOCK both applications.
Table B-3 – Example of Mixed Linking for Block Only, Unblock Only and Both
The KMC is used to create card static unique derived keys that must in turn be used to
create session keys for communicating with the IC card application (see C.4.2).
Personalization keys are summarized in Table C-2.
The response to a successful INITIALIZE UPDATE command is shown in Table C-4. There
are no unique status conditions for INITIALIZE UPDATE. All status conditions are defined in
[ISO 7816].
Field Length
KEYDATA (See Table C-5) 10
Version number of the master key (KMC) 1
Secure Channel Protocol Identifier (ALGSCP ='02') 1
Sequence Counter 2
Card challenge (RCARD) 6
Card cryptogram 8
SW1 SW2 2
All subsequent commands received by the IC card application will not include any
security, i.e. no C-MAC and no encryption of the entire command data string.
Table C-9 lists the status conditions that may occur in addition to those specified in
[ISO 7816].
If a DGI is listed as requiring encryption (e.g., DGI '8000'), the data must be encrypted
prior to sending it to the IC card as described in the next paragraph. Only the data
portion of the data grouping is encrypted (the DGI and length field are not encrypted).
The personalization device uses the session key SKUDEK to encrypt the data. Encryption
must be done in ECB mode. This mode is illustrated in section C.4.4.1. Triple DES (as
presented in C.4.4.2) is used to encrypt each block.
The last STORE DATA command is indicated to the IC card application by the
personalization device setting on bit 8 of P1 ('80'). Until receiving a STORE DATA
command with P1 bit 8 set to 1, the card shall continue to accept STORE DATA
commands, as long as a secure channel has been established. After the card receives
the last command, further STORE DATA commands should result in a non-'9000' status
word; for example, SW '6985' – Conditions of use not satisfied.
Session IC Card
Key Key Derivation Data
SKUENC KENC '0182' || sequence counter || '000000000000000000000000'
SKUMAC KMAC '0101' || sequence counter || '000000000000000000000000'
SKUDEK KDEK '0181' || sequence counter || '000000000000000000000000'
The session keys must be calculated for each IC card application during processing of
the INITIALIZE UPDATE command using a sequence counter provided by the IC card. See
section C.2.2.2 for specifications for the INITIALIZE UPDATE command.
These session keys are used for all cryptography for personalizing the IC card
application until the completion of the last STORE DATA command.
C.4.3 MACs
The personalization process creates MACs for the following purposes:
During the IC personalization process (INITIALIZE UPDATE command and EXTERNAL
AUTHENTICATE command) the IC card returns a MAC (the card cryptogram) and the
personalization device sends a MAC (the host cryptogram) to the IC card. The IC
card and the personalization device authenticate each other using these
cryptograms. The process of creating these MACs is described in section C.4.3.1.
The EXTERNAL AUTHENTICATE command requires a C-MAC to be sent from the
personalization device to the IC card. The process of creating these MACs is
described in section C.4.3.2.
Both the personalization device and the IC card must create the C-MAC. The IC card
verifies the C-MAC by comparing the C-MAC it creates to the C-MAC in the command.
Page C-16 Visa Confidential March 2009
Portions © 2000-2007 Visa International Service Association and © 2008-2009 Visa Inc. All Rights Reserved. This Specification is
proprietary and confidential to Visa International Service Association and Visa Inc.
Card Personalization Specification for VSDC C Subset of EMV CPS for Contactless-only Implementations
Requirements for VIS and VCPS Applications C.4 72BCryptography for Personalization
Version 1.0
C.4.4 Encryption
This section describes the encryption of secret data during personalization.
Note: Post personalization encryption is not used in MSD applications.
C.4.5 Decryption
The IC card should decrypt the secret data prior to storing it for future use. This section
describes the decryption of secret data during personalization.
C.4.5.1 Decryption
The IC card must use SKUDEK for decryption of encrypted data grouping values. Triple
DES in ECB mode, as defined in [ISO 10116], is used.
D Personalization Examples
This appendix provides a personalization log showing the EMV CPS subset, defined in
this document, used on a card supporting PPSE, qVSDC and MSD (with optional VIS).
The paths in a card application (qVSDC, MSD, and VIS) are accessed through one Visa
AID. The card must contain the following applications in a state ready for
personalization:
PPSE (AID '32 50 41 59 2E 53 59 53 2E 44 44 46 30 31')
qVSDC/MSD and VIS (if supported) (AID 'A0 00 00 00 03 10 10')
Note: The personalization shown here is only an example and does not include all
possible options or data elements.
STORE DATA
command --> '80 E2 80 00 20' Note that P1 = '80'
'91 02 1D' SELECT RESPONSE
'A5 1B'
'BF 0C 18'
'61 16'
'4F 07 A0 00 00 00 03 10 10'
'50 0B 56 49 53 41 20 43 52 45 44 49 54'
STORE DATA
command --> '80 E2 00 00 0D'
'92 06 0A' MSD GPO RESPONSE
'82 02' MSD AIP
'00 80'
'94 04' MSD AFL
'08 01 01 00'
4
If not personalizing VIS, the qVSDC CVN would be specified in DGI '9200' rather than DGI '9207'.
GPO Response at an MSD Device (compliant with [VCPS] Version 2.0.2 indicating Online
Cryptogram Required)
command --> '80 A8 00 00 12'
'83 10'
'86 80 00 00'
'00 00 00 00 00 11'
'NN NN NN NN'
'08 40'
'00'
<- response '77 34'
'9F 10 07'
'06 01 11 03 A0 00 00'
'57 10'
'47 61 73 90 01 01 00 10 D1 01 22 01 01 23 45 56'
'5F 34 01'
'01'
'82 02'
'00 80'
'9F 36 02'
'00 02'
'9F 26 08'
'B8 40 D8 9B BA E0 A8 A5'
'90 00'
Glossary
This is a glossary of terms used in this specification; it is not intended as a data
dictionary.
ADA
Application Default Action
AFL
Application File Locator
AID
Application Identifier
AIP
Application Interchange Profile
Application
An application resident in an IC payment card.
Application Command
For this document specifically, an APDU command acceptable to an application after the
personalization process has been completed, and the application selected.
ATC
Application Transaction Counter
AUC
Application Usage Control
AuthC
Authorization Controls
BIN
Bank Identification Number
CA
Certification Authority
CAM
Card Authentication Method
Card
An IC payment card as defined by a payment system.
Card Personalization
The personalization of application data within a card, using personalization commands.
CBC
Cipher Block Chaining
CDA
Combined DDA/AC Generation
CDOL
Card Risk Management Data Object List
CID
Cryptogram Information Data
CLA
Class Byte
C-MAC
Command Message Authentication Code – MAC used in secure messaging for
personalization command processing
CRT
Chinese Remainder Theorem
CSN
Chip Serial Number
CTTA
Cumulative Total Transaction Amount
CVM
Cardholder Verification Method
CVN
Cryptogram Version Number
Data Preparation
The process of preparing and formatting data, ready for sending to a personalization
device.
dCVV
Dynamic Card Verification Value
DDA
Dynamic Data Authentication
DDOL
Dynamic Data Authentication Data Object List
DEK
Data Encryption Key
DES
Data Encryption Standard
DGI
Data Grouping Identifier
ECB
Electronic Code Book
EMV Specifications (EMV)
Technical specifications developed and maintained by EMVCo to create standards and
ensure global interoperability for use of chip technology in the payment industry. In order
to support EMV, cards and terminals must also meet the requirements described in the
bulletins available on the EMVCo website.
EMVCo LLC (EMVCo)
The organization of payment systems that manages, maintains, and enhances the EMV
specifications. EMVCo is currently operated by Visa Inc., MasterCard Worldwide, JCB
International, and American Express.
EMV CPS
EMV Card Personalization Specification, the card personalization specification published
by EMVCo
ENC MDK
Master Data Encipherment DEA Key
ENC UDK
Unique Data Encipherment DEA Key
FCI
File Control Information
fDDA
Fast Dynamic Data Authentication
GPO
GET PROCESSING OPTIONS command
HSM
Hardware Security Module
IAC
Issuer Action Code
IAD
Issuer Application Data
IAP
Initiate Application Processing
Iauth
Issuer Authentication
IC
Integrated Circuit
ICC
Integrated Circuit Card
ICC Data
Input data record data element containing application DGIs.
IEC
International Electrotechnical Commission
IIN
Issuer Identification Number (often the same as BIN)
INS
Instruction Byte
ISO
International Organization for Standardization
ISS
Issuer
KDEK
Card unique key used to generate a session key for creation of C-MAC used in
command processing
KEK
Key Encryption Key(s)
KEKISS
Key Exchange Key – shared by Issuer and data preparation device
KENC
Card unique key used to generate a session key for encryption
KMAC
Card unique key used to generate a session key for encryption of DES keys and
optionally other secret data
KMC
DES Master Key for Personalization Session Keys – used to generate derived keys to
generate MACs and encrypt DES keys and secret data during personalization (KENC,
KDEK, KMAC)
KMU
A DES master key, known only to the issuer, which is used to generate derived keys to
generate MACs and encrypt DES keys and secret data to allow re-personalization (KENC,
KDEK, KMAC) after the card has been issued.
MAC
Message Authentication Code – card cryptogram in INITIALIZE UPDATE Command
MAC MDK
Master Message Authentication Code DEA Key
MAC UDK
Unique Message Authentication Code DEA Key
MDK
Master Derivation Key for VSDC
MSD
Magnetic Stripe Data
MSD Offset
The offset in nibbles/digits from the beginning of the Track 2 data on the chip (first digit
of the PAN is 1) to the first nibble/digit of CVV. For CVV beginning in the first nibble/digit
of the Discretionary Data, with a 16 digit PAN and no PVV, the offset value would be 25.
With PVV the offset value would be 30.
PAN
Application Primary Account Number
Payment System
For the purposes of this specification, Visa Inc., MasterCard Worldwide or JCB
International.
Personalization
The placing of application data on the card to enable a card to be used by a cardholder.
Personalization Command
A command sent to a selected PPSE or card payment application in order to personalize
application data.
Personalization Device
A device that accepts data from a data preparation system, and sends personalization
commands to a card.
PIN
Personal Identification Number
PK
Public Key
Pre-personalization
The initialization of card data prior to personalization.
PSE
Payment System Environment
PPSE
Proximity PSE
qVSDC
Quick Visa Smart Debit/Credit
Ref.
Reference
Req.
Requirement
RFU
Reserved for Future Use
RSA
Rivest, Shamir and Adleman (Public Key Cryptographic Algorithm)
SAD
Signed Static Application Data
SDA
Static Data Authentication
SFI
Short File Identifier
SKU
Personalization Session Key
SKUDEK
Session key for creation of C-MAC used in command processing – generated using KDEK
SKUENC
Session key for encryption – generated using KENC
SKUMAC
Session key for encryption of DES keys and optionally other secret data – generated
using KMAC
SUDK ENC
Unique Data Encipherment Session Key generated from MAC ENC
SUDK MAC
Message Authentication Code Session Key generated from MAC UDK
TK
Transport Key
KEK/TK – Key Exchange Key – shared by data preparation device and
personalization device
PEK/TK – PIN Encryption Key
DEK/TK – Data Encryption Key
TLV
Tag, Length, Value
UDK
Unique VSDC card level key generated from MDK
Var.
Variable
VLP
Visa Low-Value Payment
Visa Smart Debit/Credit (VSDC)
The Visa payment service offerings for chip-based debit and credit programs. These
services are supported by VisaNet processing, as well as by Visa rules and regulations;
and are based on EMV and [VIS], [VCPS], or EMV Common Core Definitions (CCD) –
including Common Payment Application (CPA) – specifications.