home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-radius-eap-00.txt < prev    next >
Text File  |  1997-02-19  |  31KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.      RADIUS Working Group                                       Pat Calhoun
  8.      INTERNET-DRAFT                                US Robotics Access Corp.
  9.      <draft-ietf-radius-eap-00.txt>                         Allan C. Rubens
  10.      19 February 1997                                   Merit Network, Inc.
  11.                                                               Bernard Aboba
  12.                                                                   Microsoft
  13.  
  14.  
  15.               Extensible Authentication Protocol Support in RADIUS
  16.  
  17.  
  18.      1.  Status of this Memo
  19.  
  20.      This document is an Internet-Draft.  Internet-Drafts are working docu-
  21.      ments of the Internet Engineering Task Force (IETF),  its  areas,  and
  22.      its  working groups.  Note that other groups may also distribute work-
  23.      ing documents as Internet-Drafts.
  24.  
  25.      Internet-Drafts are draft documents valid for a maximum of six  months
  26.      and  may  be updated, replaced, or obsoleted by other documents at any
  27.      time.  It is inappropriate to use Internet-Drafts as  reference  mate-
  28.      rial or to cite them other than as ``work in progress.''
  29.  
  30.      To  learn  the  current status of any Internet-Draft, please check the
  31.      ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
  32.      Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
  33.      (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  34.  
  35.      The  distribution  of  this memo is unlimited.  It is filed as <draft-
  36.      ietf-radius-eap-00.txt>, and  expires September 1, 1997.  Please  send
  37.      comments to the authors.
  38.  
  39.  
  40.      2.  Abstract
  41.  
  42.      The  Extensible  Authentication Protocol (EAP) is a PPP extension that
  43.      provides support for additional  authentication  methods  within  PPP.
  44.      This  document  describes how the EAP-Message and Signature attributes
  45.      may be used for providing EAP support within RADIUS.
  46.  
  47.  
  48.      3.  Introduction
  49.  
  50.      The Extensible Authentication Protocol (EAP), described in  [1],  pro-
  51.      vides  a  standard  mechanism for support of additional authentication
  52.      methods within PPP.  Through the use of EAP, support for a  number  of
  53.      authentication  schemes may be added, including token cards, Kerberos,
  54.      Public Key, S/Key, and others.  In order to provide for support of EAP
  55.      within  RADIUS,  two  new  attributes, EAP-Message and Signature, were
  56.      introduced as RADIUS extensions in [5]. This  document  describes  how
  57.      these  new  attributes  may  be  used for providing EAP support within
  58.      RADIUS.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.      Calhoun, Rubens & Aboba                                       [Page 1]
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      INTERNET-DRAFT                                        19 February 1997
  71.  
  72.  
  73.      The scheme described here is similar to that proposed in [2], in  that
  74.      the  RADIUS  server is used to shuttle RADIUS-encapsulated EAP Packets
  75.      between the NAS and a backend security server. While the  conversation
  76.      between  the RADIUS server  and the backend security server will typi-
  77.      cally occur using a proprietary  protocol  developed  by  the  backend
  78.      security server vendor, it is also possible to use RADIUS-encapsulated
  79.      EAP via the EAP-Message attribute. This has the advantage of  allowing
  80.      the  RADIUS server to support EAP without the need for authentication-
  81.      specific code, which can instead reside on a backend security  server.
  82.  
  83.  
  84.      3.1.  Requirements language
  85.  
  86.      This specification uses the same words as [7] for defining the signif-
  87.      icance of each particular requirement.  These words are:
  88.  
  89.  
  90.      MUST      This word, or the adjectives "REQUIRED"  or  "SHALL",  means
  91.                that the definition is an absolute requirement of the speci-
  92.                fication.
  93.  
  94.      MUST NOT  This phrase, or the phrase "SHALL NOT", means that the defi-
  95.                nition is an absolute prohibition of the specification.
  96.  
  97.      SHOULD    This  word, or the adjective "RECOMMENDED", means that there
  98.                may exist  valid  reasons  in  particular  circumstances  to
  99.                ignore  a particular item, but the full implications must be
  100.                understood and carefully weighed before choosing a different
  101.                course.
  102.  
  103.      SHOULD NOT
  104.                This phrase means that there may exist valid reasons in par-
  105.                ticular  circumstances  when  the  particular  behavior   is
  106.                acceptable  or even useful, but the full implications should
  107.                be understood and the case carefully weighed  before  imple-
  108.                menting any behavior described with this label.
  109.  
  110.      MAY       This  word,  or the adjective "OPTIONAL", means that an item
  111.                is truly optional.  One vendor may  choose  to  include  the
  112.                item because a particular marketplace requires it or because
  113.                the vendor feels that it enhances the product while  another
  114.                vendor may omit the same item.  An implementation which does
  115.                not include a particular option MUST be prepared to interop-
  116.                erate  with  another  implementation  which does include the
  117.                option, though perhaps with reduced  functionality.  In  the
  118.                same  vein an implementation which does include a particular
  119.                option MUST be prepared to interoperate with another  imple-
  120.                mentation  which  does  not  include  the option.(except, of
  121.                course, for the feature the option provides)
  122.  
  123.      An implementation is not compliant if it fails to satisfy one or  more
  124.      of  the must or must not requirements for the protocols it implements.
  125.      An implementation that satisfies all the must, must  not,  should  and
  126.      should   not   requirements   for   its   protocols   is  said  to  be
  127.  
  128.  
  129.  
  130.      Calhoun, Rubens & Aboba                                       [Page 2]
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      INTERNET-DRAFT                                        19 February 1997
  137.  
  138.  
  139.      "unconditionally compliant"; one that satisfies all the must and  must
  140.      not requirements but not all the should or should not requirements for
  141.      its protocols is said to be "conditionally compliant."
  142.  
  143.  
  144.      4.  Protocol overview
  145.  
  146.      The EAP conversation between  the  authenticating  peer  and  the  NAS
  147.      begins with the negotiation of EAP within LCP. Once EAP has been nego-
  148.      tiated, the NAS will typically send to  the  RADIUS  server  a  RADIUS
  149.      Access-Request  packet  containing an EAP-Message attribute signifying
  150.      EAP-Start. EAP-Start is indicated by sending an EAP-Message  attribute
  151.      with  a  length of 2 (no data). The Port number and NAS Identifier are
  152.      included in the attributes issued by the  NAS  in  the  Access-Request
  153.      packet.
  154.  
  155.      If  the  RADIUS  server  supports EAP, it MUST respond with an Access-
  156.      Challenge packet containing an EAP-Message attribute. The  EAP-Message
  157.      attribute  includes an encapsulated EAP packet which is then passed on
  158.      to the authenticating peer. The Access-Challenge typically  will  con-
  159.      tain  an  EAP-Message  attribute encapsulating an EAP-Request/Identity
  160.      message, requesting the authenticating peer to  identify  itself.  The
  161.      NAS  will  then respond with a RADIUS Access-Request packet containing
  162.      an EAP-Message attribute encapsulating an EAP-Response, etc. The  con-
  163.      versation  continues  until  either  a  RADIUS Access-Reject packet is
  164.      received (with an  EAP-Message  attribute  encapsulating  EAP-Failure)
  165.      which  results  in the NAS disconnecting the user, or a RADIUS Access-
  166.      Accept packet is received (with an EAP-Message attribute encapsulating
  167.      EAP-Success)  successfully ending the authentication phase.  Note that
  168.      if a RADIUS Access-Reject packet with an EAP-Message attribute  encap-
  169.      sulating  EAP-Failure  is  received  from  the  RADIUS Server, the NAS
  170.      SHOULD issue an LCP Terminate Request to the authenticating peer.
  171.  
  172.      The above scenario creates a situation in which the NAS never needs to
  173.      manipulate  an  EAP  packet.  An alternative may be used in situations
  174.      where an EAP-Request/Identity message will always be sent by  the  NAS
  175.      to  the authenticating peer. This involves having the NAS send an EAP-
  176.      Request/Identity message to the authenticating  peer,  and  forwarding
  177.      the  EAP-Response/Identity packet to the RADIUS server in the EAP-Mes-
  178.      sage attribute of a RADIUS Access-Request packet. While this  approach
  179.      will  save a round-trip, it cannot be universally employed.  There are
  180.      circumstances in which the user's identity may not be needed (such  as
  181.      when  authentication and accounting is handled based on the calling or
  182.      called phone number), and therefore an EAP-Request/Identity packet may
  183.      not necessarily be issued by the NAS to the authenticating peer.
  184.  
  185.      Unless the NAS interprets the EAP-Response/Identity packet returned by
  186.      the authenticating peer, it will not have access to the  user's  iden-
  187.      tity.  Therefore,  it  is  suggested that the RADIUS Server return the
  188.      user's identity by inserting it in the User-Name attribute  of  subse-
  189.      quent  Access-Challenge  and Access-Accept packets. Without the user's
  190.      identity, accounting and billing becomes very difficult to manage.
  191.  
  192.  
  193.  
  194.  
  195.  
  196.      Calhoun, Rubens & Aboba                                       [Page 3]
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      INTERNET-DRAFT                                        19 February 1997
  203.  
  204.  
  205.      In cases where a backup RADIUS servers is available, were the  primary
  206.      server  to  fail  at any time during the EAP conversation, it would be
  207.      desirable for the NAS to be able to redirect the  conversation  to  an
  208.      alternate  RADIUS server. However, for the backup server to be able to
  209.      pick up the conversation, it must be provided with the  state  of  the
  210.      EAP conversation prior to the interruption.
  211.  
  212.      This  can  be accomplished by having the RADIUS Access-Request include
  213.      the series of EAP-Message attributes representing the previous history
  214.      of  the  EAP conversation. Similarly, the RADIUS Challenge returned by
  215.      the  RADIUS  server  must  also  include  all   previous   EAP-Message
  216.      attributes.  The  sequence  number  field in the EAP-Message attribute
  217.      MUST be used in order to determine which attribute is to be processed.
  218.      The  attribute  with  the  highest  sequence number is the most recent
  219.      attribute.
  220.  
  221.      The RADIUS Access-Accept/EAP-Message/EAP-Success packet  MUST  contain
  222.      all  of  the  expected  attributes  which are currently returned in an
  223.      Access-Accept packet.
  224.  
  225.      For proxied RADIUS requests there are two methods of  processing.   If
  226.      the domain is determined based on the DNIS the RADIUS Server may proxy
  227.      the initial RADIUS Access-Request/EAP-Start. If the domain  is  deter-
  228.      mined  based  on  the  user's  identity,  the local RADIUS Server MUST
  229.      respond  with  a  RADIUS  Access-Challenge/EAP-Identity  packet.   The
  230.      response  from  the  authenticating  peer MUST be proxied to the final
  231.      authentication server.
  232.  
  233.      For proxied RADIUS requests, the  NAS  may  receive  an  Access-Reject
  234.      packet  in  response  to its Access-Request/EAP-Identity packet.  This
  235.      would occur if the message was proxied to a RADIUS Server  which  does
  236.      not  support  the  EAP-Message extension.  At this point, the NAS MUST
  237.      re-open LCP with the authenticating peer and request  either  CHAP  or
  238.      PAP  as  the  authentication  protocol.  Again,  such an Access-Reject
  239.      packet indicating lack of EAP capability will not contain an  EAP-Mes-
  240.      sage attribute.
  241.  
  242.      If  the  NAS  is unable to negotiate EAP with the authenticating peer,
  243.      what happens next is a matter of policy. In circumstances where EAP is
  244.      required  of  all users accessing the NAS, the NAS MUST disconnect the
  245.      user. However, in circumstances where EAP is mandatory for some users,
  246.      and  optional  or not required for others, the decision cannot be made
  247.      until the user's identity is ascertained. In this case, the  NAS  will
  248.      negotiate  another  authentication method, such as CHAP, and will pass
  249.      the User-Name and CHAP-Password attributes to the RADIUS Server in  an
  250.      Access-Request  packet.  If  the user is not required to use EAP, then
  251.      the RADIUS Server will respond with an Access-Accept or  Access-Reject
  252.      packet  as appropriate. However, should the user require EAP, then the
  253.      RADIUS Server will respond with an Access-Challenge packet  containing
  254.      an EAP-Message attribute. The EAP-Message attribute will either encap-
  255.      sulate an EAP-Request/Identity packet, or if the RADIUS  Server  makes
  256.      use  of the User-Name attribute in the Access-Request, it may encapsu-
  257.      late an EAP challenge. On receiving the EAP-Message attribute, the NAS
  258.      will either attempt to negotiate EAP if it had not done so previously,
  259.  
  260.  
  261.  
  262.      Calhoun, Rubens & Aboba                                       [Page 4]
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      INTERNET-DRAFT                                        19 February 1997
  269.  
  270.  
  271.      or if negotiation had previously been attempted and  failed,  it  MUST
  272.      disconnect the user.
  273.  
  274.      The NAS is not responsible for the retransmission of any EAP messages.
  275.      The authenticating peer and the RADIUS Server are responsible for  any
  276.      retransmissions.
  277.  
  278.      The  example  below  shows the conversation between the authenticating
  279.      peer, NAS, and RADIUS server, for the case of an S/Key authentication.
  280.      S/Key  is  used  only  for illustrative purposes; other authentication
  281.      protocols could also have been used, although they would show somewhat
  282.      different behavior.
  283.  
  284.  
  285.      Authenticating Peer     NAS                      RADIUS Server
  286.      -------------------     ---                      -------------
  287.  
  288.                              <- PPP LCP EAP-Request
  289.      PPP LCP EAP ACK ->
  290.                              RADIUS
  291.                              Access-Request/
  292.                              EAP-Message/Start ->
  293.                                                       <- RADIUS
  294.                                                       Access-Challenge/
  295.                                                       EAP-Message/Identity
  296.                              <- PPP EAP-Request/
  297.                              Identity
  298.      PPP EAP-Response/
  299.      Identity (MyID) ->
  300.                              RADIUS
  301.                              Access-Request/
  302.                              EAP-Message/
  303.                              EAP-Response/
  304.                              (MyID) ->
  305.                                                        <- RADIUS
  306.                                                        Access-Challenge/
  307.                                                        EAP-Message/EAP-Request
  308.                                                        S-Key/S-Key Challenge
  309.                              <- PPP EAP-Request/
  310.                              S-Key/
  311.                              S-Key Challenge
  312.      PPP EAP-Response/
  313.      S-Key, S-Keypw ->
  314.                              RADIUS
  315.                              Access-Request/
  316.                              EAP-Message/
  317.                              EAP-Response/
  318.                              S-Key, S-Keypw ->
  319.                                                         <- RADIUS
  320.                                                         Access-Accept/
  321.                                                         EAP-Message/EAP-Success
  322.                                                         (other attributes)
  323.                              <- PPP EAP-Success
  324.      IPCP phase starts
  325.  
  326.  
  327.  
  328.      Calhoun, Rubens & Aboba                                       [Page 5]
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      INTERNET-DRAFT                                        19 February 1997
  335.  
  336.  
  337.      In  the  case  where  the  NAS  sends  the authenticating peer an EAP-
  338.      Request/Identity packet without first sending an EAP-Start  packet  to
  339.      the RADIUS server,  the conversation would appear as follows:
  340.  
  341.      Authenticating Peer     NAS                      RADIUS Server
  342.      -------------------     ---                      -------------
  343.  
  344.                              <- PPP LCP EAP-Request
  345.      PPP LCP EAP ACK ->
  346.                              <- PPP EAP-Request/
  347.                              Identity
  348.      PPP EAP-Response/
  349.      Identity (MyID) ->
  350.                              RADIUS
  351.                              Access-Request/
  352.                              EAP-Message/
  353.                              EAP-Response/
  354.                              (MyID) ->
  355.                                                        <- RADIUS
  356.                                                        Access-Challenge/
  357.                                                        EAP-Message/EAP-Request
  358.                                                        S-Key/S-Key Challenge
  359.                              <- PPP EAP-Request/
  360.                              S-Key/
  361.                              S-Key Challenge
  362.      PPP EAP-Response/
  363.      S-Key, S-Keypw ->
  364.                              RADIUS
  365.                              Access-Request/
  366.                              EAP-Message/
  367.                              EAP-Response/
  368.                              S-Key, S-Keypw ->
  369.                                                         <- RADIUS
  370.                                                         Access-Accept/
  371.                                                         EAP-Message/EAP-Success
  372.                                                         (other attributes)
  373.                              <- PPP EAP-Success
  374.      IPCP phase starts
  375.  
  376.      In  the  case where the client fails EAP authentication, the conversa-
  377.      tion would appear as follows:
  378.  
  379.      Authenticating Peer     NAS                      RADIUS Server
  380.      -------------------     ---                      -------------
  381.  
  382.                              <- PPP LCP EAP-Request
  383.      PPP LCP EAP ACK ->
  384.      RADIUS
  385.                              Access-Request/
  386.                              EAP-Message/Start ->
  387.                                                       <- RADIUS
  388.                                                       Access-Challenge/
  389.                                                       EAP-Message/Identity
  390.                              <- PPP EAP-Request/
  391.  
  392.  
  393.  
  394.      Calhoun, Rubens & Aboba                                       [Page 6]
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      INTERNET-DRAFT                                        19 February 1997
  401.  
  402.  
  403.                              Identity
  404.      PPP EAP-Response/
  405.      Identity (MyID) ->
  406.                              RADIUS
  407.                              Access-Request/
  408.                              EAP-Message/
  409.                              EAP-Response/
  410.                              (MyID) ->
  411.                                                        <- RADIUS
  412.                                                        Access-Challenge/
  413.                                                        EAP-Message/EAP-Request
  414.                                                        S-Key/S-Key Challenge
  415.                              <- PPP EAP-Request/
  416.                              S-Key/
  417.                              S-Key Challenge
  418.      PPP EAP-Response/
  419.      S-Key, S-Keypw ->
  420.                              RADIUS
  421.                              Access-Request/
  422.                              EAP-Message/
  423.                              EAP-Response/
  424.                              S-Key, S-Keypw ->
  425.                                                         <- RADIUS
  426.                                                         Access-Reject/
  427.                                                         EAP-Message/EAP-Failure
  428.                              <- PPP EAP-Failure
  429.                              (client disconnected)
  430.  
  431.      In the case that the RADIUS server or proxy does not support  EAP-Mes-
  432.      sage, the conversation would appear as follows:
  433.  
  434.      Authenticating Peer     NAS                         RADIUS Server
  435.      -------------------     ---                         -------------
  436.  
  437.                              <- PPP LCP EAP-Request
  438.      PPP LCP EAP ACK ->
  439.                              RADIUS
  440.                              Access-Request/
  441.                              EAP-Message/Start ->
  442.                                                          <- RADIUS
  443.                                                          Access-Reject
  444.                              <- PPP LCP
  445.                              CHAP-Request
  446.      PPP LCP
  447.      CHAP-Response->
  448.                              RADIUS
  449.                              Access-Request->
  450.                                                          <- RADIUS
  451.                                                          Access-Accept
  452.  
  453.      In  the  case  where the local RADIUS Server does support EAP-Message,
  454.      but the remote RADIUS Server does not, the conversation  would  appear
  455.      as follows:
  456.  
  457.  
  458.  
  459.  
  460.      Calhoun, Rubens & Aboba                                       [Page 7]
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      INTERNET-DRAFT                                        19 February 1997
  467.  
  468.  
  469.      Authenticating Peer     NAS                         RADIUS Server
  470.      -------------------     ---                         -------------
  471.  
  472.                              <- PPP LCP EAP-Request
  473.      PPP LCP EAP ACK ->
  474.                              RADIUS
  475.                              Access-Request/
  476.                              EAP-Message/Start ->
  477.                                                          <- RADIUS
  478.                                                          Access-Challenge/
  479.                                                          EAP-Message/Identity
  480.                              <- PPP EAP-Request/
  481.                              Identity
  482.      PPP EAP-Response/
  483.      Identity
  484.      (MyID) ->
  485.                              RADIUS
  486.                              Access-Request/
  487.                              EAP-Message/EAP-Response/
  488.                              (MyID) ->
  489.                                                          <- RADIUS
  490.                                                          Access-Reject
  491.                                                          (proxied from remote
  492.                                                          RADIUS Server)
  493.                              <- PPP LCP
  494.                              CHAP-Request
  495.      PPP LCP
  496.      CHAP-Response->
  497.                              RADIUS
  498.                              Access-Request->
  499.                                                          <- RADIUS
  500.                                                          Access-Accept
  501.                                                          (proxied from remote
  502.                                                          RADIUS Server)
  503.  
  504.      In  the  case  where the authenticating peer does not support EAP, but
  505.      where EAP is required for that user, the conversation would appear  as
  506.      follows:
  507.  
  508.      Authenticating Peer     NAS                         RADIUS Server
  509.      -------------------     ---                         -------------
  510.  
  511.                              <- PPP LCP EAP-Request
  512.      PPP LCP EAP NACK ->
  513.                              <- PPP LCP CHAP-Request
  514.      PPP LCP
  515.      CHAP-Response ->
  516.                              RADIUS
  517.                              Access-Request/
  518.                              User-Name,
  519.                              CHAP-Password ->
  520.                                                          <- RADIUS
  521.                                                          Access-Challenge/
  522.                                                          EAP-Message
  523.  
  524.  
  525.  
  526.      Calhoun, Rubens & Aboba                                       [Page 8]
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      INTERNET-DRAFT                                        19 February 1997
  533.  
  534.  
  535.                              (User Disconnected)
  536.  
  537.  
  538.      5.  Alternative uses
  539.  
  540.      While  the  conversation  between  the  RADIUS server  and the backend
  541.      security server will typically  occur  using  a  proprietary  protocol
  542.      developed  by  the backend security server vendor, it is also possible
  543.      to use RADIUS-encapsulated  EAP  via  the  EAP-Message  and  Signature
  544.      attributes.  This  has  the advantage of allowing the RADIUS server to
  545.      support EAP without the need for authentication-specific  code  within
  546.      the  RADIUS  server. Authentication-specific code can then reside on a
  547.      backend security server instead.
  548.  
  549.      In the case where RADIUS-encapsulated EAP is used  in  a  conversation
  550.      between  a  RADIUS  server and a backend security server, the Security
  551.      Server will  typically  return  an  Access-Accept/EAP-Success  message
  552.      without  inclusion of the expected attributes currently returned in an
  553.      Access-Accept. This means that the RADIUS  server  will  need  to  add
  554.      these attributes prior to sending an Access-Accept/EAP-Success message
  555.      to the NAS.
  556.  
  557.  
  558.      6.  Attributes
  559.  
  560.  
  561.      6.1.  EAP-Message
  562.  
  563.      Description
  564.  
  565.         This attribute encapsulates Extensible Authentication Protocol  [1]
  566.         packets  so  as  to allow the NAS to authenticate dial-in users via
  567.         EAP without having to understand the protocol.
  568.  
  569.         The NAS places EAP messages received from the  authenticating  peer
  570.         into  one  or  more EAP-Message attributes and forwards them to the
  571.         RADIUS Server within an Access-Request message. The  RADIUS  Server
  572.         may  then return EAP message in Access-Challenge, Access-Accept and
  573.         Access-Reject packets.
  574.  
  575.         Access-Request packets including one or more EAP-Message attributes
  576.         MUST also contain a Signature attribute, described in [5], in order
  577.         to provide for authentication of the shuttled EAP packets.  Access-
  578.         Requests  including  an  EAP-Message  attribute without a Signature
  579.         attribute SHOULD be silently discarded  by  the  RADIUS  server.  A
  580.         RADIUS  Server  supporting  EAP-Message  MUST calculate the correct
  581.         value of the Signature and silently discard the packet if  it  does
  582.         not  match the value sent.  A RADIUS Server not supporting EAP-Mes-
  583.         sage MUST return an Access-Reject. A RADIUS  Server  receiving  EAP
  584.         messages  that  it  does  not  understand  SHOULD return an Access-
  585.         Reject.
  586.  
  587.      A summary of the EAP-Message attribute format  is  shown  below.   The
  588.      fields are transmitted from left to right.
  589.  
  590.  
  591.  
  592.      Calhoun, Rubens & Aboba                                       [Page 9]
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      INTERNET-DRAFT                                        19 February 1997
  599.  
  600.  
  601.      0                   1                   2                   3
  602.      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 2
  603.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  604.      |      Type     |    Length     |     Sequence No.              |
  605.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  606.      |      String...
  607.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  608.  
  609.      Type
  610.  
  611.         67 for EAP-Message
  612.  
  613.      Length
  614.  
  615.         >=5 (EAP packet enclosed)
  616.         =2  (EAP start message)
  617.  
  618.      Sequence Number
  619.  
  620.         The  Sequence  Number field, which is two octets in length, is used
  621.         in order to build a "history" of the transaction.  The  EAP-Message
  622.         attribute with the highest identifier represents the current packet
  623.         to  process.   The  history  is  passed  along  in   each   Access-
  624.         request/Access-Challenge  in order to support the concept of RADIUS
  625.         backup servers, as described earlier.
  626.  
  627.         EAP-Message attributes with the same sequence number are to be con-
  628.         catenated,  in  order  to allow an EAP packet to be larger than the
  629.         253 octet limit for a RADIUS attribute.
  630.  
  631.      String
  632.  
  633.         The String field includes EAP packets, as defined in [1]:
  634.  
  635.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  636.         |      Code     | Identifier    |          Length               |
  637.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  638.         |                                                               |
  639.         /                                                               /
  640.         /                        Data                                   /
  641.         |                                                               |
  642.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  643.  
  644.  
  645.      7.  Acknowledgments
  646.  
  647.      Thanks to Dave Dawson and Karl Fox of Ascend, and Glen Zorn and Naren-
  648.      dra Gidwani of Microsoft for useful discussions of this problem space.
  649.  
  650.  
  651.      8.  References
  652.  
  653.      [1] L. J. Blunk, J. R.  Vollbrecht.   "PPP  Extensible  Authentication
  654.      Protocol  (EAP)."  draft-ietf-pppext-eap-auth-02.txt,  Merit  Network,
  655.  
  656.  
  657.  
  658.      Calhoun, Rubens & Aboba                                      [Page 10]
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      INTERNET-DRAFT                                        19 February 1997
  665.  
  666.  
  667.      Inc., June, 1996.
  668.  
  669.      [2] A. Rubens, P.R. Calhoun.  "DIAMETER Extensible Authentication Pro-
  670.      tocol   Support."  draft-calhoun-diameter-eap-00.txt,  Merit  Network,
  671.      Inc., US Robotics Access Corp., February, 1997.
  672.  
  673.      [3]  C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote  Authenti-
  674.      cation  Dial  In  User Service (RADIUS)." RFC 2058, Livingston, Merit,
  675.      Daydreamer, January, 1997.
  676.  
  677.      [4]  C. Rigney.  "RADIUS Accounting." RFC 2059,  Livingston,  January,
  678.      1997.
  679.  
  680.      [5]  C.  Rigney,  W. Willats.  "RADIUS Extensions." draft-ietf-radius-
  681.      ext-00.txt, Livingston, January, 1997.
  682.  
  683.      [6] R. Rivest, S. Dusse.   "The  MD5  Message-Digest  Algorithm",  RFC
  684.      1321,  MIT  Laboratory  for  Computer Science, RSA Data Security Inc.,
  685.      April 1992.
  686.  
  687.      [7] S. Bradner.  "Key words for use in RFCs  to  Indicate  Requirement
  688.      Levels."  draft-bradner-key-words-02.txt,  Harvard University, August,
  689.      1996.
  690.  
  691.  
  692.  
  693.      9.  Authors' Addresses
  694.  
  695.      Pat R. Calhoun
  696.      US Robotics Access Corp.
  697.      8100 N. McCormick Blvd.
  698.      Skokie, IL 60076-2999
  699.  
  700.      Phone: 847-342-6898
  701.      EMail: pcalhoun@usr.com
  702.  
  703.      Allan C. Rubens
  704.      Merit Network, Inc.
  705.      4251 Plymouth Rd.
  706.      Ann Arbor, MI 48105-2785
  707.  
  708.      Phone: 313-647-0417
  709.      EMail: acr@merit.edu
  710.  
  711.      Bernard Aboba
  712.      Microsoft Corporation
  713.      One Microsoft Way
  714.      Redmond, WA 98052
  715.  
  716.      Phone: 206-936-6605
  717.      EMail: bernarda@microsoft.com
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.      Calhoun, Rubens & Aboba                                      [Page 11]
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      INTERNET-DRAFT                                        19 February 1997
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.      Calhoun, Rubens & Aboba                                      [Page 12]
  791.  
  792.  
  793.