draft-ietf-pppext-eap-srp-03

[フレーム]

Network Working Group J. Carlson
INTERNET-DRAFT Sun Microsystems
Expires January 2002 B. Aboba
 Microsoft Corporation
 H. Haverinen
 Nokia Mobile Phones
 July 2001
 EAP SRP-SHA1 Authentication Protocol
 <draft-ietf-pppext-eap-srp-03.txt>
Status of this Memo
 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 obsoleted 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.
 This document is the product of the Point-to-Point Protocol
 Extensions Working Group of the Internet Engineering Task Force
 (IETF). Comments should be submitted to the ietf-ppp@merit.edu
 mailing list. Distribution of this memo is unlimited.
Abstract
 The Extensible Authentication Protocol (EAP) [RFC2284] describes a
 framework that allows the use of multiple authentication mechanisms.
 This document defines an authentication mechanism for EAP called
 SRP-SHA1, based on the Secure Remote Password (SRP) [RFC2945]
 protocol.
 EAP can be used with the Point-to-Point Protocol (PPP) [RFC1661] for
 link authentication.
Carlson, Aboba, Haverinen expires January 2002 [Page 1]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
Table of Contents
 1. Introduction ........................................... 2
 2. Detailed Description of EAP SRP-SHA1 Authentication .... 3
 2.1. EAP SRP-SHA1 Packet Formats .......................... 4
 2.2. EAP SRP-SHA1 Challenge Subtype-Data .................. 6
 2.3. EAP SRP-SHA1 Client Key Subtype-Data ................. 8
 2.4. EAP SRP-SHA1 Server Key Subtype-Data ................. 8
 2.5. EAP SRP-SHA1 Client Validator Subtype-Data ........... 9
 2.6. EAP SRP-SHA1 Server Validator Subtype-Data ........... 10
 2.7. EAP SRP-SHA1 Subtype 3 Response Packet ............... 12
 2.8. EAP SRP-SHA1 Lightweight Challenge Subtype-Data ...... 12
 2.9. EAP SRP-SHA1 Lightweight Response Subtype-Data ....... 13
 3. Identity Privacy Support ............................... 13
 3.1 Step One ............................................. 14
 3.2 Step Two ............................................. 15
 3.3 Using the Pseudonym .................................. 15
 4. Use with ECP ........................................... 16
 4.1. One-Way Versus Bidirectional Encryption .............. 17
 4.2. One-Way Versus Mutual Authentication ................. 17
 4.3. DESEbis Versus 3DES .................................. 18
 5. Use with AAA ........................................... 18
 6. Examples ............................................... 19
 6.1. Successful Authentication ............................ 19
 6.2. Client Unauthenticated ............................... 19
 6.3. Server Unverified .................................... 20
 7. Security Considerations ................................ 21
 8. Intellectual Property Rights Notices ................... 21
 8.1. Patent Issues ........................................ 21
 8.2. Full Copyright Statement ............................. 22
 9. References ............................................. 23
 9.1. Normative References ................................. 23
 9.2. Informative References ............................... 23
 10. Acknowledgements ....................................... 24
 11. Authors' Addresses ..................................... 24
 12. Appendix A - Well-Known Prime Modulus .................. 25
1. Introduction
 EAP allows the use of multiple authentication mechanisms within a
 single negotiation framework. When used with PPP, this protocol
 overcomes the chief design limitation of the original PPP authentica-
 tion mechanisms, PAP [RFC1334] and CHAP [RFC1994], which required
 that the protocol to be used for authentication be chosen before the
 peer's identity was known. EAP also simplifies the process of adding
 new authentication mechanisms and linking them into external authen-
 tication services.
Carlson, Aboba, Haverinen expires January 2002 [Page 2]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 SRP is an open source protocol that provides strong, password-based
 authentication based on cryptographic hashing. Unlike PAP, the pass-
 word never appears on the wire. Unlike CHAP (and variants MS-CHAPv1
 [RFC2433] and MS-CHAPv2 [RFC2759]), access to a cleartext password is
 not required for the authenticator. Unlike all of these authentica-
 tion protocols, SRP is resistant to dictionary attacks against the
 over-the-wire information. SRP is also resistant to eavesdropping
 and active attacks. As a side-effect, SRP also creates a session key
 that is resistant to man-in-the-middle attacks and can be used for
 data encryption.
 SHA-1 [FIPS180] is a message digest algorithm that can be used as a
 hashing mechanism for SRP, producing an SRP variant known as SRP-
 SHA1. For calculation of the shared key in SRP, SHA-1 is used in an
 interleaved form to produce 40 octet hashes. See section 3.1 of
 [RFC2945] for details.
 This document describes the message exchanges necessary for one peer
 to authenticate the other using EAP and SRP-SHA1. When used with
 PPP, the peers are independent and equal, and either or both may
 demand authentication from the other, and different protocols MAY be
 used independently in each direction.
 When the PPP Encryption Control Protocol (ECP) [RFC1968] is used
 along with EAP SRP-SHA1, this document describes methods that SHOULD
 be used to generate the necessary shared keys from the SRP-SHA1 ses-
 sion key. Because authentication necessarily requires prior arrange-
 ment between the peers, pre-configured keys MAY be used in place of
 the SRP-SHA1 session key, and any such selection is outside the scope
 of this document.
 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 BCP 14 [RFC2119].
2. Detailed Description of EAP SRP-SHA1 Authentication
 Unlike CHAP, SRP-SHA1 requires more than one exchange to authenticate
 the peer. For this reason, three primary message subtypes are
 defined.
 With SRP, the authenticator must communicate at least three values to
 the authenticatee, referred to as 's' (the password salt), 'B' (an
 ephemeral public key), and 'M2' (a hash value). The authenticatee
 must communicate at least three values to the authenticator, referred
 to as 'C' (the client name), 'A' (an ephemeral public key), and 'M1'
 (a hash value).
