One document matched: draft-urien-eap-smartcard-01.txt

Differences from draft-urien-eap-smartcard-00.txt




  Internet Draft                                               P.Urien 
  Document: draft-urien-eap-smartcard-01.txt             A.J. Farrugia 
                                                               M.Groot 
                                                             G.Pujolle 
  Expires:                                                 August 2003 
   
                         EAP-Support in smartcard 
   
   
Status 
   
  This document is an Internet-Draft and is in full conformance with 
  all provisions of Section 10 of RFC 2026. 
  Internet-Drafts are working documents of the Internet Engineering 
  Task Force (IETF), its areas, and its working groups.  Note that 
  other groups may also distribute working documents as Internet-
  Drafts. 
  Internet-Drafts are draft documents valid for a maximum of six 
  months and may be updated, replaced, or obsolete by other documents 
  at any time.  It is inappropriate to use Internet-Drafts as 
  reference material or to cite them other than as "work in progress." 
  The list of current Internet-Drafts can be accessed at 
  http://www.ietf.org/ietf/1id-abstracts.txt  
  The list of Internet-Draft Shadow Directories can be accessed at 
  http://www.ietf.org/shadow.html.  
   
Abstract 
   
  This document will describe the interface to the EAP protocol in 
  smartcards, which could store multiple identities associated to 
  Network Access Identifiers. 
   
   




















  Urien & All   Informational - Expires August 2003                1 
   
                   Integrating EAP in smartcards          March 2003 
   
Table of Contents 
   
  Status.............................................................1 
  Abstract...........................................................1 
  Table of Contents..................................................2 
  Overview...........................................................2 
  Terms..............................................................3 
  Identification label...............................................4 
  Identification Label Coding Rules..................................4 
  Add-Identity.......................................................5 
  Delete-Identity....................................................5 
  Get-Preferred-Identity.............................................5 
  Get-Next-Identity..................................................5 
  Get-Subscriber-Profile.............................................6 
  Set-Identity.......................................................6 
  EAP-Packets........................................................6 
  Get-Pairwise-Master-Key (PMK)......................................6 
  ISO 7816-4 APDUs...................................................7 
     Add-Identity....................................................7 
     Delete-Identity.................................................7 
     Get-Preferred-Identity..........................................8 
     Get-Next-Identity...............................................8 
     Get-Subscriber-Profile..........................................8 
     Set-Identity....................................................8 
     EAP-Packets.....................................................8 
     Get-Pairwise-Master-Key.........................................9 
  State Machine Sequence............................................10 
  Security Considerations...........................................10 
     General Considerations.........................................10 
     PEAP Consideration.............................................10 
  Intellectual Property Right Notice................................11 
  Annex 1 (Informative) - EAP/SIM packet detail.....................11 
     Annex 2 (Informative) - EAP/MD5 packet details.................15 
  Annex 3 (Informative) TLS support.................................17 
     Fragment maximum size..........................................17 
     EAP/TLS messages format........................................17 
     Example of EAP/TLS Authentication..............................17 
  Annex 4 (Normative) ASN.1 BER Tag coding for the subscriber profile 
  information.......................................................18 
  References........................................................18 
  Author's Addresses................................................19 
   
   
Overview 
   
  All technologies derived from 802.11 specifications such as 802.11a, 
  802.11b, 802.11g need a strong security protocols for data privacy, 
  integrity and network access. Where the 802.1X [8] specification 
  describes the risks and the protocols for the protection of the 
  exchanged data during the network connection. The very same 


  Urien & All   Informational - Expires August 2003                2 
   
                   Integrating EAP in smartcards          March 2003 
   
  specification remains compatible with other standard for the 
  authentication and the network access. 
  802.1X specification requires the Extensible Authentication Protocol 
  (EAP) to be used as the framework for application dependent 
  authentication processes with a mutual authentication between the 
  supplicant and the authenticator. It is obvious that the role of the 
  supplicant in this specification has partly been implemented in the 
  smart card has an authentication processing mean. The flexibility of 
  EAP (RFC 2284) specification does not provide a Mandatory-to-
  implement solution. The structure of the EAP frames allows the 
  applications to identify the EAP type of consequently to operate the 
  appropriate authentication. 

