Internet DRAFT - draft-dpotter-pppext-eap-mschap

draft-dpotter-pppext-eap-mschap





Network Working Group                                          D. Potter
INTERNET-DRAFT                                                 J. Zamick
Category: Informational                                    Cisco Systems
                                                            January 2002


                  PPP EAP MS-CHAP-V2 Authentication Protocol
                   <draft-dpotter-pppext-eap-mschap-01.txt>

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026. 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 made 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 may be found at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories may be found at
   http://www.ietf.org/shadow.html.

1.  Abstract

   This document specifies an Extensible Authentication Protocol (EAP)
   mechanism for authentication using the Microsoft Challenge-Handshake 
   Authentication Protocol (Version 2).

   MS-CHAP-v2 provides authentication functionality consistent
   with LAN-based methods including password change sequences. Mutual
   authentication is provided for by the inclusion of an authenticator
   packet returned to the client after a successful server 
   authentication.
 
2.  Introduction

   Prior to EAP [3] network access support for a specific authentication 
   protocol had to be engineered in at least three places, the peer,
   the access device (AAA client) and the AAA server. EAP has 
   significantly simplified this scheme by making the password protocol
   'opaque' to the access device - support for EAP by an access device 
   therefore infers support for all EAP types. The 802.1x protocol which




Potter, Zamick             Expires: July 2002                   [Page 1]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


   facilitates the deployment of user AAA on broadcast media networks 
   such as wireless and Ethernet relies upon EAP as its password 
   protocol vehicle as there is no point-to-point protocol negotiation 
   as with conventional dial-in or VPN clients.

   EAP prescribes mandatory support for EAP-MD5-CHAP and whilst this
   has been used widely in the past, the implementational requirement
   for the back-end server to hold the users password either in clear 
   text or a reversible encryption is seen as a potential drawback.

   EAP-TLS [2] is likely to achieve widespread adoption in the future, 
   however there are currently issues over the cost and ease of 
   deployment into existing network infrastructure.

   Another very widely used authentication protocol that is not 
   currently addressed by EAP is MS-CHAP [6]. The lack of support for 
   MS-CHAP in EAP significantly reduces the utility of EAP since MS-CHAP
   provides an additional facility for password change and expiry 
   notification (aging).

   This document describes a method for encapsulating MS-CHAP v2 in EAP 
   and extends MS-CHAP by allowing the peer to request a password change 
   after a successful authentication.

   

2.1.  Requirements language

   In this document, the key words "MAY", "MUST, "MUST NOT", "optional",
   "recommended", "SHOULD", and "SHOULD NOT", are to be interpreted as
   described in [4].

2.2   Definitions

   AAA Server
   Authentication, Authorisation and Accounting Server

   Authenticator
   Access device to which client desires connection

   EAP
   Extensible Authentication Protocol [3]
   
   EAP Server
   For the purpose of this document, see AAA Server

   Peer/Client
   Device (software or hardware) requiring access to/via the 
   Authenticator.


Potter, Zamick             Expires: July 2002                   [Page 2]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002

   
3.  Protocol overview

3.1.  Overview of the EAP-MS-CHAP-V2 Authentication

   As described in [3], the EAP-MS-CHAP-V2 conversation will typically 
   begin with the authenticator and the peer negotiating EAP.  The
   authenticator will then typically send an EAP-Request/Identity 
   packet to the peer, and the peer will respond with an 
   EAP-Response/Identity packet to the authenticator, containing the 
   clients userId.

   Unless otherwise stated, all EAP challenge/response messages MUST 
   have an EAP-Type of EAP-MS-CHAP-V2. EAP Success and Failure messages 
   have the EAP Message Code set to one of these values respectively.

   Upon receipt of the users identity the EAP Server MUST respond with 
   a EAP-MS-CHAP-V2 Challenge request. The MS-CHAP Challenge as defined 
   in [6] should be cryptographically random. The EAP Server remembers 
   the challenge for later authentication of the computed MS-CHAP
   Response.

   The EAP Client MUST then reply with the MS-CHAP Response generated
   from the users credentials. The EAP Server re-computes the MS-CHAP
   Response, or devolves this operation to another back-end server. The
   EAP Server MUST then send an EAP Request with either MS-CHAP Success
   or MS-CHAP Failure packets depending on the result of the 
   authentication.

   The EAP Server SHOULD ensure the MS-CHAP Response is actually a 
   version 2 formatted response and not version 1. In the version 2 
   packet the first 16 octets of the response contain a random challenge
   from the the client. The next 8 octets MUST be zero, otherwise the 
   EAP Server SHOULD immediately send an EAP Failure message.

