KMS Functional Reqs v1 0
KMS Functional Reqs v1 0
KMS Functional Reqs v1 0
Functional Requirements
1.0
November 2003
Page 2
Table of Contents
1. DOCUMENT OVERVIEW...................................................................................................... 7
1.1
1.2
1.3
1.4
1.5
1.6
1.7
INTRODUCTION ................................................................................................................ 7
SCOPE .............................................................................................................................. 7
PURPOSE OF THIS DOCUMENT .......................................................................................... 8
INTENDED AUDIENCE ....................................................................................................... 8
VERSION INFORMATION ................................................................................................... 8
REFERENCES AND APPLICABLE DOCUMENTS .................................................................. 9
TERMINOLOGY............................................................................................................... 10
A.1.5
Page 3
Page 4
Page 5
Table of Tables
Table 1: Definitions ....................................................................................................... 13
Table 2: Naming convention for Keys........................................................................... 30
Page 6
Table of Figures
Figure 2-1 : Relationship between Key Values, Attributes and Key Profiles ............ 15
Figure 2-3 : Example of Key Values shared by two parties ........................................ 16
Figure 1-1: Key Management System Roles ................................................................ 31
Figure 1-3: KMS with one Security Domain ................................................................ 33
Figure 1-5: KMS with more than one Security Domain .............................................. 34
Figure 1-7: KMS with DAP Verification....................................................................... 35
Figure 1-9: KMS with Delegated Management ........................................................... 36
Page 7
1. Document overview
1.1
Introduction
1.2
Scope
1.3
Page 8
1.4
Intended audience
1.5
Version information
Version
Date
1.0
November 2003
Comments
1.6
Page 9
1.7
Page 10
Terminology
Term
Definitions
Applet
Application Loader
Application Provider
Asymmetric Cryptography
Card Issuer
Card Manager
Chip card
Page 11
Term
Definitions
DAP Block
First part of the Load File used for ensuring Load File Data Block
verification.
Data Preparation
Decryption
Delegated Management
Digital Signature
Encryption
GP Card KMS
HSM
IC Manufacturer
Initialization
(Application) Install
Issuer
Entity that is ultimately responsible for a card and all of its contents.
Page 12
Term
Definitions
Java
Key
Key Value
Key Profile
A Key Profile may or may not contain all its attributes, such as Key
Value, a Key Profile not containing a Key Value could be used to
describe and the usage of a key type rather than a specific instance
of cryptographic key value.
An integrity value associated with a cryptographic key.
For DES/TDEA key value and DES/TDEA key component KCV shall
be the result, or partial result, of the encryption of eight bytes of
binary zeroes.
Live
(Application) Load
Personalization
Page 13
Term
Definitions
Post-Issuance Load/Install
Private Key
Public Key
Secure Channel
Security Domain
Smart card
Symmetric Cryptography
A cryptographic technique that uses the same secret key for both
the originators and the recipients transformation. Without
knowledge of the secret key, it is computationally not feasible to
compute either the originators or the recipients transformation.
Test
Trust Model
Table 1: Definitions
The requirements are stated using the terms shall, should and may. Where the
term shall is used the requirement is not optional. Where the term should is used
Copyright 2003 GlobalPlatform Inc. All Rights Reserved.
The technology provided or described herein is subject to updates, revisions, and extensions by GlobalPlatform. Use
of this information is governed by the GlobalPlatform license agreement and any use inconsistent with that
agreement is strictly prohibited.
Page 14
the requirement is recommended. Where the term may is used the requirement is
optional.
Page 15
Key Profile1
Attributes
Key Profile2
Attributes
Attributes
Key Profile4
Key Profile3
Attributes
Attributes
Key Profile7a
Attributes
KeyA
Key Profile6
Key Profile5
Attributes
Attributes
Attributes
KeyB
Attributes
Key Profile7b
Attributes
Key Profile7c
Attributes
Figure 2-1 : Relationship between Key Values, Attributes and Key Profiles
Figure 2-1 illustrates how various Key Profiles can be created from 3 sets of
attributes (, and ) and 2 keys (A and B).
Key Profile1 and Key Profile2 do not contain a Key Value, this would typically be the
first state of a Key Profile, where for example only usage has been set. From these
Key Profiles, Key Values can be added, essentially using the original as a template,
and in doing so creating new Key Profiles. If the same Key Value is to be used by
Copyright 2003 GlobalPlatform Inc. All Rights Reserved.
The technology provided or described herein is subject to updates, revisions, and extensions by GlobalPlatform. Use
of this information is governed by the GlobalPlatform license agreement and any use inconsistent with that
agreement is strictly prohibited.
Page 16
two parties for different purposes then two Key Profiles would be required as they
must contain different attributes.
In the example the creation of the following new Key Profiles are shown:
Key Profile1 created using Attributes, and Key Profile2 using Attributes
Key Profile3 based on Key Profile1 when KeyA loaded, and Key Profile4 using
Attributes
Key Profile5 based on Key Profile1 when KeyB loaded, and Key Profile6 using
Attributes
Key Profiles7a7c created using Attributes and KeyB split into 3 components
Typically when transferring key components, such as Key Profiles7a..7c, they would
also be accompanied with another Key Profile, such as Key Profile1 or Key Profile2,
which would provide the final usage attributes of the combined key. Attributes will
not contain the final usage of the combined key; it instead contains the attributes
that explain this is a key component.
To illustrates how a Key Values and Key Profiles could be used, if we take an
example, from
Figure 2-2, where two parties (A & B) need to share a key. PartyA is the owner of the
Key and use the key for Encryption, PartyB have received the key from PartyA and
use the key for Decryption. This will then product two Key Profiles, one in each of
the Parties key management system, both Profiles will contain the same Key Value
but will contain different attributes.
2.1
Page 17
What is a KMS
Services to the systems needing Key Values typically in the form of an API
Except for the requirements for security and procedural support, a Key Management
System is much like any other management system e.g. a Card Management
System. At the heart of the system lies a Database storing the Data and an API
giving access to that Data and the services associated with it.
Page 18
3.1
[ R-1 ] The KMS shall be able to maintain Key Profiles during the entire lifetime for
a specific Key Profile i.e. from definition, generation and storing, exchanging and
using to expiration and deletion.
[ R-2 ] The KMS shall provide services to relevant systems having the need for use
of a specific Key Profile. These services will provide a mechanism for users of the
KMS to generate exchange and retrieve keys.
[ R-3 ] The KMS shall have any secret or critical function (such as generating or
unwrapping/wrapping Key Values) performed within a Hardware Security Module
or equivalent secure component.
[ R-4 ] The KMS shall be able to recover all Key Profiles within the KMS in case of
failure in the KMS itself or in the HSM utilized.
3.2
The KMS relies on a HSM to supply certain capabilities the following section.
[ R-5 ] The actual implementation of such a support is not mandated, but the
minimum requirements for a HSM shall encompass support for:
Page 19
[ R-6a ] Services offered by the HSM, in addition to the requirements stated in this
document shall not enable the HSM requirements of the GlobalPlatform KMS to be
circumvented, for example the KMS requires Key Profile separation, the HSM must
not offer additional or legacy services to enable the key separation to be overridden.
[ R-6b ] The HSM shall be certified on a level corresponding to at least FIPS 140-2
level 3.
3.3
[ R-7 ] The KMS shall be able to limit access to each Key Value and the functions
possible for a Key Value to those with a defined need. [ R-8 ] No person must have
access to a clear text value of any Key Value within the KMS.
[ R-9 ] The KMS shall be able to manage and track any changes to the Key Profiles.
[ R-10 ] The changes shall be tracked in a way that the information concerning the
changes can be trusted. [ R-11a ] The changes may be tracked in a way that they
can be compared with information of the intended use of the Key Values and
functions within the Key Management System. [ R-11b ] Periodically an audit shall
be done to review the changes tracked in order to verify that all of them are correct.
3.4
[ R-12 ] The KMS shall be capable of supporting Key Values for the following
algorithms:
3.5
Page 20
[ R-13 ] The KMS shall support a standard structure representing the attributes of
a Key Value. The structure will be known as a Key Profile and act as a prototype for
a Key Value.
The attributes making up a Key Profile can be grouped into three sections. The first
contains those attributes used to identify a Key Profile (Owner, Source/Sender,
Destination/Receiver, Name, etc.). The second is made up of those attributes that
define the context, environment, usage, type, etc. of a Key Profile. The final section
contains those attributes that make up a version of a key (value,
expiration/activation dates, version identification, integrity checks, etc.).
[ R-14 ] A Profile is a unique set of attributes and shall be uniquely identified. Many
Key Profiles can be based on a single source Profile if they share the same context,
environment, usage, type, etc. (i.e. multiple versions of a Key Value would share the
same Profile).
[ R-15 ] The presence of individual attributes or parts of a Key Profile shall be
classified as mandatory or optional. [ R-16 ] A Key Value shall not be used for
cryptographic purposes unless all mandatory attributes are present in a Key Profile.
[ R-17 ] see [ R-29 ] for requirements on Key Exchange.
A Key Value may be associated with more than one Key Profile although this
requirement is not expected to be needed within the same KMS system. An example
of this is the Transport Key used by the Card Issuer may have the usage of Wrap
and Encrypt, and for the Card Enabler the same Key Value is to be loaded into a
different Key Profile which may have a usage of Unwrap and Decrypt. These two
different actors therefore use different KMSs with the correct Key Profile loaded into
each. If the Card Issuer and Card Enabler were being carried out by the same actor
they would probably not use a Transport Key.
3.6
[ R-18 ] The KMS shall be able to generate Key Values compliant to the
cryptographic algorithms supported by the KMS.
[ R-19 ] The generated Key Values shall be cryptographically sound according to the
nature of the algorithm. This requirement encompasses the algorithms defined in
this document:
3.6.1
[ R-20 ] TDEA:
[ R-20a ] Shall be 128 bit key, comprising of 112 bit Key Value plus odd
parity
Page 21
3.6.2
[ R-21 ] RSA:
[ R-21a ] The KMS should be able to generate and manage RSA keys with a
Public Key modulus lengths greater than or equal to 512 bits
[ R-21b ] The RSA key shall be generated to meet the requirements specified
in the Key Profile defined for each application
3.7
[ R-22 ] Where revocation services are employed the following requirements shall be
maintained:
[ R-22a ] Maintaining a list of revoked key values and all associated profiles
3.8
[ R-23 ] All Key Values, based on their longevity, shall be stored in a way that they
are protected from exposure and unauthorized modification; the associated key
profiles shall also be protected from unauthorized modification. A procedural policy
is required to define what is modifiable with what level of authorization.
[ R-24 ] Along with the actual Key Value other information shall be stored. This
information represents necessary properties of the Key Value. Other than the
properties than can be found in the corresponding Key Profile, a Key Value has
properties that are directly related to the actual value. The information stored shall
include at least:
Page 22
3.9
3.9.1
[ R-25 ] The KMS shall be able to exchange both the Profile of the key and the Key
Value itself.
[ R-26 ] It may be possible to exchange a number of Transport Keys (TK) between
physically separated Key Management Systems, which have the need to exchange
Key Profiles.
[ R-27 ] At least the first Key Profile exchanged between two such systems shall be
done in a manner that shall provide mutual authentication1 between the two
entities. [ R-28 ] The key exchange may be done in manner that provides secrecy of
the Key Value.
Transport Keys can be exchanged using various methods and/or media such as
diskette, paper, Smart Cards, VPN or LAN-connections.
3.9.2
[ R-29 ] The KMS shall support the following to enable Exchanging Key Profiles:
[ R-29a ] The KMS shall be able to store, organize and retrieve the
information relating to the Profile used for a specific Key Value.
Page 23
[ R-29b ] The exchange of Key Values between KMSs shall utilize Key
Profiles.
[ R-29c ] The KMS shall support a method to ensure the integrity of a Key
Profile. This integrity must be maintained during profile storage or exchange,
even if the exchange is performed in multiple transmissions.
3.9.3
[ R-30 ] The KMS shall be able to support a secure exchange of TDEA Keys with
another KMS using the GlobalPlatform Key Profile as specified in the
GlobalPlatform Profiles specification.
[ R-31 ] A Key shall be exchanged as components or in encrypted format as
mutually agreed upon between sender and receiver. If exchanged as components, the
Key Value shall be exchanged as a number of components, bigger than one, with
each component written to a separate medium (e.g. one diskette per component), and
each should be sent independently.
The number components (n) shall ensure that the knowledge of one, or m, (where
m<n) of the components impeaches the recover of other components or the clear key
value.
[ R-32 ] In case a Key Profile is imported into the KMS, the KMS shall be able to
check for odd parity of the Key Value. When the Key Value does not have odd parity
the KMS shall not accept the Key Profile.
[ R-33 ] In both cases, certain information other than the actual Key Value shall be
transferred along with the Key Value. This information shall encompass at least:
[ R-33a ] ID of the specific Key Profile uniquely identifying the Key Profile to
both sender and receiver;
[ R-33b ] Indicator for whether the Key Value is a test or a live key;
[ R-33c ] Key Check value making it possible to verify that Key Value after
installation has the same value at both sender and receiver;
[ R-33c1 ] If exchanged in the clear each component shall have a Key
Check Value attached;
[ R-33c2 ] For both clear and encrypted Key Values the final
(combined) Key Value shall have a Key Check Value attached;
3.9.4
Page 24
[ R-35 ] For both Public and Private Key Profiles certain information other than the
key itself will be transferred along the Key Value. This shall at least encompass:
[ R-35a ] ID of the specific Key Profile uniquely identifying the key to both
sender and receiver;
[ R-35b ] Indicator for whether the Key Value is a test or a live key;
3.10
[ R-36 ] The KMS shall support and use mechanisms to prevent Key Value
import/export unless explicitly authorized.
3.11
[ R-37 ] The KMS shall support and use methods to make it impossible to use a Key
Value for another usage or purpose other than the intended usage as indicated by
the associated Key Profile.
3.12
[ R-38 ] The KMS shall prohibit the usage of Key Values outside the Key Profiles
valid date range.
3.13
Page 25
[ R-39 ] The KMS shall support and use processes to have a Key Profile expired,
archived and deleted.
Page 26
Page 27
The GP Card KMS used by the Card Issuer for support of Key Profiles and
methods for the Issuer Security Domain and any Supplementary Security
Domains;
Page 28
engine, it may be separate or integrated with the Smart Card Management System
(SCMS) or it may even serve as both the GP Card KMS and the Application KMS for
some of the Card Issuers applications.
TDEA keys used by the GP Card KMS for the Issuer Security Domain and
Supplementary Security Domains;
Page 29
RSA keys used by the GP Card KMS for Delegated Management and/or DAPverification
Description
ADKENC
Card unique Security Domain Key Value derived from AMK used
for encrypting the commands to and from ICC during Post-issuance
ADKDEK
Card unique Security Domain Key Value derived from AMK used
for encrypting Application Key Values during Post-issuance
ADKMAC
Card unique Security Domain Key Value derived from AMK used
for MACing the commands to and from ICC during Post-Issuance
AMK
Application
keys
CDKDEK
Card unique Issuer Key Value derived from CMK used for
encrypting Application Key Values during Post issuance
CDKENC
Card unique Issuer Key Value derived from CMK used for
encrypting the commands to and from ICC during Post issuance
CDKMAC
Card unique Issuer Key Value derived from CMK used for MACing
the commands to and from ICC during Post issuance
CMK
Issuer Master Key Value used by Card Issuer to prevent the ICC
from further Initialization and Personalization using KMC and to
control Post-issuance initialization and Personalization
CMKRECEIPT
IKPTOKEN
Page 30
Initial Supplier Key Value ensures that the Card Enabler can
only process on ICC to which he is entitled
KDCDEK
Card unique Initial Card Manager Key Value derived from KMC
used for encrypting Application Key Values during personalization
KDCENC
Card unique Initial Card Manager Key Value derived from KMC
used for encrypting the commands to and from ICC during
personalization
KDCMAC
Card unique Initial Card Manager Key Value derived from KMC
used for MACing the commands to and from ICC during
initialization and personalization
KDDDEK
Card unique Initial Security Domain Key Value derived from KMD
used for encrypting Application Key Values during Personalization
KDDENC
Card unique Initial Security Domain Key Value derived from KMD
used for encrypting the commands to and from ICC during
Personalization
KDDMAC
Card unique Initial Security Domain Key Value derived from KMD
used for MACing the commands to and from ICC during
Initialization and Personalization
KMC
KMD
TK
Page 31
Figure 1-1: Key Management System Roles illustrates the various roles and their
interaction with of the GlobalPlatform KMS. The separation between each role in
this figure, as with all figures in this document, does not imply that one entity is
restricted to only one role. On the contrary it will be typical that one entity plays
more than one role, for example a Card Issuer will typically also perform Application
Key Management for one or more applications on the ICC.
Refer to Table 2: Naming convention for Keys for the naming and definition of the
key types.
IC
Manufacturer
Produces IC
Install ISK
ISK
IC with
ISK
ISK
Manufacturer
KMS
Card
Manufacturer
ICC with
ISK
ISK
KMC
GP Card
KMS
(Issuer
Security
Domain)
KMC
TK
TK(CDK)
TK'(Application keys)
TK'
Application
KMS
Card Enabler
Application
Loader
Page 32
Note 1: The impact to the Key Management Systems when an Application Provider
uses a Supplementary Security Domain will be outlined in detail in section A.1.5
Application KMS keys.
In this context, it is expected, if being part of a GP Card KMS, that the
Manufacturer KMS, for ISK, will use the same algorithm, mechanisms and method
as the GP Card KMS in general.
The ISK shared between the IC Manufacturer and Card Enabler is to ensure that
the IC is protected between the IC manufacturer and the Card Enabler.
The Card Enabler enables the card for a specific Card Issuer by assigning the
Issuers IIN to the ICC and by installing the initial set of Issuer Key Values (KDCs)
derived from the Issuers Initial Master Key Value KMC.
Through the distribution of the KMC to a specific Application Loader the Card
Issuer now controls who can load, install and personalize the applets on the ICC.
During the Personalization process it is possible to use the GlobalPlatform KDCs for
the personalization of the application Key Values, PIN and other secret data to be
used by a specific applet.
After the Applet has been personalized the Card Issuer secures the card by having
the CDKs derived from CMK installed. By doing so, the KMC is effectively disabled.
The Card Issuer can now use the CMK as the Key Value to secure any post-issuance
activity on the card.
KMS with one Security Domain (automatically being the Issuer Security
Domain)
KMS with more than one Security Domain (i.e. the Issuer Security Domain
and one or more Supplementary Security Domains).
KMS with more than one Security Domain and integrity-checking when
loading and/or installing the applet (DAP Verification).
KMS with more than one Security Domain having one or more
Supplementary Security Domains with Delegated Management privilege for
application load and install.
For all scenarios the method for protecting the IC between the IC Manufacturer and
Card Enabler is the ISK Key Value as described in Figure 1-1: Key Management
System Roles. This part of the scenario being constant it is not repeated in
subsequent specific scenario illustrations nor is the Manufacturer KMS detail
repeated for the same reason.
Copyright 2003 GlobalPlatform Inc. All Rights Reserved.
The technology provided or described herein is subject to updates, revisions, and extensions by GlobalPlatform. Use
of this information is governed by the GlobalPlatform license agreement and any use inconsistent with that
agreement is strictly prohibited.
A.1.3.4.1
Page 33
The first scenario is as illustrated in Figure 1-3. It assumes that the Card Issuer
controls the GP Card KMS and that the Application Provider is under the same
trust-model as the GP Card KMS either being the same organization or under
control of a mutual agreed trust-model.
KMC
GP Card
KMS
(Issuer
Security
Domain)
KMC
TK
TK(CDK)
Card Enabler
Application
Loader
TK'(Application keys)
TK'
Application
KMS
A.1.3.4.2
The second scenario assumes that the Card Issuer and the Application Provider are
not under the same trust-model. Hence it must be possible for the Application
Provider to establish a secure channel without using the Card Issuer Key Values.
KMC
GP Card
KMS
(Issuer
Security
Domain)
KMC
TK
TK(CDK)
Card Enabler
Application
Loader
TK'(Application keys)
TK'
Page 34
KMD
GP Card
KMS
(Supplementary
Security
Domain)
KMD
TK
TK(ADK)
TK'(Application keys)
TK'
Application
KMS
Application
KMS
Page 35
DAP Public or
DES Secret Key
KMC
GP Card
KMS
(Issuer
Security
Domain)
KMC
TK
TK(CDK)
Card Enabler
DAP Private or
DES Secret Key
KMD
GP Card
KMS
(Supplementary
Security
Domain)
KMD
TK
TK(ADK)
Application
Loader
TK'(Application keys)
TK'(Application keys)
TK'
TK'
DAP Signature
Application
KMS
Application
KMS
A.1.3.5.1
The fourth scenario assumes that the Card Issuer and the Application Provider are
not under the same trust-model, and that the Card Issuer uses Load and Install
Tokens to allow Load and Install of applets via the Supplementary Security
Domains with the Delegated Management Privilege.
DAP Private or
DES Secret Key
Note 1
Page 36
DAP Public or
DES Secret Key
Note 1
Card Enabler
KMC
GP Card
KMS
(Issuer
Security
Domain)
KMC
TK
TK(CDK)
KMD
GP Card
KMS
(Supplementary
Security
Domain)
KMD
TK
Application
Loader
TK(ADK)
TK'(Application keys)
TK'(Application keys)
TK'
TK'
Token
Application
KMS
DAP
Application
KMS
Key Profiles for secure communication and content management between the
card and an off-card entity;
Page 37
Initial Update Master Key (KMC), used to derive the Initial Card
Manager Key Values below for Card Enablement.
9 MAC Key (KDCmac);
9 Encryption Key (KDCenc);
9 Key Encryption Key (KDCdek).
Final Card Manager Master Key (CMK), used to derive the final Card
Manager Key Values below for the SECURED state. During personalization,
only the final derived Key Values are exchanged with the Application Loader,
i.e. the Key Values are derived by the GP Card KMS and the master key
remains known to the Issuer only.
9 MAC Key (CDKmac)
9 Encryption Key (CDKenc)
9 Key Encryption Key (CDKdek).
A.1.4.1.2
Initial Update Security Domain Master Key (KMD), used to derive the
Initial Security Domain Key Values for Application Enablement.
Page 38
Final Security Domain Master Key (AMK), used to derive the final
Security Domain Key Values for personalizing the Security Domain. During
personalization, only the final derived keys are exchanged with the
Application Loader, i.e. the Key Values are derived by the GP Card KMS and
the master Key Value remains known to the Application Provider only.
9 MAC Key (ADKmac)
9 Encryption Key (ADKenc)
9 Key Encryption Key (ADKdek).
A.1.4.2.2
DAP Verification Key, used to verify the Load file of the Application
Provider. The key type can be a public key or a TDEA key. The format of the
load file includes a DAP block (a signature of the load file generated using a
symmetric key or an asymmetric key) followed by the Load File Data Block
(which is the actual code). The detailed format is defined in the
GlobalPlatform Card Specification 2.1.
DES/TDEA keys
Confidential data
Page 39
Page 40
Page 41
Effective date;
Expiration date;
Usage of Key;
Details surrounding the format and usage of a Key Profile are to be described in the
GlobalPlatform Profile Specification.
The GP Card KMS shall be able to support RSA key pairs only if the GP
Card KMS supports Delegated Management or LoadToken utilizing RSA:
Page 42
Encrypted TDEA Key Value combined with the Key Profile itself;
Clear Public Key Value with reference to a previously exchanged Key Profile,
if Delegated Management and/or DAP verification is supported.
A.2.1.8.2
The GP Card KMS shall be able to exchange the Key Profile for a specific Key Value
(see section A.2.1.5 Requirements for Key Profile). The GP Card KMS shall support
Page 43
methods to ensure the integrity of the Key Profile during exchange and/or after
installation.
A.2.1.8.3
A number of Transport Keys (TK) shall be exchanged between two KMS having the
need for exchanging Key Values.
The Transport Keys exchanged shall be exchanged in a manner that shall provide
mutual authentication and secrecy. It is suggested that the KMS Usage Guidelines
are followed to provide the necessary security.
If encrypted, the Key Values shall be encrypted using TDEA in ECB mode as defined
in GlobalPlatform Card Specification 2.1.
The Transport Keys can be exchanged using various media such as diskette, paper,
Smart Cards, VPN or LAN-connections.
A.2.1.8.3.1 Exchanging Clear TDEA Key Value components
The first Transport Key exchanged shall be exchanged as a number (greater than 1)
of components, each component separately transferred between sender and receiver.
Subsequent exchange of Key Profiles may use this Transport Key during transport.
The components shall be split from and combined to the final Key Value using the
Exclusive Or (XOR) technique.
Certain information other than the actual key component shall be transferred. This
information shall encompass at least:
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Number of Components;
Component Number;
Generation date;
Effective date;
Expiration date;
Page 44
Key Check Value for the final combined Key Value, making it possible to
verify that the Key Value after installation has the same value at both
sender and receiver.
ID of the specific Key Value uniquely identifying the Key Value to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that the Key Value after
installation has the same value at both sender and receiver;
Page 45
ID of the specific Key Value uniquely identifying the Key Value to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver;
If the Transport Key itself is not used directly as the Key Encryption Key, but
instead used to create a derived Key Encrypting Key, the information transferred
with the derived Key Value must include the derivation data.
If the Transport Key itself is not used directly as the Key Encryption Key, but
instead used to encrypt a random Key Encryption Key, used only for that
transaction, the information transferred with the actual Key Value must include the
encrypted random transaction key.
A.2.1.8.4
ID of the specific Key Value uniquely identifying the Key Value to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver.
Page 46
Page 47
Page 48
Page 49
Card Issuer The Issuer is the entity responsible for card issuance, although
the production of cards may be sub-contracted to a card production company.
The Issuer is also responsible for the generation of the data that will be used
to create the Card, such as Embossing, Magnetic Stripe, Carrier, etc.
On a multi-application card the Card Issuer and the Application Provider are not
always the same entity. However, this is seldom, if ever, the case with an EMV
application. Since Banks typically issue the card and provide the EMV application,
the Issuer and the Application Provider are the same entity. This chapter simply
refers to the Issuer since many of the EMV application key types refer to the Issuer.
However, it should be understood that in fact we are dealing with application
specific key types, if the EMV application provider will not be the Card Issuer, the
term Issuer should be understood to be an Application Provider.
Page 50
TDEA Keys
o
Transport Key (TK) Key or key(s) value are used to protect the
sensitive data (such as Key Values) as they are transported from
Issuer though Data Generation and onto Personalization. The data
protected from the Issuer may include a PIN Block, and the data
protected during Data Generation which will include all the EMV
scheme Key Values
RSA Keys:
o
CA Public Key
Issuer:
Issuer Keyset
ICC
ICC Keyset
Page 51
PEK Keyset
RSA Keys:
o
Issuer:
ICC
PIN Block
Page 52
B.1.5 Processes
B.1.5.1 RSA Data
A Card Issuer is required to register with a Certification Authority. This involves
the Issuer generating their own Issuer Keyset and providing the CA with an Issuer
Public Key Certificate request.
The Application Owner (Certification Authority (CA)) is then responsible for
certifying the Card Issuer by the creation of an Issuer Public Key Certificate (ICert)
and optionally an Issuer Public Key Remainder, using the CA Private Key to sign
the Issuer Public Key.
Once the CA has certified the Issuer Public Key, the Issuer will receive back an
Issuer Public Key Certificate and optionally an Issuer Public Key Remainder.
The Issuer has the following responsibilities:
For DDA the Issuer will be required to create an ICC Keyset and certify the
ICC Public Key using the Issuer Private Key, and to create an ICC Public
Key Certificate, and optionally an ICC Public Key Remainder.
PIN encipherment may use the ICC Key Value used for DDA or the Issuer
may use an ICC PIN Encipherment keyset using the same process used for
DDA.
The Signed Static Application Data (SAD) for each ICC is created by using
the Issuers Private Key.
Once the data has been generated and prepared, it is the responsibility of the
Issuer to provide the Application Loader with key and data; secrecy
(concerning key), confidentiality and integrity in general must be considered
for this operation.
Page 53
Once the MKs have been generated it is the responsibility of the Issuer to provide
the Key Values to the Application Loader for loading onto the card; confidentiality
and integrity should be considered for this operation.
Page 54
Page 55
In addition to the common requirements of the General and GP Card KMS the
Application KMS will have a requirement for:
For the transport of application Key Profiles and PINs, the Application KMS shall
make it possible to separate the following types of secret information and encrypt it
in accordance with the nature of its content:
TDEA keys;
Confidential data.
The Application KMS will not be used to generate, store or exchange PINs or other
confidential data, however the Key Profiles stored in the Application KMS may be
used for the encryption of PINs and/or other confidential data.
Page 56
Effective date;
Expiration date;
Usage of Key;
The Key Profile will be in detail be outlined later as part of the work to be done
subsequent to these Functional Requirements as GlobalPlatform Key Profile
Specification.
128 bit key, comprising of 112 bit Key Value plus odd parity
The Application KMS shall be able to support RSA key pairs of the following
characteristics:
Page 57
Page 58
Encrypted TDEA Key Value combined with the Key Profile itself;
Encrypted Private RSA Key Value with the Key Profile itself;
Clear Public Key Value with reference to a previously exchanged Key Profile.
B.2.2.8.2
The Application KMS shall be able to exchange the Key Profile for a specific Key
Value (see section B.2.2.5 Requirements for Key Profile). The Application KMS shall
support methods to ensure the integrity of the Key Profile during exchange and/or
after installation.
B.2.2.8.3
A number of Transport Keys (TK) shall be exchanged between two KMS having the
need for exchanging Key Profiles.
The Transport Keys exchanged shall be exchanged in a manner that shall provide
mutual authentication and secrecy. It is suggested that the KMS Usage Guidelines
are followed to provide the necessary security.
If being encrypted, the Key Values shall be encrypted using TDEA in ECB mode as
defined in GlobalPlatform Card Specification 2.1.
The Transport Keys can be exchanged using various media such as diskette, paper,
Smart Cards, VPN or LAN-connections.
B.2.2.8.3.1 Exchanging Clear TDEA Key Components
The first Transport Key exchanged shall be exchanged as a number (greater than 1)
of components, each component separately transferred between sender and receiver.
Subsequent exchange of Key Profiles may use this Transport Key during transport.
The components shall be split from and combined to the final Key Value using the
Exclusive Or (XOR) technique.
Certain information other than the actual Key Value component shall be transferred
along with the Key Value. This information shall encompass at least:
Page 59
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Number of Components;
Component Number;
Generation date;
Effective date;
Expiration date;
Key Check Value for the final combined Key Value, making it possible to
verify that Key Value after installation has the same value at both sender
and receiver.
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Page 60
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver;
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Key Profile;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver;
B.2.2.8.4
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver.
Page 61
ID of the specific Key Value uniquely identifying the Key Profile to both
sender and receiver;
Generation date;
Effective date;
Expiration date;
Key Check Value making it possible to verify that Key Value after
installation has the same value at both sender and receiver.
Page 62
Page 63
Key Derivation using the method described in EMV 2000 book 2 Annex A1.4
Master Key Derivation.
Note: The method described in A1.4 is an EMV option, not a mandate so
another method may be used.
GlobalPlatform
Same Trust
Model
Not Same
Trust Model
DAP
Verification
Card Issuer
Application Provider
Supplementary
Security Domain(s)
Manages Supplementary
Security Domain Key Profiles
Load/install/personalization of
an Application Provider applet,
data and Key Values
(One platform KMS services a
number of Applets within the
Issuer Security Domain)
(There will always be an Issuer
Security Domain)
N/A
Personalization of Application
Provider application data and
Key Values (One platform KMS
function / application supported)
Load/Install/Personalization of
Application Provider applet, data
and Key Values
(One platform KMS services a
number of Applets within that
security domain)
Ensure Card Issuers approval of
all application loads via DAP
Verification
Page 64