Carlson, Aboba, Haverinen expires January 2002 [Page 3]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 (The value 'u' passed from authenticator to authenticatee in the gen-
 eral SRP algorithm is derived from the first 32 bits of a SHA-1 hash
 of the 'B' value itself in the SRP-SHA1 algorithm. Thus, it does not
 need to be sent explicitly.)
 In order to send its last value (M1), the authenticatee needs A, B,
 and u. However, in order to guarantee that the authenticatee's value
 chosen for A isn't a rogue value (see section 3.2.4 of the SRP
 description [SRP]), the value of u must not be sent until the authen-
 ticatee reveals A. This implies that there are at least three steps
 -- authenticatee sends A, authenticator sends B, authenticatee sends
 M1.
 The adaptation described in this document recommends the use of the
 EAP Identity Request/Response mechanism to obtain C from the peer.
 It then uses a new message type, called EAP SRP-SHA1, with three main
 subtypes to handle the SRP authentication. The Subtype 1 Request
 ("Challenge") message contains s, g, and N. The Subtype 1 Response
 ("Client Key") contains A. The Subtype 2 Request ("Server Key") con-
 tinues with B and the Subtype 2 Response ("Client Validator") con-
 tains M1. Finally, the Subtype 3 Request ("Server Validator") con-
 tains the M2 value and the Subtype 3 response is an acknowledgement
 containing only the Subtype number and no data.
 A fourth subtype is used for optional lightweight rechallenges.
2.1. EAP SRP-SHA1 Packet Formats
 All EAP SRP-SHA1 authentication is driven by the authenticator
 (server). The authenticatee (client) MUST NOT retransmit Response
 messages, but SHOULD terminate the link if a Request is not received
 within a reasonable time period. The authenticator SHOULD silently
 ignore unexpected Response messages. The authenticatee MUST respond
 using EAP Nak if any unknown Subtype or otherwise unacceptable mes-
 sage is received.
 Rationale:
 Although the EAP Nak message is intended to signal only that a
 given EAP Type is unknown to the authenticatee and that a
 different Type should be used, its use here is still consistent
 with that meaning. If the authenticator attempts to use a
 subtype unknown to the authenticatee, then authentication using
 EAP SRP-SHA1 is itself not possible, and another Type should be
 tried.
 A summary of the EAP SRP-SHA1 Request/Response packet format is shown
Carlson, Aboba, Haverinen expires January 2002 [Page 4]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 below. The fields are transmitted from left to right.
 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 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Type | Subtype | Subtype-Data ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--+-
 Code
 1 - Request
 2 - Response
 Identifier
 The Identifier field is one octet and aids in matching responses
 with requests. The Identifier MUST be changed for each new
 Request message sent and MUST NOT be changed on retransmission of
 a given message. The Identifier in the Response message MUST
 match the corresponding Request. The authenticator MUST discard
 non-matching Response messages.
 Length
 The Length field is two octets and indicates the length of the
 EAP packet including the Code, Identifier, Length, Type, Subtype,
 and Subtype-Data fields. Octets outside the range of the Length
 field should be treated as Data Link Layer padding and should be
 ignored on reception. Truncated packets (with Length greater
 than the link layer reported length) MUST be silently discarded.
 Type
 19 - EAP SRP-SHA1
 Subtype
 1 - Challenge / Client Key
 2 - Server Key / Client Validator
 3 - Server Validator
 4 - Lightweight Rechallenge
 The Subtype field is one octet and must contain the value 1, 2,
 3, or 4. If any other subtype value is encountered in an EAP
 SRP-SHA1 Request message, then the authenticatee SHOULD return an
 EAP Response with the Type field set to Nak. In EAP SRP-SHA1
Carlson, Aboba, Haverinen expires January 2002 [Page 5]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Response messages, the Subtype value must be copied from the
 corresponding Request message. The authenticator should treat
 unknown Subtype values in Response messages as malformed packets
 and silently discard.
 Subtype-Data
 The format of the Subtype-Data field is determined by the Code
 and Subtype fields as described in the sections below.
2.2. EAP SRP-SHA1 Challenge Subtype-Data
 The EAP SRP-SHA1 Challenge (Subtype 1 Request) packet MUST be sent
 after the peer's identity has been obtained; use of the EAP Identity
 Request/Response packet as described in [RFC2284] is RECOMMENDED.
 Using the peer's unauthenticated identity, the authenticator MUST
 look up the password salt, verifier ('v'), prime modulus ('N'), and
 generator ('g') values in an implementation-dependent manner. Use of
 EAP Identity is not required by this specification, and determination
 of salt, verifier, prime modulus, and generator MAY be done in any
 convenient implementation-dependent manner.
 The authenticatee MUST validate that the specified generator value is
 indeed a generator modulo N, as described in the SRP documentation
 [SRP]. In many cases, an efficient method to do this is to keep a
 list of known-good values, and compare against this list. Since the
 full validation procedure is complex, the authenticator SHOULD use a
 longer timeout value if the default generator and modulus are not
 used; at least 30 seconds is RECOMMENDED.
 A summary of the EAP SRP-SHA1 Challenge Subtype-Data format is shown
 below. Code (1), Identifier, Length, Type (19), and Subtype (1)
 fields are as described above. The fields are transmitted from left
 to right and are not padded or justified.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Name Length | Server Name ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 | Salt Length | Salt ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 | Gen Length | Generator ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 | Prime Modulus ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-