3.1.1 Successful Authentication

   If the MS-CHAP Response was valid the EAP Server MAY send the
   MS-CHAP Success packet, however it may apply other local policy
   conditions resulting in a rejection (see 3.1.2)

   To provide mutual authentication the MS-CHAP Success packet MUST be 
   validated by the client as per 3.1.5. If the MS-CHAP Success packet 
   is valid the client MUST send an EAP Response containing an Ack 
   packet.

   The EAP server MUST then send an EAP-Success message to the 
   client/peer. The EAP authentication is now complete.




Potter, Zamick             Expires: July 2002                   [Page 3]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


3.1.2 Failed Authentication (or Authorisation)

   If the MS-CHAP Response was invalid the EAP Server MUST send the
   MS-CHAP Failure packet indicating the rejection (MS-CHAP error code 
   691 - ERROR_AUTHENTICATION_FAILURE)

   If the MS-CHAP Response was actually valid but the user has failed
   some other authorisation policy then the EAP Server MAY indicate one 
   of other MS-CHAP failure codes:

      646 ERROR_RESTRICTED_LOGON_HOURS
      647 ERROR_ACCT_DISABLED
      649 ERROR_NO_DIALIN_PERMISSION

   Upon receipt of the MS-CHAP Failure packet the client MUST send an 
   EAP Response containing the MS-CHAP Ack packet. After receiving an 
   MS-CHAP Ack to the MS-CHAP Failure packet, the EAP server MUST then 
   send an EAP-Failure message to the client/peer.

   The EAP authentication is now complete.

3.1.3 Password Expired

   If the users password has expired, the EAP Server MAY send an MS-CHAP
   Failure packet indicating that the users password has expired 
   (MS-CHAP error code 648 - ERROR_PASSWD_EXPIRED). If the EAP Server
   does not support password change then it MUST send a failed
   authentication result instead (MS-CHAP error code 691 - 
   ERROR_AUTHENTICATION_FAILURE).

   On receipt of the MS-CHAP Failure packet indicating that a password
   change is required, the client MUST send an EAP Response containing 
   the MS-CHAP Ack packet.

   The EAP Server MUST then generate a new random challenge and issue 
   an EAP Request containing an MS-CHAP Challenge packet.

   The client will then obtain a new password (in most cases directly 
   from the user) and use the algorithms described in [6] to create a 
   MS-CHAP Change Password packet. This is then sent in an 
   EAP-Response message.

   The EAP Server will then process the MS-CHAP Change Password packet 
   and MUST issue an MS-CHAP Success or Failure packet. If the password
   change was unsuccessful, the MS-CHAP Failure packet MUST indicate
   this using MS-CHAP error code 709 (ERROR_CHANGING_PASSWORD). The EAP
   Server MAY start a new password change sequence by formatting the
   MS-CHAP Failure packet to indicate password expiry (MS-CHAP error 



Potter, Zamick             Expires: July 2002                   [Page 4]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002
    
   
   code 648 - ERROR_PASSWD_EXPIRED).

   In response to the MS-CHAP Success or MS-CHAP Failure packets, the 
   client MUST send an EAP Response containing the MS-CHAP Ack packet. 
   Additionally, an MS-CHAP Success packet must be validated as 
   per 3.1.5.

   If the password change sequence was successful, the EAP Server MUST 
   then send an EAP-Success message. If the password change sequence was
   unsuccessful the EAP Server MUST send an EAP-Failure message. If the
   EAP Server had decided to start a new password change sequence then
   it MUST generate a new random challenge and issue an EAP Request 
   containing an MS-CHAP Challenge packet.

3.1.4 Successful Authentication - Client Wishes to Change Password

   Upon receipt of the MS-CHAP Success packet (following a valid MS-CHAP
   authentication and validation of the Success packet as per 3.1.5) the 
   client MAY optionally request that the users password is changed. In 
   response to the MS-CHAP Success packet the client MAY send an EAP 
   Response containing an MS-CHAP Failure packet indicating a password 
   change is required (MS-CHAP error code 648 - ERROR_PASSWD_EXPIRED).

   The EAP Server MAY choose to honour the request, in which case it
   starts a password change sequence by creating a random challenge and
   sending an EAP Request with a MS-CHAP Challenge packet as per 3.1.3.
   This ultimately ends with the EAP Server sending an EAP-Success or 
   EAP-Failure message depending on the result of the password change 
   sequence.

   If the EAP Server does not support client requested password changes
   it MUST respond with an MS-CHAP Failure packet indicating the 
   password change request has not been allowed (MS-CHAP error code 
   709 - ERROR_CHANGING_PASSWORD). The Client MUST then respond with an
   Ack packet. Finally the EAP Server SHOULD send an EAP-Success 
   message.