Terms 
   
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
  document are to be interpreted as described in RFC-2119. 
   
  Authentication Agent: A piece of software implemented in the 
  supplicant that processes the authentication sequence. 
   
  AS 
  Authentication Server 
   
  Authenticator: See the IEEE 802.1X specification for a definition of 
  this concept. 
   
  EAP 
  Extensible Authentication Protocol. 
   
  GSM 
  Global System for Mobile communications. 
   
  IMSI 
  International Mobile Subscriber Identifier, used in GSM to      
  identify subscribers. 
   
  NAI 
  Network Access Identifier 
   
  PMK 
  Pairwise Master Key 
   
  SIM 
  Subscriber Identity Mobile 
   
  Supplicant: an IEEE 802.1X concept, which in the context of IEEE 
  802.11 represents a STA (station) seeking to attach to an IEEE 802 
  LAN via an IEEE 802.1X Port. See the IEEE 802.1X specification for a 
  complete definition 

  Urien & All   Informational - Expires August 2003                3 
   
                   Integrating EAP in smartcards          March 2003 
   
Identification label 
   
  802.1X specification [5] requires an authentication between the 
  authenticator or the authentication server (AS) and the supplicant. 
  The authentication is embedded in the Extensible Authentication 
  Protocol (EAP) RFC2284 [1] specification. The authentication 
  consists of a challenge response between both parties without 
  consideration of the involved crypto-suite. Before starting the 
  mutual authentication, the AS needs the supplicant identity to 
  establish the session. The AS or the authenticator sends an EAP 
  Request Identity to the supplicant that returns its system identity. 
  A user may own several identities likely associated to the network 
  operators. 
   
  The identification label is a pointer to a system identity stored in 
  smartcard; it may be of various types: 
   
  1. A network SSID as described in the 802.11 standard [4]. 
  2. A userĘs identification (userid) e.g. an ASCII string. A network 
  access identifier, NAI [6] may be used as userid. 
  3. A pseudonym, e.g. a friendly name.  
  According to the network environment, the supplicant software needs 
  to set the appropriate identity and verifies if the smart card is 
  able to mirror the authenticator. 
   
  If the smart card is not able to process the authentication related 
  to the identity then any setting process is rejected by the NAK 
  code. 
   
  The subsequent sections give the description of the methods used by 
  a supplicant for processing an 802.1X authentication using the smart 
  card. 
   
  Annex one provides a reference implementation example for a SIM 
  based authentication. Annex two provides a reference implementation 
  example for a MD5 based authentication. Annex three provides a 
  reference implementation for a TLS based authentication. 
   
Identification Label Coding Rules 
   
  The Get-Next-Identity section didnĘt define the coding rules of the 
  identification label. This section describes the structure and the 
  architecture of the userid.  
   
  A userid consists of 2 fields separated by the Internet symbol "@". 
  The right hand side of the "@" symbol is the userid realms while the 
  left hand side is an application dependent and unique identification 
  number. EAP/SIM has defined the userid where the application 
  identification is "1IMSI". Other userid such as email address can be 
  used by the application. 
   

  Urien & All   Informational - Expires August 2003                4 
   
                   Integrating EAP in smartcards          March 2003 
   
Add-Identity 
   
  This command and the Delete-Identity are part of the userĘs identity 
  management protocols. The smart card is initially manufactured 
  without any identification label. The personalization or the 
  supplicant software adds in the smart card userĘs identification 
  label that can be retrieved by other smart card command. 
   
  If the smart card manages pseudonyms the command does not allows 
  setting the user pseudonyms. The smart card command only adds 
  permanent identification label in the list. 
   
Delete-Identity 
   
  This command and the add-Identity are part of the userĘs identity 
  management protocols. The smart card contains a list of one or 
  several identification labels that can be retrieved by the 
  supplication software. The command deletes one entry of the smart 
  card list. 
   
Get-Preferred-Identity 
   
  The smart card contains at least one userĘs identity related to the 
  userĘs network subscription. The supplicant software gets from the 
  smart card the initial and preferred identification label. If the 
  user has more than one identities the supplicant software uses the 
  Get-Next-Identity to read all the available other userĘs identities. 
  If the smart card manages pseudonyms and a pseudonym is available as 
  preferred identity, the Get-Preferred-Identity shall return the 
  pseudonym. 
   
