home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-pppext-eap-auth-02.txt < prev    next >
Text File  |  1997-09-02  |  30KB  |  1,100 lines

  1.  
  2.  
  3. Network Working Group                                          L J Blunk
  4.                                                           J R Vollbrecht
  5. Internet Draft                                       Merit Network, Inc.
  6. expires in six months                                          June 1996
  7.  
  8.  
  9.               PPP Extensible Authentication Protocol (EAP)
  10.                    <draft-ietf-pppext-eap-auth-02.txt>
  11.  
  12.  
  13.  
  14. Status of this Memo
  15.  
  16.    This document is the product of the Point-to-Point Protocol
  17.    Extensions Working Group of the Internet Engineering Task Force
  18.    (IETF).  Comments should be submitted to the ietf-ppp@merit.edu
  19.    mailing list.
  20.  
  21.    Distribution of this memo is unlimited.
  22.  
  23.    This document is an Internet-Draft.  Internet-Drafts are working
  24.    documents of the Internet Engineering Task Force (IETF), its areas,
  25.    and its working groups.  Note that other groups may also distribute
  26.    working documents as Internet-Drafts.
  27.  
  28.    Internet-Drafts are draft documents valid for a maximum of six months
  29.    and may be updated, replaced, or obsoleted by other documents at any
  30.    time.  It is not appropriate to use Internet-Drafts as reference
  31.    material or to cite them other than as ``work in progress.''
  32.  
  33.    To learn the current status of any Internet-Draft, please check the
  34.    ``1id-abstracts.txt'' listing contained in the Internet- Drafts
  35.    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  36.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  37.    ftp.isi.edu (US West Coast).
  38.  
  39. Abstract
  40.  
  41.    The Point-to-Point Protocol (PPP) [1] provides a standard method for
  42.    transporting multi-protocol datagrams over point-to-point links.
  43.  
  44.    PPP also defines an extensible Link Control Protocol, which allows
  45.    negotiation of an Authentication Protocol for authenticating its peer
  46.    before allowing Network Layer protocols to transmit over the link.
  47.  
  48.    This document defines the PPP Extensible Authentication Protocol.
  49.  
  50.  
  51.  
  52.  
  53.  
  54. Blunk & Vollbrecht       expires in six months                  [Page i]
  55. DRAFT                           PPP EAP                        June 1996
  56.  
  57.  
  58.                            Table of Contents
  59.  
  60.  
  61.      1.     Introduction ..........................................    1
  62.         1.1       Specification of Requirements ...................    1
  63.         1.2       Terminology .....................................    2
  64.  
  65.      2.     PPP Extensible Authentication Protocol (EAP) ..........    3
  66.         2.1       Configuration Option Format .....................    5
  67.         2.2       Packet Format ...................................    6
  68.            2.2.1  Request and Response ............................    7
  69.            2.2.2  Success and Failure .............................    9
  70.  
  71.      3.     Initial EAP Request/Response Types ....................   10
  72.         3.1       Identity ........................................   11
  73.         3.2       Notification ....................................   12
  74.         3.3       Nak .............................................   13
  75.         3.4       MD5-Challenge ...................................   14
  76.         3.5       S/Key ...........................................   15
  77.         3.6       Generic Token Card ..............................   16
  78.  
  79.      REFERENCES ...................................................   18
  80.  
  81.      ACKNOWLEDGEMENTS .............................................   18
  82.  
  83.      CHAIR'S ADDRESS ..............................................   18
  84.  
  85.      AUTHOR'S ADDRESS .............................................   18
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. Blunk & Vollbrecht       expires in six months                  [Page ii]
  110. DRAFT                           PPP EAP                        June 1996
  111.  
  112.  
  113. 1.  Introduction
  114.  
  115.    In order to establish communications over a point-to-point link, each
  116.    end of the PPP link must first send LCP packets to configure the data
  117.    link during Link Establishment phase.  After the link has been
  118.    established, PPP provides for an optional Authentication phase before
  119.    proceeding to the Network-Layer Protocol phase.
  120.  
  121.    By default, authentication is not mandatory.  If authentication of
  122.    the link is desired, an implementation MUST specify the
  123.    Authentication-Protocol Configuration Option during Link
  124.    Establishment phase.
  125.  
  126.    These authentication protocols are intended for use primarily by
  127.    hosts and routers that connect to a PPP network server via switched
  128.    circuits or dial-up lines, but might be applied to dedicated links as
  129.    well.  The server can use the identification of the connecting host
  130.    or router in the selection of options for network layer negotiations.
  131.  
  132.    This document defines the PPP Extensible Authentication Protocol
  133.    (EAP).  The Link Establishment and Authentication phases, and the
  134.    Authentication-Protocol Configuration Option, are defined in The
  135.    Point-to-Point Protocol (PPP) [1].
  136.  
  137.  
  138. 1.1.  Specification of Requirements
  139.  
  140.    In this document, several words are used to signify the requirements
  141.    of the specification.  These words are often capitalized.
  142.  
  143.    MUST      This word, or the adjective "required", means that the
  144.              definition is an absolute requirement of the specification.
  145.  
  146.    MUST NOT  This phrase means that the definition is an absolute
  147.              prohibition of the specification.
  148.  
  149.    SHOULD    This word, or the adjective "recommended", means that there
  150.              may exist valid reasons in particular circumstances to
  151.              ignore this item, but the full implications must be
  152.              understood and carefully weighed before choosing a
  153.              different course.
  154.  
  155.    MAY       This word, or the adjective "optional", means that this
  156.              item is one of an allowed set of alternatives.  An
  157.              implementation which does not include this option MUST be
  158.              prepared to interoperate with another implementation which
  159.              does include the option.
  160.  
  161.  
  162.  
  163.  
  164. Blunk & Vollbrecht       expires in six months                  [Page 1]
  165. DRAFT                           PPP EAP                        June 1996
  166.  
  167.  
  168. 1.2.  Terminology
  169.  
  170.    This document frequently uses the following terms:
  171.  
  172.    authenticator
  173.              The end of the link requiring the authentication.  The
  174.              authenticator specifies the authentication protocol to be
  175.              used in the Configure-Request during Link Establishment
  176.              phase.
  177.  
  178.    peer      The other end of the point-to-point link; the end which is
  179.              being authenticated by the authenticator.
  180.  
  181.    silently discard
  182.              This means the implementation discards the packet without
  183.              further processing.  The implementation SHOULD provide the
  184.              capability of logging the error, including the contents of
  185.              the silently discarded packet, and SHOULD record the event
  186.              in a statistics counter.
  187.  
  188.    displayable message
  189.              This is interpreted to be human readable string of
  190.              characters, and MUST NOT affect operation of the protocol.
  191.              It is recommended that the message contain displayable
  192.              ASCII characters 32 through 126 decimal.  Mechanisms for
  193.              extension to other character sets are the topic of future
  194.              research.
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219. Blunk & Vollbrecht       expires in six months                  [Page 2]
  220. DRAFT                           PPP EAP                        June 1996
  221.  
  222.  
  223. 2.  PPP Extensible Authentication Protocol (EAP)
  224.  
  225.    The PPP Extensible Authentication Protocol (EAP)  is a general
  226.    protocol for PPP authentication which supports multiple
  227.    authentication mechanisms.  EAP does not select a specific
  228.    authentication mechanism at Link Control Phase, but rather postpones
  229.    this until the Authentication Phase.  This allows the authenticator
  230.    to request more information before determining the specific
  231.    authentication mechanism.  This also permits the use of a "back-end"
  232.    server which actually implements the various mechanisms while the PPP
  233.    authenticator merely passes through the authentication exchange.
  234.  
  235.    1. After the Link Establishment phase is complete, the authenticator
  236.       sends one or more Requests to authenticate the peer.  The Request
  237.       has a type field to indicate what is being requested.  Examples of
  238.       Request types include Identity,  MD5-challenge, S/Key, Generic
  239.       Token Card, etc.  The MD5-challenge type corresponds closely to
  240.       the CHAP authentication protocol.  Typically, the authenticator
  241.       will send an initial Identity Request followed by one or more
  242.       Requests for authentication information.   However, an initial
  243.       Identity Request is not required, and may be bypassed in cases
  244.       where the identity is presumed (leased lines, dedicated dial-ups,
  245.       etc.).
  246.  
  247.    2. The peer sends a Response packet in reply to each Request.  As
  248.       with the Request packet, the Response packet contains a type field
  249.       which corresponds to the type field of the Request.
  250.  
  251.    3. The authenticator ends the authentication phase with a Success or
  252.       Failure packet.
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274. Blunk & Vollbrecht       expires in six months                  [Page 3]
  275. DRAFT                           PPP EAP                        June 1996
  276.  
  277.  
  278. Advantages
  279.  
  280.    The EAP protocol can support multiple authentication mechanisms
  281.    without having to pre-negotiate a particular one during LCP Phase.
  282.  
  283.    Certain devices (e.g. a NAS) do not necessarily have to understand
  284.    each request type and may be able to simply act as a passthrough
  285.    agent for a "back-end" server on a host.  The device only need look
  286.    for the success/failure code to terminate the authentication phase.
  287.  
  288. Disadvantages
  289.  
  290.    EAP does require the addition of a new authentication type to LCP and
  291.    thus PPP implementations will need to be modified to use it.  It also
  292.    strays from the previous PPP authentication model of negotiating a
  293.    specific authentication mechanism during LCP.
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. Blunk & Vollbrecht       expires in six months                  [Page 4]
  330. DRAFT                           PPP EAP                        June 1996
  331.  
  332.  
  333. 2.1.  Configuration Option Format
  334.  
  335.    A summary of the Authentication-Protocol Configuration Option format
  336.    to negotiate the EAP Authentication Protocol is shown below.  The
  337.    fields are transmitted from left to right.
  338.  
  339.     0                   1                   2                   3
  340.     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
  341.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  342.    |     Type      |    Length     |     Authentication-Protocol   |
  343.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  344.  
  345.  
  346.    Type
  347.  
  348.       3
  349.  
  350.    Length
  351.  
  352.       4
  353.  
  354.    Authentication-Protocol
  355.  
  356.       C227 (Hex) for PPP Extensible Authentication Protocol (EAP)
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384. Blunk & Vollbrecht       expires in six months                  [Page 5]
  385. DRAFT                           PPP EAP                        June 1996
  386.  
  387.  
  388. 2.2.  Packet Format
  389.  
  390.    Exactly one PPP EAP packet is encapsulated in the Information field
  391.    of a PPP Data Link Layer frame where the protocol field indicates
  392.    type hex C227 (PPP EAP).  A summary of the EAP packet format is shown
  393.    below.  The fields are transmitted from left to right.
  394.  
  395.     0                   1                   2                   3
  396.     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
  397.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  398.    |     Code      |  Identifier   |            Length             |
  399.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  400.    |    Data ...
  401.    +-+-+-+-+
  402.  
  403.  
  404.    Code
  405.  
  406.       The Code field is one octet and identifies the type of EAP packet.
  407.       EAP Codes are assigned as follows:
  408.  
  409.          1       Request
  410.          2       Response
  411.          3       Success
  412.          4       Failure
  413.  
  414.  
  415.    Identifier
  416.  
  417.       The Identifier field is one octet and aids in matching responses
  418.       with requests.
  419.  
  420.    Length
  421.  
  422.       The Length field is two octets and indicates the length of the EAP
  423.       packet including the Code, Identifier, Length and Data fields.
  424.       Octets outside the range of the Length field should be treated as
  425.       Data Link Layer padding and should be ignored on reception.
  426.  
  427.    Data
  428.  
  429.       The Data field is zero or more octets.  The format of the Data
  430.       field is determined by the Code field.
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439. Blunk & Vollbrecht       expires in six months                  [Page 6]
  440. DRAFT                           PPP EAP                        June 1996
  441.  
  442.  
  443. 2.2.1.  Request and Response
  444.  
  445.    Description
  446.  
  447.       The Request packet is sent by the authenticator to the peer.  Each
  448.       Request has a type field which serves to indicate what is being
  449.       requested.  The authenticator MUST transmit an EAP packet with the
  450.       Code field set to 1 (Request).  Additional Request packets MUST be
  451.       sent until a valid Response packet is received, or an optional
  452.       retry counter expires.  Retransmitted Requests MUST be sent with
  453.       the same Identifier value in order to distinguish them from new
  454.       Requests.  The contents of the data field is dependent on the
  455.       Request type.  The peer MUST send a Response packet in reply to a
  456.       Request packet.  Responses MUST only be sent in reply to a
  457.       received Request and never retransmitted on a timer.  The
  458.       Identifier field of the Response MUST match that of the Request.
  459.  
  460.          Implementation Note: Because the authentication process will
  461.          often involve user input, some care must be taken when deciding
  462.          upon retransmission strategies and authentication timeouts.  It
  463.          is suggested a retransmission timer of 6 seconds with a maximum
  464.          of 10 retransmissions be used as default.  One may wish to make
  465.          these timeouts longer in certain cases (e.g. where Token Cards
  466.          are involved).  Additionally, the peer must be prepared to
  467.          silently discard received retransmissions while waiting for
  468.          user input.
  469.  
  470.    A summary of the Request and Response packet format is shown below.
  471.    The fields are transmitted from left to right.
  472.  
  473.     0                   1                   2                   3
  474.     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
  475.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  476.    |     Code      |  Identifier   |            Length             |
  477.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  478.    |     Type      |  Type-Data ...
  479.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  480.  
  481.  
  482.    Code
  483.  
  484.       1 for Request;
  485.  
  486.       2 for Response.
  487.  
  488.    Identifier
  489.  
  490.       The Identifier field is one octet.  The Identifier field MUST be
  491.  
  492.  
  493.  
  494. Blunk & Vollbrecht       expires in six months                  [Page 7]
  495. DRAFT                           PPP EAP                        June 1996
  496.  
  497.  
  498.       the same if a Request packet is retransmitted due to a timeout
  499.       while waiting for a Response.  Any new (non-retransmission)
  500.       Requests MUST modify the Identifier field.  If a peer recieves a
  501.       duplicate Request for which it has already sent a Response, it
  502.       MUST resend it's Response.  If a peer receives a duplicate Request
  503.       before it has sent a Response to the initial Request (i.e. it's
  504.       waiting for user input), it MUST silently discard the duplicate
  505.       Request.
  506.  
  507.    Length
  508.  
  509.       The Length field is two octets and indicates the length of the EAP
  510.       packet including the Code, Identifier, Length, Type, and Type-Data
  511.       fields.  Octets outside the range of the Length field should be
  512.       treated as Data Link Layer padding and should be ignored on
  513.       reception.
  514.  
  515.    Type
  516.  
  517.       The Type field is one octet.  This field indicates the Type of
  518.       Request or Response.  Only one Type may be specified per EAP
  519.       Request or Response.  Normally, the Type field of the Response
  520.       will be the same as the Type of the Request.  However, there is
  521.       also a Nak Response Type for indicating that a Request type is
  522.       unacceptable to the peer.  When sending a Nak in response to a
  523.       Request, the peer may indicate an alternative desired
  524.       authentication Type which it supports. An initial specification of
  525.       Types follows in a later section of this document.
  526.  
  527.    Type-Data
  528.  
  529.       The Type-Data field varies with the Type of Request and the
  530.       associated Response.
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549. Blunk & Vollbrecht       expires in six months                  [Page 8]
  550. DRAFT                           PPP EAP                        June 1996
  551.  
  552.  
  553. 2.2.2.  Success and Failure
  554.  
  555.    Description
  556.  
  557.       The Success packet is sent by the authenticator to the peer to
  558.       acknowledge successful authentication.  The authenticator MUST
  559.       transmit an EAP packet with the Code field set to 3 (Success).
  560.  
  561.       If the authenticator cannot authenticate the peer (unacceptable
  562.       Responses to one or more Requests) then the implementation MUST
  563.       transmit an EAP packet with the Code field set to 4 (Failure).  An
  564.       authenticator may wish to issue multiple Requests before sending a
  565.       Failure response in order to allow for human typing mistakes.
  566.  
  567.          Implementation Note: Because the Success and Failure packets
  568.          are not acknowledged, they may be potentially lost.  A peer
  569.          MUST allow for this circumstance.  The peer can use a Network
  570.          Protocol packet as an alternative indication of Success.
  571.          Likewise, the receipt of a LCP Terminate-Request can be taken
  572.          as a Failure.
  573.  
  574.    A summary of the Success and Failure packet format is shown below.
  575.    The fields are transmitted from left to right.
  576.  
  577.     0                   1                   2                   3
  578.     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
  579.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  580.    |     Code      |  Identifier   |            Length             |
  581.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  582.  
  583.  
  584.    Code
  585.  
  586.       3 for Success;
  587.  
  588.       4 for Failure.
  589.  
  590.    Identifier
  591.  
  592.       The Identifier field is one octet and aids in matching replies to
  593.       Responses.  The Identifier field MUST match the Indentifier field
  594.       of the Response packet that it is sent in response to.
  595.  
  596.    Length
  597.  
  598.       4
  599.  
  600.  
  601.  
  602.  
  603.  
  604. Blunk & Vollbrecht       expires in six months                  [Page 9]
  605. DRAFT                           PPP EAP                        June 1996
  606.  
  607.  
  608. 3.  Initial EAP Request/Response Types
  609.  
  610.    This section defines the initial set of EAP Types used in
  611.    Request/Response exchanges.  More Types may be defined in follow-on
  612.    documents.  The Type field is one octet and identifies the structure
  613.    of an EAP Request or Response packet.  The first 3 Types are
  614.    considered special case Types.  The remaining Types define
  615.    authentication exchanges.  The Nak Type is valid only for Response
  616.    packets, it may not be sent in a Request.  The Nak Type may only be
  617.    sent in repsonse to a Request which usea an authentication Type code.
  618.    Support for EAP Types 1-4 is MANDATORY.  These Types, as well as
  619.    types 5 and 6, are defined in this document.  Follow-on RFCs will
  620.    define additional EAP Types.
  621.  
  622.  
  623.       1       Identity
  624.       2       Notification
  625.       3       Nak (Response only)
  626.       4       MD5-Challenge
  627.       5       S/Key (RFC 1760)
  628.       6       Generic Token Card
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659. Blunk & Vollbrecht       expires in six months                 [Page 10]
  660. DRAFT                           PPP EAP                        June 1996
  661.  
  662.  
  663. 3.1.  Identity
  664.  
  665.    Description
  666.  
  667.       The Identity Type is used to query the identity of the peer.
  668.       Generally, the authenticator will issue this as the initial
  669.       Request.  An optional displayable message may be included to
  670.       prompt the peer in the case where there expectation of interaction
  671.       with a user.  A Response MUST be sent to this Request with a Type
  672.       of 1 (Identity).
  673.  
  674.          Implementation Note:  The peer may obtain the Identity via user
  675.          input.  It is suggested that the authenticator retry the
  676.          Indentity Request in the case of an invalid Identity or
  677.          authentication failure to allow for potential typos on the part
  678.          of the user.  It is suggested that the Identity Request be
  679.          retried a minimum of 3 times before terminating the
  680.          authentication phase with a Failure reply.  The Notification
  681.          Request may be used to indicate an invalid authentication
  682.          attempt prior to transmitting a new Identity Request
  683.          (optionally, the failure may be indicated within the message of
  684.          the new Identity Request itself).
  685.  
  686.  
  687.    Type
  688.  
  689.       1
  690.  
  691.    Type-Data
  692.  
  693.       This field MAY contain a displayable message in the Request.  The
  694.       Response uses this field to return the Identity.  If the Identity
  695.       is unknown, this field should be zero bytes in length.  The field
  696.       need not be null terminated.  The length of this field is derived
  697.       from the Length field of the Request/Response packet.
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714. Blunk & Vollbrecht       expires in six months                 [Page 11]
  715. DRAFT                           PPP EAP                        June 1996
  716.  
  717.  
  718. 3.2.  Notification
  719.  
  720.    Description
  721.  
  722.       The Notification Type is optionally used to convey a displayable
  723.       message from the authenticator to the peer.   The peer SHOULD
  724.       display this message to the user or log it if it cannot be
  725.       displayed.  It is intended to provide an acknowledged notification
  726.       of some imperative nature.  Examples include a password with an
  727.       expiration time that is about to expire, an S/Key id which is
  728.       nearing 0, an authentication failure warning, etc.   In most
  729.       circumstances, notification should not be required.
  730.  
  731.  
  732.    Type
  733.  
  734.       2
  735.  
  736.  
  737.    Type-Data
  738.  
  739.       The Type-Data field in the Request contains a displayable message
  740.       greater than zero octets in length.  The length of the message is
  741.       determined by Length field of the Request packet.  The message
  742.       need not be null terminated.  A Response MUST be sent in reply to
  743.       the Request with a Type field of 2 (Notification).  The Type-Data
  744.       field of the Response is zero octets in length.   The Response
  745.       should be sent immediately (independent of how the message is
  746.       displayed or logged).
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769. Blunk & Vollbrecht       expires in six months                 [Page 12]
  770. DRAFT                           PPP EAP                        June 1996
  771.  
  772.  
  773. 3.3.  Nak
  774.  
  775.    Description
  776.  
  777.       The Nak Type is valid only in Response messages.  It is sent in
  778.       reply to a Request where the desired authentication Type is
  779.       unacceptable.   Authentication Types are numbered 4 and above.
  780.       The Response contains the authentication Type desired by the peer.
  781.  
  782.    Type
  783.  
  784.       3
  785.  
  786.  
  787.    Type-Data
  788.  
  789.       This field MUST contain a single octet indicating the desired
  790.       authentication type.
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824. Blunk & Vollbrecht       expires in six months                 [Page 13]
  825. DRAFT                           PPP EAP                        June 1996
  826.  
  827.  
  828. 3.4.  MD5-Challenge
  829.  
  830.    Description
  831.  
  832.       The MD5-Challenge Type is analagous to the PPP CHAP protocol [3]
  833.       (with MD5 as the specified algorithm).  The PPP Authentication
  834.       Protocols RFC [3] should be referred to for further implementation
  835.       specifics.  The Request contains a "challenge" message to the
  836.       peer.  A Repsonse MUST be sent in reply to the Request.  The
  837.       Response MAY be either of Type 4 (MD5-Challenge) or Type 3 (Nak).
  838.       The Nak reply indicates the peer's desired authentication
  839.       mechanism Type.  Support for the MD5-Challenge mechanism is
  840.       MANDATORY.
  841.  
  842.  
  843.    Type
  844.  
  845.       4
  846.  
  847.  
  848.    Type-Data
  849.  
  850.       The contents of the Type-Data  field is summarized below.  For
  851.       reference on the use of this fields see the PPP Authentication
  852.       Protocols RFC [3].
  853.  
  854.        0                   1                   2                   3
  855.        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
  856.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  857.       |  Value-Size   |  Value ...
  858.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  859.       |  Name ...
  860.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879. Blunk & Vollbrecht       expires in six months                 [Page 14]
  880. DRAFT                           PPP EAP                        June 1996
  881.  
  882.  
  883. 3.5.  S/Key
  884.  
  885.    Description The S/Key system is defined in "The S/KEY One-Time
  886.    Password System" [4].  The Request contains a displayable message
  887.    consisting of the S/Key count and a seed. A Repsonse MUST be sent in
  888.    reply to the Request.  The Response MUST be of Type 5 (S/key) or Type
  889.    3 (Nak).  The Nak reply indicates the peer's desired authentication
  890.    mechanism Type.
  891.  
  892.  
  893. Type
  894.  
  895.    5
  896.  
  897.  
  898. Type-Data
  899.  
  900.    The Type-Data field contains the S/Key "challenge" (count and seed)
  901.    as a displayable message in the Request.  This field is used for the
  902.    6 words (displayable text) from the S/Key dictionary [4] in the
  903.    Response.  The messages need not be null terminated.  The length of
  904.    the field is derived from the Length field of the Request/Reply
  905.    packet.
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934. Blunk & Vollbrecht       expires in six months                 [Page 15]
  935. DRAFT                           PPP EAP                        June 1996
  936.  
  937.  
  938. 3.6.  Generic Token Card
  939.  
  940.    Description
  941.  
  942.       The Generic Token Card Type is defined for use with various Token
  943.       Card implementations which require user input.   The Request
  944.       contains an ASCII text message and the Reply contains the Token
  945.       Card information necessary for authentication.  Typically, this
  946.       would be information read by a user from the Token card device and
  947.       entered as ASCII text.
  948.  
  949.  
  950.    Type
  951.  
  952.       6
  953.  
  954.  
  955.    Type-Data
  956.  
  957.       The Type-Data field in the Request contains a displayable message
  958.       greater than zero octets in length.  The length of the message is
  959.       determined by Length field of the Request packet.  The message
  960.       need not be null terminated.  A Response MUST be sent in reply to
  961.       the Request with a Type field of 6 (Generic Token Card).  The
  962.       Response contains data from the Token Card required for
  963.       authentication.  The length is of the data is determined by the
  964.       Length field of the Response packet.
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989. Blunk & Vollbrecht       expires in six months                 [Page 16]
  990. DRAFT                           PPP EAP                        June 1996
  991.  
  992.  
  993. Security Considerations
  994.  
  995.    Security issues are the primary topic of this RFC.
  996.  
  997.    The interaction of the authentication protocols within PPP are highly
  998.    implementation dependent.
  999.  
  1000.    For example, upon failure of authentication, some implementations do
  1001.    not terminate the link.  Instead, the implementation limits the kind
  1002.    of traffic in the Network-Layer Protocols to a filtered subset, which
  1003.    in turn allows the user opportunity to update secrets or send mail to
  1004.    the network administrator indicating a problem.
  1005.  
  1006.    There is no provision for retries of failed authentication.  However,
  1007.    the LCP state machine can renegotiate the authentication protocol at
  1008.    any time, thus allowing a new attempt.  It is recommended that any
  1009.    counters used for authentication failure not be reset until after
  1010.    successful authentication, or subsequent termination of the failed
  1011.    link.
  1012.  
  1013.    There is no requirement that authentication be full duplex or that
  1014.    the same protocol be used in both directions.  It is perfectly
  1015.    acceptable for different protocols to be used in each direction.
  1016.    This will, of course, depend on the specific protocols negotiated.
  1017.  
  1018.    In practice, within or associated with each PPP server, there is a
  1019.    database which associates "user" names with authentication
  1020.    information ("secrets").  It is not anticipated that a particular
  1021.    named user would be authenticated by multiple methods.  This would
  1022.    make the user vulnerable to attacks which negotiate the least secure
  1023.    method from among a set (such as PAP rather than EAP).  Instead, for
  1024.    each named user there should be an indication of exactly one method
  1025.    used to authenticate that user name.  If a user needs to make use of
  1026.    different authentication methods under different circumstances, then
  1027.    distinct user names SHOULD be employed, each of which identifies
  1028.    exactly one authentication method.
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044. Blunk & Vollbrecht       expires in six months                 [Page 17]
  1045. DRAFT                           PPP EAP                        June 1996
  1046.  
  1047.  
  1048. References
  1049.  
  1050.    [1]   Simpson, W. A., "The Point-to-Point Protocol (PPP)", RFC 1661.
  1051.  
  1052.    [2]   Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1700,
  1053.          USC/Information Sciences Institute, October 1994.
  1054.  
  1055.    [3]   Lloyd, B., and Simpson, W.,  "PPP Authentication Protocols",
  1056.          RFC 1334, October 1992.
  1057.  
  1058.    [4]   Haller, N., "The S/KEY One-Time Password System", RFC 1760,
  1059.          Bellcore, February 1995.
  1060.  
  1061.  
  1062. Acknowledgments
  1063.  
  1064.    This protocol derives much of its inspiration from Dave Carrel's AHA
  1065.    draft as well as the PPP CHAP protocol [3].  Bill Simpson provided
  1066.    much of the boilerplate used throughout this document.   Al Rubens
  1067.    (Merit) also provided valuable feedback.
  1068.  
  1069.  
  1070. Chair's Address
  1071.  
  1072.    The working group can be contacted via the current chair:
  1073.  
  1074.       Karl Fox
  1075.       Ascend Communications
  1076.  
  1077.       EMail: karl@MorningStar.Com
  1078.  
  1079.  
  1080. Author's Address
  1081.  
  1082.    Questions about this memo can also be directed to:
  1083.  
  1084.       Larry J Blunk                   John R Vollbrecht
  1085.  
  1086.       EMail: ljb@merit.edu            EMail: jrv@merit.edu
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099. Blunk & Vollbrecht       expires in six months                 [Page 18]
  1100.