3.1.5 Mutual Authentication

   As described in [6] the MS-CHAP Success packet MUST be validated by 
   the client in accordance with the algorithms described therein. If 
   the Success packet is invalid the client MUST end the session.

3.2.  Fragmentation

   The maximum size of an EAP-MSCHAP-V2 record will be 586 bytes (during
   a password change conversation [6]) and therefore does not require a 
   specific fragmentation scheme other than what is provided for in [8]



Potter, Zamick             Expires: July 2002                   [Page 5]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002

  
3.3.  Session Encryption/Compression

   PPP [1] encryption and compression are catered for using MPPE-based 
   methods [5,7,9]. In general terms the AAA/EAP server will generate an 
   MPPE session key during the MSCHAP-v2 authentication process [7]. The 
   MPPE key information is then returned to the Authenticator [5].

3.4.  Examples

   In the case where the EAP-MS-CHAP-V2 authentication is successful,
   the conversation will appear as follows:

   Authenticating Peer     Authenticator
   -------------------     -------------
                           <- PPP EAP-Request/
                           Identity
   PPP EAP-Response/
   Identity (MyID) ->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Response)->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Success)
                    
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2 
   (Ack) ->
                              
                           <- PPP EAP-Success
      

   In the case where the EAP-MS-CHAP-V2 authentication not successful,
   the conversation will appear as follows:

   Authenticating Peer     Authenticator
   -------------------     -------------
                           <- PPP EAP-Request/
                           Identity
   PPP EAP-Response/
   Identity (MyID) ->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)




Potter, Zamick             Expires: July 2002                   [Page 6]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002

   
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Response)->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Failure = failed)
                    
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2 
   (Ack) ->
                              
                           <- PPP EAP-Failure
   

   In the case where the users password has expired, the conversation 
   will appear as follows:

   Authenticating Peer     Authenticator
   -------------------     -------------
                           <- PPP EAP-Request/
                           Identity
   PPP EAP-Response/
   Identity (MyID) ->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Response)->

                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Failure = password expired)

   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Ack) ->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)
                    
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Change Password)->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Success)




Potter, Zamick             Expires: July 2002                   [Page 7]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002
                
                    
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Ack) ->                              
                           <- PPP EAP-Success
   
   Note that the AAA/EAP Server may choose to re-iterate around the 
   password change cycle if required, for example if the new password 
   did not meet some password validation policy.


   In the case where the EAP-MS-CHAP-V2 authentication was successful,
   and the client wishes to change the users password, the conversation 
   will appear as follows:

   Authenticating Peer     Authenticator
   -------------------     -------------
                           <- PPP EAP-Request/
                           Identity
   PPP EAP-Response/
   Identity (MyID) ->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Response)->

                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Success)

   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Failure = password expired) ->

                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Challenge)
                    
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Change Password)->
                           <- PPP EAP-Request/
                           EAP-Type=EAP-MS-CHAP-V2
                           (Success)
   PPP EAP-Response/
   EAP-Type=EAP-MS-CHAP-V2
   (Ack) ->
                           <- PPP EAP-Success


Potter, Zamick             Expires: July 2002                   [Page 8]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


4.  Detailed description of the EAP-MS-CHAP-V2 protocol

4.1.  PPP EAP MS-CHAP-V2 Packet Format

   A summary of the PPP EAP MS-CHAP-V2 Request/Response packet format is
   shown 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      |        Data...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Code

      1 - Request
      2 - Response

   Identifier

      The identifier field is one octet and aids in matching responses
      with requests.

   Length

      The Length field is two octets and indicates the length of the EAP
      packet including the Code, Identifier, Length, Type, and Data
      fields.  Octets outside the range of the Length field should be
      treated as Data Link Layer padding and should be ignored on
      reception.

   Type

      29 - EAP MS-CHAP V2

   Data

      The format of the Data field is determined by the Code field.











Potter, Zamick             Expires: July 2002                   [Page 9]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