Get-Next-Identity 
   
  The smart card may contain one or more userĘs identities according 
  to the userĘs network subscriptions. The supplicant software should 
  prompt the userĘs identity and a subsequent selection allows the 
  smart card to process the appropriate EAP authentication type. The 
  method Get-Next-Identity allows the supplicant software to read all 
  the available userĘs identities. 
   
  The Get-Next-Identity method may inform the supplicant software when 
  all userĘs identities have been read. Otherwise the supplicant 
  software detects the identity list end when it gets again the first 
  identity. 
   
  If the smart card contains a pseudonym management and the pseudonym 
  is (are) available the Get-Next-Identity returns the appropriate 
  pseudonym. If the pseudonym management is not supported, the smart 
  card returns the permanent Identity according to the previous 
  section. 
   

  Urien & All   Informational - Expires August 2003                5 
   
                   Integrating EAP in smartcards          March 2003 
   
Get-Subscriber-Profile 
   
  The Authentication Agent or the authenticator may request the 
  subscriber profile information. The Get-Subscriber-Profile returns 
  all related information available in the smart card. This 
  specification does not provide the detail of the subscriber profile 
  information. The implementation of the information may be ruled but 
  ASN.1 BER coding specification [9] or by an XML dialect [10]. 

Set-Identity 
   
  Once the Identity selection is processed, the supplicant software 
  needs to set the smart card EAP framework according to the selected 
  userĘs identity. The Set-Identity sets or restarts the smart card 
  EAP framework state machine for further processing using the EAP-
  Packets method. 
   
  The supplicant software can set the EAP framework using the 
  pseudonym if available in the smart card. If the pseudonym is not 
  available the supplicant software uses the permanent identity to set 
  the EAP framework according to the previous section. 

EAP-Packets 
   
  The EAP process is described in the RFC 2284 specification [1] and 
  involves several EAP requests and responses packets, 
   
  1. EAP request/response Identity; 
  2. A suite of EAP request/response related to a particular 
  authentication scenario; and 
  3. EAP success or failure. 
   
  The Set-Identity restarts the smart card EAP framework state machine 
  for further processing using the EAP-Packets method. 
   
  The smart card receives the RFC 2284 frames. It retrieves the 
  appropriate EAP authentication type in the frame and the identifier. 
  The smart card maintains the EAP state machine and returns an EAP 
  NAK packet if the state sequence is broken. Any EAP request is 
  silently ignored if the state machine was not started. 
   
  The last step of the protocol retrieving the Pairwise Master Key 
  from the smart card can be accomplished only if the last EAP packet 
  received from the authentication is an EAP success packet. 
   
Get-Pairwise-Master-Key (PMK) 
   
  At the end of a successful authentication the supplicant needs to 
  update the appropriate crypto suite using the master session key. 
  The Get-Pairwise-Master-Key returns to the supplicant software the 
  key to initialize radio security protocols like TKIP, WRAP or CCMP. 

  Urien & All   Informational - Expires August 2003                6 
   
                   Integrating EAP in smartcards          March 2003 
   
  For obvious security reasons the Get-Pairwise-Master-Key is 
  available only if the smart card has received an EAP success packet. 
   
ISO 7816-4 APDUs 
   
  This section of the document provides an implementation of the 
  previous descriptions for an ISO 78176-4 compatible smart card. The 
  section does not preclude of the transport protocol used between the 
  smart card and the reader. Thus, this specification does not 
  mandate-to-implement any transport protocol such as T=0 or T=1, 
  which are not in the scope of this document. It should be noted that 
  all values are in hex representation. 
   
  The restriction and security related descriptions are not present in 
  the document. Annexes of this document give implementation examples. 

Add-Identity 
   
  This command adds an identification label as described in the 
  section: Identification Label Coding Rules. The smart card list is 
  managed by the smart card. The identification label is appended as 
  the last element of the list if the parameter Po is 0x00. If this 
  parameter has any value, it represents the identification label 
  position. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 81 | Po | 00 | XX | 
  +--------+-----+-----+----+----+----+----+ 
   
Delete-Identity 
   
  This command deletes the identification label as described in the 
  section: Identification Label Coding Rules. The command parameter 
  gives the identification label to be deleted and the smart card 
  leave the space empty. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 82 | Po | 00 | 00 | 
  +--------+-----+-----+----+----+----+----+ 
   








  Urien & All   Informational - Expires August 2003                7 
   
                   Integrating EAP in smartcards          March 2003 
   