Carlson, Aboba, Haverinen expires January 2002 [Page 6]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Name Length
 A single octet giving the length of the Server Name field in
 octets. The server name identifies the authenticator, and is
 used by the authenticatee in an implementation-dependent manner.
 It MAY be used by the authenticatee to select an appropriate
 secret for authentication or displayed to a user.
 Server Name
 The authenticator's name. This field is not authenticated. It
 SHOULD NOT be used by the authenticatee as an authenticated peer
 name.
 Salt Length
 A single octet giving the length of the Salt field in octets.
 This MUST be at least 4 octets and MAY be any length up to 255
 octets.
 Salt
 Password salt string; may contain any values. The contents of
 this field correspond to 's' in the SRP documentation.
 Gen Length
 A single octet giving the length of the Generator field in
 octets. This value MAY be zero to select the default generator
 value of 2.
 Generator
 The Generator value, called 'g' in the SRP documentation, is in
 network byte order. If the Gen Length field is zero, then the
 Generator field is omitted, and g is set to 2.
 Prime Modulus
 The Prime Modulus value, called 'N' in the SRP documentation, is
 in network byte order and fills the rest of the message to the
 length specified by the Length field in the EAP header.
 This value MAY be omitted to select the 2048 bit value for N
 listed in Appendix A. In this case, the Generator value MUST NOT
 be present in the message in order to default to 2.
 If the Prime Modulus Length field is present, then it SHOULD be
Carlson, Aboba, Haverinen expires January 2002 [Page 7]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 at least 64 octets (512 bits). Longer values are RECOMMENDED.
2.3. EAP SRP-SHA1 Client Key Subtype-Data
 The EAP SRP-SHA1 Client Key (Subtype 1) Response message MUST be sent
 in reply to an EAP SRP-SHA1 Subtype 1 Request message.
 A summary of the EAP SRP-SHA1 Client Key Subtype-Data format is shown
 below. Code (2), Identifier, Length, Type (19), and Subtype (1)
 fields are as described above. The fields are transmitted from left
 to right.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Value A ...
 +-+-+-+-+-+-+-+-+-+-
 Value A
 The result of (g^a) mod N, where 'a' is a randomly chosen number
 in the range 1 .. N (exclusive). The randomly chosen number is
 the authenticatee's private key, and the Value A field is the
 corresponding public key. This field is in network byte order
 and is not padded.
 The A value MUST NOT be zero modulo N. If the authenticator
 receives a bad value for this field, it MUST take action to
 disconnect or disable the link.
2.4. EAP SRP-SHA1 Server Key Subtype-Data
 The EAP SRP-SHA1 Server Key (Subtype 2 Request) message MUST be sent
 by the authenticator after reception of a valid EAP SRP-SHA1 Client
 Key (Subtype 1) Response message.
 A summary of the EAP SRP-SHA1 Server Key Subtype-Data format is shown
 below. Code (1), Identifier, Length, Type (19), and Subtype (2)
 fields are as described above. The fields are transmitted from left
 to right.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Value B ...
 +-+-+-+-+-+-+-+-+-+-
Carlson, Aboba, Haverinen expires January 2002 [Page 8]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Value B
 The result of (v + g^b) mod N, where 'b' is a randomly chosen
 number in the range 1 .. N (exclusive), and v is the stored
 verifier from the authentication database. The randomly chosen
 number is the authenticator's private key, and the Value B field
 is the corresponding public key. This field is in network byte
 order and is not padded.
 The B value MUST NOT be zero modulo N. If the authenticatee
 receives a bad value for this field, it MUST take action to
 disconnect or disable the link.
2.5. EAP SRP-SHA1 Client Validator Subtype-Data
 The EAP SRP-SHA1 Client Validator (Subtype 2 Response) message MUST
 be sent by the authenticatee in response to a valid EAP SRP-SHA1 Sub-
 type 2 Request. The authenticator validates this Response message by
 calculating the M1 value from its own copies of A, B, and K, and com-
 pares the result. If the values match, then the authentication is
 successful, and EAP SRP-SHA1 Server Validator Request SHOULD be sent.
 If the values do not match, then EAP Failure SHOULD be returned and
 the link terminated.
 A summary of the EAP SRP-SHA1 Client Validator Subtype-Data format is
 shown below. Code (2), Identifier, Length (30), Type (19), and Sub-
 type (2) fields are as described above. The fields are transmitted
 from left to right.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Reserved |E|
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Value M1 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M1 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M1 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M1 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M1 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Carlson, Aboba, Haverinen expires January 2002 [Page 9]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Reserved
 Must be zero on transmit by the authenticatee, ignored on
 reception by the authenticator.
 E Bit
 This bit is set if the authenticatee intends to use the derived
 session key (K) for ECP, as described in section 4. If this bit
 is zero, then K will not be used, and if ECP is negotiated, it
 must use a different keying mechanism.
 Value M1
 The 20 octet result of SHA1(SHA1(N) xor SHA1(g),
 SHA1(clientname), s, A, B, K, id, Type). The single octet "id"
 value used in this calculation MUST be the EAP Identifier field
 from the EAP SRP-SHA1 Challenge (Subtype 1) Request message. The
 single octet "Type" value is a copy of the EAP Type field, which
 is fixed at 19 (decimal).
 As described in SRP [RFC2945], the authenticatee computes x = SHA1(s,
 SHA1(clientname, ":", password)), and then computes K =
 SHA_Interleave((B - g^x)^(a + u*x) mod N). The authenticator com-
 putes K = SHA1_Interleave((A * v^u)^b mod N). The calculated K
 values MAY be used with ECP (see section 4), lightweight rechallenge
 (section 2.8), and identity privacy (section 3). Finally, M1 is com-
 puted as SHA1(SHA1(N) xor SHA1(g), SHA1(clientname), s, A, B, K, id,
 Type). (Note that reference [SRP] gives different definitions of
 these values; the [RFC2945] document should be treated as the norma-
 tive reference.)
 The SHA1 hash to produce the long-term private key x, described above
 and in [RFC2945], SHOULD be used by default in EAP SRP-SHA1. As an
 implementation option, however, the x value used above MAY instead be
 derived from any mutually-chosen hashing algorithm, provided that the
 security of that algorithm is acceptable to both authentication par-
 ties. Note that such usage requires prior arrangement between the
 peers.
