BSI TR-03110 Part-2-V2 2
BSI TR-03110 Part-2-V2 2
BSI TR-03110 Part-2-V2 2
Version 2.21
21. December 2016
History
Version Date Comment
1.00 2006-02-08 Initial public version.
1.01 2006-11-02 Minor corrections and clarifications.
1.10 2007-08-20 Revised version.
1.11 2008-02-21 Minor corrections and clarifications.
2.00 2008-10-27 Enhanced version.
2.01 2009-05-05 Minor corrections and clarifications. Additional Mapping for PACE.
2.02 2009-11-09 Adjustments to PACE required due to international standardization.
2.03 2010-03-24 Clarification on the definition of a session. Standardization of domain
parameters. Introduction of a secondary security object.
2.04 2010-09-15 Clarifications on certificate extensions. Improved handling of chip-specific keys
for privileged terminals.
2.05 2010-10-14 Clarifications on RFU-bits, “Read access to eID” deprecated
2.10 2012-03-20 Split into three parts
2.20 2015-02-03 Enhanced version with additional mechanisms. Split into four parts.
Contents
1 Introduction.......................................................................................................................................................................................... 5
1.1 Cryptographic protocols and procedures of this Guideline....................................................................................5
1.2 Requirements for eIDAS tokens and Terminals............................................................................................................ 6
1.3 Terminology................................................................................................................................................................................... 6
1.4 Abbreviations................................................................................................................................................................................. 6
2 Authentication Procedure.............................................................................................................................................................. 8
2.1 Terminal Types.............................................................................................................................................................................. 8
2.2 User Credentials........................................................................................................................................................................... 9
2.3 Extended General Authentication Procedure.............................................................................................................. 10
2.4 PIN Management...................................................................................................................................................................... 16
3 Protocol Specifications.................................................................................................................................................................. 19
3.1 Cryptographic Algorithms and Notation....................................................................................................................... 19
3.2 PACE................................................................................................................................................................................................ 25
3.3 Terminal Authentication Version 2................................................................................................................................... 26
3.4 Chip Authentication Version 2............................................................................................................................................ 28
3.5 Chip Authentication Version 3............................................................................................................................................ 29
3.6 Restricted Identification........................................................................................................................................................ 31
3.7 Pseudonymous Signature...................................................................................................................................................... 32
List of Figures
Figure 1: Online Authentication based on General Authentication Procedure and Enhanced Role
Authentication................................................................................................................................................................................................ 15
Figure 2: PACE................................................................................................................................................................................................. 25
Figure 3: Terminal Authentication Version 2.................................................................................................................................... 27
Figure 4: Chip Authentication Version 2............................................................................................................................................. 29
Figure 5: Chip Authentication Version 3............................................................................................................................................. 30
Figure 6: Restricted Identification......................................................................................................................................................... 32
Figure 7: Pseudonymous Signature...................................................................................................................................................... 33
List of Tables
Table 1: Key words........................................................................................................................................................................................... 6
Table 2: Overview of key pairs used...................................................................................................................................................... 20
1 Introduction
This Part of this Technical Guideline extends the electronic security mechanisms for electronic travel
documents described in ICAO Doc 9303 [2] to protect the authenticity (including integrity), originality,
and confidentiality of the data stored on tokens used for electronic identification, authentication and
trust services (eIDAS tokens). An eIDAS token MAY be contactless or contact based.
The eIDAS token SHOULD at least support one of the following communication protocols and SHALL
indicate this information in the EF.ATR/INFO file or ATR/ATS historical bytes as defined in [5].
• T=0 according to [4],
• T=1 according to [4];
• T=CL according to [3].
Note: If compliance to ICAO Doc 9303 [2] is required, Basic Access Control/PACE and Extended Access
Control in version 1 (comprising Chip Authentication version 1 and Terminal Authentication version 1)
MUST be used (cf. Part 1 of this Technical Guideline).
1.3 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD
NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described
in RFC 2119 [1]. The key word "CONDITIONAL" is to be interpreted as follows:
CONDITIONAL: The usage of an item is dependent on the usage of other items. It is therefore further
qualified under which conditions the item is REQUIRED or RECOMMENDED.
When used in tables (profiles), the key words are abbreviated as shown in Table 1.
1.4 Abbreviations
The following abbreviations are commonly used throughout this specification.
Name Abbreviation
Chip Identifier ID ICC
Chip Authentication Version 2 Public Key PK ICC
Chip Authentication Version 2 Private Key SK ICC
Domain Parameters D
Name Abbreviation
Cryptographic Group ( Γ (D ),∗)
2 Authentication Procedure
This section defines Terminal Types, Passwords, PIN Management and the Extended General
Authentication Procedure, comprising the General Authentication Procedure and Enhanced Role
Authentication. Support for the different Terminal Types, Passwords and options of the Extended
General Authentication Procedure is implementation dependent and at the discretion of the document
issuer. Profiles for possible combinations are given in Part 4 of this Technical Guideline.
Note: In the following, an Inspection System is always considered to be an extended Inspection System.
Data formats and access rights for Signature Management Terminals are described in [9].
2.2.1 PIN
The PIN is a short secret user password that may be used to access the eID application or other
applications.
The PIN is a blocking password, i.e. the PIN is associated with a retry counter ( RC) that is decreased for
every failed authentication (cf. Section 2.2.3).
The PIN MAY be assigned a reset counter that is decreased after every successful reset of the PIN retry
counter via the PUK. If the reset counter has reached '0', the retry counter is expired.
2.2.2 PUK
The PUK is a long secret user password that may be used to access the unblocking mechanism of the
PIN and application-specific passwords (e.g. a local PIN of the eSign application).
The PUK MAY be a blocking or non-blocking password.
• If the PUK is a non-blocking password, the eIDAS token MUST NOT block the PUK after failed
authentications.
• If the PUK is a blocking password, the PUK is associated with a retry counter (RC) that is
decreased for every failed authentication (cf. Section 2.2.3).
▪ Attribute Terminal
▪ Signature Management Terminal
◦ Signature Terminal
• Enhanced Role Authentication (OPTIONAL)
The Enhanced Role Authentication is used to additionally authenticate an Attribute Provider.
The eIDAS token MUST support re-authentication of the terminal with the General Authentication
Procedure after a session (cf. Section “Secure Messaging” in Part 3 of this Technical Guideline on the
definition of “session”) has been terminated and the terminal has selected the Master File.
• A Signature Terminal or Signature Management Terminal SHALL use the PIN, the CAN or the
PUK.
If successful, the eIDAS token performs the following:
• It SHALL start secure messaging.
• It SHALL provide trust-points for Terminal Authentication.
Note: Additional files for Passive Authentication MAY be provided by application(s) (e.g. cf. [2] or Part 1
of this Technical Guideline)
• It SHALL grant read/write access to data groups according to the terminal’s access rights.
• It SHALL restrict those access rights to Secure Messaging to be established by the
authenticated ephemeral public key (except the respective Security Object).
2. Passive Authentication (REQUIRED)
The terminal performs the following
• The terminal SHALL read and verify the Card/Chip Security Security Object.
• The terminal SHALL compare the unsecured SecurityInfos read before PACE to the
secured contents of the Security Object.
3. Chip Authentication Version 2 or Version 3 (REQUIRED)
The terminal MAY instruct the eIDAS token to store the current Session Context (cf. Section 2.3.1).
The eIDAS token SHALL (re-)start secure messaging using the keys derived during Chip
Authentication.
Note: The terminal and the eIDAS token MUST use the established security context (i.e. secure
messaging established by Chip Authentication) for all further communication.
Authentication Terminal and MUST restrict read access to this Attribute Request to authenticated
Attribute Providers.
5. Restore Session Context (REQUIRED)
The Authentication Terminal SHALL initiate the restoration of the PACE Session Context stored
by the eIDAS token during step 2. The eIDAS token SHALL store the Chip Authentication Session
Context prior to restarting Secure Messaging.
6. Extended Access Control (REQUIRED)
The eIDAS token and the Attribute Provider mutually authenticate as genuine. The eIDAS token
SHALL grant access rights according to the effective authorization. The eIDAS token SHALL store
the PACE Session Context prior to restarting Secure Messaging.
7. Processing of Attribute Request (OPTIONAL)
The authenticated Attribute Provider reads the stored Attribute Request from the eIDAS token
and writes the resulting Attributes to the eIDAS token. The eIDAS token SHALL restrict read
access for stored Specific Attributes to the Authentication Terminal authenticated during the
preceding General Authentication Procedure (step 2), and for Generic Attributes to
Authentication Terminals with the required authorization, respectively.
8. Restore Session Context (REQUIRED)
The Attribute Provider SHALL initiate the restoration of the PACE Session Context stored by the
eIDAS token during step 6. Subsequently, the terminal SHALL initiate restoration of the Chip
Authentication Session Context stored by the eIDAS token during step 5.
9. Read Attribute (OPTIONAL)
The Authentication Terminal MAY read the stored Attribute (and other data according to the
effective authorization).
Figure 1: Online Authentication based on General Authentication Procedure and Enhanced Role Authentication
eID Server: The eID server is the remote part of the authentication terminal. It is authorized to access
eIDAS token data and contains the interfaces to the user device and to the PKI infrastructure. The eID
server provides the user device with a chain of Terminal Authentication certificates and a digital
signature created on the eIDAS token’s challenge with the corresponding private key.
User Device: The user device is the local part of the authentication terminal and interacts with the user,
the eIDAS token, and the eID server but is not authorized to access eIDAS token data. In particular, the
user device contains an eID client software, a token reader, a display and an interface for user credential
input. The chain of Terminal Authentication certificates received from the eID server are displayed to
the user and only if the user accepts, the user device forwards the received certificates to the eIDAS
token.
Note: Only after Chip Authentication when a secure end-to-end connection between eIDAS token and
eID server is established, the eIDAS token grants access to eIDAS token data according to the access
rights.
– In case the PUK is associated with a retry counter, it SHALL reset the retry counter of the
PUK.
2. Password Verification based on PACE with PIN (CONDITIONAL)
This step is REQUIRED in the following cases:
• To resume the PIN.
• To proceed with the General Authentication Procedure after PIN management. In this case the
terminal MUST indicate the terminal type (authentication terminal) and required access
rights.1
If the PIN was successfully used and the PIN is operational or temporarily resumed, the eIDAS
token performs the following:
• If the PIN is temporarily resumed it SHALL resume the PIN.
• It SHALL reset the retry counter of the PIN.
• It SHALL grant access to the following PIN management mechanism: Change PIN
3. PIN Management (CONDITIONAL)
This step is REQUIRED to change or unblock the PIN.
The eIDAS token performs the following:
• It SHALL allow the terminal to perform the following PIN management operations:
– Change PIN, if the terminal has access to this operation.
– Unblock PIN, if the terminal has access to this operation.
If the PIN is associated with a reset counter, the reset counter MUST NOT be expired and
the eIDAS token SHALL decrease the reset counter after a successful execution of both, the
PACE protocol with the PUK and performing the operation Unblock PIN.
Note: Support for the PIN management operation Change PIN if PACE with PUK was used is
OPTIONAL and implementation specific.
1 This is most likely the case if the CAN is used to resume the PIN as part of the General Authentication
Procedure.
2 See section 3.3 for requirements on terminal's access rights.
• It MAY allow the terminal to perform the following PIN management operations:
– Change PIN
– Unblock PIN
• It MUST allow the terminal to perform the following PIN management operations:
– Activate PIN
– Deactivate PIN
3 Protocol Specifications
In this section, cryptographic protocols for PACE, Chip Authentication and Terminal Authentication are
specified assuming an arbitrary communication infrastructure. Support for the protocols is
implementation dependent and at the discretion of the document issuer. Profiles for possible
combinations are given in Part 4 of this Technical Guideline.
A mapping to ISO 7816 commands is given in Part 3 of this Technical Guideline.
3 The table only shows the keys used for cryptographic computations within the particular protocol. Data or
keys used for binding purposes between the protocols are not displayed for simplicity, but explained in the
protocol specification.
3.1.1.1 Operations
• The operation for computing a hash over a message m is denoted by Hm.
• The operation for computing a compressed representation of a public key PK is denoted by
Comp( PK ).
3.1.2.1 Keys
Symmetric keys are derived from a shared secret K and an OPTIONAL nonce r or from a password
using a Key Derivation Function (KDF):
• Deriving a key for message encryption is denoted by K Enc =KDFEnc K ,[ r].
• Deriving a key for message authentication is denoted by K MAC =KDF MAC K ,[ r].
• Deriving a key from a password is denoted by K =KDF .
3.1.2.2 Operations
The operations for encrypting and decrypting a message are denoted as follows:
• Encrypting a plaintext m with key K Enc is denoted by c=E K Enc , m.
• Decrypting a ciphertext c with key K Enc is denoted by m=D K Enc ,c.
The operation for computing an authentication code T on message m with key K MAC is denoted as
T =MAC( K MAC , m).
3.1.4.1 Keys
The following key pairs are used for PACE and Chip Authentication:
• For PACE both the eIDAS token and the terminal generate ephemeral Diffie-Hellman key pairs
~
based on the ephemeral domain parameters D Mapped .
~
◦ The eIDAS token’s ephemeral public key is PK PACE ICC
, the corresponding private key is
~ PACE
SK ICC .
~ ~
◦ The terminal’s ephemeral public key is PK PACE
PCD
, the corresponding private key is SK PACE
PCD
.
• For Chip Authentication Version 2, the eIDAS token uses a static Diffie-Hellman key pair and
the terminal generates an ephemeral key pair based on the eIDAS token’s static domain
parameters D ICC .
◦ The eIDAS token’s static public key is PK ICC , the corresponding private key is SK ICC .
~ ~
◦ The terminal’s ephemeral public key is PK CAPCD
, the corresponding private key is SK CA
PCD
.
~
◦ The terminal’s compressed ephemeral public key is denoted by Comp( PK CA
PCD ).
• For Chip Authentication Version 3, both the eIDAS token and the Terminal generate ephemeral
Diffie-Hellman key pairs based on the eIDAS token’s static domain parameters D ICC . The key
pair is used to perform an anonymous key agreement in order to establish a secure channel.
~ ~
◦ The eIDAS token’s ephemeral public key is PK CA CA
ICC , the corresponding private key is SK ICC .
~ ~
◦ The terminal’s ephemeral public key is PK CAPCD
, the corresponding private key is SK CAPCD
.
• For Restricted Identification the eIDAS token uses a static Diffie-Hellman key pair and the
terminals within a sector use an (almost) static Diffie-Hellman key pair where the private key is
not known to the terminal.
◦ The eIDAS token's static public key is PK ID, the corresponding private key is SK ID.
◦ The sector's static public key is PK Sector, the corresponding private key is SK Sector.
◦ The revocation sector public key PK Revocation, the corresponding private key is SK Revocation.
Sector.
◦ The sector-specific identifier is I ID .
Private keys MUST be stored securely by the respective holders.
It is REQUIRED that the eIDAS token and terminals validate public keys received from each other.
Note: The terminal and, in case Chip Authentication Version 3 is used, also the eIDAS token will have to
use different ephemeral public keys for the PACE key agreement and Chip Authentication. To ease
distinction, the keys are marked with an index identifying the corresponding protocol (PACE, CA).
3.1.4.2 Operations
The operation for generating a shared secret K is denoted by K =KA SK , PK , D , where SK is a
(ephemeral or static) secret key, PK is a (ephemeral or static) public key and D are the (ephemeral or
static) domain parameters.
3.1.5 Signatures
The keys and operations for signatures are described in an algorithm-independent way. A mapping to
RSA and ECDSA can be found in Part 3 of this Technical Guideline.
3.1.5.1 Keys
For Terminal Authentication the following key pair is used:
• The terminal has a static authentication key pair. The public key is PK PCD, the corresponding
private key is SK PCD.
3.1.5.2 Operations
The operations for signing and verifying a message are denoted as follows:
• Signing a message m with private key SK PCD is denoted by s=Sign SK PCD , m .
• Verifying the resulting signature s with public key PK PCD is denoted by Verify PK PCD , s , m .
3.1.6.1 Keys
For Chip Authentication Version 3 and Pseudonymous Signature, a group manager chooses static
domain parameters D M and generates a key pair over D M .
• The public key is denoted by PK M , the corresponding private key by SK M .The eIDAS token
contains the extended domain parameters D^M =(D M , PK M ) . The eIDAS token's public key is
denoted by PK ICC and MUST be a group key, i.e. it MUST be used for a sufficiently large group
of eIDAS token. The corresponding private key SK ICC is not stored on the eIDAS token.
• Instead, the group manager chooses randomly a key SK ICC , 2 and computes SK ICC ,1 such that
SK ICC =SK ICC ,1 + SK M SK ICC ,2 mod ord ( γ ) . Hence, SK ICC ,1 , SK ICC , 2 denote the eIDAS
token's individualized static private keys. The corresponding individualized public keys are
denoted by PK ICC , 1 and PK ICC ,2 . These keys are not stored on the eIDAS token.
• The terminal uses an (almost) static sector public key PK Sector with the same domain
parameters D^M , the corresponding private key is SK Sector.
• The revocation sector public key is PK Revocation, the corresponding private key is SK Revocation.
The (up to two) sector-specific identifiers are denoted by I Sector Sector
• ICC , 1 and I ICC , 2 .
It is REQUIRED that the eIDAS token and terminals validate public keys received from each other.
3.1.6.2 Operations
The pseudonymous signature of an input M with SK ICC ,1 , SK ICC , 2 and sector-specific public key
PK Sector over D^M is denoted by ps =PSign ( D^ , I Sector , I Sector , SK , SK , ID , M ) and is
ICC M ICC ,1 ICC ,2 ICC , 1 ICC ,2 DSI
computed as follows:.
Function: PSign
Input Parameters: D^M , I Sector Sector
ICC , 1 (CONDITONAL), I ICC , 2 (CONDITIONAL),
SK ICC ,1 , SK ICC , 2 , ID DSI
and the input M to be signed
Output Value: (c , s 1 , s 2 )
Actions:
1. Choose random numbers K 1, K 2, ∈{1, ... , ord ( γ )−1 } .
2. Compute Q 1=pow ( γ ( D M ), K 1 )∗pow (PK M , K 2 ) and conditionally
• If Q 1=0 , goto 1.
3. Witness computation:
• Compute
c=H(Π (Q1 )||Π (I Sector Sector
ICC ,1 )||Π( A1)||Π (I ICC , 2)||Π (A 2)||Π (PK Sector )||ID DSI ||M ).
3.2 PACE
The PACE Protocol is a password authenticated Diffie-Hellman key agreement protocol that provides
secure communication and explicit password-based authentication of the eIDAS token and the
terminal (i.e. eIDAS token and terminal share the same password ).
This protocol establishes Secure Messaging between an eIDAS token and a terminal based on weak
(short) passwords.
additional data required for Map 〈 〉 additional data required for Map
~ ~
D Mapped =Map( D ICC , s ) D Mapped =Map( D ICC , s )
choose random ephemeral key pair choose random ephemeral key pair
~ PACE ~ PACE ~ ~ PACE ~ PACE ~
( SK ICC , PK ICC , D Mapped ) ( SK PCD , PK PCD , D Mapped )
~~ ~ ~~
check that PK PACE PACE
PCD ≠ PK ICC
PK PCD check that PK PACE PACE
ICC ≠ PK PCD
⟨~⟩
PK ICC
~~ PACE ~ ~~~
K =KA( SK PACE
ICC , PK PCD , D Mapped )
K =KA( SK PCD , PK ICC , D Mapped )
T PCD ~ PACE
〈 T PCD =MAC( K MAC , PK ICC )
~ T ICC
T ICC =MAC( K MAC , PK PACE
PCD ) ⟩
Figure 2: PACE
The following steps are performed by the terminal and the eIDAS token, a simplified version is also
shown in Figure 2:
1. The eIDAS token randomly and uniformly chooses a nonce s , encrypts the nonce to
z=E K π , s, where K =KDF is derived from the shared password , and sends the
ciphertext z together with the static domain parameters D ICC to the terminal.
2. The terminal recovers the plaintext s=D K , z with the help of the shared password .
3. Both the eIDAS token and the terminal perform the following steps:
~
a) They compute the ephemeral domain parameters DMapped =Map( D ICC , s ) .
b) They perform an anonymous Diffie-Hellman key agreement based on the ephemeral
domain parameters and generate the shared secret.
~~ PACE ~ ~ PACE ~ PACE ~
K =KA ( SK PACE
ICC , PK PCD , D Mapped )=KA ( SK PCD , PK ICC , D Mapped ).
During Diffie-Hellman key agreement, each party SHOULD check that the two public keys
~
PK ICC and
PK PCD differ.
c) They derive session keys K MAC =KDF MAC K and K Enc =KDFEnc K .
~
d) They exchange and verify the authentication token T PCD=MAC( K MAC , PK PACE
ICC )
and
~
T ICC =MAC( K MAC , PK PACE
PCD )
.
Note: All messages MUST be transmitted with Secure Messaging in Encrypt-then-Authenticate mode
using session keys derived from PACE.
The following steps are performed by the terminal and the eIDAS token, a simplified version is also
shown in Figure 3.
1. The terminal sends a certificate chain to the eIDAS token. The chain starts with a certificate
verifiable with the CVCA public key PK CVCA stored on the eIDAS token and ends with the
Terminal Certificate.
2. The eIDAS token verifies the certificates and extracts the terminal’s public key PK PCD .
3. The terminal
~~
a) generates an ephemeral Diffie-Hellman key pair ( SK CA CA
PCD , PK PCD , D ICC )
, and sends the
~
compressed ephemeral public key Comp( PK CA
PCD )
to the eIDAS token, and
Note: In version 2 of the protocols, Chip Authentication MUST be performed after Terminal
~~
Authentication. Hence the ephemeral key pair ( SK CA CA
PCD , PK PCD , D ICC )
MUST be generated as part of
~
Terminal Authentication, and Comp( PK CA PCD )
MUST be included into the signature computation. In
addition, the terminal MAY send authenticated auxiliary data A PCD to the eIDAS token.
1. The eIDAS token sends its static Diffie-Hellman public key PK ICC and the domain parameters
D ICC to the terminal.
~
2. The terminal sends the ephemeral public key PK CA
PCD
to the eIDAS token.
3. The eIDAS token computes the terminal’s compressed ephemeral public key
~
Comp( PK PCDCA ) and compares this to the compressed public key received in Terminal
Authentication.
4. Both the eIDAS token and the terminal compute the following:
~ ~
a) The shared secret K =KA ( SK ICC , PK CA CA
PCD , D ICC )=KA ( SK PCD , PK ICC , D ICC )
5. The eIDAS token randomly chooses a nonce r ICC , derives session keys
K MAC =KDFMAC ( K , r ICC ) and K Enc =KDFEnc ( K , r ICC ) for Secure Messaging from K and
~
r ICC , computes the authentication token T ICC =MAC( K MAC , PK CA
PCD )
and sends r ICC and
T ICC to the terminal.
6. The terminal derives session keys K MAC =KDFMAC ( K , r ICC ) and K Enc =KDFEnc ( K , r ICC )
for Secure Messaging from K and r ICC and verifies the authentication token T ICC .
To verify the authenticity of the PK ICC the terminal SHALL perform Passive Authentication.
~ CA ~ CA
K =KA( SK ICC , PK PCD , D ICC ) K =KA( SK PCD , PK ICC , D ICC )
choose r ICC randomly
~ T ICC
[T ICC =MAC( K MAC , PK CA
PCD ) ] r ICC
⟩
Note: Passive Authentication MUST be performed in combination with Chip Authentication. While in
Version 1 Passive Authentication SHOULD be performed after Chip Authentication using the
Document Security Object, in Version 2 Passive Authentication MUST be performed before Chip
Authentication using the Card Security Object or the Chip Security Object. Only after a successful
validation of the respective Security Object the eIDAS token may be considered genuine.
The eIDAS token MAY return up to two sector-specific pseudonyms during execution of the protocol.
The generation and output of each pseudonym is CONDITIONAL and depends on the personalization
of the eIDAS token and the effective authorization of the terminal (cf. Part 3 of this Technical Guideline
for details). The eIDAS token SHALL grant access to at least one pseudonym without explicit
authorization of the terminal
For details, see also Part 3 of this Technical Guideline.
In this version, Terminal Authentication Version 2 MUST be performed before Chip Authentication, as
~~
the Terminal's ephemeral key pair ( SK CA CA
PCD , PK PCD , D ICC )
is generated as part of Terminal
Authentication. If Terminal Authentication was performed more than once within the same session, the
~
most recent PK CA PCD
MUST be used.
Chip Authentication Version 3 consists of the following steps, performed by Terminal and eIDAS token.
1. Perform Key Agreement
~
• The Terminal sends the ephemeral public key PK CA
PCD
to the eIDAS token.
• The eIDAS token computes the Terminal's compressed ephemeral public key
~
Comp( PK CA PCD )
and compares it to the compressed public key received in Terminal
Authentication.
~ ~
SK CA CA
• The eIDAS token generates an ephemeral Diffie Hellman key pair ICC , PK ICC over
~
D ICC and sends PK CA
ICC to the Terminal.
• The eIDAS token and the Terminal compute the shared secret
~ CA ~ CA ~ CA ~ CA
K =KA ( SK ICC , PK PCD , D ICC )=KA ( SK PCD , PK ICC , D ICC ) and derive session keys
K Enc =KDFEnc ( K ) and K MAC =KDF MAC (K ) .
• The eIDAS token SHALL restart secure messaging using session keys K Enc , K MAC .
2. Perform Pseudonymous Signature Authentication (PSA)
• The eIDAS token SHALL compute the Pseudonymous Signature on the eIDAS token's
~
ephemeral public key PK CA
ICC as input.
3. The terminal checks whether a received sector-specific identifier is in the revocation list (or
whitelist) received from the Documents Verifier (if applicable).
To verify the authenticity of the PK ICC the terminal SHALL perform Passive Authentication before
Chip Authentication Version 3.
Note: If PACE with generic mapping is performed before Chip Authentication Version 3, the eIDAS
~
token MAY use the ephemeral key pair of the PACE mapping phase as PK CA
ICC
. Otherwise, the eIDAS
token MUST generate a new ephemeral key pair.
Note: Passive Authentication MUST be performed in combination with Chip Authentication Version 3.
Only after a successful validation of the respective Security Object (including the group manager's
public key), the eIDAS token may be considered genuine.
4 Depending on the generation of the sectors a trusted third party may or may not be able to link sector
identifiers between sectors.
Note: Depending on the hash function used to create the sector-specific identifier, hash collisions may
occur.
Restricted Identification SHALL only be used after Terminal Authentication and Chip Authentication
have been successfully performed. Only then the authenticity of the Sector Public Key PK Sector,
including the domain parameters D , and of the sector-specific identifier I Sector
ID is guaranteed.
Note: The eIDAS token MUST verify that the hash of the Sector Public Key is contained in a Terminal
Sector extension (cf. Part 3 of this Technical Guideline) of the Terminal Certificate.
• The protocol allows for whitelisting of original eIDAS token, even in case of a group key
compromise.
The eIDAS token MAY return up to two sector-specific pseudonyms during execution of the protocol.
The generation and output of each pseudonym is CONDITIONAL and depends on the personalization
of the eIDAS token and the effective authorization of the terminal (cp .Part 3 of this Technical Guideline
for details). However, the eIDAS token MUST deny execution of the protocol if no pseudonym would be
returned to the terminal.
For details, see also Part 3 of this Technical Guideline.
Dependent on the use case, different variants of the Pseudonymous Signature protocol exist. The
variants differ in the type of the input and the originator of the input that is signed pseudonymously
(for details, see section 3.7.3).
Compute
I Sector
ICC , 1=KA( SK ICC ,1 , PK Sector , D M )
and/or
I Sector
ICC , 2=KA( SK ICC ,2 , PK Sector , D M )
The following steps are performed by the terminal and the eIDAS token, a simplified version is also
shown in Figure 7.
1. The terminal
a) MAY send the input M to be signed (Pseudonymous Signature of a Message) or indicate
the input M to be signed (Pseudonymous Signatures of Credentials) to the eIDAS token.
b) The terminal sends the static Sector Public Key PK Sector to the eIDAS token.
2. The eIDAS token
a) verifies the input M using the authenticated auxiliary data A PCD sent during Terminal
Authentication if the input was sent by the terminal,
b) verifies PK Sector and derives the relevant sector-specific pseudonyms, i.e.
◦ I Sector
ICC , 1=KA( SK ICC ,1 , PK Sector , D M ) is generated if the terminal is authorized to get
Sector
I ICC , 1
◦ I Sector
ICC , 2=KA(SK ICC ,2 , PK Sector , D M ) is generated if the terminal is authorized to get
Sector
I ICC , 2 ,
c) computes the pseudonymous signature ps ICC over D^M on the input M and the digital
signature information ID DSI
The ICC MUST include a pseudonym as input into the signature generation if and only if
the pseudonym was generated in step a) (i.e. the terminal is authorized to get the
pseudonym)
Sector
d) and sends the generated Pseudonyms I ICC , 1 and/or I Sector
ICC , 2 together with the
Pseudonymous Signature ps ICC to the Terminal.
The ICC MUST output a pseudonym if and only if the pseudonym was generated in step a).
3. The terminal checks that
PVerify ( D^M , PK ICC , I ICC ,1 , I ICC ,2 , ID DSI , ps ICC , M )=true .
Sector Sector
Sector Sector
4. If one of the sector-specific pseudonyms I ICC , 1 or I ICC , 2 is used to check the revocation status
of the eIDAS token, the terminal checks whether the particular sector-specific pseudonym is in
the list of revoked sector identifiers received from the Document Verifier.
Note: The eIDAS token MUST verify the Sector Public Key using the corresponding terminal Sector
extension (cf. Part 3 of this Technical Guideline) contained in the Terminal Certificate. The terminal
MUST verify the group manager's public key during Passive Authentication.
In this case, the input to the signature computation is sent by the terminal to the eIDAS token.
Note: Authentication of the terminal (Terminal Authentication) and the eIDAS token (Chip
Authentication Version 2 or Version 3, respectively) MUST have been successfully performed before the
Pseudonymous Signature of a Message is used.
Note: Authentication of the terminal (Terminal Authentication) and the eIDAS token (Chip
Authentication Version 2 or Version 3, respectively) MUST have been successfully performed before the
Pseudonymous Signature of Credentials is used.
Bibliography
[1] Bradner, Scott. Key words for use in RFCs to indicate requirement levels, RFC 2119, 1997
[2] ICAO, Machine Readable Travel Documents, ICAO Doc9303, 2015
[3] ISO/IEC 14443. Identification cards - Contactless integrated circuit cards - Proximity
cards,
[4] ISO/IEC 7816-3:2006. Identification cards – Integrated circuit cards – Part 3: Cards with
contacts — Electrical interface and transmission protocols, 2006
[5] ISO/IEC 7816-4:2013. Identification cards – Integrated circuit cards – Part 4:
Organization, security and commands for interchange, 2013
[6] J. Bender, M. Fischlin, D. Kügler, Security Analysis of the PACE Key-Agreement Protocol,
in ISC 2009, pp. 33-48, 2009
[7] J. Bender, O. Dagdelen, M. Fischlin, D. Kügler, Domain-Specific Pseudonymous Signatures
for the German Identity Card, Lecture Notes in Computer Science Volume 7483, pp
104-119 , 2012
[8] Ö. Dagdelen, M. Fischlin, Security Analysis of the Extended Access Control Protocol for
Machine Readable Travel Documents, in ISC 2010, pp. 54-68, 2010
[9] Technical Report - Signature creation and administration for eIDAS tokens, Version 1.0