Get-Preferred-Identity 
   
  This command returns the userĘs preferred identification label as 
  described in the section: Identification Label Coding Rules 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 02 | 00 | 00 | XX | 
  +--------+-----+-----+----+----+----+----+ 
   
Get-Next-Identity 
   
  This command returns a user identification label as described in the 
  section: Identification Label Coding Rules. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 01 | 00 | 00 | XX | 
  +--------+-----+-----+----+----+----+----+ 
   
Get-Subscriber-Profile 
   
  The command returns the related subscriber profile information 
  according to the application requirements and format. 
    
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 08 | 00 | 00 | YY | 
  +--------+-----+-----+----+----+----+----+ 
   
Set-Identity 
   
  The command resets and initializes the state machine for processing 
  the EAP Packets. The first step after this command is an EAP request 
  identity packet. If a different EAP packet is sent to the smart card 
  the smart card return an EAP NAK response. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  |  16 | 80 | 00 | XX | 00 | 
  +--------+-----+-----+----+----+----+----+ 
   
EAP-Packets 
   
  The command is the method for EAP packet management. The smart card 
  identifies the EAP packet type and processes the EAP authentication 
  according to current state machine. The state machine sequences have 

  Urien & All   Informational - Expires August 2003                8 
   
                   Integrating EAP in smartcards          March 2003 
   
  to be respected and the smart card enforces the EAP sequence 
  processing. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | XX | YY | 
  +--------+-----+-----+----+----+----+----+ 
   
  The EAP request or response packet lengths are represented by the 
  unknown value XX and YY. The supplicant software should set these 
  elements in accordance with the EAP packet types. 
   
  EAP Identity packets are independent of the authentication type and 
  can be the same for any type of authentications. This section of the 
  document provides the packet details. The rest of the EAP packet 
  being authentication protocol dependent, they are detailed in the 
  informative annex of this document. 
   
  The description of the EAP/Request/identity is detailed according to 
  the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Request    |  Identifier   |          Length = 5            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 01   | 
  +-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/identity is detailed according 
  to the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Response   |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 01   |                                               | 
  +-+-+-+-+-+-+-+-+                                               | 
  |                                                               | 
  |                        User Identity                          | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

Get-Pairwise-Master-Key 
   
  Once the state machine has received the EAP Success packet the 
  smartcard process is able to send the Master Key used by the 802.1X 
  specification for the crypto-suite. 
   

  Urien & All   Informational - Expires August 2003                9 
   
                   Integrating EAP in smartcards          March 2003 
   
  As an illustration the EAP SIM authentication [2] specifies the 
  Pairwise Master Key usage according to the system cryptographic 
  suite. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | A6  | 00 | 00 | 00 | 20 | 
  +--------+-----+-----+----+----+----+----+ 
   
State Machine Sequence 
   
  +----------------------+   +----------------------+ 
  | Get userĘs identity  |>>>| Set userĘs identity  |>>> 
  +----------------------+   +----------------------+ 
   
  +----------------------+   +----------------------+ 
  | EAP request/response |>>>| EAP request/response |>>> 
  |    Get identity      |   |                      | 
  +----------------------+   +----------------------+ 
   
  +----------------------+   +----------------------+ 
  | EAP request/response |>>>|   EAP Notification   | 
  |                      |   |       Success        | 
  +----------------------+   +----------------------+ 
   
Security Considerations 

General Considerations 
   
  As a reference implementation the previous section provides the 
  details of the EAP authentication using the GSM SIM. This section of 
  the document highlights the new potential risks providers of 
  application may face by re-using deployed networks for other 
  purposes. From the document [7] fatal flaw does exist when have 
  physical access to the smart card. 
   
  The nature of the Internet network does no longer require getting 
  physical access to the smart card. Worms, Trojan horses or viruses 
  can move to the computing platforms and performs the jobs. It is 
  important for a reference implementation to provide the relevant 
  level of protection for the new applications but not to create other 
  flaws. 
   
  Other consideration have been introduced in [2] to protect the smart 
  card against crypto attack and recommends the authentication should 
  take place in a PROTECTED ENVIRONMENT. 
   