2.6. EAP SRP-SHA1 Server Validator Subtype-Data
 The EAP SRP-SHA1 Server Validator (Subtype 3 Request) message MUST be
 sent by the authenticator after reception of a valid EAP SRP-SHA1
 Client Validator (Subtype 2) Response. If the authenticatee receives
 a Server Validator message with invalid contents, it MUST terminate
 the link.
Carlson, Aboba, Haverinen expires January 2002 [Page 10]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 A summary of the EAP SRP-SHA1 Server Validator Subtype-Data format is
 shown below. Code (1), Identifier, Length, Type (19), and Subtype
 (3) fields are as described above. The fields are transmitted from
 left to right.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Reserved |E|
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Value M2 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M2 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M2 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M2 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | M2 (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Hidden Pseudonym ...
 +-+-+-+-+-+-+-+-+-+-+-+-+-
 Reserved
 Must be zero on transmit by the authenticator, ignored on
 reception by the authenticatee.
 E Bit
 This bit is set if the authenticator intends to use the derived
 session key (K) for ECP, as described in section 4. If this bit
 is zero, then K will not be used, and if ECP is negotiated, it
 must use a different keying mechanism. This bit MUST be 0 if the
 authenticator uses a proxy authentication mechanism that does not
 provide access to the session key. (See section 5.)
 Value M2
 The 20 octet result of SHA1(A, M1, K, id, Type). The single
 octet "id" value used in this calculation MUST be the EAP
 Identifier field from the EAP SRP-SHA1 Challenge (Subtype 1)
 Request message. The single octet "Type" value is a copy of the
 EAP Type field, which is fixed at 19 (decimal).
 Hidden Pseudonym
 This optional field is described in section 3. The Hidden
Carlson, Aboba, Haverinen expires January 2002 [Page 11]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Pseudonym field extends to the end of the message as indicated by
 the EAP Length field.
2.7. EAP SRP-SHA1 Subtype 3 Response
 The authenticatee MUST transmit a EAP SRP-SHA1 Subtype 3 Response
 message in reply to a valid Server Validator message from the peer.
 This Response message has no Subtype-Data field. The Code (2), Iden-
 tifier, Length (6), Type (19), and Subtype (3) fields are as
 described above.
2.8. EAP SRP-SHA1 Lightweight Challenge Subtype-Data
 The EAP SRP-SHA1 Lightweight Challenge (Subtype 4 Request) message
 MAY be used by the authenticator for periodic rechallenges at any
 time after EAP authentication is complete.
 After rechallenge with this mechanism, the shared session key remains
 unchanged. This property may be useful when this key is used with
 ECP, because regular reauthentication (starting with a new Subtype 1
 Request) will change the key. This mechanism may also be useful with
 external security servers, because the NAS can implement this feature
 without making additional queries to the server if the server sup-
 plies the K value.
 A summary of the EAP SRP-SHA1 Lightweight Challenge Subtype-Data for-
 mat is shown below. Code (1), Identifier, Length, Type (19), and
 Subtype (4) fields are as described above. The fields are transmit-
 ted from left to right.
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Challenge ...
 +-+-+-+-+-+-+-+-+-+-+-
 Challenge
 The Challenge value is a sequence of random data. This field MAY
 be any length up to the MTU, but MUST be at least four octets.
 The authenticatee MUST NOT reply if the Challenge field is too
 short.
Carlson, Aboba, Haverinen expires January 2002 [Page 12]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
2.9. EAP SRP-SHA1 Lightweight Response Subtype-Data
 The EAP SRP-SHA1 Lightweight Response (Subtype 4 Response) message
 SHOULD be sent by the authenticatee in response to a Lightweight
 Challenge message. The authenticatee MAY instead use EAP Nak with
 Type-Data set to 19 (EAP SRP-SHA1) to restart full SRP authentica-
 tion.
 The authenticator MUST take action to disconnect or disable the ses-
 sion if the Lightweight Response value is invalid or if a preset
 number of Lightweight Challenge messages are sent without a valid
 response.
 A summary of the EAP SRP-SHA1 Lightweight Response Subtype-Data for-
 mat is shown below. Code (2), Identifier, Length (26), Type (19),
 and Subtype (4) fields are as described above. The fields are
 transmitted from left to right.
 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 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Response (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Response (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Response (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Response (continued) |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Response
 The Response value is calculated as SHA1(id, K, Challenge,
 clientname).
3. Identity Privacy Support
 The optional Hidden Pseudonym field in the Subtype 3 Request message
 is generated by server in two steps. In the first step, the server
 produces a pseudonym in an implementation-dependent manner. In the
 second step, the pseudonym is obscured for communication to the
 client.
Carlson, Aboba, Haverinen expires January 2002 [Page 13]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
3.1. Step One
 Because this step needs to be reversible only on the server, any con-
 venient method MAY be used, although use of either one of the two
 methods outlined here is suggested. Regardless of construction
 method, the pseudonym constructed by the server MUST conform to the
 grammar specified for the "username" portion of an NAI, as specified
 in [RFC2486].
3.1.1. Method A
 The server constructs a padded client name string by prepending the
 length of the client name in bytes to the client name, and pads to
 the next 8 octet boundary with random data (the "|" operator
 represents concatenation):
 paddedname = length(clientname) | clientname | random{0..7}
 A 56 bit key is then generated from a locally-stored password and the
 current date (to the nearest day) by extracting the first 56 bits
 from the result of SHA1(local-password, date-string). The paddedname
 is then encrypted using DES [FIPS46] with this key. The encrypted
 result is converted to a printable string using the BASE64 method
 described in section 4.3.2.4 of [RFC1421], but without the '=' pad-
 ding. This string is the pseudonym used in Step Two below.
 If the client name is an NAI and this is known to the server, then
 the realm SHOULD be removed to limit the string length. The realm
 will be supplied by the client when the pseudonym is used.
 The advantages of this method are that the server need not store the
 generated pseudonym because it can always decrypt the value provided
 by the client, the generated pseudonym for a given client changes
 frequently because of the use of the date in the hash, and previous
 pseudonyms are always usable because prior dates can be tested as
 well. The disadvantage is that it requires the use of reversible
 encryption.
3.1.2. Method B
 The server generates a random value (a nonce) and converts it to a
 printable string as in method A. The server MUST store a copy of
 this value in stable storage and relate it to the true client iden-
 tity.
 The advantages of this method are that the pseudonym changes with
Carlson, Aboba, Haverinen expires January 2002 [Page 14]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 every connection and DES is not required. The disadvantage is that
 stable storage is required.
3.2. Step Two
 The pseudonym is communicated to the client using a hiding mechanism
 relying on the session key so that the client can undo the hiding.
 Because this operation must be reversible on the client side, the
 server MUST use the method described here (based on [KPS]) for this
 step. The length of the pseudonym from Step One is prepended as a
 single octet to the front of the pseudonym and random octets are
 appended to pad the data to the next 20 octet boundary:
 value = length(pseudonym) | pseudonym | random{0..19}
 The Hidden Pseudonym for the Server Validator message is then calcu-
 lated by breaking the value above into a sequence of 20 octet seg-
 ments (v[1] through v[n]):
 hpn[1] = SHA1(id, K, clientname) ^ v[1]
 hpn[2] = SHA1(id, K, hpn[1]) ^ v[2]
 hpn[3] = SHA1(id, K, hpn[2]) ^ v[3]
 ...
 The "id" number is the EAP Identifier octet for Subtype 3 Request.
 The hpn[1] through hpn[n] values are then concatenated to form the
 Hidden Pseudonym. On reception of the Server Validator, the client
 undoes this hiding. It calculates:
 v[1] = SHA1(id, K, clientname) ^ hpn[1]
 v[2] = SHA1(id, K, hpn[1]) ^ hpn[2]
 ...
 The client extracts the decoded pseudonym from the v[1] through v[n]
 sequence, and saves it in stable storage. The client MUST discard
 the pseudonym if the length octet is invalid; either greater than the
 remaining length of the unhidden value or 20 or more octets less than
 that length.
3.3. Using the Pseudonym
 On the next connection to the server, the client SHOULD transmit the
 stored pseudonym in response to the first received EAP Identity
 request. In order to do this, it MUST concatenate three strings, as
 follows:
Carlson, Aboba, Haverinen expires January 2002 [Page 15]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 identity = "pseudo_" | pseudonym | realm
 The first string is the constant 7 character string "pseudo_". This
 string allows the server to identify this name as a pseudonym. The
 second string is the stored pseudonym itself. The third string is
 the NAI separator ("@") and realm, if any, as specified by an
 administrator. The client's user interface SHOULD allow the user to
 specify the NAI user name and realm as separate values if the pseu-
 donym feature is supported.
 The server, on finding the peer name starting with "pseudo_",
 attempts to decode it in an implementation-dependent manner. If
 Method A was chosen in Step One, then this consists of generating DES
 keys with the current date as well as several prior dates, and
 attempting to decrypt with each of those keys, only one of which will
 result in a usable client name. If Method B was chosen, then the
 server looks up the pseudonym in the local storage to find the
 corresponding client.
 If decoding to the padded client name fails or does not result in a
 known client name, then the server requests the regular (non-
 pseudonym) identity by resending the EAP Identity request with a new
 (changed) ID number. The client MUST distinguish between retransmis-
 sions of the EAP Identity request, which will have the same ID
 number, and for which the pseudonym MAY be sent, and a new EAP Iden-
 tity request, which will have a different ID number, and for which
 the client's actual name MUST be sent. The server MUST NOT allow the
 use of a pseudonym in reply to its resent request, because the client
 is required to supply its actual name.
 As an implementation option, the client may wish to support only
 obscured connections when possible. In this case, the client SHOULD
 have a boolean flag for "use private connections when possible." If
 the server does not offer a pseudonym, then the flag is ignored. If
 the server does offer a pseudonym, then the client MUST disconnect or
 disable the link if it has used its actual name for EAP Identity and
 reconnect after a random interval. This option SHOULD be disabled
 and an administrator notified if use of a pseudonym fails more than
 once, in order to prevent loss of functionality.
4. Use with ECP
 The 40 octet shared key ('K') calculated by the SRP-SHA1 authentica-
 tion procedure MUST be used to form encryption keys as described in
 this section if PPP encryption is in use and the E bits in both the
 Client Validator and the Server Validator messages were set.
Carlson, Aboba, Haverinen expires January 2002 [Page 16]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 For the DESEbis [RFC2419] algorithm, a shared 56 bit key is neces-
 sary, and for the 3DES [RFC2420] algorithm, a shared 168 bit key is
 required. Complicating this, ECP may be negotiated in only one
 direction or both. In addition, PPP authentication may be performed
 one-way (the most common case) or mutually, and when mutual authenti-
 cation is chosen, different authentication schemes may be used to
 authenticate each peer. The effects of these details are described
 below.
 The "decryptor" is the peer that sends ECP Configure-Request suggest-
 ing an algorithm and receives a corresponding ECP Configure-Ack. The
 "encryptor" is the sender of the ECP Configure-Ack, and will transmit
 the encrypted data.
 Rekeying can be accomplished at any time by restarting EAP authenti-
 cation. When rekeying, the decryptor SHOULD accept data encrypted
 with the prior key until the Subtype 3 Response is sent. The encryp-
 tor SHOULD suspend data transmission, if possible, when the Subtype 3
 Request is sent and resume after Subtype 3 Response.
4.1. One-Way Versus Bidirectional Encryption
 ECP may be negotiated in one direction on the link, or in both direc-
 tions. For each separate ECP session, the K value that is chosen for
 the shared key should be the value associated with the EAP SRP-SHA1
 authentication in which the decryptor is the authenticator. If the
 decryptor was not an EAP SRP-SHA1 authenticator, then the K value
 associated with the other EAP SRP-SHA1 authentication session is used
 instead as described in the next section.
4.2. One-Way Versus Mutual Authentication
 If only one peer authenticates the other using SRP-SHA1, and the
 other either does not authenticate its peer at all or uses a method
 that does not result in encryption keys, then the one K value associ-
 ated with this authentication MUST be used for both encryption ses-
 sions. The first 20 octets of K are used for the encryption of data
 sent by the authenticatee to the authenticator, and the second 20
 octets of K are used for encryption of data in the opposite direc-
 tion.
 If mutual authentication with algorithms that produce encryption keys
 is done, such as SRP-SHA1, then two K values are produced. As
 described above, the K values are used so that the encryptor is the
 authenticatee for the corresponding authentication session, and the
 decryptor is the authenticator.
Carlson, Aboba, Haverinen expires January 2002 [Page 17]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
4.3. DESEbis Versus 3DES
 For DESEbis, the first 8 octets of the key value are used. DES keys
 are constructed such that the most significant bit (MSB) of each
 octet is reserved for parity, and must be discarded.
 For 3DES, 24 octets of key value are used by most implementations.
 As for DESEbis, the MSBs are discarded. If the 40 octet K value has
 been split into two 20 octet values because one-way authentication is
 in use, then an extra 4 octets are needed for each key. The SHA-1
 algorithm is run again over the 40 octet K value to produce a 20
 octet hash. This hash is split into two 10 octet values that are
 then appended to the two 20 octet values from the split K value. The
 first 24 octets of each 30 octet value is used as the 3DES key.
5. Use with AAA
 The SRP exchange uses the client name as part of the calculation, and
 thus depends on leaving this string unmodified between the authenti-
 catee and authenticator. If a mechanism, such as a AAA protocol, is
 used to perform the SRP authentication on behalf of a Network Access
 Server (NAS), then the client name MUST be identical on both ends.
 In particular, if a Network Access Identifier [RFC2486] is used with
 a proxy authentication server, then the implementor MUST take steps
 to preserve the client name string end-to-end.
 Use of a AAA protocol also makes the use of the session key (K) for
 ECP keying problematic, because the contents of this key are avail-
 able only at the authentication endpoints (where SRP is run), and not
 the link layer endpoints (where ECP is run).
 For RADIUS [RFC2138], no common method exists to transfer the session
 key to the NAS, but some implementations are known to have
 proprietary extensions for this purpose. If such an extension is
 available, it SHOULD be used to transfer the key and the Server Vali-
 dator E bit MUST then be set to 1. Otherwise, if the extension is
 not available, then the E bit MUST be cleared to 0.
 For other AAA protocols, encryption session key transfer SHOULD be
 used to send K to the NAS.
 Use of a directory access protocol for the hash values, rather than a
 AAA protocol, would also solve this problem. Such usage is outside
 the scope of this document.
Carlson, Aboba, Haverinen expires January 2002 [Page 18]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
6. Examples
6.1. Successful Authentication
 In the case where the EAP SRP-SHA1 authentication is successful, the
 conversation may appear as follows:
 Authenticatee Authenticator
 ----------------------- -------------------------------------------
 <- EAP-Request id=100 / Identity
 EAP-Response id=100 /
 Identity ("MyName") ->
 <- EAP-Request id=101 / SRP-SHA1
 Subtype 1 ("TheServer", salt, generator,
 modulus)
 EAP-Response id=101 /
 SRP-SHA1 Subtype 1
 (A) ->
 <- EAP-Request id=102 / SRP-SHA1
 Subtype 2 (B)
 EAP-Response id=102 /
 SRP-SHA1 Subtype 2
 (E, M1) ->
 <- EAP-Request id=103 / SRP-SHA1
 Subtype 3 (E, M2, hidden-pseudonym)
 EAP-Response id=103 /
 SRP-SHA1 Subtype 3 ->
 <- EAP-Success id=104
 Note that M1 and M2 were calculated with "id" set to 101, the EAP
 Identifier field for the Subtype 1 Request. The id is shown as an
 integer that increments by 1 for each EAP Request, but this is not
 required. Any values MAY be used, provided that repetition is minim-
 ized.
6.2. Client Unauthenticated
 In the case where the client fails to authenticate to the server, the
 conversation may appear as follows:
 Authenticatee Authenticator
 ----------------------- -------------------------------------------
 <- EAP-Request id=50 / Identity
 EAP-Response id=50 /
 Identity ("MyName") ->
Carlson, Aboba, Haverinen expires January 2002 [Page 19]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 <- EAP-Request id=51 / SRP-SHA1
 Subtype 1 ("TheServer", salt, generator,
 modulus)
 EAP-Response id=51 /
 SRP-SHA1 Subtype 1
 (A) ->
 <- EAP-Request id=52 / SRP-SHA1
 Subtype 2 (B)
 EAP-Response id=52 /
 SRP-SHA1 Subtype 2
 (E, M1) ->
 <- EAP-Failure id=53
 (At its option, the authenticator MAY choose to send a false Subtype
 3 message with a random number in place of M2, followed by EAP
 Failure. Doing so limits the amount of information that an attacker
 has available.)
6.3. Server Unverified
 In the case where the client's verification of the server is unsuc-
 cessful, the conversation will appear as follows:
 Authenticatee Authenticator
 ----------------------- -------------------------------------------
 <- EAP-Request id=75 / Identity
 EAP-Response id=75 /
 Identity ("MyName") ->
 <- EAP-Request id=76 / SRP-SHA1
 Subtype 1 ("TheServer", salt, generator,
 modulus)
 EAP-Response id=76 /
 SRP-SHA1 Subtype 1
 (A) ->
 <- EAP-Request id=77 / SRP-SHA1
 Subtype 2 (B)
 EAP-Response id=77 /
 SRP-SHA1 Subtype 2
 (E, M1) ->
 <- EAP-Request id=78 / SRP-SHA1
 Subtype 3 (E, M2, hidden-pseudonym)
 [Disconnect] ->
 (The "disconnect" operation is medium-dependent. On a PPP link, it
 consists of sending LCP Terminate-Request followed by sending a Close
 event to the physical layer.)
Carlson, Aboba, Haverinen expires January 2002 [Page 20]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
7. Security Considerations
 EAP SRP-SHA1 is a security protocol.
 The security of SRP on the wire relies on having a prime modulus that
 is large enough to make brute force attack of the key exchange
 infeasible. A length of at least 1024 bits is recommended. In addi-
 tion, the SRP document [RFC2945] describes tests that MUST be per-
 formed on the chosen modulus and generator values and random numbers.
 SRP is a significant improvement over the situation with PAP, which
 has no on-the-wire security, and with CHAP, which is vulnerable to
 dictionary attacks against a captured Challenge/Response pair.
 The security of the credentials stored in the authenticator's data-
 base relies on the entropy in the chosen password, the difficulty of
 hash inversion of a salted string, and the security of the system
 containing the database. For this reason, the chosen password SHOULD
 be restricted to limit the effectiveness of dictionary attacks
 against a disclosed database. However, since typical passwords have
 only a few bits of entropy, the database itself MUST be protected
 against disclosure.
 The method used to hide the pseudonym has not be subjected to
 rigorous analysis, but is believed to be sufficient for the task.
 Because the outer layer of hiding must be decoded by the authenti-
 catee, and interception of this information would link one session to
 another, it is not believed that stronger methods for the inner layer
 are useful. If strong identity privacy is a concern, this mechanism
 should not be used.
8. Intellectual Property Rights Notices
8.1. Patent Issues
 The SRP key-exchange protocol described in this document is available
 worldwide on a royalty-free basis for commercial and non-commercial
 uses. This specifically includes simultaneous bidirectional use of
 SRP, which is distinct from SRP-Z. No usage of SRP-Z is described in
 this document.
 "The IETF takes no position regarding the validity or scope of
 any intellectual property or other rights that might be claimed
 to pertain to the implementation or use of the technology
 described in this document or the extent to which any license
 under such rights might or might not be available; neither does
 it represent that it has made any effort to identify any such
Carlson, Aboba, Haverinen expires January 2002 [Page 21]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 rights. Information on the IETF's procedures with respect to
 rights in standards-track and standards-related documentation
 can be found in BCP-11. Copies of claims of rights made
 available for publication and any assurances of licenses to
 be made available, or the result of an attempt made
 to obtain a general license or permission for the use of such
 proprietary rights by implementors or users of this
 specification can be obtained from the IETF Secretariat."
 "The IETF invites any interested party to bring to its
 attention any copyrights, patents or patent applications, or
 other proprietary rights which may cover technology that may be
 required to practice this standard. Please address the
 information to the IETF Executive Director."
8.2. Full Copyright Statement
 "Copyright (C) The Internet Society 2001. All Rights
 Reserved.
 This document and translations of it may be copied and
 furnished to others, and derivative works that comment on or
 otherwise explain it or assist in its implementation may be
 prepared, copied, published and distributed, in whole or in
 part, without restriction of any kind, provided that the above
 copyright notice and this paragraph are included on all such
 copies and derivative works. However, this document itself may
 not be modified in any way, such as by removing the copyright
 notice or references to the Internet Society or other Internet
 organizations, except as needed for the purpose of developing
 Internet standards in which case the procedures for copyrights
 defined in the Internet Standards process must be followed, or
 as required to translate it into languages other than English.
 The limited permissions granted above are perpetual and will
 not be revoked by the Internet Society or its successors or
 assigns.
 This document and the information contained herein is provided
 on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE
 OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
 IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
 PARTICULAR PURPOSE."
Carlson, Aboba, Haverinen expires January 2002 [Page 22]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
9. References
9.1. Normative References
 [RFC2284] L. Blunk, J. Vollbrecht, "PPP Extensible Authentication
 Protocol (EAP)," RFC 2284, March 1998
 [RFC2945] T. Wu, "The SRP Authentication and Key Exchange System,"
 RFC 2945, September 2000
 [RFC1661] W. Simpson, "The Point-to-Point Protocol (PPP)," RFC 1661,
 July 1994
 [FIPS180] National Institute of Standards and Technology (NIST),
 "Announcing the Secure Hash Standard," FIPS 180-1, U.S.
 Department of Commerce, April 1995
9.2. Informative References
 [RFC1334] B. Lloyd, W. Simpson, "PPP Authentication Protocols," RFC
 1334, October 1992
 [RFC1994] W. Simpson, "PPP Challenge Handshake Authentication
 Protocol (CHAP)," RFC 1994, August 1996
 [RFC2433] G. Zorn, S. Cobb, "Microsoft PPP CHAP Extensions," RFC
 2433, October 1998
 [RFC2759] G. Zorn, "Microsoft PPP CHAP Extensions, Version 2," RFC
 2759, January 2000
 [RFC1968] G. Meyer, "The PPP Encryption Control Protocol (ECP)," RFC
 1968, June 1996
 [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
 Requirement Levels," BCP 14 and RFC 2119, March 1997
 [SRP] T. Wu, "The Secure Remote Password Protocol", Proceedings
 of the 1998 Internet Society Symposium on Network and
 Distributed Systems Security, San Diego, CA, pp. 97-111
 [RFC2486] B. Aboba, M. Beadles, "The Network Access Identifier," RFC
 2486, January 1999
 [FIPS46] National Bureau of Standards, "Data Encryption Standard",
 FIPS PUB 46, January 1977
Carlson, Aboba, Haverinen expires January 2002 [Page 23]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 [RFC1421] J. Linn, "Privacy Enhancement for Internet Electronic
 Mail: Part I: Message Encryption and Authentication
 Procedures," RFC 1421, February 1993
 [KPS] C. Kaufman, R. Perlman, and M. Speciner, "Network
 Security: Private Communications in a Public World,"
 Prentice Hall, ISBN 0-13-061466-1, March 1995
 [RFC2419] K. Sklower, G. Meyer, "The PPP DES Encryption Protocol,
 Version 2 (DESE-bis)," RFC 2419, September 1998
 [RFC2420] H. Kummert, "The PPP Triple-DES Encryption Protocol
 (3DESE)," RFC 2420, September 1998
 [RFC2138] C. Rigney, A. Rubens, W. Simpson, and S. Willens, "Remote
 Authentication Dial In User Service (RADIUS)", RFC 2138,
 April 1997
10. Acknowledgements
 The authors are grateful for the many critiques and ideas offered on
 the IETF PPP Extensions mailing list and by private mail. In partic-
 ular, we thank N. Asokan, Jacques Caron, and Vernon Schryver.
 The hiding method used for the pseudonym was adapted from RFCs 2661
 and 2138, both of which were based on the "Mixing in the Plaintext"
 section in the book "Network Security" by Kaufman, Perlman and
 Speciner [KPS].
11. Authors' Addresses
 James Carlson
 Sun Microsystems
 1 Network Drive MS UBUR02-212
 Burlington MA 01803-2757
 Email: james.d.carlson@sun.com
 Phone: +1 781 442 2084
 Fax: +1 781 442 1677
 Bernard Aboba
 Microsoft Corporation
 One Microsoft Way
 Redmond WA 98052
 Email: bernarda@microsoft.com
 Phone: +1 425 936 6605
Carlson, Aboba, Haverinen expires January 2002 [Page 24]

INTERNET-DRAFT EAP SRP-SHA1 Authentication Protocol July 2001
 Henry Haverinen
 Nokia Mobile Phones
 P.O. Box 88
 FIN-33721 Tampere
 Finland
 Email: henry.haverinen@nokia.com
 Phone: +358 50 594 4899
 Fax: +358 3 318 3690
12. Appendix A - Well-Known Prime Modulus
 This 2048 bit prime modulus (and corresponding generator value 2) are
 borrowed from the SRP GSS-API mechanism, an IETF work in progress.
 0xAC, 0x6B, 0xDB, 0x41, 0x32, 0x4A, 0x9A, 0x9B,
 0xF1, 0x66, 0xDE, 0x5E, 0x13, 0x89, 0x58, 0x2F,
 0xAF, 0x72, 0xB6, 0x65, 0x19, 0x87, 0xEE, 0x07,
 0xFC, 0x31, 0x92, 0x94, 0x3D, 0xB5, 0x60, 0x50,
 0xA3, 0x73, 0x29, 0xCB, 0xB4, 0xA0, 0x99, 0xED,
 0x81, 0x93, 0xE0, 0x75, 0x77, 0x67, 0xA1, 0x3D,
 0xD5, 0x23, 0x12, 0xAB, 0x4B, 0x03, 0x31, 0x0D,
 0xCD, 0x7F, 0x48, 0xA9, 0xDA, 0x04, 0xFD, 0x50,
 0xE8, 0x08, 0x39, 0x69, 0xED, 0xB7, 0x67, 0xB0,
 0xCF, 0x60, 0x95, 0x17, 0x9A, 0x16, 0x3A, 0xB3,
 0x66, 0x1A, 0x05, 0xFB, 0xD5, 0xFA, 0xAA, 0xE8,
 0x29, 0x18, 0xA9, 0x96, 0x2F, 0x0B, 0x93, 0xB8,
 0x55, 0xF9, 0x79, 0x93, 0xEC, 0x97, 0x5E, 0xEA,
 0xA8, 0x0D, 0x74, 0x0A, 0xDB, 0xF4, 0xFF, 0x74,
 0x73, 0x59, 0xD0, 0x41, 0xD5, 0xC3, 0x3E, 0xA7,
 0x1D, 0x28, 0x1E, 0x44, 0x6B, 0x14, 0x77, 0x3B,
 0xCA, 0x97, 0xB4, 0x3A, 0x23, 0xFB, 0x80, 0x16,
 0x76, 0xBD, 0x20, 0x7A, 0x43, 0x6C, 0x64, 0x81,
 0xF1, 0xD2, 0xB9, 0x07, 0x87, 0x17, 0x46, 0x1A,
 0x5B, 0x9D, 0x32, 0xE6, 0x88, 0xF8, 0x77, 0x48,
 0x54, 0x45, 0x23, 0xB5, 0x24, 0xB0, 0xD5, 0x7D,
 0x5E, 0xA7, 0x7A, 0x27, 0x75, 0xD2, 0xEC, 0xFA,
 0x03, 0x2C, 0xFB, 0xDB, 0xF5, 0x2F, 0xB3, 0x78,
 0x61, 0x60, 0x27, 0x90, 0x04, 0xE5, 0x7A, 0xE6,
 0xAF, 0x87, 0x4E, 0x73, 0x03, 0xCE, 0x53, 0x29,
 0x9C, 0xCC, 0x04, 0x1C, 0x7B, 0xC3, 0x08, 0xD8,
 0x2A, 0x56, 0x98, 0xF3, 0xA8, 0xD0, 0xC3, 0x82,
 0x71, 0xAE, 0x35, 0xF8, 0xE9, 0xDB, 0xFB, 0xB6,
 0x94, 0xB5, 0xC8, 0x03, 0xD8, 0x9F, 0x7A, 0xE4,
 0x35, 0xDE, 0x23, 0x6D, 0x52, 0x5F, 0x54, 0x75,
 0x9B, 0x65, 0xE3, 0x72, 0xFC, 0xD6, 0x8E, 0xF2,
 0x0F, 0xA7, 0x11, 0x1F, 0x9E, 0x4A, 0xFF, 0x73
Carlson, Aboba, Haverinen expires January 2002 [Page 25]

AltStyle によって変換されたページ (->オリジナル) /