< draft-urien-eap-smartcard-36.txt   draft-urien-eap-smartcard-37.txt >
EAP Working Group P. Urien EAP Working Group P. Urien
Internet Draft Telecom ParisTech Internet Draft Telecom ParisTech
Intended status: Informational G. Pujolle Intended status: Informational G. Pujolle
LIP6 LIP6
December 2018 June 2019
Expires: June 2019 Expires: December 2019
EAP Support in Smartcard EAP Support in Smartcard
draft-urien-eap-smartcard-36.txt draft-urien-eap-smartcard-37.txt
Abstract Abstract
This document describes the functional interface, based on the This document describes the functional interface, based on the
ISO7816 standard, to EAP methods, fully and securely executed in ISO7816 standard, to EAP methods, fully and securely executed in
smart cards. This class of tamper resistant device may deliver smart cards. This class of tamper resistant device may deliver
client or server services; it can compute Root Keys from an Extended client or server services; it can compute Root Keys from an Extended
Master Session Key (EMSK). Master Session Key (EMSK).
Requirements Language Requirements Language
skipping to change at page 1, line 42 skipping to change at page 1, line 42
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 2019. This Internet-Draft will expire on December 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with
respect to this document. respect to this document.
Table of Contents Table of Contents
skipping to change at page 3, line 4 skipping to change at page 3, line 4
5.14 Multiple EAP Identity selections.......................... 13 5.14 Multiple EAP Identity selections.......................... 13
5.15 Get-Exported-Parameters................................... 13 5.15 Get-Exported-Parameters................................... 13
5.17 Get-AMSK.................................................. 14 5.17 Get-AMSK.................................................. 14
6 Client and Server facilities.................................... 15 6 Client and Server facilities.................................... 15
7 IEEE 802.16 services............................................ 15 7 IEEE 802.16 services............................................ 15
7.1 Get-Certificate............................................ 15 7.1 Get-Certificate............................................ 15
7.2 Private-Key-Decryption..................................... 16 7.2 Private-Key-Decryption..................................... 16
8 Relationships with the Smartcard Interface Entity............... 16 8 Relationships with the Smartcard Interface Entity............... 16
9 ISO 7816-4 APDUs................................................ 16 9 ISO 7816-4 APDUs................................................ 16
9.1 ISO 7816 Status Word....................................... 17 9.1 ISO 7816 Status Word....................................... 17
EAP Support in Smartcard December 2018
9.2 Segmentation/Reassembly rules.............................. 17 9.2 Segmentation/Reassembly rules.............................. 17
9.2.1 Segmentation ........................................ 17 9.2.1 Segmentation ........................................ 17
9.2.2 Reassembly .......................................... 18 9.2.2 Reassembly .......................................... 18
9.3 PIN Management............................................. 18 9.3 PIN Management............................................. 18
9.3.1 Verify PIN .......................................... 18 9.3.1 Verify PIN .......................................... 18
9.3.2 Change PIN .......................................... 18 9.3.2 Change PIN .......................................... 18
9.3.3 Enable PIN .......................................... 18 9.3.3 Enable PIN .......................................... 18
9.3.4 Disable PIN ......................................... 19 9.3.4 Disable PIN ......................................... 19
9.3.5 Unblock PIN ......................................... 19 9.3.5 Unblock PIN ......................................... 19
9.4 Multi-Applications smartcard considerations................ 19 9.4 Multi-Applications smartcard considerations................ 19
skipping to change at page 4, line 4 skipping to change at page 4, line 4
10.9.1 Mutual Authentication .............................. 32 10.9.1 Mutual Authentication .............................. 32
10.9.2 Confidentiality .................................... 32 10.9.2 Confidentiality .................................... 32
10.9.3 Key Derivation ..................................... 32 10.9.3 Key Derivation ..................................... 32
10.9.4 Man-in-the-Middle Attacks .......................... 32 10.9.4 Man-in-the-Middle Attacks .......................... 32
10.9.5 Dictionary Attacks ................................. 32 10.9.5 Dictionary Attacks ................................. 32
10.9.6 Cryptographic Binding .............................. 32 10.9.6 Cryptographic Binding .............................. 32
10.9.7 Channel Binding .................................... 33 10.9.7 Channel Binding .................................... 33
10.9.8 Protection Against Rogue Networks .................. 33 10.9.8 Protection Against Rogue Networks .................. 33
10.9.9 Authentication Method Security ..................... 33 10.9.9 Authentication Method Security ..................... 33
11 Intellectual Property Right Notice............................. 33 11 Intellectual Property Right Notice............................. 33
EAP Support in Smartcard December 2018
12 Annex 1, EAP-SIM packets details............................... 34 12 Annex 1, EAP-SIM packets details............................... 34
12.1 Full Authentication....................................... 34 12.1 Full Authentication....................................... 34
12.2 Re-Authentication......................................... 35 12.2 Re-Authentication......................................... 35
13 Annex 2, EAP-MD5 packet details................................ 37 13 Annex 2, EAP-MD5 packet details................................ 37
14 Annex 3 - TLS support.......................................... 39 14 Annex 3 - TLS support.......................................... 39
14.1 Unix Time issue........................................... 39 14.1 Unix Time issue........................................... 39
14.2 Fragment Maximum Size..................................... 39 14.2 Fragment Maximum Size..................................... 39
14.3 EAP/TLS messages format................................... 40 14.3 EAP/TLS messages format................................... 40
14.4 Example of EAP/TLS Authentication......................... 41 14.4 Example of EAP/TLS Authentication......................... 41
15 Annex 4 ASN.1 BER Tag coding for the subscriber profile 15 Annex 4 ASN.1 BER Tag coding for the subscriber profile
skipping to change at page 5, line 4 skipping to change at page 5, line 4
17.1.2 Server Public Key (1024 bits) ...................... 45 17.1.2 Server Public Key (1024 bits) ...................... 45
17.1.3 Client Private Key (1024 bits) ..................... 45 17.1.3 Client Private Key (1024 bits) ..................... 45
17.2 Full EAP-TLS trace (mode 2)............................... 46 17.2 Full EAP-TLS trace (mode 2)............................... 46
17.3 EAP-TLS mode1 ISO7816 trace (T=0 protocol)................ 53 17.3 EAP-TLS mode1 ISO7816 trace (T=0 protocol)................ 53
18 Annex 7, EAP-AKA ISO7816 APDUs Trace (T=0 Protocol)............ 56 18 Annex 7, EAP-AKA ISO7816 APDUs Trace (T=0 Protocol)............ 56
19 IANA Considerations............................................ 61 19 IANA Considerations............................................ 61
20 References..................................................... 61 20 References..................................................... 61
20.1 Normative References...................................... 61 20.1 Normative References...................................... 61
20.2 Informative References.................................... 63 20.2 Informative References.................................... 63
21 Authors' Addresses............................................. 63 21 Authors' Addresses............................................. 63
EAP Support in Smartcard December 2018
1 Overview 1 Overview
All wireless LAN technologies derived from IEEE 802.11 or IEEE All wireless LAN technologies derived from IEEE 802.11 or IEEE
802.16 specifications need strong security protocols for data 802.16 specifications need strong security protocols for data
privacy, integrity and network access control. privacy, integrity and network access control.
Standards such as [802.1X], [IEEE 802.16e], [IKEv2], require the Standards such as [802.1X], [IEEE 802.16e], [IKEv2], require the
Extensible Authentication Protocol (EAP) [RFC 3748] as the framework Extensible Authentication Protocol (EAP) [RFC 3748] as the framework
for authentication purposes, with a mutual authentication between a for authentication purposes, with a mutual authentication between a
client (supplicant, subscriber's terminal, VPN user) and an client (supplicant, subscriber's terminal, VPN user) and an
skipping to change at page 6, line 5 skipping to change at page 6, line 5
Annex one provides a reference example for a SIM based Annex one provides a reference example for a SIM based
authentication [EAP-SIM]. Annex two gives a reference example for a authentication [EAP-SIM]. Annex two gives a reference example for a
MD5 based authentication. Annex three presents a reference example MD5 based authentication. Annex three presents a reference example
for a TLS based authentication [EAP-TLS]. Annex four describes the for a TLS based authentication [EAP-TLS]. Annex four describes the
optional user's profile according to the ASN.1 [ASN.1] syntax. Annex optional user's profile according to the ASN.1 [ASN.1] syntax. Annex
five illustrates an MD5 authentication scenario working with an EAP five illustrates an MD5 authentication scenario working with an EAP
smartcard. Annex six shows ISO 7816 data exchanges with EAP-TLS smartcard. Annex six shows ISO 7816 data exchanges with EAP-TLS
smartcards. Annex seven presents ISO 7816 data exchanges with EAP- smartcards. Annex seven presents ISO 7816 data exchanges with EAP-
AKA [EAP-AKA] smart cards. AKA [EAP-AKA] smart cards.
EAP Support in Smartcard December 2018
2 Relationships with RFC 3748 2 Relationships with RFC 3748
2.1 EAP multiplexing model 2.1 EAP multiplexing model
According to [RFC 3748], EAP implementations conceptually consist of According to [RFC 3748], EAP implementations conceptually consist of
the four following components: the four following components:
1- Lower layer. The lower layer is responsible for transmitting and 1- Lower layer. The lower layer is responsible for transmitting and
receiving EAP frames between the peer and authenticator. EAP has receiving EAP frames between the peer and authenticator. EAP has
been run over a variety of lower layers including been run over a variety of lower layers including
skipping to change at page 7, line 5 skipping to change at page 7, line 5
methods. methods.
2.2 EAP smartcards 2.2 EAP smartcards
An EAP smart card implements one or several EAP methods, and works An EAP smart card implements one or several EAP methods, and works
in cooperation with a Smartcard Interface Entity, that sends and in cooperation with a Smartcard Interface Entity, that sends and
receives EAP messages to/from this device. The simplest form of this receives EAP messages to/from this device. The simplest form of this
interface is a software bridge that transparently forwards EAP interface is a software bridge that transparently forwards EAP
messages to smart card. messages to smart card.
EAP Support in Smartcard December 2018
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
| EAP method| | EAP method| | EAP method| | EAP method|
| Smartcard | | Smartcard | | Smartcard | | Smartcard |
| Client | | Server | | Client | | Server |
| Type = X | | Type = Y | | Type = X | | Type = Y |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
! ! ! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+
| Smartcard | EAP method| | EAP method | Smartcard | | Smartcard | EAP method| | EAP method | Smartcard |
| Interface | Type = Y | | Type = X | Interface | | Interface | Type = Y | | Type = X | Interface |
skipping to change at page 8, line 4 skipping to change at page 8, line 4
| SC.Reset,SC.Get-State | |-> Peer-ID | | SC.Reset,SC.Get-State | |-> Peer-ID |
| MethodState ->| Secure Method |-> Server-ID | | MethodState ->| Secure Method |-> Server-ID |
| | Processing |-> Method-ID | | | Processing |-> Method-ID |
| SC.Process-EAP | | | | SC.Process-EAP | | |
| eapReqData ->| Secure Storage of | SC.Get-Session-Key | | eapReqData ->| Secure Storage of | SC.Get-Session-Key |
| | Method Credentials |-> MSK | | | Method Credentials |-> MSK |
| | | | | | | |
| | Keys caching | SC.Get-AMSK | | | Keys caching | SC.Get-AMSK |
| | (EMSK) |-> AMSK | | | (EMSK) |-> AMSK |
+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+
EAP Support in Smartcard December 2018
The EAP smartcard offers four classes of services, the network The EAP smartcard offers four classes of services, the network
interface, the content management, the security management and the interface, the content management, the security management and the
identity management. identity management.
3.1 Network Interface 3.1 Network Interface
Network services comprise two kinds of functional interfaces, Network services comprise two kinds of functional interfaces,
described in [RFC 4137] and in [EAP-KEY], that we call Peer-Layer described in [RFC 4137] and in [EAP-KEY], that we call Peer-Layer
and Exported-Parameters. and Exported-Parameters.
skipping to change at page 9, line 5 skipping to change at page 9, line 5
the SC.Get-Exported-Parameter command. the SC.Get-Exported-Parameter command.
- Server-ID corresponding to the identity, if any, of the server. - Server-ID corresponding to the identity, if any, of the server.
For example it's the subject field of an X.509 certificate. This For example it's the subject field of an X.509 certificate. This
value is obtained via the SC.Get-Exported-Parameter command. value is obtained via the SC.Get-Exported-Parameter command.
- Peer-ID used for the identity of the client, if any. It could be - Peer-ID used for the identity of the client, if any. It could be
the subject field of an X.509 certificate. This value is obtained the subject field of an X.509 certificate. This value is obtained
via the SC.Get-Exported-Parameter command. via the SC.Get-Exported-Parameter command.
EAP Support in Smartcard December 2018
- Channel Bindings used as elements of information, typically - Channel Bindings used as elements of information, typically
relative to the IEEE 802.1x access point (Called-Station-Id, relative to the IEEE 802.1x access point (Called-Station-Id,
Calling-Station-Id, NAS-Identifier, NAS IP-Address, etc.). They are Calling-Station-Id, NAS-Identifier, NAS IP-Address, etc.). They are
optionally mirrored during an EAP session, from server to client. optionally mirrored during an EAP session, from server to client.
This value is obtained via the SC.Get-Exported-Parameter command. This value is obtained via the SC.Get-Exported-Parameter command.
3.2 Other services 3.2 Other services
An EAP-Smartcard has a physical interface with the EAP-Peer layer An EAP-Smartcard has a physical interface with the EAP-Peer layer
and produces output values as described in the previous section. and produces output values as described in the previous section.
skipping to change at page 10, line 5 skipping to change at page 10, line 5
- Credentials (certificates, private keys, shared secrets...) - Credentials (certificates, private keys, shared secrets...)
associated to this particular type. associated to this particular type.
It may be of various types: It may be of various types:
- A network SSID as described in the 802.11 standard [IEEE 802.11]. - A network SSID as described in the 802.11 standard [IEEE 802.11].
- A user's identifier (UserID) e.g. an ASCII string. A network - A user's identifier (UserID) e.g. an ASCII string. A network
access identifier, NAI [RFC 7542] MAY be used as UserID. access identifier, NAI [RFC 7542] MAY be used as UserID.
- A pseudonym, i.e. a friendly name. - A pseudonym, i.e. a friendly name.
EAP Support in Smartcard December 2018
- Etc... - Etc...
5 EAP smartcard services 5 EAP smartcard services
Mandatory services MUST be implemented in any smartcard that claims Mandatory services MUST be implemented in any smartcard that claims
conformance with this draft. conformance with this draft.
Optional services are not required by basic authentication Optional services are not required by basic authentication
operations. operations.
skipping to change at page 11, line 4 skipping to change at page 11, line 4
user's subscriptions. The Identity Management software gets from the user's subscriptions. The Identity Management software gets from the
smartcard its current user's identity. smartcard its current user's identity.
5.5 Get-Next-Identity 5.5 Get-Next-Identity
Status: Mandatory Status: Mandatory
Security: Non Secure Security: Non Secure
The smartcard may contain one or more user's identities according to The smartcard may contain one or more user's identities according to
the user's subscriptions. The Identity Management software MAY the user's subscriptions. The Identity Management software MAY
prompt the user's identities and a subsequent selection allows the prompt the user's identities and a subsequent selection allows the
smartcard to process the appropriate EAP authentication type. The smartcard to process the appropriate EAP authentication type. The
EAP Support in Smartcard December 2018
Get-Next-Identity command allows the Identity Management software to Get-Next-Identity command allows the Identity Management software to
read all the available user's identities. read all the available user's identities.
The Get-Next-Identity command MAY inform the Identity Management The Get-Next-Identity command MAY inform the Identity Management
software when all user's identities have been read. Otherwise the software when all user's identities have been read. Otherwise the
Identity Management software detects the identity list end, when it Identity Management software detects the identity list end, when it
collects again the first identity. collects again the first identity.
5.6 Set-Identity 5.6 Set-Identity
Status: Mandatory Status: Mandatory
skipping to change at page 12, line 5 skipping to change at page 12, line 5
framework state machine for further processing using other EAP- framework state machine for further processing using other EAP-
Packets methods. Packets methods.
The smartcard receives RFC 3748 packets. It retrieves the The smartcard receives RFC 3748 packets. It retrieves the
appropriate EAP authentication type and its associated identifier. appropriate EAP authentication type and its associated identifier.
The smartcard maintains the EAP state machine and returns an EAP NAK The smartcard maintains the EAP state machine and returns an EAP NAK
packet if this state sequence is broken. In that case it reaches the packet if this state sequence is broken. In that case it reaches the
NOT-AUTHENTICATED state. NOT-AUTHENTICATED state.
EAP Support in Smartcard December 2018
Any EAP request/response is silently ignored if the state machine Any EAP request/response is silently ignored if the state machine
was not started. was not started.
The last step of the protocol retrieves the Session Key from the The last step of the protocol retrieves the Session Key from the
smartcard. The smartcard reaches the AUTHENTICATED state. smartcard. The smartcard reaches the AUTHENTICATED state.
5.9 Process-EAP-OOB 5.9 Process-EAP-OOB
Status: Optional. Status: Optional.
Security: Secure (BEARER) Security: Secure (BEARER)
skipping to change at page 13, line 4 skipping to change at page 13, line 4
1) IDENTITY-NOT-SET, no user's identity has been selected. 1) IDENTITY-NOT-SET, no user's identity has been selected.
2) AUTHENTICATING, an authentication session is in progress. 2) AUTHENTICATING, an authentication session is in progress.
3) AUTHENTICATED, last authentication session was successful. 3) AUTHENTICATED, last authentication session was successful.
4) NOT-AUTHENTICATED, no authentication in progress, or last 4) NOT-AUTHENTICATED, no authentication in progress, or last
authentication session failed. authentication session failed.
5.12 Reset-State. 5.12 Reset-State.
Status: Mandatory. Status: Mandatory.
Security: Secure(BEARER) Security: Secure(BEARER)
EAP Support in Smartcard December 2018
If the current state is IDENTITY-NOT-SET, this command has no If the current state is IDENTITY-NOT-SET, this command has no
effect. effect.
Otherwise this command forces the EAP smartcard in the Otherwise this command forces the EAP smartcard in the
AUTHENTICATING state. AUTHENTICATING state.
5.13 Method Functions 5.13 Method Functions
Status: Optional. Status: Optional.
Security: Secure(BEARER) Security: Secure(BEARER)
skipping to change at page 14, line 4 skipping to change at page 14, line 4
The smartcard software MUST maintain a separate EAP state machine The smartcard software MUST maintain a separate EAP state machine
for each of the different selected EAP identities. for each of the different selected EAP identities.
5.15 Get-Exported-Parameters 5.15 Get-Exported-Parameters
Status: Optional. Status: Optional.
Security: Secure(BEARER) Security: Secure(BEARER)
According to [EAP-KEY], EAP methods export a set of parameters that According to [EAP-KEY], EAP methods export a set of parameters that
MAY be used by other EAP layers. In this draft, each attribute is MAY be used by other EAP layers. In this draft, each attribute is
EAP Support in Smartcard December 2018
identified by an index, and is read thanks to the Get-Exported- identified by an index, and is read thanks to the Get-Exported-
Parameter(index) command. Parameter(index) command.
Six indexes are defined, that are associated to the following Six indexes are defined, that are associated to the following
attributes: attributes:
Index 1: Peer-ID. Index 1: Peer-ID.
The peer identity authenticated by the EAP method. The peer identity authenticated by the EAP method.
Index 2: Server-ID: Index 2: Server-ID:
skipping to change at page 15, line 4 skipping to change at page 15, line 4
be obtained by a Key Derivation Function (KDF), such as be obtained by a Key Derivation Function (KDF), such as
AMSK = KDF(EMSK, label, length) AMSK = KDF(EMSK, label, length)
As pointed in [HOKEY-EMSK] "Different uses for keys derived from the As pointed in [HOKEY-EMSK] "Different uses for keys derived from the
EMSK have been proposed. Some examples include hand off across EMSK have been proposed. Some examples include hand off across
access points in various mobile technologies, mobile IP access points in various mobile technologies, mobile IP
authentication and higher layer application authentication". This authentication and higher layer application authentication". This
document introduces Specific Root Keys (USRK), and defines a special document introduces Specific Root Keys (USRK), and defines a special
class of USRK, called a Domain Specific Root Key (DSRK); each DSRK class of USRK, called a Domain Specific Root Key (DSRK); each DSRK
EAP Support in Smartcard December 2018
is a root key used to derive Domain Specific Usage Specific Root is a root key used to derive Domain Specific Usage Specific Root
Keys (DSUSRK). Keys (DSUSRK).
EMSK EMSK
/ \ / \
USRK DSRK USRK DSRK
/ \ / \
DSUSRK1 DSUSRK2 DSUSRK1 DSUSRK2
The USRK key derivation function is based on a pseudo random The USRK key derivation function is based on a pseudo random
skipping to change at page 16, line 4 skipping to change at page 16, line 4
which at the end of authentication scenario, produces a MSK key, which at the end of authentication scenario, produces a MSK key,
according to [RFC 3748] according to [RFC 3748]
An IEEE 802.16 service is a couple of credentials (X509Certificate, An IEEE 802.16 service is a couple of credentials (X509Certificate,
Private RSA Key), associated to a given identification label, and Private RSA Key), associated to a given identification label, and
therefore working with a particular EAP method. therefore working with a particular EAP method.
Two services are defined. Two services are defined.
7.1 Get-Certificate 7.1 Get-Certificate
EAP Support in Smartcard December 2018
Status: Optional. Status: Optional.
Security: Secure(BEARER) Security: Secure(BEARER)
This command reads the X509 certificate, associated with an This command reads the X509 certificate, associated with an
identification label, which is either implicit or identified by an identification label, which is either implicit or identified by an
index. index.
7.2 Private-Key-Decryption 7.2 Private-Key-Decryption
Status: Optional. Status: Optional.
skipping to change at page 17, line 5 skipping to change at page 17, line 5
to-implement any transport protocol such as T=0 or T=1, which are to-implement any transport protocol such as T=0 or T=1, which are
not in the scope of this document. It should be noticed that all not in the scope of this document. It should be noticed that all
values are in hexadecimal representation. values are in hexadecimal representation.
Annexes of this document give implementation examples. Annexes of this document give implementation examples.
Note: The class byte value defined in this section ('A0') SHALL be Note: The class byte value defined in this section ('A0') SHALL be
interpreted as an implementation example. Other values MAY be used interpreted as an implementation example. Other values MAY be used
respecting conventions, defined in ISO 78176-4. respecting conventions, defined in ISO 78176-4.
EAP Support in Smartcard December 2018
9.1 ISO 7816 Status Word 9.1 ISO 7816 Status Word
According to ISO 7816, the status word SW1, SW2 is a two bytes word, According to ISO 7816, the status word SW1, SW2 is a two bytes word,
giving information about current operation either success or giving information about current operation either success or
failure. failure.
'90' '00' indicates an operation success '90' '00' indicates an operation success
'63' 'xx' indicates that a PIN code presentation is required, with '63' 'xx' indicates that a PIN code presentation is required, with
xx attempts left. xx attempts left.
'9F' 'xx' indicates that xx bytes (mod 256) are ready for reading. '9F' 'xx' indicates that xx bytes (mod 256) are ready for reading.
skipping to change at page 18, line 5 skipping to change at page 18, line 5
bytes, the less significant bit of the P1 byte is used as a 'More' bytes, the less significant bit of the P1 byte is used as a 'More'
flag. flag.
- This bit is equal to zero for a non-fragmented payload or a last - This bit is equal to zero for a non-fragmented payload or a last
fragment (More = 0 = False). fragment (More = 0 = False).
- This bit is set to one (More = 1 = True) for a payload fragment. - This bit is set to one (More = 1 = True) for a payload fragment.
See annexes for examples. See annexes for examples.
EAP Support in Smartcard December 2018
9.2.2 Reassembly 9.2.2 Reassembly
- When a command reads less than 256 bytes, or in the last bloc - When a command reads less than 256 bytes, or in the last bloc
case, the returned payload ends by the 9000 Status Word. case, the returned payload ends by the 9000 Status Word.
- When a command returns more than 256 bytes, each payload bloc - When a command returns more than 256 bytes, each payload bloc
(except for the last one) ends by the 9yxx Status Word, in which xx (except for the last one) ends by the 9yxx Status Word, in which xx
indicates the length of the next bloc and y MAY have any value indicates the length of the next bloc and y MAY have any value
between 1 and F. The GET (INS=C0) command (A0C00000xx) is used to between 1 and F. The GET (INS=C0) command (A0C00000xx) is used to
read the next bloc. read the next bloc.
skipping to change at page 19, line 5 skipping to change at page 19, line 5
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| Change | A0 | 24 | 00 | 00 | 10 | 00 | | Change | A0 | 24 | 00 | 00 | 10 | 00 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
The old PIN (8 bytes) and new PIN (8 bytes) are presented The old PIN (8 bytes) and new PIN (8 bytes) are presented
9.3.3 Enable PIN 9.3.3 Enable PIN
This APDU enables the user's PIN function. This APDU enables the user's PIN function.
EAP Support in Smartcard December 2018
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| Enable | A0 | 26 | 00 | 00 | 08 | 00 | | Enable | A0 | 26 | 00 | 00 | 08 | 00 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
The user PIN code (8 bytes) is presented. The user PIN code (8 bytes) is presented.
9.3.4 Disable PIN 9.3.4 Disable PIN
This APDU disables the user's PIN function. This APDU disables the user's PIN function.
skipping to change at page 20, line 5 skipping to change at page 20, line 5
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| Select | 00 | A4 | 04 | 00 | xx | 00 | | Select | 00 | A4 | 04 | 00 | xx | 00 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
Lc is the AID length. Lc is the AID length.
According to ISO 7816-7, AID is made of two parts : According to ISO 7816-7, AID is made of two parts :
EAP Support in Smartcard December 2018
-RID, a mandatory 5 bytes field that identifies a company or a -RID, a mandatory 5 bytes field that identifies a company or a
standardization body. standardization body.
-PIX, up to 11 bytes, which identify an application. -PIX, up to 11 bytes, which identify an application.
9.5 Add-Identity 9.5 Add-Identity
This command stores a new identity. The identity list is managed by This command stores a new identity. The identity list is managed by
the smartcard. The new identification label is appended as the last the smartcard. The new identification label is appended as the last
element of the list. element of the list.
skipping to change at page 21, line 5 skipping to change at page 21, line 5
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 18 | 00 | AA | 00 | XX | | | A0 | 18 | 00 | AA | 00 | XX |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
If "multiple EAP Identity selection" is not supported, P2 (AA value) If "multiple EAP Identity selection" is not supported, P2 (AA value)
shall be set to '00'. shall be set to '00'.
EAP Support in Smartcard December 2018
If "multiple EAP Identity selection" is supported, P2 (AA value) If "multiple EAP Identity selection" is supported, P2 (AA value)
shall indicate the short identifier associated with the selected EAP shall indicate the short identifier associated with the selected EAP
identity to which the command is targeted. These short identifiers identity to which the command is targeted. These short identifiers
are coded as described in the Set-Identity command. are coded as described in the Set-Identity command.
9.9 Get-Next-Identity 9.9 Get-Next-Identity
This command returns a user's identification label. This command returns a user's identification label.
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
skipping to change at page 22, line 4 skipping to change at page 22, line 4
The command resets and initializes the state machine for processing The command resets and initializes the state machine for processing
the EAP Packets. The first step after this command is an EAP request the EAP Packets. The first step after this command is an EAP request
identity packet. If a different EAP packet is sent to the smartcard identity packet. If a different EAP packet is sent to the smartcard
the smartcard returns an EAP NAK response. the smartcard returns an EAP NAK response.
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 16 | 00 | 80 | XX | 00 | | | A0 | 16 | 00 | 80 | XX | 00 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
EAP Support in Smartcard December 2018
9.12 Set-Multiple-Identity 9.12 Set-Multiple-Identity
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 16 | 00 | 83 | XX | 00 | | | A0 | 16 | 00 | 83 | XX | 00 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
The command resets and initializes the state machine for processing The command resets and initializes the state machine for processing
the EAP Packets. The first step after this command is an EAP request the EAP Packets. The first step after this command is an EAP request
skipping to change at page 23, line 4 skipping to change at page 23, line 4
If "multiple EAP Identity selection" is not supported, P2 (AA value) If "multiple EAP Identity selection" is not supported, P2 (AA value)
shall be set to '00'. shall be set to '00'.
If "multiple EAP Identity selection" is supported, P2 (AA value) If "multiple EAP Identity selection" is supported, P2 (AA value)
shall indicate the short identifier associated with the selected EAP shall indicate the short identifier associated with the selected EAP
identity to which the command is targeted. These short identifiers identity to which the command is targeted. These short identifiers
are coded as described in the Set-Identity command. are coded as described in the Set-Identity command.
Most EAP request packets will produce an EAP response packet from Most EAP request packets will produce an EAP response packet from
the smartcard. If no response is to be produced (e.g. packet the smartcard. If no response is to be produced (e.g. packet
EAP Support in Smartcard December 2018
silently discarded because invalid sequence) the smartcard shall silently discarded because invalid sequence) the smartcard shall
inform the client software with an alert status word ('7000'). inform the client software with an alert status word ('7000').
When the size of a returned EAP message is greater than the value When the size of a returned EAP message is greater than the value
indicated by the EAP length field, additional data should be indicated by the EAP length field, additional data should be
interpreted as OOB messages. interpreted as OOB messages.
Success and failure packets do not imply any response. A success Success and failure packets do not imply any response. A success
Status Word ('9000') shall be produced by the smartcard, when a Status Word ('9000') shall be produced by the smartcard, when a
"Success EAP packet" is processed. "Success EAP packet" is processed.
skipping to change at page 24, line 4 skipping to change at page 24, line 4
| User's Identity | | User's Identity |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
9.13.2 ETSI format 9.13.2 ETSI format
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 88 | 00 | vv | XX | YY | | | A0 | 88 | 00 | vv | XX | YY |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
EAP Support in Smartcard December 2018
The ETSI standard [TS 102 310] defines a framework for EAP support The ETSI standard [TS 102 310] defines a framework for EAP support
in SIM cards. EAP packets are pushed in smart cards thanks to the in SIM cards. EAP packets are pushed in smart cards thanks to the
EAP Authenticate command. EAP Authenticate command.
For compatibility reasons, this command MAY be supported according For compatibility reasons, this command MAY be supported according
to the following rules : to the following rules :
- The Class byte is set to 0xA0 - The Class byte is set to 0xA0
- The INS byte is set to 0x88 - The INS byte is set to 0x88
- The P1 byte is set to a NULL value - The P1 byte is set to a NULL value
skipping to change at page 25, line 5 skipping to change at page 25, line 5
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
Lc indicates the ingoing EAP message length plus the OOB data size. Lc indicates the ingoing EAP message length plus the OOB data size.
Le indicates the outgoing EAP message length plus an optional OOB Le indicates the outgoing EAP message length plus an optional OOB
data size data size
The EAP request or response packets lengths are represented by the The EAP request or response packets lengths are represented by the
unknown value XX and YY. The Smartcard Interface Entity software unknown value XX and YY. The Smartcard Interface Entity software
should set these elements in accordance with the EAP packet types. should set these elements in accordance with the EAP packet types.
EAP Support in Smartcard December 2018
9.15 Get-Session-Key 9.15 Get-Session-Key
Once the state machine has received the EAP Success packet the Once the state machine has received the EAP Success packet the
Smartcard Interface is able to send the Master Session Key used by Smartcard Interface is able to send the Master Session Key used by
the 802.1X or the 802.11i specification for the crypto-suite. the 802.1X or the 802.11i specification for the crypto-suite.
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | A6 | 00 | AA | 00 | 40 | | | A0 | A6 | 00 | AA | 00 | 40 |
skipping to change at page 26, line 4 skipping to change at page 26, line 4
9.17 Get-State 9.17 Get-State
This command returns the current smartcard state. This command returns the current smartcard state.
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 19 | 00 | AA | 00 | 01 | | | A0 | 19 | 00 | AA | 00 | 01 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
EAP Support in Smartcard December 2018
If "multiple EAP Identity selection" is not supported, P2 (AA value) If "multiple EAP Identity selection" is not supported, P2 (AA value)
shall be set to '00'. shall be set to '00'.
If "multiple EAP Identity selection" is supported, P2 (AA value) If "multiple EAP Identity selection" is supported, P2 (AA value)
shall indicate the short identifier associated with the selected EAP shall indicate the short identifier associated with the selected EAP
identity to which the command is targeted. These short identifiers identity to which the command is targeted. These short identifiers
are coded as described in Set-Identity Command. are coded as described in Set-Identity Command.
Returned values: Returned values:
01 IDENTITY-NOT-SET, EAP messages silently discarded. 01 IDENTITY-NOT-SET, EAP messages silently discarded.
skipping to change at page 27, line 4 skipping to change at page 27, line 4
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 86 | 00 | AA | 01 | yy | | | A0 | 86 | 00 | AA | 01 | yy |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
If "multiple EAP Identity selection" is not supported, P2 (AA value) If "multiple EAP Identity selection" is not supported, P2 (AA value)
shall be set to '00'. shall be set to '00'.
If "multiple EAP Identity selection" is supported, P2 (AA value) If "multiple EAP Identity selection" is supported, P2 (AA value)
shall indicate the short identifier associated with the selected EAP shall indicate the short identifier associated with the selected EAP
EAP Support in Smartcard December 2018
identity to which the command is targeted. These short identifiers identity to which the command is targeted. These short identifiers
are coded as described in Set-Identity Command. are coded as described in Set-Identity Command.
Returned value: The value of the requested parameter. Returned value: The value of the requested parameter.
9.20 Get-AMSK 9.20 Get-AMSK
This command reads an AMSK key, identified by its index. An optional This command reads an AMSK key, identified by its index. An optional
label may be provided for this AMSK calculation. label may be provided for this AMSK calculation.
skipping to change at page 28, line 4 skipping to change at page 28, line 4
| Command |Class| INS | P1 | P2 | Lc | Le | | Command |Class| INS | P1 | P2 | Lc | Le |
+------------+-----+----------+----+----+----+----+ +------------+-----+----------+----+----+----+----+
| Method-FCT | A0 | 60 or 82 | zz | AA | xx | yy | | Method-FCT | A0 | 60 or 82 | zz | AA | xx | yy |
+------------+-----+----------+----+----+----+----+ +------------+-----+----------+----+----+----+----+
If "multiple EAP Identity selection" is not supported, P2 (AA value) If "multiple EAP Identity selection" is not supported, P2 (AA value)
shall be set to '00'. shall be set to '00'.
If "multiple EAP Identity selection" is supported, P2 (AA value) If "multiple EAP Identity selection" is supported, P2 (AA value)
shall indicate the short identifier associated with the selected EAP shall indicate the short identifier associated with the selected EAP
EAP Support in Smartcard December 2018
identity to which the command is targeted. These short identifiers identity to which the command is targeted. These short identifiers
are coded as described in Set-Identity Command. are coded as described in Set-Identity Command.
xx is the length of the input value. xx is the length of the input value.
yy is the length of the returned value. yy is the length of the returned value.
P1 identifies a particular function, and is organized according to P1 identifies a particular function, and is organized according to
the following scheme: the following scheme:
b7b6 00-Do.Final, 01-Initialize 10-More 11-Reserved b7b6 00-Do.Final, 01-Initialize 10-More 11-Reserved
skipping to change at page 29, line 4 skipping to change at page 29, line 4
P1 identifies a particular function, and is organized according to P1 identifies a particular function, and is organized according to
the following scheme: the following scheme:
b7b6 00-Do.Final, 01-Initialize, 10-More, 11-Reserved b7b6 00-Do.Final, 01-Initialize, 10-More, 11-Reserved
b5b4 RFU (always 00) b5b4 RFU (always 00)
b3b2b1 Function type b3b2b1 Function type
0 X509 Certificate reading 0 X509 Certificate reading
3 Private key decryption 3 Private key decryption
b0 reserved (More bit) b0 reserved (More bit)
EAP Support in Smartcard December 2018
9.23 Commands summary. 9.23 Commands summary.
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Command |Class| INS | P1 | P2 | Lc | Le | | Command |Class| INS | P1 | P2 | Lc | Le |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Process-EAP | A0 |80-88| 00 | ii | xx | yy | | Process-EAP | A0 |80-88| 00 | ii | xx | yy |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Process-EAP-OOB | A0 | 80 | 00 | ii | xx | yy | | Process-EAP-OOB | A0 | 80 | 00 | ii | xx | yy |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Method-FCT | A0 |60-82| zz | ii | xx | yy | | Method-FCT | A0 |60-82| zz | ii | xx | yy |
skipping to change at page 30, line 4 skipping to change at page 30, line 4
| Verify-PIN | A0 |20-2A| 00 | 00 | 08 | 00 | | Verify-PIN | A0 |20-2A| 00 | 00 | 08 | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Change-PIN | A0 | 24 | 00 | 00 | 10 | 00 | | Change-PIN | A0 | 24 | 00 | 00 | 10 | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Enable-PIN | A0 | 26 | 00 | 00 | 08 | 00 | | Enable-PIN | A0 | 26 | 00 | 00 | 08 | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Disable-PIN | A0 | 28 | 00 | 00 | 08 | 00 | | Disable-PIN | A0 | 28 | 00 | 00 | 08 | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Unblock-PIN | A0 | 2C | 00 | 00 | 10 | 00 | | Unblock-PIN | A0 | 2C | 00 | 00 | 10 | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
EAP Support in Smartcard December 2018
| Select-AID | A0 | A4 | 04 | 00 | xx | 00 | | Select-AID | A0 | A4 | 04 | 00 | xx | 00 |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| Get-Response | A0 | C0 | 00 | 00 | 00 | xx | | Get-Response | A0 | C0 | 00 | 00 | 00 | xx |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
| FETCH | A0 | 12 | 00 | 00 | 00 | xx | | FETCH | A0 | 12 | 00 | 00 | 00 | xx |
+------------------------+-----+-----+----+----+----+----+ +------------------------+-----+-----+----+----+----+----+
10 Security Considerations 10 Security Considerations
Smart cards are a highly effective means of enforcing security Smart cards are a highly effective means of enforcing security
policies. They are typically carried by one party (the end user, policies. They are typically carried by one party (the end user,
skipping to change at page 31, line 5 skipping to change at page 31, line 5
credentials, and secures execution of security sensitive operations credentials, and secures execution of security sensitive operations
such as encryption and digital signatures. such as encryption and digital signatures.
The EAP-SC Authentication Method MUST store all secret cryptographic The EAP-SC Authentication Method MUST store all secret cryptographic
keys on the smart card in non-volatile memory. The EAP-SC keys on the smart card in non-volatile memory. The EAP-SC
Authentication Method MUST execute in the smart card all Authentication Method MUST execute in the smart card all
cryptographic functions that use stored secret cryptographic keys. cryptographic functions that use stored secret cryptographic keys.
The EAP-SC Authentication Method MUST NOT export any secret The EAP-SC Authentication Method MUST NOT export any secret
cryptographic keys from the smart card. cryptographic keys from the smart card.
EAP Support in Smartcard December 2018
10.4 Multi Factor Authentication 10.4 Multi Factor Authentication
Smart cards generally require a Smart Card handler to authenticate Smart cards generally require a Smart Card handler to authenticate
to the Smart Card in order to access data or application to the Smart Card in order to access data or application
functionality. This makes it possible to enforce multi factor user functionality. This makes it possible to enforce multi factor user
authentication by combining something the user has (the smart card) authentication by combining something the user has (the smart card)
with something the user knows (such as PIN) or is (Biometric with something the user knows (such as PIN) or is (Biometric
authentication). authentication).
The EAP Authentication Method MUST enforce the use of the user PIN The EAP Authentication Method MUST enforce the use of the user PIN
or Biometric before user credentials may be accessed or used. or Biometric before user credentials may be accessed or used.
skipping to change at page 32, line 5 skipping to change at page 32, line 5
PLATFORM] or similar functionality. The EAP-SC Authentication method PLATFORM] or similar functionality. The EAP-SC Authentication method
SHOULD implement support for post-issuance card and application SHOULD implement support for post-issuance card and application
management. management.
10.8 Certification 10.8 Certification
The processes for designing and manufacturing smart cards are The processes for designing and manufacturing smart cards are
subject to rigorous security controls. This makes possible the subject to rigorous security controls. This makes possible the
certification of Smart Card functionality and applications by certification of Smart Card functionality and applications by
standardization organizations. standardization organizations.
EAP Support in Smartcard December 2018
The EAP-SC Authentication method MUST be implemented on a Smart Card The EAP-SC Authentication method MUST be implemented on a Smart Card
platform that has been evaluated for security by a standards platform that has been evaluated for security by a standards
organization program such as [FIPS] or [COMMON CRITERIA]. organization program such as [FIPS] or [COMMON CRITERIA].
10.9 Smart Cards and EAP Security Claims 10.9 Smart Cards and EAP Security Claims
EAP-SC enhances the security of Authentication Methods by enabling EAP-SC enhances the security of Authentication Methods by enabling
the enforcement of security policies on the End User platform. The the enforcement of security policies on the End User platform. The
overall security of EAP-SC is dependent on the security of the overall security of EAP-SC is dependent on the security of the
Authentication Method implemented on the Smart Card. Authentication Method implemented on the Smart Card.
skipping to change at page 33, line 4 skipping to change at page 33, line 4
10.9.5 Dictionary Attacks 10.9.5 Dictionary Attacks
Smart Cards access is commonly protected via pin codes with a Smart Cards access is commonly protected via pin codes with a
limited number of retries; permanent blocking of the device is limited number of retries; permanent blocking of the device is
enforced when the number of retries is exceeded. This mechanism enforced when the number of retries is exceeded. This mechanism
provides enhanced protection against dictionary attacks aiming at provides enhanced protection against dictionary attacks aiming at
discovering passwords. discovering passwords.
10.9.6 Cryptographic Binding 10.9.6 Cryptographic Binding
EAP Support in Smartcard December 2018
Smart Cards provide tamper resistant storage for cryptographic keys Smart Cards provide tamper resistant storage for cryptographic keys
and secure execution of the tunnel creation algorithms thus and secure execution of the tunnel creation algorithms thus
enhancing the cryptographic binding process. enhancing the cryptographic binding process.
10.9.7 Channel Binding 10.9.7 Channel Binding
Smart Cards can be used as a secure out of band distribution method Smart Cards can be used as a secure out of band distribution method
for channel parameters and therefore enhance the channel binding for channel parameters and therefore enhance the channel binding
process. process.
skipping to change at page 34, line 5 skipping to change at page 34, line 5
The overall security of EAP-SC is dependent on the encapsulated EAP- The overall security of EAP-SC is dependent on the encapsulated EAP-
SC Authentication Method. Weaknesses in the underlying method, such SC Authentication Method. Weaknesses in the underlying method, such
as weaknesses in integrity protection, replay protection or key as weaknesses in integrity protection, replay protection or key
strength, are detrimental to the overall security. strength, are detrimental to the overall security.
11 Intellectual Property Right Notice 11 Intellectual Property Right Notice
To be specify according to the Author and Participants. To be specify according to the Author and Participants.
EAP Support in Smartcard December 2018
12 Annex 1, EAP-SIM packets details. 12 Annex 1, EAP-SIM packets details.
The protocol implementation is out of the scope of this document but The protocol implementation is out of the scope of this document but
as a reference implementation this section gives details using the as a reference implementation this section gives details using the
SIM as specified by [EAP-SIM]. This section of the document gives SIM as specified by [EAP-SIM]. This section of the document gives
the APDU coding. the APDU coding.
12.1 Full Authentication 12.1 Full Authentication
The following traces illustrate a full EAP-SIM authentication The following traces illustrate a full EAP-SIM authentication
scenario, as described in annex A (tests vector) of EAP-SIM [EAP- scenario, as described in annex A (tests vector) of EAP-SIM [EAP-
skipping to change at page 35, line 4 skipping to change at page 35, line 4
30 37 30 31 30 30 30 30 30 30 30 31 40 65 61 70 30 37 30 31 30 30 30 30 30 30 30 31 40 65 61 70
73 69 6D 2E 66 6F 6F 00 07 05 00 00 01 02 03 04 73 69 6D 2E 66 6F 6F 00 07 05 00 00 01 02 03 04
05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 10 01 00 01 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 10 01 00 01
// EAP-Request/SIM/Challenge - first fragment // EAP-Request/SIM/Challenge - first fragment
Tx: A0 80 01 00 C8 01 02 01 18 12 0b 00 00 01 0d 00 Tx: A0 80 01 00 C8 01 02 01 18 12 0b 00 00 01 0d 00
00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e
1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e
2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e
EAP Support in Smartcard December 2018
3f 81 05 00 00 9e 18 b0 c2 9a 65 22 63 c0 6e fb 3f 81 05 00 00 9e 18 b0 c2 9a 65 22 63 c0 6e fb
54 dd 00 a8 95 82 2d 00 00 55 f2 93 9b bd b1 b1 54 dd 00 a8 95 82 2d 00 00 55 f2 93 9b bd b1 b1
9e a1 b4 7f c0 b3 e0 be 4c ab 2c f7 37 2d 98 e3 9e a1 b4 7f c0 b3 e0 be 4c ab 2c f7 37 2d 98 e3
02 3c 6b b9 24 15 72 3d 58 ba d6 6c e0 84 e1 01 02 3c 6b b9 24 15 72 3d 58 ba d6 6c e0 84 e1 01
b6 0f 53 58 35 4b d4 21 82 78 ae a7 bf 2c ba ce b6 0f 53 58 35 4b d4 21 82 78 ae a7 bf 2c ba ce
33 10 6a ed dc 62 5b 0c 1d 5a a6 7a 41 73 9a e5 33 10 6a ed dc 62 5b 0c 1d 5a a6 7a 41 73 9a e5
b5 79 50 97 3f c7 ff 83 01 07 3c 6f 95 31 50 fc b5 79 50 97 3f c7 ff 83 01 07 3c 6f 95 31 50 fc
30 3e a1 52 d1 e1 0a 2d 1f 4f 52 26 da a1 ee 90 30 3e a1 52 d1 e1 0a 2d 1f 4f 52 26 da a1 ee 90
05 47 22 52 bd b3 b7 1d 6f 0c 3a 34 90 05 47 22 52 bd b3 b7 1d 6f 0c 3a 34 90
Rx: 90 00 Rx: 90 00
skipping to change at page 36, line 4 skipping to change at page 36, line 4
9000 9000
12.2 Re-Authentication 12.2 Re-Authentication
The following traces illustrate a EAP-SIM Re-Authentication The following traces illustrate a EAP-SIM Re-Authentication
scenario, as described in annex A (tests vector) of EAP-SIM [EAP- scenario, as described in annex A (tests vector) of EAP-SIM [EAP-
SIM] specification SIM] specification
//Identity request //Identity request
Tx: A0 80 00 00 14 01 A5 00 05 01 Tx: A0 80 00 00 14 01 A5 00 05 01
RX: 61 56 RX: 61 56
EAP Support in Smartcard December 2018
// PSEUDONYM // PSEUDONYM
Tx: A0 C0 00 56 Tx: A0 C0 00 56
Rx: 02 00 00 56 01 59 32 34 66 4e 53 72 7a 38 42 50 Rx: 02 00 00 56 01 59 32 34 66 4e 53 72 7a 38 42 50
32 37 34 6a 4f 4a 61 46 31 37 57 66 78 49 38 59 32 37 34 6a 4f 4a 61 46 31 37 57 66 78 49 38 59
4f 37 51 58 30 30 70 4d 58 6b 39 58 4d 4d 56 4f 4f 37 51 58 30 30 70 4d 58 6b 39 58 4d 4d 56 4f
77 37 62 72 6f 61 4e 68 54 63 7a 75 46 71 35 33 77 37 62 72 6f 61 4e 68 54 63 7a 75 46 71 35 33
61 45 70 4f 6b 6b 33 4c 30 64 6d 40 65 61 70 73 61 45 70 4f 6b 6b 33 4c 30 64 6d 40 65 61 70 73
69 6d 2e 66 6f 69 6d 2e 66 6f
90 00 90 00
skipping to change at page 37, line 4 skipping to change at page 37, line 4
Rx: 02 01 00 44 12 0D 00 00 81 05 00 00 CD F7 FF A6 Rx: 02 01 00 44 12 0D 00 00 81 05 00 00 CD F7 FF A6
5D E0 4C 02 6B 56 C8 6B 76 B1 02 EA 82 05 00 00 5D E0 4C 02 6B 56 C8 6B 76 B1 02 EA 82 05 00 00
B6 ED D3 82 79 E2 A1 42 3C 1A FC 5C 45 5C 7D 56 B6 ED D3 82 79 E2 A1 42 3C 1A FC 5C 45 5C 7D 56
0B 05 00 00 FA F7 6B 71 FB E2 D2 55 B9 6A 35 66 0B 05 00 00 FA F7 6B 71 FB E2 D2 55 B9 6A 35 66
C9 15 C6 17 C9 15 C6 17
90 00 90 00
// EAP Success // EAP Success
Tx: A0 80 00 00 04 03 01 00 04 Tx: A0 80 00 00 04 03 01 00 04
Rx: 90 00 Rx: 90 00
EAP Support in Smartcard December 2018
// Get MSK // Get MSK
Tx: A0 A6 00 00 40 Tx: A0 A6 00 00 40
RX: 6263f614 973895e1 335f7e30 cff028ee RX: 6263f614 973895e1 335f7e30 cff028ee
2176f519 002c9abe 732fe0ef 00cf167c 2176f519 002c9abe 732fe0ef 00cf167c
756d9e4c ed6d5ed6 40eb3fe3 8565ca07 756d9e4c ed6d5ed6 40eb3fe3 8565ca07
6e7fb8a8 17cfe8d9 adbce441 d47c4f5e 6e7fb8a8 17cfe8d9 adbce441 d47c4f5e
90 00 90 00
13 Annex 2, EAP-MD5 packet details 13 Annex 2, EAP-MD5 packet details
skipping to change at page 38, line 5 skipping to change at page 38, line 5
| Response | Identifier | Length | | Response | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 01 | | | Type = 01 | |
|-+-+-+-+-+-+-+-+ Identity Value | |-+-+-+-+-+-+-+-+ Identity Value |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The second EAP Packet is the EAP/request/MD5/challenge as The second EAP Packet is the EAP/request/MD5/challenge as
represented in [RFC 3748]. represented in [RFC 3748].
EAP Support in Smartcard December 2018
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
|Command |Class| INS | P1 | P2 | Lc | Le | |Command |Class| INS | P1 | P2 | Lc | Le |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
| | A0 | 80 | 00 | 00 | XX | 16 | | | A0 | 80 | 00 | 00 | XX | 16 |
+--------+-----+-----+----+----+----+----+ +--------+-----+-----+----+----+----+----+
The description of the EAP/Request/MD5/challenge is detailed The description of the EAP/Request/MD5/challenge is detailed
according to [RFC 3748]. according to [RFC 3748].
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
skipping to change at page 39, line 5 skipping to change at page 39, line 5
+--------+-----+-----+----+----+-- -+----+ +--------+-----+-----+----+----+-- -+----+
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Success | Identifier | Length = 04 | | Success | Identifier | Length = 04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Further information can be retrieved from [RFC 3748]. Further information can be retrieved from [RFC 3748].
EAP Support in Smartcard December 2018
14 Annex 3 - TLS support. 14 Annex 3 - TLS support.
EAP-TLS smartcards securely store at least the following items EAP-TLS smartcards securely store at least the following items
- Client X509 certificate - Client X509 certificate
- Client Private RSA Key - Client Private RSA Key
- Certification Authority Public Key - Certification Authority Public Key
14.1 Unix Time issue. 14.1 Unix Time issue.
As mentioned in [TLS] TLS RFC the client hello message includes a 32 As mentioned in [TLS] TLS RFC the client hello message includes a 32
skipping to change at page 40, line 5 skipping to change at page 40, line 5
The chaining and extended length mechanisms identified in this The chaining and extended length mechanisms identified in this
document provide enough extension to manage incoming and outgoing document provide enough extension to manage incoming and outgoing
EAP-TLS packets. Then, authenticator shall not necessary follow a EAP-TLS packets. Then, authenticator shall not necessary follow a
specific fragment policy regarding whether EAP-TLS is provided by specific fragment policy regarding whether EAP-TLS is provided by
the smartcard or not. the smartcard or not.
However, in order to prevent multiple segmentation and re-assembly However, in order to prevent multiple segmentation and re-assembly
operations, the maximum EAP message length of no fragmented packets operations, the maximum EAP message length of no fragmented packets
issued by smartcard SHALL be set to an adapted value. issued by smartcard SHALL be set to an adapted value.
EAP Support in Smartcard December 2018
As defined in EAP-TLS, when the smartcard receives an EAP-Request As defined in EAP-TLS, when the smartcard receives an EAP-Request
packet with the M bit set, it MUST respond with an EAP-Response with packet with the M bit set, it MUST respond with an EAP-Response with
EAP-Type=EAP-TLS and no data. This serves as a fragment ACK. EAP-Type=EAP-TLS and no data. This serves as a fragment ACK.
14.3 EAP/TLS messages format. 14.3 EAP/TLS messages format.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length <= 240 | | Code | Identifier | Length <= 240 |
skipping to change at page 41, line 4 skipping to change at page 41, line 4
Flags Flags
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|L M S R R R R R| |L M S R R R R R|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
L = Length included. L = Length included.
M = More fragments M = More fragments
S = EAP-TLS start, set in an EAP-TLS Start message. S = EAP-TLS start, set in an EAP-TLS Start message.
R = Reserved R = Reserved
EAP Support in Smartcard December 2018
14.4 Example of EAP/TLS Authentication 14.4 Example of EAP/TLS Authentication
Smartcard Authentication Server Smartcard Authentication Server
<- EAP-Request/ <- EAP-Request/
Identity Identity
EAP-Response/ EAP-Response/
Identity (MyID) -> Identity (MyID) ->
<- EAP-Request/ <- EAP-Request/
EAP-Type=EAP-TLS EAP-Type=EAP-TLS
(TLS Start) (TLS Start)
skipping to change at page 42, line 5 skipping to change at page 42, line 5
<- EAP-Success <- EAP-Success
15 Annex 4 ASN.1 BER Tag coding for the subscriber profile information 15 Annex 4 ASN.1 BER Tag coding for the subscriber profile information
The subscriber profile is a collection of data associated to every The subscriber profile is a collection of data associated to every
identity. It can be used be the operating system of a wireless identity. It can be used be the operating system of a wireless
terminal in order to get information about user credentials. terminal in order to get information about user credentials.
Various information MAY be also available. Various information MAY be also available.
EAP Support in Smartcard December 2018
15.1 ASN.1 Subscriber Profile Encoding 15.1 ASN.1 Subscriber Profile Encoding
15.1.1 EapID 15.1.1 EapID
EapID ::= OCTET STRING EapID ::= OCTET STRING
The EAP-ID associated to the current identity. The EAP-ID associated to the current identity.
15.1.2 EapType 15.1.2 EapType
skipping to change at page 43, line 4 skipping to change at page 43, line 4
} }
UserData [3] IMPLICIT SEQUENCE OF { UserData [3] IMPLICIT SEQUENCE OF {
{ SubscriberFile UserFile { SubscriberFile UserFile
} }
UserFile SEQUENCE OF { UserFile SEQUENCE OF {
Name OCTET STRING, Name OCTET STRING,
Value BIT STRING Value Value BIT STRING Value
} }
EAP Support in Smartcard December 2018
X509Certificate an ASN.1 definition, as described in [PKCS#6]. X509Certificate an ASN.1 definition, as described in [PKCS#6].
15.1.5 UserProfile 15.1.5 UserProfile
UserProfile ::= SEQUENCE { UserProfile ::= SEQUENCE {
ThisEapID EapID, ThisEapID EapID,
ThisEapType EapType, ThisEapType EapType,
ThisVersion Version, ThisVersion Version,
ThisCredential UserCredential ThisCredential UserCredential
} }
skipping to change at page 44, line 4 skipping to change at page 44, line 4
First X509Certificate First X509Certificate
Second X509Certificate Second X509Certificate
A2 82 xx yy A2 82 xx yy
First Root X509Certificate First Root X509Certificate
Second Root X509Certificate Second Root X509Certificate
A3 82 xx yy A3 82 xx yy
30 82 zz tt 30 82 zz tt
04 05 61 62 63 64 65 // Name = abcde 04 05 61 62 63 64 65 // Name = abcde
03 82 zz tt 03 82 zz tt
File content File content
EAP Support in Smartcard December 2018
16 Annex 5 APDUs exchange example 16 Annex 5 APDUs exchange example
This annex shows ISO 7816 (T=0) TPDUs exchanged between the This annex shows ISO 7816 (T=0) TPDUs exchanged between the
smartcard and the authentication agent smartcard and the authentication agent
// Select EAP application (AID= 11 22 33 44 55 66 01) // Select EAP application (AID= 11 22 33 44 55 66 01)
Select.request: 00 A4 04 00 07 11 22 33 44 55 66 01 Select.request: 00 A4 04 00 07 11 22 33 44 55 66 01
Select.response: 90 00 Select.response: 90 00
// Get current identity // Get current identity
skipping to change at page 45, line 4 skipping to change at page 45, line 4
// Process EAP-Packets() // Process EAP-Packets()
EAP-Packet.request: A0 80 00 00 05 01 A5 00 05 01 EAP-Packet.request: A0 80 00 00 05 01 A5 00 05 01
EAP-Packet.response: 61 09 EAP-Packet.response: 61 09
GetResponse.request: A0 C0 00 00 09 GetResponse.request: A0 C0 00 00 09
GetResponse.response: 02 A5 00 09 01 61 62 63 64 90 00 GetResponse.response: 02 A5 00 09 01 61 62 63 64 90 00
EAP-Packet.request A0 80 00 00 08 01 A6 00 08 04 02 12 34 EAP-Packet.request A0 80 00 00 08 01 A6 00 08 04 02 12 34
EAP-Packet.response: 61 16 EAP-Packet.response: 61 16
GetResponse.request: A0 C0 00 00 16 GetResponse.request: A0 C0 00 00 16
GetResponse.response: 02 A6 00 16 04 10 CF A5 2D CD 63 5F 5C 6D GetResponse.response: 02 A6 00 16 04 10 CF A5 2D CD 63 5F 5C 6D
55 B8 09 FD B7 BB EC 3C 90 00 55 B8 09 FD B7 BB EC 3C 90 00
EAP Support in Smartcard December 2018
17 Annex 6, EAP-TLS ISO7816 APDUs Trace (T=0 Protocol) 17 Annex 6, EAP-TLS ISO7816 APDUs Trace (T=0 Protocol)
17.1 EAP-TLS session parameters 17.1 EAP-TLS session parameters
17.1.1 CA Public Key (2048 bits) 17.1.1 CA Public Key (2048 bits)
modulus: modulus:
00:a5:62:a0:41:52:9a:ec:8e:27:24:a1:0c:a2:45: 00:a5:62:a0:41:52:9a:ec:8e:27:24:a1:0c:a2:45:
68:e3:ed:bd:3d:64:9a:7c:c2:74:5a:e2:60:fa:ac: 68:e3:ed:bd:3d:64:9a:7c:c2:74:5a:e2:60:fa:ac:
6d:0f:dd:4c:45:ce:9d:b9:74:4e:35:fd:74:cd:13: 6d:0f:dd:4c:45:ce:9d:b9:74:4e:35:fd:74:cd:13:
skipping to change at page 46, line 4 skipping to change at page 46, line 4
modulus: // N modulus: // N
00:de:7d:0e:f5:1d:17:16:c0:6f:51:b0:4c:ef:2e: 00:de:7d:0e:f5:1d:17:16:c0:6f:51:b0:4c:ef:2e:
c6:ca:f4:d8:66:01:bc:7b:21:12:37:ce:dc:61:72: c6:ca:f4:d8:66:01:bc:7b:21:12:37:ce:dc:61:72:
f3:c8:ff:83:5c:2f:f5:2b:f8:f0:0f:bd:89:86:6a: f3:c8:ff:83:5c:2f:f5:2b:f8:f0:0f:bd:89:86:6a:
3f:c2:8b:3b:bd:c7:98:fd:4b:1d:67:8f:85:66:12: 3f:c2:8b:3b:bd:c7:98:fd:4b:1d:67:8f:85:66:12:
74:6f:64:74:d0:31:07:46:04:ba:b1:74:70:b1:fc: 74:6f:64:74:d0:31:07:46:04:ba:b1:74:70:b1:fc:
d9:42:44:f8:97:c2:74:b9:45:5c:84:15:33:ec:4a: d9:42:44:f8:97:c2:74:b9:45:5c:84:15:33:ec:4a:
cb:41:d2:6e:7c:6d:bd:bc:cd:3e:64:ff:8f:33:63: cb:41:d2:6e:7c:6d:bd:bc:cd:3e:64:ff:8f:33:63:
fe:06:55:69:96:c6:96:fa:17:db:f8:7f:eb:5b:fe: fe:06:55:69:96:c6:96:fa:17:db:f8:7f:eb:5b:fe:
00:3e:d1:8e:42:83:62:be:c3 00:3e:d1:8e:42:83:62:be:c3
EAP Support in Smartcard December 2018
publicExponent: 65537 (0x10001) publicExponent: 65537 (0x10001)
privateExponent: privateExponent:
00:9f:ad:4b:5d:d9:79:e7:a7:46:7d:6f:35:57:f7: 00:9f:ad:4b:5d:d9:79:e7:a7:46:7d:6f:35:57:f7:
cf:4e:7b:f9:0f:04:b1:fc:00:99:2d:9a:76:0a:2e: cf:4e:7b:f9:0f:04:b1:fc:00:99:2d:9a:76:0a:2e:
51:0e:71:6b:1a:6f:84:db:01:37:71:64:8b:5d:ff: 51:0e:71:6b:1a:6f:84:db:01:37:71:64:8b:5d:ff:
c5:30:df:72:89:da:c5:4f:0c:68:d7:19:67:19:01: c5:30:df:72:89:da:c5:4f:0c:68:d7:19:67:19:01:
a7:b5:06:78:da:57:2f:2f:f6:c5:ce:75:b7:ca:9d: a7:b5:06:78:da:57:2f:2f:f6:c5:ce:75:b7:ca:9d:
b2:f8:5a:62:27:40:b2:5c:42:f3:78:fd:42:f6:1a: b2:f8:5a:62:27:40:b2:5c:42:f3:78:fd:42:f6:1a:
56:44:a3:42:94:24:f6:37:53:fc:78:42:06:8a:1a: 56:44:a3:42:94:24:f6:37:53:fc:78:42:06:8a:1a:
0b:43:cf:f8:92:60:8d:10:61:2c:ff:d3:79:ba:78: 0b:43:cf:f8:92:60:8d:10:61:2c:ff:d3:79:ba:78:
skipping to change at page 47, line 4 skipping to change at page 47, line 4
17.2 Full EAP-TLS trace (mode 2) 17.2 Full EAP-TLS trace (mode 2)
// TLS-START + GMT-UNIX-TIME // TLS-START + GMT-UNIX-TIME
Tx: A080000000A 011400060D20 3FAA2B6A Tx: A080000000A 011400060D20 3FAA2B6A
Rx: 6150 Rx: 6150
Tx: A0C0000050 // Read Client Hello Tx: A0C0000050 // Read Client Hello
Rx: 021400500D800000004616030100410100003D03013FAA2B6A08BDD285B43D1F Rx: 021400500D800000004616030100410100003D03013FAA2B6A08BDD285B43D1F
3BC9715FC9F85FC453FE58F3A9E07FF397CD65392200001600040005000A0009 3BC9715FC9F85FC453FE58F3A9E07FF397CD65392200001600040005000A0009
EAP Support in Smartcard December 2018
006400620003000600130012006301009000 006400620003000600130012006301009000
// Forward Server_Hello frag#1 1396 octets, total size = 4710 octets // Forward Server_Hello frag#1 1396 octets, total size = 4710 octets
// eap.request#15 // eap.request#15
Tx: A0800100F0011505740DC00000126616030112610200004603013FAA2B9BCC3D Tx: A0800100F0011505740DC00000126616030112610200004603013FAA2B9BCC3D
6179E2D7E78460A2596342C5014289B753209CA02A31DEDB9142206124000089 6179E2D7E78460A2596342C5014289B753209CA02A31DEDB9142206124000089
2B16D27FEBD10B93D1EFC224C322B69B994C1A8FB2B5BD4094861A0004000B00 2B16D27FEBD10B93D1EFC224C322B69B994C1A8FB2B5BD4094861A0004000B00
05A80005A50005A23082059E30820486A003020102020A613116E50000000000 05A80005A50005A23082059E30820486A003020102020A613116E50000000000
03300D06092A864886F70D0101050500305231123010060A0992268993F22C64 03300D06092A864886F70D0101050500305231123010060A0992268993F22C64
skipping to change at page 48, line 4 skipping to change at page 48, line 4
2F2F616B6B6172312E62616472612E656E73742E66722F43657274456E726F6C 2F2F616B6B6172312E62616472612E656E73742E66722F43657274456E726F6C
6C2F6361776966692E63726C3082011306082B0601 6C2F6361776966692E63726C3082011306082B0601
Rx: 9000 Rx: 9000
Tx: A0800100F0050507010104820105308201013081AA06082B0601050507300286 Tx: A0800100F0050507010104820105308201013081AA06082B0601050507300286
819D6C6461703A2F2F2F434E3D6361776966692C434E3D4149412C434E3D5075 819D6C6461703A2F2F2F434E3D6361776966692C434E3D4149412C434E3D5075
626C69632532304B657925323053657276696365732C434E3D53657276696365 626C69632532304B657925323053657276696365732C434E3D53657276696365
732C434E3D436F6E66696775726174696F6E2C44433D62616472612C44433D65 732C434E3D436F6E66696775726174696F6E2C44433D62616472612C44433D65
6E73742C44433D66723F634143657274696669636174653F626173653F6F626A 6E73742C44433D66723F634143657274696669636174653F626173653F6F626A
656374436C6173733D63657274696669636174696F6E417574686F7269747930 656374436C6173733D63657274696669636174696F6E417574686F7269747930
EAP Support in Smartcard December 2018
5206082B060105050730028646687474703A2F2F616B6B6172312E6261647261 5206082B060105050730028646687474703A2F2F616B6B6172312E6261647261
2E656E73742E66722F43657274456E726F6C6C2F61 2E656E73742E66722F43657274456E726F6C6C2F61
Rx: 9000 Rx: 9000
Tx: A0800000C46B6B6172312E62616472612E656E73742E66725F6361776966692E Tx: A0800000C46B6B6172312E62616472612E656E73742E66725F6361776966692E
637274302106092B060104018237140204141E12005700650062005300650072 637274302106092B060104018237140204141E12005700650062005300650072
007600650072300D06092A864886F70D01010505000382010100946E33F7044A 007600650072300D06092A864886F70D01010505000382010100946E33F7044A
18F16E18337D8A22A230415DF07766ED94835E8A1FCBB7B16571D6EC6A9564AA 18F16E18337D8A22A230415DF07766ED94835E8A1FCBB7B16571D6EC6A9564AA
C163383D17B223C29AB57825AE36156083249AA0A8EABED8C880D7E1EE58A301 C163383D17B223C29AB57825AE36156083249AA0A8EABED8C880D7E1EE58A301
9D04D935EA3C6427052FDE1CCB60681691436C3580439F4C592ABA6489D43ABF 9D04D935EA3C6427052FDE1CCB60681691436C3580439F4C592ABA6489D43ABF
skipping to change at page 49, line 4 skipping to change at page 49, line 4
025A41311530130603550408130C5765737465726E2043617065311230100603 025A41311530130603550408130C5765737465726E2043617065311230100603
55040713094361706520546F776E311A3018060355040A131154686177746520 55040713094361706520546F776E311A3018060355040A131154686177746520
436F6E73756C74696E6731283026060355040B131F4365727469666963617469 436F6E73756C74696E6731283026060355040B131F4365727469666963617469
6F6E205365727669636573204469766973696F6E312430220603550403131B54 6F6E205365727669636573204469766973696F6E312430220603550403131B54
686177746520506572736F6E616C20467265656D61 686177746520506572736F6E616C20467265656D61
Rx: 9000 Rx: 9000
Tx: A0800100F0696C204341312B302906092A864886F70D010901161C706572736F Tx: A0800100F0696C204341312B302906092A864886F70D010901161C706572736F
6E616C2D667265656D61696C407468617774652E636F6D00D23081CF310B3009 6E616C2D667265656D61696C407468617774652E636F6D00D23081CF310B3009
060355040613025A41311530130603550408130C5765737465726E2043617065 060355040613025A41311530130603550408130C5765737465726E2043617065
EAP Support in Smartcard December 2018
31123010060355040713094361706520546F776E311A3018060355040A131154 31123010060355040713094361706520546F776E311A3018060355040A131154
686177746520436F6E73756C74696E6731283026060355040B131F4365727469 686177746520436F6E73756C74696E6731283026060355040B131F4365727469
6669636174696F6E205365727669636573204469766973696F6E312330210603 6669636174696F6E205365727669636573204469766973696F6E312330210603
550403131A54686177746520506572736F6E616C205072656D69756D20434131 550403131A54686177746520506572736F6E616C205072656D69756D20434131
2A302806092A864886F70D010901161B706572736F 2A302806092A864886F70D010901161B706572736F
Rx: 9000 Rx: 9000
Tx: A0800100F06E616C2D7072656D69756D407468617774652E636F6D0086308183 Tx: A0800100F06E616C2D7072656D69756D407468617774652E636F6D0086308183
310B3009060355040613025553312D302B060355040A13244669727374204461 310B3009060355040613025553312D302B060355040A13244669727374204461
7461204469676974616C2043657274696669636174657320496E632E31453043 7461204469676974616C2043657274696669636174657320496E632E31453043
skipping to change at page 50, line 4 skipping to change at page 50, line 4
Tx: A0800100F0300906035504061302555331173015060355040A130E5665726953 Tx: A0800100F0300906035504061302555331173015060355040A130E5665726953
69676E2C20496E632E313C303A060355040B1333436C6173732033205075626C 69676E2C20496E632E313C303A060355040B1333436C6173732033205075626C
6963205072696D6172792043657274696669636174696F6E20417574686F7269 6963205072696D6172792043657274696669636174696F6E20417574686F7269
7479202D204732313A3038060355040B13312863292031393938205665726953 7479202D204732313A3038060355040B13312863292031393938205665726953
69676E2C20496E632E202D20466F7220617574686F72697A656420757365206F 69676E2C20496E632E202D20466F7220617574686F72697A656420757365206F
6E6C79311F301D060355040B1316566572695369676E205472757374204E6574 6E6C79311F301D060355040B1316566572695369676E205472757374204E6574
776F726B009C308199310B30090603550406130248553111300F060355040713 776F726B009C308199310B30090603550406130248553111300F060355040713
08427564617065737431273025060355040A131E4E 08427564617065737431273025060355040A131E4E
Rx: 9000 Rx: 9000
EAP Support in Smartcard December 2018
Tx: A0800100F065744C6F636B2048616C6F7A617462697A746F6E73616769204B66 Tx: A0800100F065744C6F636B2048616C6F7A617462697A746F6E73616769204B66
742E311A3018060355040B131154616E7573697476616E796B6961646F6B3132 742E311A3018060355040B131154616E7573697476616E796B6961646F6B3132
3030060355040313294E65744C6F636B20557A6C6574692028436C6173732042 3030060355040313294E65744C6F636B20557A6C6574692028436C6173732042
292054616E7573697476616E796B6961646F00473045310B3009060355040613 292054616E7573697476616E796B6961646F00473045310B3009060355040613
02555331183016060355040A130F47544520436F72706F726174696F6E311C30 02555331183016060355040A130F47544520436F72706F726174696F6E311C30
1A06035504031313475445204379626572547275737420526F6F740077307531 1A06035504031313475445204379626572547275737420526F6F740077307531
0B300906035504061302555331183016060355040A130F47544520436F72706F 0B300906035504061302555331183016060355040A130F47544520436F72706F
726174696F6E31273025060355040B131E47544520 726174696F6E31273025060355040B131E47544520
Rx: 9000 Rx: 9000
skipping to change at page 51, line 4 skipping to change at page 51, line 4
// Read Server Hello frag#4 550 octets eap.request#18 // Read Server Hello frag#4 550 octets eap.request#18
Tx: A0800100F0011802260D00706F726174696F6E31273025060355040B131E4754 Tx: A0800100F0011802260D00706F726174696F6E31273025060355040B131E4754
45204379626572547275737420536F6C7574696F6E732C20496E632E311C301A 45204379626572547275737420536F6C7574696F6E732C20496E632E311C301A
06035504031313475445204379626572547275737420526F6F74009E30819B31 06035504031313475445204379626572547275737420526F6F74009E30819B31
0B30090603550406130248553111300F06035504071308427564617065737431 0B30090603550406130248553111300F06035504071308427564617065737431
273025060355040A131E4E65744C6F636B2048616C6F7A617462697A746F6E73 273025060355040A131E4E65744C6F636B2048616C6F7A617462697A746F6E73
616769204B66742E311A3018060355040B131154616E7573697476616E796B69 616769204B66742E311A3018060355040B131154616E7573697476616E796B69
61646F6B313430320603550403132B4E65744C6F636B20457870726573737A20 61646F6B313430320603550403132B4E65744C6F636B20457870726573737A20
28436C6173732043292054616E7573697476616E79 28436C6173732043292054616E7573697476616E79
EAP Support in Smartcard December 2018
Rx: 9000 Rx: 9000
Tx: A0800100F06B6961646F0054305231123010060A0992268993F22C6401191602 Tx: A0800100F06B6961646F0054305231123010060A0992268993F22C6401191602
667231143012060A0992268993F22C6401191604656E737431153013060A0992 667231143012060A0992268993F22C6401191604656E737431153013060A0992
268993F22C64011916056261647261310F300D06035504031306636177696669 268993F22C64011916056261647261310F300D06035504031306636177696669
00723070312B3029060355040B1322436F707972696768742028632920313939 00723070312B3029060355040B1322436F707972696768742028632920313939
37204D6963726F736F667420436F72702E311E301C060355040B13154D696372 37204D6963726F736F667420436F72702E311E301C060355040B13154D696372
6F736F667420436F72706F726174696F6E3121301F060355040313184D696372 6F736F667420436F72706F726174696F6E3121301F060355040313184D696372
6F736F667420526F6F7420417574686F726974790061305F31133011060A0992 6F736F667420526F6F7420417574686F726974790061305F31133011060A0992
268993F22C6401191603636F6D31193017060A0992 268993F22C6401191603636F6D31193017060A0992
skipping to change at page 52, line 4 skipping to change at page 52, line 4
35300E06082A864886F70D030202020080300E06082A864886F70D0304020200 35300E06082A864886F70D030202020080300E06082A864886F70D0304020200
9F00 9F00
Tx: A012000000 Tx: A012000000
Rx: 80300706052B0E030207300A06082A864886F70D0307301D0603551D0E041604 Rx: 80300706052B0E030207300A06082A864886F70D0307301D0603551D0E041604
14526E170649667E12FD1EC69D4CC8A02640B75928301706092B060104018237 14526E170649667E12FD1EC69D4CC8A02640B75928301706092B060104018237
1402040A1E080055007300650072301F0603551D23041830168014E56DC55020 1402040A1E080055007300650072301F0603551D23041830168014E56DC55020
881E3900398AF99EE0789DA4230F893081FB0603551D1F0481F33081F03081ED 881E3900398AF99EE0789DA4230F893081FB0603551D1F0481F33081F03081ED
A081EAA081E78681B16C6461703A2F2F2F434E3D6361776966692C434E3D616B A081EAA081E78681B16C6461703A2F2F2F434E3D6361776966692C434E3D616B
6B6172312C434E3D4344502C434E3D5075626C69632532304B65792532305365 6B6172312C434E3D4344502C434E3D5075626C69632532304B65792532305365
EAP Support in Smartcard December 2018
7276696365732C434E3D53657276696365732C434E3D436F6E66696775726174 7276696365732C434E3D53657276696365732C434E3D436F6E66696775726174
696F6E2C44433D62616472612C44433D656E73742C44433D66723F6365727469 696F6E2C44433D62616472612C44433D656E73742C44433D66723F6365727469
9F00 9F00
Tx: A012000000 Tx: A012000000
Rx: 6669636174655265766F636174696F6E4C6973743F626173653F6F626A656374 Rx: 6669636174655265766F636174696F6E4C6973743F626173653F6F626A656374
436C6173733D63524C446973747269627574696F6E506F696E74863168747470 436C6173733D63524C446973747269627574696F6E506F696E74863168747470
3A2F2F616B6B6172312E62616472612E656E73742E66722F43657274456E726F 3A2F2F616B6B6172312E62616472612E656E73742E66722F43657274456E726F
6C6C2F6361776966692E63726C3082011306082B060105050701010482010530 6C6C2F6361776966692E63726C3082011306082B060105050701010482010530
8201013081AA06082B0601050507300286819D6C6461703A2F2F2F434E3D6361 8201013081AA06082B0601050507300286819D6C6461703A2F2F2F434E3D6361
skipping to change at page 53, line 4 skipping to change at page 53, line 4
// //
Tx: A012000000 Tx: A012000000
Rx: 0219015B0D00C9186A1078130652552D5CFEF1B6CDBA5197910A4C87CAD1F92F Rx: 0219015B0D00C9186A1078130652552D5CFEF1B6CDBA5197910A4C87CAD1F92F
A7EB7A0B1000008200808FD83C571FE7D71E76A86405BDBC95BA4BD67A48F4BD A7EB7A0B1000008200808FD83C571FE7D71E76A86405BDBC95BA4BD67A48F4BD
8084F4F944C1ACDF1FACF85FFC111BE3CE8AFFB48F6DA6C5477761A34C7889CB 8084F4F944C1ACDF1FACF85FFC111BE3CE8AFFB48F6DA6C5477761A34C7889CB
148DA42141BBC1E942BAC8752B7FD255574F654DBED3DEF89EE0F79BEEBF43DC 148DA42141BBC1E942BAC8752B7FD255574F654DBED3DEF89EE0F79BEEBF43DC
737F158F99C17A2461B2C5D5E2A75FCBBD7F5275AD781127300E46EC61408EF2 737F158F99C17A2461B2C5D5E2A75FCBBD7F5275AD781127300E46EC61408EF2
BABC200F85363926301E0F0000820080BDD2429D21DAE14D9727D2F715BF30A6 BABC200F85363926301E0F0000820080BDD2429D21DAE14D9727D2F715BF30A6
5E61C7608D5C0B6035BCCC014BAFE24BB98550AF86E13B6D8D371E5A922D20DD 5E61C7608D5C0B6035BCCC014BAFE24BB98550AF86E13B6D8D371E5A922D20DD
338B563B7E9C9AF0EF9110C77B468A651915575D348A7D29B89CC5A8D4B8AA71 338B563B7E9C9AF0EF9110C77B468A651915575D348A7D29B89CC5A8D4B8AA71
EAP Support in Smartcard December 2018
9F5B 9F5B
Tx: A01200005B Tx: A01200005B
Rx: 5D53E340E6E7AD6B6E3438F358B870C5DA5E61C45EE5E3F9454219F48A34CC98 Rx: 5D53E340E6E7AD6B6E3438F358B870C5DA5E61C45EE5E3F9454219F48A34CC98
10A946F0C652675E3CA81ABA229309B71403010001011603010020C97EBCFF0C 10A946F0C652675E3CA81ABA229309B71403010001011603010020C97EBCFF0C
20271CAE21FAA80898278660D393CB4C640390CDEB14592A0392F79000 20271CAE21FAA80898278660D393CB4C640390CDEB14592A0392F79000
// Transfer Server last message, eap request #1A // Transfer Server last message, eap request #1A
Tx: A080000035011A00350D800000002B14030100010116030100209255D2089E41 Tx: A080000035011A00350D800000002B14030100010116030100209255D2089E41
30B5984AF43B604A108AA11376F368E71BCF81EEFEBC00289C1C 30B5984AF43B604A108AA11376F368E71BCF81EEFEBC00289C1C
skipping to change at page 54, line 4 skipping to change at page 54, line 4
// RANDOM Number Generator // RANDOM Number Generator
Tx: A060 0200 1C // 28 bytes Tx: A060 0200 1C // 28 bytes
Rx: 08BDD285B43D1F3BC9715FC9F85FC453FE58F3A9E07FF397CD653922 Rx: 08BDD285B43D1F3BC9715FC9F85FC453FE58F3A9E07FF397CD653922
// Set Server Public KEY (FCT = Initialize + Public-Encrypt) // Set Server Public KEY (FCT = Initialize + Public-Encrypt)
Tx: A0604800870080bc67013cb915ec1281e65a4daf49801ddb6d5cf30cfd2ff63f Tx: A0604800870080bc67013cb915ec1281e65a4daf49801ddb6d5cf30cfd2ff63f
5d377929c7391bfd766f67dd0fe9e8425143ba46ae95ff76919f30a39c459a22 5d377929c7391bfd766f67dd0fe9e8425143ba46ae95ff76919f30a39c459a22
f22b7566529795c32fee7dcfc9dcde1169a346efe825246214df022badf983b9 f22b7566529795c32fee7dcfc9dcde1169a346efe825246214df022badf983b9
cbba81c44c15a1139701b69f9954c9bd2fdfa1ae401e3bd6fd06cf585413c28a cbba81c44c15a1139701b69f9954c9bd2fdfa1ae401e3bd6fd06cf585413c28a
e802b4670a8f30003010001 e802b4670a8f30003010001
EAP Support in Smartcard December 2018
// Pre-Master Secret Encryption with the Server Public Key // Pre-Master Secret Encryption with the Server Public Key
// FCT = Do-Final + Public-Encrypt // FCT = Do-Final + Public-Encrypt
Tx: A0600800300301c5a68fb75123308e2ddbb27b63fe021e8724e7bc5c17078b3b Tx: A0600800300301c5a68fb75123308e2ddbb27b63fe021e8724e7bc5c17078b3b
3f90ba00d128f80b07ad786b6de36e5f94ffdfeb49 3f90ba00d128f80b07ad786b6de36e5f94ffdfeb49
RX: 6180 RX: 6180
TX: 8fd83c571fe7d71e76a86405bdbc95ba4bd67a48f4bd8084f4f944c1acdf1fac TX: 8fd83c571fe7d71e76a86405bdbc95ba4bd67a48f4bd8084f4f944c1acdf1fac
f85ffc111be3ce8affb48f6da6c5477761a34c7889cb148da42141bbc1e942ba f85ffc111be3ce8affb48f6da6c5477761a34c7889cb148da42141bbc1e942ba
c8752b7fd255574f654dbed3def89ee0f79beebf43dc737f158f99c17a2461b2 c8752b7fd255574f654dbed3def89ee0f79beebf43dc737f158f99c17a2461b2
c5d5e2a75fcbbd7f5275ad781127300e46ec61408ef2babc200f85363926301e c5d5e2a75fcbbd7f5275ad781127300e46ec61408ef2babc200f85363926301e
skipping to change at page 55, line 4 skipping to change at page 55, line 4
// Read Client Certificate // Read Client Certificate
Tx: A060000000 // Certificate 1st fragment Tx: A060000000 // Certificate 1st fragment
Rx: 308205D7308204BFA003020102020A61253DFF000000000006300D06092A8648 Rx: 308205D7308204BFA003020102020A61253DFF000000000006300D06092A8648
86F70D0101050500305231123010060A0992268993F22C640119160266723114 86F70D0101050500305231123010060A0992268993F22C640119160266723114
3012060A0992268993F22C6401191604656E737431153013060A0992268993F2 3012060A0992268993F22C6401191604656E737431153013060A0992268993F2
2C64011916056261647261310F300D06035504031306636177696669301E170D 2C64011916056261647261310F300D06035504031306636177696669301E170D
3033313130363039333635395A170D3034313130353039333635395A30623112 3033313130363039333635395A170D3034313130353039333635395A30623112
3010060A0992268993F22C6401191602667231143012060A0992268993F22C64 3010060A0992268993F22C6401191602667231143012060A0992268993F22C64
01191604656E737431153013060A0992268993F22C6401191605626164726131 01191604656E737431153013060A0992268993F22C6401191605626164726131
EAP Support in Smartcard December 2018
0E300C060355040313055573657273310F300D0603550403130668616A6A6568 0E300C060355040313055573657273310F300D0603550403130668616A6A6568
9F00 9F00
Tx: A012000000 // Certificate 2nd fragment Tx: A012000000 // Certificate 2nd fragment
Rx: 30819F300D06092A864886F70D010101050003818D0030818902818100DE7D0E Rx: 30819F300D06092A864886F70D010101050003818D0030818902818100DE7D0E
F51D1716C06F51B04CEF2EC6CAF4D86601BC7B211237CEDC6172F3C8FF835C2F F51D1716C06F51B04CEF2EC6CAF4D86601BC7B211237CEDC6172F3C8FF835C2F
F52BF8F00FBD89866A3FC28B3BBDC798FD4B1D678F856612746F6474D0310746 F52BF8F00FBD89866A3FC28B3BBDC798FD4B1D678F856612746F6474D0310746
04BAB17470B1FCD94244F897C274B9455C841533EC4ACB41D26E7C6DBDBCCD3E 04BAB17470B1FCD94244F897C274B9455C841533EC4ACB41D26E7C6DBDBCCD3E
64FF8F3363FE06556996C696FA17DBF87FEB5BFE003ED18E428362BEC3020301 64FF8F3363FE06556996C696FA17DBF87FEB5BFE003ED18E428362BEC3020301
0001A38203213082031D300B0603551D0F0404030205A0304406092A864886F7 0001A38203213082031D300B0603551D0F0404030205A0304406092A864886F7
0D01090F04373035300E06082A864886F70D030202020080300E06082A864886 0D01090F04373035300E06082A864886F70D030202020080300E06082A864886
skipping to change at page 56, line 4 skipping to change at page 56, line 4
DB4282A69EF9D023D51F32FD0B97AF03C4BACD6B7ED5C155110EBACC3F0FAD6D DB4282A69EF9D023D51F32FD0B97AF03C4BACD6B7ED5C155110EBACC3F0FAD6D
9FDB 9FDB
Tx: A0120000DB // Certificate 6th and last fragment Tx: A0120000DB // Certificate 6th and last fragment
Rx: 853DEE845CC33D0E9D8ECC7514295F854D16F6409DFEB61A60C9A1EF0BC09AD3 Rx: 853DEE845CC33D0E9D8ECC7514295F854D16F6409DFEB61A60C9A1EF0BC09AD3
C1A93BEE546B2DF9DBAB8AD9A90AAB5CEE35FF6751275873D1C5093339B4ADEA C1A93BEE546B2DF9DBAB8AD9A90AAB5CEE35FF6751275873D1C5093339B4ADEA
0F40C54754DAE7461966322B5772B460B7FA2F5985D496C52CAF7456DF2D78E4 0F40C54754DAE7461966322B5772B460B7FA2F5985D496C52CAF7456DF2D78E4
DE9B1C48F2ACB987BA9BDE3D1624645330F0FBF0103C547DA547C1F03B1C2BB5 DE9B1C48F2ACB987BA9BDE3D1624645330F0FBF0103C547DA547C1F03B1C2BB5
CDD06D38D2ABFAFD06387235E8E49DEDCB7E2B7E80A15B1317A04ECF1ADBF475 CDD06D38D2ABFAFD06387235E8E49DEDCB7E2B7E80A15B1317A04ECF1ADBF475
AC82D67514A6EF5EBFFAD40D5D5F7395179677703BFC3A9D34623BD28EC9186A AC82D67514A6EF5EBFFAD40D5D5F7395179677703BFC3A9D34623BD28EC9186A
1078130652552D5CFEF1B6CDBA5197910A4C87CAD1F92FA7EB7A0B9000 1078130652552D5CFEF1B6CDBA5197910A4C87CAD1F92FA7EB7A0B9000
EAP Support in Smartcard December 2018
18 Annex 7, EAP-AKA ISO7816 APDUs Trace (T=0 Protocol) 18 Annex 7, EAP-AKA ISO7816 APDUs Trace (T=0 Protocol)
This annex gives test vectors for the EAP-AKA protocol, introduced This annex gives test vectors for the EAP-AKA protocol, introduced
by [EAP-AKA] by [EAP-AKA]
// Select EAP_APPLICATION // Select EAP_APPLICATION
Tx: 00A40400 07 11 22 33 44 55 66 01 Tx: 00A40400 07 11 22 33 44 55 66 01
Rx: 9000 Rx: 9000
// Verify User PIN ('0000') // Verify User PIN ('0000')
skipping to change at page 57, line 4 skipping to change at page 57, line 4
// SQN: ff9bb4d0b607 // SQN: ff9bb4d0b607
// AMF: b9b9 // AMF: b9b9
// RAND: 23553cbe 9637a89d 218ae64d ae47bf35 // RAND: 23553cbe 9637a89d 218ae64d ae47bf35
// f1|f1*: 4A 9F FA C3 54 DF AF B3 01 CF AF 9E C4 E8 71 E9 // f1|f1*: 4A 9F FA C3 54 DF AF B3 01 CF AF 9E C4 E8 71 E9
// f2/sres A5 42 11 D5 E3 BA 50 BF // f2/sres A5 42 11 D5 E3 BA 50 BF
// f3/ck B4 0B A9 A3 C5 8B 2A 05 BB F0 D9 87 B2 1B F8 CB // f3/ck B4 0B A9 A3 C5 8B 2A 05 BB F0 D9 87 B2 1B F8 CB
// f4/ik F7 69 BC D7 51 04 46 04 12 76 72 71 1C 6D 34 41 // f4/ik F7 69 BC D7 51 04 46 04 12 76 72 71 1C 6D 34 41
// f5/ak AA 68 9C 64 83 70 // f5/ak AA 68 9C 64 83 70
// f5*/ak2 45 1E 8B EC A4 3B // f5*/ak2 45 1E 8B EC A4 3B
EAP Support in Smartcard December 2018
//============================= //=============================
// Values for XKEY & PRF(XKEY)= // Values for XKEY & PRF(XKEY)=
//============================= //=============================
// ID: 61 6B 61 40 64 6F 74 2E 63 6F 6D = aka@dot.com // ID: 61 6B 61 40 64 6F 74 2E 63 6F 6D = aka@dot.com
// IK: F7 69 BC D7 51 04 46 04 12 76 72 71 1C 6D 34 41 // IK: F7 69 BC D7 51 04 46 04 12 76 72 71 1C 6D 34 41
// CK: B4 0B A9 A3 C5 8B 2A 05 BB F0 D9 87 B2 1B F8 CB // CK: B4 0B A9 A3 C5 8B 2A 05 BB F0 D9 87 B2 1B F8 CB
// XKEY = MK = sha1(ID|IK|CK) = // XKEY = MK = sha1(ID|IK|CK) =
// C4 83 4F 21 BE AD F0 9E 7A 3B E8 17 97 5A BA 99 DD B4 0C 9A // C4 83 4F 21 BE AD F0 9E 7A 3B E8 17 97 5A BA 99 DD B4 0C 9A
// PRF(XKEY) // PRF(XKEY)
skipping to change at page 58, line 4 skipping to change at page 58, line 4
// AT-RES AT-MAC // AT-RES AT-MAC
Rx: 02 A5 0028 17010000 03030040 A54211D5 E3BA50BF Rx: 02 A5 0028 17010000 03030040 A54211D5 E3BA50BF
0B050000 45703D12 9567DCA9 2C9101C4 9392F267 9000 0B050000 45703D12 9567DCA9 2C9101C4 9392F267 9000
// Get MSK // Get MSK
Tx: A0 A6 00 00 40 Tx: A0 A6 00 00 40
Rx: 20 AF 49 FD CB 77 00 8C 2A AC DB A3 A1 AE 79 75 20 8C 25 E5 40 Rx: 20 AF 49 FD CB 77 00 8C 2A AC DB A3 A1 AE 79 75 20 8C 25 E5 40
17 5D 22 D5 48 0C DE 88 D7 90 33 BE 12 98 C0 B5 33 8C 91 D6 E1 17 5D 22 D5 48 0C DE 88 D7 90 33 BE 12 98 C0 B5 33 8C 91 D6 E1
1B 33 AE 7D 46 2D E2 99 64 64 0C F5 05 FF 26 AE D5 98 82 2D 41 1B 33 AE 7D 46 2D E2 99 64 64 0C F5 05 FF 26 AE D5 98 82 2D 41
F9 90 00 F9 90 00
EAP Support in Smartcard December 2018
//========================================== //==========================================
// Test #2 : FULL AUTHENTICATION, WRONG SQN // Test #2 : FULL AUTHENTICATION, WRONG SQN
//========================================== //==========================================
//GPP TS 33.102, Release 9 V9.2.0 (2010-03), page 23: //GPP TS 33.102, Release 9 V9.2.0 (2010-03), page 23:
//The AMF used to calculate MAC-S assumes a dummy value of all zeros //The AMF used to calculate MAC-S assumes a dummy value of all zeros
//so that it does not need to be transmitted in the clear in the //so that it does not need to be transmitted in the clear in the
//re-synch message. //re-synch message.
Tx: A0 80 00 0044 01A5 0044 17010000 01050000 23553CBE Tx: A0 80 00 0044 01A5 0044 17010000 01050000 23553CBE
9637A89D 218AE64D AE47BF35 02050000 55F328B43577 B9B9 4A9FFAC3 9637A89D 218AE64D AE47BF35 02050000 55F328B43577 B9B9 4A9FFAC3
skipping to change at page 59, line 4 skipping to change at page 59, line 4
Tx: A0 80 00 00 7C 01A5 007C 17010000 01050000 23553CBE 9637A89D Tx: A0 80 00 00 7C 01A5 007C 17010000 01050000 23553CBE 9637A89D
218AE64D AE47BF35 02050000 55F328B43577 B9B9 218AE64D AE47BF35 02050000 55F328B43577 B9B9
4A9FFAC3 54DFAFB3 81050000 12345678 12345678 12345678 12345678 4A9FFAC3 54DFAFB3 81050000 12345678 12345678 12345678 12345678
82090000 819DCAF9 E851072D 660A36FB 79D96C09 6AC36F2E 58D6E32D 82090000 819DCAF9 E851072D 660A36FB 79D96C09 6AC36F2E 58D6E32D
3FC84869 9DA076D4 0B050000 B05E0FFC 0A99A434 2A2BFAD8 1900F1B3 3FC84869 9DA076D4 0B050000 B05E0FFC 0A99A434 2A2BFAD8 1900F1B3
// AT-RES AT-MAC // AT-RES AT-MAC
Rx: 02 A5 00 28 17010000 03030040 A54211D5 E3BA50BF 0B050000 Rx: 02 A5 00 28 17010000 03030040 A54211D5 E3BA50BF 0B050000
45703D12 9567DCA9 2C9101C4 9392F267 9000 45703D12 9567DCA9 2C9101C4 9392F267 9000
EAP Support in Smartcard December 2018
// AT-FULLAUTH-ID-REQ = "12341234123412341@dot.com" // AT-FULLAUTH-ID-REQ = "12341234123412341@dot.com"
Tx: A0 80 00 00 0C 01A6 000C 17050000 11010000 Tx: A0 80 00 00 0C 01A6 000C 17050000 11010000
Rx: 02 A6 00 24 17050000 0E070015 31323334 31323334 31323334 Rx: 02 A6 00 24 17050000 0E070015 31323334 31323334 31323334
3140646F 742E636F 6D000000 9000 3140646F 742E636F 6D000000 9000
// AT-PERMANENT-ID-REQ = "aka@dot.com" // AT-PERMANENT-ID-REQ = "aka@dot.com"
Tx: A0 80 00 00 0C 01A6 000C 17050000 0A010000 Tx: A0 80 00 00 0C 01A6 000C 17050000 0A010000
Rx: 02 A6 00 18 17050000 0E04000B 616B6140 646F742E 636F6D00 9000 Rx: 02 A6 00 18 17050000 0E04000B 616B6140 646F742E 636F6D00 9000
skipping to change at page 60, line 4 skipping to change at page 60, line 4
// XKEY' = SHA1(Identity | counter | NONCE-S | MK) // XKEY' = SHA1(Identity | counter | NONCE-S | MK)
// Identity = 31323334 31323334 31323334 31 // Identity = 31323334 31323334 31323334 31
// Counter= 0001 // Counter= 0001
// NONCE-S= 12345678 12345678 12345678 12345678 // NONCE-S= 12345678 12345678 12345678 12345678
// MK = C4834F21BEADF09E7A3BE817975ABA99DDB40C9A // MK = C4834F21BEADF09E7A3BE817975ABA99DDB40C9A
// XKEY'= 7A790D9602767568BF4D9AD23C0E28F44A0A64B3 // XKEY'= 7A790D9602767568BF4D9AD23C0E28F44A0A64B3
// PRF(XKEY') = // PRF(XKEY') =
// C2BCFE5D383ED9C30F55B83619BF1C7A09A26320AF7F323AD9A0E58CCBE1FA7E // C2BCFE5D383ED9C30F55B83619BF1C7A09A26320AF7F323AD9A0E58CCBE1FA7E
// 6894EE064D7E38C6EBEFFE95DBEC150759B08C18B6AF02EF9D7E52A52B670E13 // 6894EE064D7E38C6EBEFFE95DBEC150759B08C18B6AF02EF9D7E52A52B670E13
EAP Support in Smartcard December 2018
// AT-IV AT-ENCR AT-MAC // AT-IV AT-ENCR AT-MAC
// ENCR: 82090000 13010001 15050000 12345678 12345678 12345678 // ENCR: 82090000 13010001 15050000 12345678 12345678 12345678
// 12345678 85020004 31323334 // 12345678 85020004 31323334
Tx: A080000054 01A50054 170D0000 Tx: A080000054 01A50054 170D0000
81050000 12345678 12345678 12345678 12345678 81050000 12345678 12345678 12345678 12345678
82090000 99571855 2FAF6D99 57A67521 3A37A839 A76923F4 6A0040CF 82090000 99571855 2FAF6D99 57A67521 3A37A839 A76923F4 6A0040CF
839AC1E4 DC8B3CDF 839AC1E4 DC8B3CDF
0B050000 842D9F634BAA8D4BC10EF5A78C90F705 0B050000 842D9F634BAA8D4BC10EF5A78C90F705
skipping to change at page 61, line 4 skipping to change at page 61, line 4
839AC1E4 DC8B3CDF 839AC1E4 DC8B3CDF
0B050000 842D9F634BAA8D4BC10EF5A78C90F705 0B050000 842D9F634BAA8D4BC10EF5A78C90F705
// AT-ENCR AT-COUNTER-TOO-SMALL AT-COUNTER AT-PADDING // AT-ENCR AT-COUNTER-TOO-SMALL AT-COUNTER AT-PADDING
// AT-ENCR: 82050000 14010000 13010001 06020000 00000000 // AT-ENCR: 82050000 14010000 13010001 06020000 00000000
Rx: 02A50044 170D0000 81050000 A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 Rx: 02A50044 170D0000 81050000 A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
82050000 605F0CA17BBDE27ABFF0A82D20E2B945 82050000 605F0CA17BBDE27ABFF0A82D20E2B945
0B050000 C79D53756722DEDC753FD0D85C1A90FD 0B050000 C79D53756722DEDC753FD0D85C1A90FD
9000 9000
EAP Support in Smartcard December 2018
19 IANA Considerations 19 IANA Considerations
This draft does not require any action from IANA. This draft does not require any action from IANA.
20 References 20 References
20.1 Normative References 20.1 Normative References
[RFC 3748] B. Aboba, L. Blunk, J. Vollbrecht,C. Sun, H. Levkowetz, [RFC 3748] B. Aboba, L. Blunk, J. Vollbrecht,C. Sun, H. Levkowetz,
"Extensible Authentication Protocol (EAP)", RFC 3748, June 2004 "Extensible Authentication Protocol (EAP)", RFC 3748, June 2004
[L2P] W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn, B. [L2P] W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn, B.
Palter "Layer Two Tunneling Protocol", RFC 2661, August 1999 Palter "Layer Two Tunneling Protocol", RFC 2661, August 1999
[TLS] T.Dierks, E. Rescorla, RFC 5246, "The TLS Protocol Version [TLS] E. Rescorla, "The Transport Layer Security (TLS)
1.2", August 2008. Protocol Version 1.3, RFC 8446, August 2018.
[GSM 11.11] GSM Technical Specification GSM 11.11. Digital cellular [GSM 11.11] GSM Technical Specification GSM 11.11. Digital cellular
telecommunications system (Phase 2+); Specification of the telecommunications system (Phase 2+); Specification of the
Subscriber Identity Module - Mobile Equipment (SIM - ME) Subscriber Identity Module - Mobile Equipment (SIM - ME)
[IEEE 802.11] Institute of Electrical and Electronics Engineers, [IEEE 802.11] Institute of Electrical and Electronics Engineers,
"Standard for Telecommunications and Information Exchange Between "Standard for Telecommunications and Information Exchange Between
Systems - LAN/MAN Specific Requirements - Part 11: Wireless LAN Systems - LAN/MAN Specific Requirements - Part 11: Wireless LAN
Medium Access Control (MAC) and Physical Layer (PHY) Medium Access Control (MAC) and Physical Layer (PHY)
Specifications", IEEE Standard 802.11, 1999 Specifications", IEEE Standard 802.11, 1999
skipping to change at page 62, line 4 skipping to change at page 62, line 4
[ASN.1] ASN.1 standard 2002 edition ISO/IEC 8825.1. [ASN.1] ASN.1 standard 2002 edition ISO/IEC 8825.1.
http://asn1.elibel.tm.fr/en/standards/index.htm http://asn1.elibel.tm.fr/en/standards/index.htm
[XML] Extensible Markup Language (XML) 1.0 (Second Edition), W3C [XML] Extensible Markup Language (XML) 1.0 (Second Edition), W3C
Recommendation 6 October 2000 Recommendation 6 October 2000
[RFC 5216] B. Aboba, D. Simon, R. Hurst, "EAP TLS Authentication [RFC 5216] B. Aboba, D. Simon, R. Hurst, "EAP TLS Authentication
Protocol" RFC 5216, March 2008. Protocol" RFC 5216, March 2008.
[PKCS1] "PKCS #1: RSA Encryption Standard", RSA Laboratories, [PKCS1] "PKCS #1: RSA Encryption Standard", RSA Laboratories,
EAP Support in Smartcard December 2018
[PKCS6] PKCS #6: "Extended-Certificate Syntax Standard, An RSA [PKCS6] PKCS #6: "Extended-Certificate Syntax Standard, An RSA
Laboratories Technical Note", RSA Laboratories. Laboratories Technical Note", RSA Laboratories.
[RFC 3748] B. Aboba, L. Blunk, J. Vollbrecht, J. C. Sun, H. [RFC 3748] B. Aboba, L. Blunk, J. Vollbrecht, J. C. Sun, H.
Levkowetz, "Extensible Authentication Protocol (EAP)" RFC 3748, June Levkowetz, "Extensible Authentication Protocol (EAP)" RFC 3748, June
2004 2004
[RFC 4017] D. Stanley, J. Walker, B. Aboba, "Extensible [RFC 4017] D. Stanley, J. Walker, B. Aboba, "Extensible
Authentication Protocol (EAP) Method Requirements for Wireless Authentication Protocol (EAP) Method Requirements for Wireless
skipping to change at page 63, line 4 skipping to change at page 63, line 4
Specification Smart Cards; Extensible Authentication Protocol Specification Smart Cards; Extensible Authentication Protocol
support in the UICC(Release 6) support in the UICC(Release 6)
[HOKEY-EMSK] J. Salowey, L. Dondeti, V. Narayanan, M. Nakhjiri, [HOKEY-EMSK] J. Salowey, L. Dondeti, V. Narayanan, M. Nakhjiri,
"Specification for the Derivation of Root Keys from an Extended "Specification for the Derivation of Root Keys from an Extended
Master Session Key (EMSK)", RFC 5295, August 2008 Master Session Key (EMSK)", RFC 5295, August 2008
[EAP-KEY] Bernard Aboba, Dan Simon, P. Eronen, H. Levkowetz, [EAP-KEY] Bernard Aboba, Dan Simon, P. Eronen, H. Levkowetz,
"Extensible Authentication Protocol (EAP) Key Management Framework", "Extensible Authentication Protocol (EAP) Key Management Framework",
RFC 5247, August 2008 RFC 5247, August 2008
EAP Support in Smartcard December 2018
20.2 Informative References 20.2 Informative References
[NIST-PIV]: Special Publication 800-73-1 Interfaces for Personal [NIST-PIV]: Special Publication 800-73-1 Interfaces for Personal
Identity Verification, March 2006 Identity Verification, March 2006
[EAP-SC] P.Urien, W.Habraken, D.Flattin , H.Ganem , "draft-urien- [EAP-SC] P.Urien, W.Habraken, D.Flattin , H.Ganem , "draft-urien-
eap-smartcard-type-02.txt", October 2005 eap-smartcard-type-02.txt", October 2005
[WiMAX-Forum-Stage2] "WiMAX End-to-End Network Systems Architecture [WiMAX-Forum-Stage2] "WiMAX End-to-End Network Systems Architecture
(Stage 2: Architecture Tenets, Reference Model and Reference (Stage 2: Architecture Tenets, Reference Model and Reference
skipping to change at page 63, line 37 skipping to change at page 63, line 35
Pascal Urien Pascal Urien
Telecom ParisTech Telecom ParisTech
23 avenue d' Italie 23 avenue d' Italie
75013 Paris Phone: NA 75013 Paris Phone: NA
France Email: Pascal.Urien@telecom-paristech.fr France Email: Pascal.Urien@telecom-paristech.fr
Guy Pujolle Guy Pujolle
LIP6 - University Paris 6 LIP6 - University Paris 6
4 place jussieu Phone: NA 4 place jussieu Phone: NA
Paris 75005 France Email: Guy.Pujolle@lip6.fr Paris 75005 France Email: guy.Pujolle@lip6.fr
 End of changes. 67 change blocks. 
128 lines changed or deleted 7 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/