PEAP Consideration 
   


  Urien & All   Informational - Expires August 2003               10 
   
                   Integrating EAP in smartcards          March 2003 
   
  Protected Extensible Authentication Protocol (PEAP) [12] is a pre-
  processing protocol that allows the privacy of data when processing 
  EAP [1] protocol. EAP protocol, as defined in [1], starts by an EAP 
  packet request/Identity. The EAP packet response Identity returns 
  the userĘs identification label with no privacy being not part of 
  [1]. 
   
  PEAP protocol allows both part of the EAP packet exchange creating a 
  session key that can be for privacy over the subsequent execution of 
  the EAP protocol. 
    
  This implementation of EAP in the smart card shall allow performing 
  a PEAP tunnel for privacy. Once PEAP first phase has been 
  successfully preformed, the EAP protocol has defined shall be 
  performed according the EAP smart card requirements. 
   
Intellectual Property Right Notice 
   
  To be specify according to the author and participant. 
   
Annex 1 (Informative) - EAP/SIM packet detail. 
   
  The protocol implementation is out of the scope of this document but 
  as a reference implementation this section gives details using the 
  SIM as specified by [3]. Other protocol can be implemented using ISO 
  7816-3 TPDU. This section of the document gives the APDU syntax and 
  coding which makes the specification protocol free. 
   
  The first EAP packet is the EAP Request Identity. This initial 
  packet format complies with [1]. The smart card returns an EAP 
  response identity according to the IMSI length and the supported 
  version according to [2]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | 05 | YY | 
  +--------+-----+-----+----+----+----+----+ 
   
  The description of the EAP/Request/identity is detailed according to 
  the IETF RFC 2284 [1]. This EAP packet doesnĘt respect the EAP/SIM 
  format since it is only part of [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Request    |  Identifier   |          Length = 5            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 01   | 
  +-+-+-+-+-+-+-+-+ 
   

  Urien & All   Informational - Expires August 2003               11 
   
                   Integrating EAP in smartcards          March 2003 
   
  The description of the EAP/Response/identity is detailed according 
  to the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Response   |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 01   |                                               | 
  +-+-+-+-+-+-+-+-+                                               | 
  |                                                               | 
  |                         User Identity                         | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  Note the EAP/Response/Identity when returning the userĘs identity 
  that includes the IMSI includes the real coded IMSI in the EAP 
  packet and not the IMSI coded for GSM network. Further information 
  can be retrieved in [3] for the IMSI coding in the SIM during the 
  SIM setting. 
   
  The user Identity field can contains the userĘs permanent pseudonym 
  or re-authentication identity. 
  The second EAP Packet is the EAP request SIM start as represented in 
  the IETF draft document [2]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | XX | YY | 
  +--------+-----+-----+----+----+----+----+ 
   
  The description of the EAP/Request/SIM/Start is detailed according 
  to [2] incoming SIM data where further information can be retrieved. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Request    |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 18   | Subtype = 10  |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |AT_PERM..._REQ | Length = 1    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |AT_FULL..._RES | Length = 1    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |AT_ANY_ID_REQ  | Length = 1    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |AT_VERSION_L...| Length        | Actual Version List Length    | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | Supported version 1           | Supported version 2           | 

  Urien & All   Informational - Expires August 2003               12 
   
                   Integrating EAP in smartcards          March 2003 
   
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | Supported version 3           | Padding                       | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/SIM/Start is detailed according 
  to [2] outgoing SIM data where further information can be retrieved. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Response   |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 18   | Subtype = 10  |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |AT_NONCE_MT    | Length = 5    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                           NONCE_MT                            | 
  |                                                               | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |  AT_SELECTED  | Length = 1    |   Select Version              | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |  AT_IDENTITY  |    Length     | Actual Identity Length        | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                User Identity (Optional)                       | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/SIM/Start is detailed according 
  to [2] outgoing SIM data where further information can be retrieved. 
  The third EAP Packet is the EAP request SIM Challenge as represented 
  in the IETF draft document [2]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | XX | 1C | 
  +--------+-----+-----+----+----+----+----+ 
   
  The description of the EAP/Request/SIM/Challenge is detailed 
  according to [2] incoming SIM data where further information can be 
  retrieved.  
   
   






  Urien & All   Informational - Expires August 2003               13 
   
                   Integrating EAP in smartcards          March 2003 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |     Request   |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 18   | Subtype = 11  |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | AT_RAND       | Length        |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                           n*RAND                              | 
  |                                                               | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | AT_MAC        | Length = 5    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                              MAC                              | 
  |                                                               | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | AT_IV         | Length = 5    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |               Initialization Vector (Optional)                | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  | AT_ENCR_DATA  | Length        |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                Encrypted Data (Optional)                      | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/SIM/Challenge is detailed 
  according to [2] outgoing SIM data where further information can be 
  retrieved. 
   
   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 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Response   |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 18   | Subtype = 11  |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |  AT_MAC       | Length = 5    |           Reserved            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |                                                               | 
  |                           MAC                                 | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

  Urien & All   Informational - Expires August 2003               14 
   
                   Integrating EAP in smartcards          March 2003 
   
   
  The last EAP Packet is the EAP success notification as represented 
  in the IETF RFC 2284 [2]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | 04 | 00 | 
  +--------+-----+-----+----+----+-- -+----+ 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Success    |  Identifier   |          Length = 04          | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
Annex 2 (Informative) - EAP/MD5 packet details 
   
  The first EAP packet is the EAP Request Identity. This initial 
  packet format complies with the RFC 2284. The smart card returns an 
  EAP response identity according to the NAI length. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | 05 | YY | 
  +--------+-----+-----+----+----+----+----+ 
   
  The description of the EAP/Request/identity is detailed according to 
  the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Request     |  Identifier   |            Length = 5         | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |  Type = 01    | 
  +-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/identity is detailed according 
  to the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Response    |  Identifier   |            Length             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 01   |                                               | 
  |-+-+-+-+-+-+-+-+             Identity Value                    | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

  Urien & All   Informational - Expires August 2003               15 
   
                   Integrating EAP in smartcards          March 2003 
   
   
  The second EAP Packet is the EAP/request/MD5/challenge as 
  represented in the IETF RFC 2284 [1]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | XX | 16 | 
  +--------+-----+-----+----+----+----+----+ 
  The description of the EAP/Request/MD5/challenge is detailed 
  according to the IETF RFC 2284 [1]. 
    
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Request    |  Identifier   |           Length              | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 04   |                                               | 
  |-+-+-+-+-+-+-+-+           MD5-Challenge.Value                 | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  The description of the EAP/Response/MD5/challenge is detailed 
  according to the IETF RFC 2284 [1]. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Response   |  Identifier   |        Length = 16            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 04   |  Type_Size=10 |                               | 
  |-+-+-+-+-+-+-+-+---------------+     MD5 Digest Value          |               
  |                                                               | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  The third EAP Packet is the EAP success notification as represented 
  in the IETF RFC 2284 [1]. 
   
  +--------+-----+-----+----+----+----+----+ 
  |Command |Class| INS | P1 | P2 | Lc | Le | 
  +--------+-----+-----+----+----+----+----+ 
  |        | A0  | 80  | 00 | 00 | 04 | 00 | 
  +--------+-----+-----+----+----+-- -+----+ 
    
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |    Success    |  Identifier   |          Length = 04          | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   

  Urien & All   Informational - Expires August 2003               16 
   
                   Integrating EAP in smartcards          March 2003 
   
  Further information can be retrieved from the IETF draft document 
  [2]. 
   
Annex 3 (Informative) TLS support 
   
Fragment maximum size. 
   
  A single TLS record may be up to 16384 octets in length, but a TLS   
  message may span multiple TLS records, and a TLS certificate message 
  may in principle be as long as 16MB. The group of EAP-TLS messages 
  sent in a single round may thus be larger than the maximum RADIUS 
  packet size of 4096 octets, or the maximum 802 LAN frame size.  
   
  Due to smartcard constraints, the maximum EAP message length of a no 
  fragmented packet is set to 240 bytes. For a fragmented EAP message, 
  the maximum length value is 240 bytes. 
   
  When the smartcard receives an EAP-Request 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/TLS messages format. 
   
   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  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |     Code      |  Identifier   |      Length  <= 240           | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |   Type = 13   |     Flag      |        TLS Message Length     | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |       TLS Message Length      |          TLS DATA             | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               | 
  |                                                               | 
  |                                                               | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   
  Flags 
  0 1 2 3 4 5 6 7 8 
  +-+-+-+-+-+-+-+-+ 
  |L M S R R R R R| 
  +-+-+-+-+-+-+-+-+ 
  L = Length included. 
  M = More fragments 
  S = EAP-TLS start, set in an EAP-TLS Start message. 
  R = Reserved 
   
Example of EAP/TLS Authentication 
   
     Smartcard           Authentication Server 
                             <- EAP-Request/ 
                                Identity 

  Urien & All   Informational - Expires August 2003               17 
   
                   Integrating EAP in smartcards          March 2003 
   
  EAP-Response/ 
  Identity (MyID) -> 
                             <- EAP-Request/ 
                             EAP-Type=EAP-TLS 
                             (TLS Start) 
  EAP-Response/ 
  EAP-Type=EAP-TLS 
  TLS client_hello)-> 
                             <- EAP-Request/ 
                             EAP-Type=EAP-TLS 
                             (TLS server_hello, 
                              TLS certificate, 
                              TLS certificate_request, 
                              TLS server_hello_done) 
  EAP-Response/ 
  EAP-Type=EAP-TLS 
  (TLS certificate, 
   TLS client_key_exchange, 
   TLS certificate_verify, 
   TLS change_cipher_spec, 
   TLS finished) -> 
                             <- EAP-Request/ 
                             EAP-Type=EAP-TLS 
                             (TLS change_cipher_spec, 
                              TLS finished) 
     EAP-Response/ 
     EAP-Type=EAP-TLS -> 
                             <- EAP-Success 
   