4.2.  PPP EAP MS-CHAP-V2 Request Packet

   A summary of the PPP EAP MS-CHAP-V2 Request packet format is shown 
  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      |  MS-CHAP Type |         MS-CHAP Data...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

   Code

      1

   Identifier

      The Identifier field is one octet and aids in matching responses
      with requests.  The Identifier field MUST be changed on each
      Request packet.

   Length

      The Length field is two octets and indicates the length of the EAP
      packet including the Code, Identifier, Length, Type, MS-CHAP Type
      and MS-CHAP Data fields.

   Type

      29 - EAP MS-CHAP V2

   MS-CHAP Type

      This value defines the content of the MS-CHAP Data defined in [6] 
      with the exception of Ack which is added for the purposes of 
      synchronisation between the peer and the AAA/EAP Server.

      To aid clarity the RADIUS VSA names from [5] are given in 
      parenthesis.

      0 for Ack - length of MS-CHAP data is 0
      1 for Challenge Packet (MS-CHAP-Challenge)
      2 for Success Packet (MS-CHAP2-Success)
      3 for Failure Packet (MS-CHAP-Error)




Potter, Zamick             Expires: July 2002                  [Page 10]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


   MS-CHAP Data

      The MS-CHAP data consists of an encapsulated MS-CHAP-V2 packet as 
      defined in [6]

4.3.  PPP EAP MS-CHAP-V2 Response Packet

   A summary of the PPP EAP MS-CHAP-V2 Response packet format is shown 
   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      | MS-CHAP Type  |         MS-CHAP Data
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

   Code

      2

   Identifier

      The Identifier field is one octet and MUST match the Identifier
      field from the corresponding request.

   Length

      The Length field is two octets and indicates the length of the 
      EAP packet including the Code, Identifier, Length, Type, MS-CHAP 
      Type and MS-CHAP Data fields.

   Type

      29 - EAP MS-CHAP V2

   MS-CHAP Type

      This value defines the content of the MS-CHAP Data defined in [6].
      To aid clarity the RADIUS VSA names from [5] are given in 
      parenthesis.

      1 for Response Packet (MS-CHAP2-Response)
      2 for Change Password Packet (MS-CHAP-CPW + MS-CHAP-NT-Enc-PW)
      3 for Failure Packet (MS-CHAP-Error)




Potter, Zamick             Expires: July 2002                  [Page 11]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


5.  Security Considerations

   Various cryptanalysis have been published on MS-CHAP versions 1 and 2
   and most conclude that version 2 has overcome most of the weaknesses
   originally found in version 1. As noted in [6] a major issue is the
   use of weak passwords making the protocol more vulnerable to
   dictionary based attacks.

   Version rollback (to MSCHAP v1) is avoided by the EAP/AAA Server
   ensuring the format of the MS-CHAP response matches that defined 
   in [6].

   Using a toolkit to generate cryptographically random challenges 
   should also increase the overall security of the protocol.  

   The use of MPPE for session keys will not be as strong as those
   generated by some other EAP protocols such as EAP-TLS.
 
6.  References

   [1]  Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD
        51, RFC 1661, July 1994.

   [2]  Aboba, B., Simon, D., "PPP EAP TLS Authentication Protocol"
        RFC 2716, October 1999.

   [3]  Blunk, L. and J. Vollbrecht, "PPP Extensible Authentication
        Protocol (EAP)", RFC 2284, March 1998.

   [4]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

   [5]  Zorn, G., "Microsoft Vendor-specific RADIUS Attributes", 
        RFC 2548, March 1999.

   [6]  Zorn, G., "Microsoft PPP CHAP Extensions, Version 2", 
        RFC 2759, January 2000.

   [7]  Zorn, G., "MPPE Key Derivation", 
        draft-ietf-pppext-mppe-keys-03, October 2000.

   [8]  Rigney, C, et al, "RADIUS Extensions", 
        RFC 2869, June 2000.

   [9]  Zorn, G., Pall G., "Microsoft Point-To-Point Encryption (MPPE) 
        Protocol", draft-ietf-pppext-mppe-04, October 1999. 





Potter, Zamick             Expires: July 2002                  [Page 12]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002



7.  Acknowledgments

   Thanks to Chris Murray, Ilan Frenkel, John Schnizlein and Glen Zorn
   for their comments and help.

8.  Authors' Addresses

   Darran Potter
   Cisco Systems Ltd
   New Square Park
   Bedfont Lakes
   Middlesex, TW14 8HA
   UK

   EMail: dpotter@cisco.com


   John Zamick
   Cisco Systems Ltd
   New Square Park
   Bedfont Lakes
   Middlesex, TW14 8HA
   UK

   EMail: jzamick@cisco.com

























Potter, Zamick             Expires: July 2002                  [Page 13]

INTERNET-DRAFT               EAP MS-CHAP-V2                 January 2002


Full Copyright Statement

   Copyright (C) The Internet Society (2002).  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 DISCLAIMS 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.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.