Annex 4 (Normative) ASN.1 BER Tag coding for the subscriber profile 
information 
   
  To be defined according to the EAP type. 
   
References 
   
  [1] L. Blunk, J. Vollbrecht, "PPP Extensible Authentication Protocol 
  (EAP)", RFC 2284, March 1998. (NORMATIVE) 
   
  [2] EAP SIM Authentication draft version 8 (NORMATIVE) 
   
  [3] GSM Technical Specification GSM 11.11. Digital cellular 
  telecommunications system (Phase 2+); Specification of the 
  Subscriber Identity Module - Mobile Equipment (SIM - ME) 
   
  [4] Part 11: Wireless LAN Medium Access Control (MAC) and Physical 
  Layer (PHY) Specifications 
   
  [5] Standards for Local and Metropolitan Area Networks: Standard for 
  Port based Network Access Control. 
   

  Urien & All   Informational - Expires August 2003               18 
   
                   Integrating EAP in smartcards          March 2003 
   
  [6] "The Network Access Identifier" rfc 2486 
   
  [7] "Can you Clone a GSM Smart Card (SIM)? " From Charles Brookson 
  Chairman GSM Association Security Group 
   
  [8] Part 11: Wireless Medium Access Control (MAC) and physical layer 
  (PHY) specifications: Specification for Enhanced Security 
   
  [9] ASN.1 standard 2002 edition ISO/IEC 8825.1. 
  http://asn1.elibel.tm.fr/en/standards/index.htm 
   
  [10] Extensible Markup Language (XML) 1.0 (Second Edition), W3C 
  Recommendation 6 October 2000 
   
  [11] B. Aboba, D. Simon, EAP TLS Authentication Protocol RFC 2716, 
  October 1999. 
   
  [12] H. Andersson, S. Josefsson, G. Zorn, D. Simon, A. Palekar, 
  "Protected EAP Protocol (PEAP)", draft-josefsson-pppext-eap-tls-eap-
  05.txt, work-in-progress, September 2002. (INFORMATIVE) 
   
Author's Addresses 
   
  Pascal Urien 
  ENST 
  46 rue Barrault 
  75013 Paris               Phone: NA 
  France                    Email: Pascal.Urien@enst.fr 
   
  Augustin J. Farrugia 
  Impasse des CAMEGIERS     Phone: NA 
  Ceyreste, 13600 France    Email: afarrugia@csi.com 
   
  Max de Groot 
  Gemplus 
  Avenue du Pic de Bertagne 
  BP 100, 13881 Gemenos     Phone: +33 442 365 036 
  France                    Email: max.de-groot@gemplus.com 
   
  Guy Pujolle 
  LIP6 - University Paris 6 
  8 rue Capitaine Scott     Phone: NA 
  Paris 75015 France        Email: Guy.Pujolle@lip6.fr 









  Urien & All   Informational - Expires August 2003               19 

PAFTECH AB 2003-20262026-04-24 01:12:42