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-tunnel-imp-03.txt < prev    next >
Text File  |  1997-07-28  |  77KB  |  1,779 lines

  1.  
  2.  
  3.      RADIUS Working Group                                     Bernard Aboba
  4.      INTERNET-DRAFT                                               Microsoft
  5.      Category: Standards Track                                    Glen Zorn
  6.      <draft-ietf-radius-tunnel-imp-03.txt>                        Microsoft
  7.      26 July 1997
  8.  
  9.  
  10.           Implementation of PPTP/L2TP Compulsory Tunneling via RADIUS
  11.  
  12.  
  13.      1.  Status of this Memo
  14.  
  15.      This document is an Internet-Draft.  Internet-Drafts are working docu-
  16.      ments of the Internet Engineering Task Force (IETF),  its  areas,  and
  17.      its  working groups.  Note that other groups may also distribute work-
  18.      ing documents as Internet-Drafts.
  19.  
  20.      Internet-Drafts are draft documents valid for a maximum of six  months
  21.      and  may  be updated, replaced, or obsoleted by other documents at any
  22.      time.  It is inappropriate to use Internet-Drafts as  reference  mate-
  23.      rial or to cite them other than as ``work in progress.''
  24.  
  25.      To  learn  the  current status of any Internet-Draft, please check the
  26.      ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
  27.      Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
  28.      (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  29.  
  30.      The  distribution  of  this memo is unlimited.  It is filed as <draft-
  31.      ietf-radius-tunnel-imp-03.txt> and  expires February 1, 1998.   Please
  32.      send comments to the authors.
  33.  
  34.  
  35.      2.  Abstract
  36.  
  37.      This  document  discusses  implementation issues arising in the provi-
  38.      sioning of compulsory tunneling in dial-up networks using the PPTP and
  39.      L2TP  protocols.   This provisioning can be accomplished via the inte-
  40.      gration of  RADIUS  and  tunneling  protocols.  Implementation  issues
  41.      encountered  with other tunneling protocols are left to separate docu-
  42.      ments.
  43.  
  44.  
  45.  
  46.      3.  Terminology
  47.  
  48.  
  49.      Voluntary Tunneling
  50.                In voluntary tunneling, a tunnel is  created  by  the  user,
  51.                typically via use of a tunneling client.
  52.  
  53.      Compulsory Tunneling
  54.                In  compulsory  tunneling,  a  tunnel is created without any
  55.                action from the user  and  without  allowing  the  user  any
  56.                choice.
  57.  
  58.  
  59.  
  60.      Aboba & Zorn                                                  [Page 1]
  61.  
  62.  
  63.  
  64.  
  65.  
  66.      INTERNET-DRAFT                                            26 July 1997
  67.  
  68.  
  69.      Roaming   "Roaming capability" can be loosely defined  as  the ability
  70.                to use  any  one  of  multiple  Internet  service  providers
  71.                (ISPs),  while maintaining a formal,  customer-vendor  rela-
  72.                tionship  with  only one. Examples  of  cases  where roaming
  73.                capaility might be required include ISP "confederations" and
  74.                ISP-provided corporate network access support.
  75.  
  76.      Shared Use Network
  77.                This is an IP dialup network whose use is shared by  two  or
  78.                more organizations.  Shared use networks typically implement
  79.                distributed authentication and accounting in order to facil-
  80.                itate   the relationship  among  the  sharing parties. Since
  81.                these facilities are also  required  for  implementation  of
  82.                roaming,  implementation of shared use is frequently a first
  83.                step toward development of roaming  capabilities. In   fact,
  84.                one  of  the ways by which a provider can offer roaming ser-
  85.                vice is to conclude shared use agreements with multiple net-
  86.                works.  However,  to date the ability to accomplish this has
  87.                been hampered by lack of interoperability among  shared  use
  88.                implementations.
  89.  
  90.      Tunnel Network Server
  91.                This  is  a server which terminates a tunnel. In PPTP termi-
  92.                nology, this is known as the PPTP Network Server  (PNS).  In
  93.                L2TP  terminology,  this is known as the L2TP Network Server
  94.                (LNS).
  95.  
  96.      Network Access Server
  97.                The Network Access Server (NAS) is the device  that  clients
  98.                contact  in order to get access to the network. In PPTP ter-
  99.                minology this is referred to as the PPTP Access Concentrator
  100.                (PAC).  In  L2TP  terminology, the NAS is referred to as the
  101.                L2TP Access Concentrator (LAC).
  102.  
  103.      RADIUS server
  104.                This is a server which  provides  for  authentication/autho-
  105.                rization via the protocol described in [3], and for account-
  106.                ing as described in [4].
  107.  
  108.      RADIUS proxy
  109.                In order to provide for the routing of RADIUS authentication
  110.                and  accounting requests, a RADIUS proxy can be employed. To
  111.                the NAS, the RADIUS proxy appears to act as a RADIUS server,
  112.                and  to  the  RADIUS  server,  the proxy appears to act as a
  113.                RADIUS client.
  114.  
  115.      Network Access Identifier
  116.                In order to provide for the routing of RADIUS authentication
  117.                and accounting requests, the userID field used in PPP and in
  118.                the  subsequent   RADIUS   authentication   and   accounting
  119.                requests,  known  as the Network Access Identifier (NAI) MAY
  120.                contain structure. This structure provides a means by  which
  121.                the  RADIUS  proxy  will locate the RADIUS server that is to
  122.                receive the request. This same structure MAY also be used to
  123.  
  124.  
  125.  
  126.      Aboba & Zorn                                                  [Page 2]
  127.  
  128.  
  129.  
  130.  
  131.  
  132.      INTERNET-DRAFT                                            26 July 1997
  133.  
  134.  
  135.                locate  the  tunnel  endpoint when domain-based tunneling is
  136.                used.
  137.  
  138.  
  139.      4.  Requirements language
  140.  
  141.      This specification uses the same words as [9] for defining the signif-
  142.      icance of each particular requirement.  These words are:
  143.  
  144.  
  145.      MUST      This  word,  or  the adjectives "REQUIRED" or "SHALL", means
  146.                that the definition is an absolute requirement of the speci-
  147.                fication.
  148.  
  149.      MUST NOT  This phrase, or the phrase "SHALL NOT", means that the defi-
  150.                nition is an absolute prohibition of the specification.
  151.  
  152.      SHOULD    This word, or the adjective "RECOMMENDED", means that  there
  153.                MAY  exist  valid  reasons  in  particular  circumstances to
  154.                ignore a particular item, but the full implications must  be
  155.                understood and carefully weighed before choosing a different
  156.                course.
  157.  
  158.      SHOULD NOT
  159.                This phrase means that there MAY exist valid reasons in par-
  160.                ticular   circumstances  when  the  particular  behavior  is
  161.                acceptable or even useful, but the full implications  should
  162.                be  understood  and the case carefully weighed before imple-
  163.                menting any behavior described with this label.
  164.  
  165.      MAY       This word, or the adjective "OPTIONAL", means that  an  item
  166.                is  truly  optional.   One  vendor may choose to include the
  167.                item because a particular marketplace requires it or because
  168.                the  vendor feels that it enhances the product while another
  169.                vendor may omit the same item.  An implementation which does
  170.                not include a particular option MUST be prepared to interop-
  171.                erate with another implementation  which  does  include  the
  172.                option,  though  perhaps  with reduced functionality. In the
  173.                same vein an implementation which does include a  particular
  174.                option  MUST be prepared to interoperate with another imple-
  175.                mentation which does  not  include  the  option.(except,  of
  176.                course, for the feature the option provides)
  177.  
  178.      Silently Discard
  179.                The  implementation  discards  the  datagram without further
  180.                processing, and without indicating an error to  the  sender.
  181.                The  implementation SHOULD provide the capability of logging
  182.                the error, including the contents of the discarded datagram,
  183.                and SHOULD record the event in a statistics counter.
  184.  
  185.      An  implementation is not compliant if it fails to satisfy one or more
  186.      of the MUST or MUST NOT requirements for the protocols it  implements.
  187.      An  implementation  that  satisfies all the MUST, MUST NOT, SHOULD and
  188.      SHOULD  NOT  requirements  for   its   protocols   is   said   to   be
  189.  
  190.  
  191.  
  192.      Aboba & Zorn                                                  [Page 3]
  193.  
  194.  
  195.  
  196.  
  197.  
  198.      INTERNET-DRAFT                                            26 July 1997
  199.  
  200.  
  201.      "unconditionally  compliant"; one that satisfies all the MUST and MUST
  202.      NOT requirements but not all the SHOULD or SHOULD NOT requirements for
  203.      its protocols is said to be "conditionally compliant."
  204.  
  205.  
  206.      5.  Introduction
  207.  
  208.      Many  applications  of  tunneling  protocols  involve  dial-up network
  209.      access. Some, such  as the provisioning of secure access to  corporate
  210.      intranets  via the Internet, are characterized by voluntary tunneling:
  211.      the tunnel is created at the request of the user for a  specific  pur-
  212.      pose.  Other  applications involve compulsory tunneling: the tunnel is
  213.      created without any action from the user and without allowing the user
  214.      any choice.
  215.  
  216.      Examples  of  applications  that might be implemented using compulsory
  217.      tunnels are Internet software upgrade servers,  software  registration
  218.      servers  and  banking services.  These are all services which, without
  219.      compulsory tunneling, would probably be provided using dedicated  net-
  220.      works  or  at least dedicated network access servers (NAS), since they
  221.      are characterized by the need to limit user access to specific  hosts.
  222.  
  223.      Given  the  existence  of widespread support for compulsory tunneling,
  224.      however, these types of services could be accessed  via  any  Internet
  225.      service provider (ISP).  The most popular means of authorizing dial-up
  226.      network users today is through  the  RADIUS   protocol.  The  use   of
  227.      RADIUS allows the dial-up users' authorization and authentication data
  228.      to be maintained in a central location,  rather  than on each NAS.  It
  229.      makes  sense  to use RADIUS to centrally  administer  compulsory  tun-
  230.      neling,  since  RADIUS  is   widely deployed  and  was   designed   to
  231.      carry  this  type of information.  New RADIUS attributes are needed to
  232.      carry the tunneling  information  from the  RADIUS server to  the  NAS
  233.      and  to transfer accounting data from the NAS to the RADIUS accounting
  234.      server; those attributes are defined in [7].
  235.  
  236.  
  237.      5.1.  Tunneling attributes
  238.  
  239.      As described in [7], provisioning of compulsory tunneling with  RADIUS
  240.      requires no new RADIUS messages, and implementation of five new RADIUS
  241.      attributes: Tunnel-Type,  Tunnel-Medium-Type,  Acct-Tunnel-Client-End-
  242.      point, Tunnel-Server-Endpoint, and Acct-Tunnel-Connection-Id.
  243.  
  244.      The  Tunnel-Type  attribute  indicates the tunneling protocol(s) to be
  245.      used (PPTP, L2F, L2TP, ATMP, VTP, IPSEC AH, IP-IP). It MAY be included
  246.      in Access-Request, Access-Accept, and Access-Challenge  packets.
  247.  
  248.      The   Tunnel-Medium-Type Attribute indicates which transport medium to
  249.      use (IP, X.25, ATM, Frame Relay) when creating a tunnel for those pro-
  250.      tocols  (such   as   L2TP) that  can operate over multiple transports.
  251.      It MAY be included in in Access-Request,  Access-Accept,  and  Access-
  252.      Challenge  packets.
  253.  
  254.  
  255.  
  256.  
  257.  
  258.      Aboba & Zorn                                                  [Page 4]
  259.  
  260.  
  261.  
  262.  
  263.  
  264.      INTERNET-DRAFT                                            26 July 1997
  265.  
  266.  
  267.      Acct-Tunnel-Client-Endpoint contains the address of the NAS end of the
  268.      tunnel.  It  SHOULD be included in  Accounting-Request  packets  which
  269.      contain  Acct-Status-Type  attributes  with values of either Start  or
  270.      Stop.  This  Attribute,  along  with  the  Tunnel-Server-Endpoint  and
  271.      Acct-Tunnel-Connection-ID  attributes,  may be used to provide a glob-
  272.      ally unique means to identify a tunnel for accounting purposes.
  273.  
  274.      Tunnel-Server-Endpoint indicates the address of the server end of  the
  275.      tunnel.   It  SHOULD  be included in  Accounting-Request packets which
  276.      contain Acct-Status-Type attributes with values  of  either  Start  or
  277.      Stop.
  278.  
  279.      Acct-Tunnel-Connection-ID  indicates  the  identifier  assigned to the
  280.      call.  It SHOULD be included in   Accounting-Request   packets   which
  281.      contain  Acct-Status-Type   attributes  with values of either Start or
  282.      Stop.
  283.  
  284.      Where RADIUS proxies are deployed, the Access-Reply sent by the RADIUS
  285.      server may be processed by one or more proxies prior to being received
  286.      by the NAS. In order to ensure that tunnel attributes  arrive  without
  287.      modification,  intermediate RADIUS proxies forwarding the Access-Reply
  288.      MUST NOT modify tunnel attributes. If the RADIUS proxy does  not  sup-
  289.      port tunnel attributes, then it MUST send an Access-Reject to the NAS.
  290.      This is necessary to ensure that the user is only  granted  access  if
  291.      the services requested by the RADIUS server can be provided.
  292.  
  293.      Since  RADIUS  tunnel  attributes  are  used for compulsory tunneling,
  294.      address assignment is handled by the tunnel  server  rather  than  the
  295.      NAS.  As  a  result,  if  tunnel  attributes are present, the NAS MUST
  296.      ignore any address assignment attributes sent by the RADIUS server. In
  297.      addition,  the  NAS  and  client MUST NOT begin NCP negotiation, since
  298.      this could create a time window in which the client will be capable of
  299.      sending packets to the transport network, which is not permitted under
  300.      compulsory tunneling.
  301.  
  302.  
  303.      5.2.  Advantanges of RADIUS-based compulsory tunneling
  304.  
  305.      The use of RADIUS in provisioning of compulsory  tunnels  has  several
  306.      advantages. These include:
  307.  
  308.           User-based tunneling
  309.           Auditing capabilities
  310.           Telephone-number based authentication and accounting
  311.           Single or dual authentication
  312.  
  313.  
  314.      5.2.1.  User-based Tunneling
  315.  
  316.      Current  proposals  for routing of tunnel requests include static tun-
  317.      neling, where all users are automatically tunneled  to  a  given  end-
  318.      point,  and realm-based tunneling, where the tunnel endpoint is deter-
  319.      mined from the realm portion of the userID.  User-based  tunneling  as
  320.      provided   by  integration  of  RADIUS  and  tunnel  protocols  offers
  321.  
  322.  
  323.  
  324.      Aboba & Zorn                                                  [Page 5]
  325.  
  326.  
  327.  
  328.  
  329.  
  330.      INTERNET-DRAFT                                            26 July 1997
  331.  
  332.  
  333.      significant advantages over both of these approaches.
  334.  
  335.      Static tunneling requires dedication of a NAS device to  the  purpose.
  336.      In the case of an ISP, this is undesirable because it requires them to
  337.      dedicate a NAS to tunneling service for a  given  corporate  customer,
  338.      rather than allowing them to use existing NASes deployed in the field.
  339.      As a result static tunneling is likely to be costly for deployment  of
  340.      a global service.
  341.  
  342.      Realm-based tunneling assumes that all users within a given realm wish
  343.      to be treated the same way. This limits a corporation's flexibility in
  344.      managing  the  account  rights  of their users. For example, BIGCO may
  345.      desire to provide Janet with an account that allows access to both the
  346.      Internet  and the intranet, with Janet's intranet access provided by a
  347.      tunnel server located in the engineering department. However BIGCO may
  348.      desire  to  provide  Fred with an account that provides only access to
  349.      the intranet, with Fred's intranet access provided by a tunnel network
  350.      server  located  in  the  sales department. Such a situation cannot be
  351.      accommodated with realm-based tunneling.
  352.  
  353.      On the other hand, user-based tunneling as enabled by  the  attributes
  354.      defined  in [7] provides BIGCO with the flexibility to administer tun-
  355.      neling behavior on a per-user basis. When  deployed  in  concert  with
  356.      roaming,  user-based tunneling offers corporations the ability to pro-
  357.      vide their users with access to the corporate  Intranet  on  a  global
  358.      basis.
  359.  
  360.  
  361.      5.3.  Auditing Capabilities
  362.  
  363.      The  integration of RADIUS and tunnel protocols allows the ISP and the
  364.      corporation to synchronize their accounting activities  so  that  each
  365.      side  receives  a record of the user's resource consumption. This pro-
  366.      vides the corporation with the means to audit ISP bills.
  367.  
  368.      The    Acct-Tunnel-Client-Endpoint    and    Acct-Tunnel-Connection-ID
  369.      attributes  were introduced in [7] in order to support auditing. These
  370.      attributes are included within the  RADIUS  Accounting-Request  packet
  371.      along  with  other attributes such as the User-Name and Tunnel-Server-
  372.      Endpoint.  During accounting, the  User-Name,  Acct-Tunnel-Connection-
  373.      ID,  Acct-Tunnel-Client-Endpoint and Tunnel-Server-Endpoint attributes
  374.      uniquely identify the call. This allows the Accounting-Request sent by
  375.      the  NAS  to  be  reconciled with the corresponding Accounting-Request
  376.      sent by the tunnel server.
  377.  
  378.      When implementing L2TP compulsory tunneling based on RADIUS,  the  NAS
  379.      MUST  transmit the Call-Serial-Number in the Acct-Tunnel-Connection-ID
  380.      attribute in  the  Accounting-Request  packet.  In  order  to  protect
  381.      against wrapping due to reboots or call volume, a 64-bit NTP timestamp
  382.      SHOULD be used as the Call-Serial Number. This feasible in L2TP  since
  383.      the Call-Serial-Number string is of variable length.
  384.  
  385.      When  implementing  PPTP compulsory tunneling based on RADIUS, the NAS
  386.      MUST transmit the Call-Serial-Number in the  Acct-Tunnel-Connection-ID
  387.  
  388.  
  389.  
  390.      Aboba & Zorn                                                  [Page 6]
  391.  
  392.  
  393.  
  394.  
  395.  
  396.      INTERNET-DRAFT                                            26 July 1997
  397.  
  398.  
  399.      attribute in the Accounting-Request packet.  While [6] states that the
  400.      Call-Serial-Number SHOULD be unique, this is not required.   In  addi-
  401.      tion,  no  method for determining the Call-Serial-Number is specified,
  402.      which leaves open the possibility of wrapping after a reboot.
  403.  
  404.      Since the Call-Serial-Number is a 16-bit value, the Call-Serial-Number
  405.      is  not  sufficient  to  distinguish a given call from all other calls
  406.      over an extended time period. For example, let us assume that the Call
  407.      Serial  Number is assigned monotonically, and that the NAS in question
  408.      has 96 ports. If the NAS ports are kept continually busy and the aver-
  409.      age  call  is of 20 minutes duration, then the Call Serial Number will
  410.      wrap within 65536/(96 * 3 calls/hour * 24 hours/day) = 9.5 days.
  411.  
  412.      In order to rectify this, it is recommended that  another  message  be
  413.      added  to PPTP so that the NAS could provide the tunnel server with an
  414.      Acct-Tunnel-Connection-ID unique over an extended time period.  It  is
  415.      recommended that a 64-bit NTP timestamp be used for this purpose.
  416.  
  417.  
  418.      5.4.  Telephone-number based authentication and accounting
  419.  
  420.      Using  the Calling-Station-Id and Called-Station-Id RADIUS attributes,
  421.      authorization and subsequent tunnel attributes can  be  based  on  the
  422.      phone  number  originating  the call, or the number being called. This
  423.      allows the RADIUS server to authorize users based on the calling phone
  424.      number  (with  or without a userID/password combination), or to select
  425.      the  Tunnel-Type,   Tunnel-Medium-Type,   and   Tunnel-Server-Endpoint
  426.      attributes based on the Calling-Station-Id or Called-Station-Id.  Sim-
  427.      ilarly, in PPTP/L2TP the tunnel server MAY choose to reject or  accept
  428.      the call based on the Dialed Number and Dialing Number included in the
  429.      PPTP/L2TP Incoming-Call-Request packet sent by the NAS.
  430.  
  431.      The use of RADIUS accounting by  the  NAS  and/or  the  tunnel  server
  432.      allows  for  accounting  to take place based on the Calling-Station-Id
  433.      and Called-Station-Id.
  434.  
  435.  
  436.      5.5.  Single or dual authentication
  437.  
  438.      As described below, RADIUS-based compulsory tunneling  can  support  a
  439.      variety of authentication configurations. These include single authen-
  440.      tication, where the user is authenticated at  the  tunnel  server,  or
  441.      dual  authentication,  where the user is authenticated at both the NAS
  442.      and the tunnel server. When  single  authentication  is  supported,  a
  443.      variety  of  modes  are  possible,  including  telephone-number  based
  444.      authentication described  above,  or  EAP-based  authentication.  When
  445.      dual-authentication  is used, a number of modes are available, includ-
  446.      ing    dual    CHAP    authentications;    CHAP/EAP    authentication;
  447.      CHAP/PAP(token)  authentication; and EAP/EAP authentication, using the
  448.      same EAP type for both authentications.
  449.  
  450.      PAP/PAP, CHAP/PAP and EAP/PAP dual authentications SHOULD NOT be used,
  451.      since  these  combinations involve transmission of cleartext passwords
  452.      over the Internet.
  453.  
  454.  
  455.  
  456.      Aboba & Zorn                                                  [Page 7]
  457.  
  458.  
  459.  
  460.  
  461.  
  462.      INTERNET-DRAFT                                            26 July 1997
  463.  
  464.  
  465.      6.  Authentication alternatives in compulsory tunneling
  466.  
  467.      There are  several  authentication  alternatives  for  integration  of
  468.      RADIUS and tunneling:
  469.  
  470.           Authenticate at the NAS
  471.           Authenticate at the NAS, and forward the RADIUS reply
  472.           Authenticate at the tunnel network server
  473.           Authenticate at both the NAS and the tunnel network server
  474.  
  475.      We discuss each of these alternatives in turn.
  476.  
  477.  
  478.      6.1.  Authenticate at the NAS
  479.  
  480.      With  this  approach, authentication and authorization (including tun-
  481.      neling information) occurs once, at the NAS. The  advantages  of  this
  482.      approach  are  that  it  disallows network access for unauthorized NAS
  483.      users; and allows RADIUS accounting to be used at the  NAS.  Disadvan-
  484.      tages  are  that  it requires that the tunnel network server trust the
  485.      NAS, since no user authentication occurs on the tunnel network  server
  486.      end  of  the  tunnel. Another disadvantage is that this does not allow
  487.      LCP parameters to be re-negotiated by the tunnel network server. Also,
  488.      due  to  the lack of user authentication, accounting cannot take place
  489.      at the tunnel network server with strong assurance  that  the  correct
  490.      party  is  being  billed.  As  a  result, it does not appear that this
  491.      scheme can be practically employed.
  492.  
  493.  
  494.      6.2.  Authenticate at the NAS, and forward the RADIUS reply
  495.  
  496.      With this approach, authentication and authorization occurs  once,  at
  497.      the  NAS  end  of  the tunnel and the RADIUS reply is forwarded to the
  498.      tunnel network server. This  approach  disallows  network  access  for
  499.      unauthorized  NAS  users;  does  not require trust between the NAS and
  500.      tunnel network server ends  of  the  tunnel;  and  allows  for  RADIUS
  501.      accounting  to  be  used  at both ends of the tunnel. However, it also
  502.      requires that both ends share the same secret with the RADIUS  server,
  503.      since  that is the only way that the tunnel network server could check
  504.      the RADIUS reply.
  505.  
  506.      In this approach,  the tunnel network server MUST share  secrets  with
  507.      all the NASes and associated RADIUS servers, and there is no provision
  508.      for LCP renegotiation by the tunnel network server. Also,  the  tunnel
  509.      network server MUST know how to handle and verify RADIUS Access-Accept
  510.      messages.
  511.  
  512.      While this scheme can be workable if the reply comes directly  from  a
  513.      RADIUS  server,  it  would  become  unmanageable  if a RADIUS proxy is
  514.      involved, since the reply would  be  authenticated  using  the  secret
  515.      shared  by  the  client and proxy, rather than the RADIUS server. As a
  516.      result, it does  not  appear  that  this  scheme  can  be  practically
  517.      employed.
  518.  
  519.  
  520.  
  521.  
  522.      Aboba & Zorn                                                  [Page 8]
  523.  
  524.  
  525.  
  526.  
  527.  
  528.      INTERNET-DRAFT                                            26 July 1997
  529.  
  530.  
  531.      6.3.  Authenticate at the tunnel network server
  532.  
  533.      In  this  scheme,  authentication and authorization occurs once at the
  534.      tunnel network server. This requires that the NAS determine  that  the
  535.      user needs to be tunneled (through RADIUS or NAS configuration). Where
  536.      RADIUS is used, the determination can be made using one of the follow-
  537.      ing methods:
  538.  
  539.           Telephone-number based authentication
  540.           User-Name
  541.           EAP Identity
  542.  
  543.  
  544.      6.3.1.  Telephone-number based authentication
  545.  
  546.      Where  telephone-number based authentication is used, the Calling-Sta-
  547.      tion-Id or Called-Station-Id attributes included in the RADIUS Access-
  548.      Request  are  used  to  determine whether the call will be accepted or
  549.      rejected, and if accepted, where the user is  to  be  tunneled.  Where
  550.      telephone-number based authentication is used, the User-Name and User-
  551.      Password or CHAP-Password attributes need not be present.
  552.  
  553.      In  cases  where  telephone-number  authentication  may  be  employed,
  554.      accounting  may  be  accomplished on the NAS side via the Calling-Sta-
  555.      tion-Id or Called-Station-Id, and on the tunnel server side,  via  the
  556.      userID.  Thus  this scheme is capable of providing both authentication
  557.      and accounting, and appears practical to implement.
  558.  
  559.  
  560.      6.3.2.  User-Name
  561.  
  562.      Where the User-Name attribute is present, RADIUS  as  defined  in  [3]
  563.      requires  that  either  a  CHAP-Password or User-Password attribute be
  564.      present in an Access-Request message, as well as  requiring  that  the
  565.      password  be  non-empty.  Thus, this scheme either requires attribute-
  566.      specific processing on the RADIUS server, or addition  of  an  "Autho-
  567.      rize-Only" message.
  568.  
  569.      In attribute-specific processing an attribute is used to signal tunnel
  570.      initiation.  For example, tunnel attributes can be sent  back  if  the
  571.      PAP  password  is empty (or "tunnel" or "L2TP"). Alternatively, a user
  572.      could prefix the userID with some special character ('*') if he wanted
  573.      to  be  tunneled. This particular solution does not support compulsory
  574.      tunneling. Another solution involves keying on the domain  portion  of
  575.      the  userID;  all  users  in  domain X would be tunneled to address Y.
  576.      This proposal supports compulsory tunneling, but does not provide  for
  577.      user-based tunneling.
  578.  
  579.      An  Authorize-Only  message  would not include a CHAP or PAP password;
  580.      nevertheless, in response the RADIUS server would return the attribute
  581.      list. In order to prevent password guessing attacks, an Authorize-Only
  582.      message would need to be authenticated via the RADIUS  shared  secret.
  583.      This  could  be  accomplished via the Signature attribute described in
  584.      [10].
  585.  
  586.  
  587.  
  588.      Aboba & Zorn                                                  [Page 9]
  589.  
  590.  
  591.  
  592.  
  593.  
  594.      INTERNET-DRAFT                                            26 July 1997
  595.  
  596.  
  597.      Note that when either attribute-specific processing or  an  authorize-
  598.      only  message is used, the tunnel network server would need to renego-
  599.      tiate LCP. Note also that in order for the NAS to start accounting  on
  600.      the  connection, it would need to use the identity claimed by the user
  601.      in authenticating to the tunnel network server, since it did not  ver-
  602.      ify  the  identity via RADIUS. However, in order for that to be of any
  603.      use in accounting, the tunnel endpoint needs to have an account  rela-
  604.      tionship  with  the NAS owner. Thus even if a user has an account with
  605.      the NAS owner, they cannot use this account for tunneling  unless  the
  606.      tunnel  endpoint  also has a business relationship with the NAS owner.
  607.      Without putting in place a public key infrastructure, it is not  clear
  608.      how  the  NAS would be able to verify the existence of such a business
  609.      relationship in a scalable manner. Thus this approach  nullifies  many
  610.      of  the  benefits  of  roaming. Due to these difficulties, it does not
  611.      appear that this scheme can be practically employed.
  612.  
  613.  
  614.  
  615.      6.3.3.  EAP Identity
  616.  
  617.      Where EAP is used as described in [11], the NAS may  include  an  EAP-
  618.      Message/Identity  attribute in the RADIUS Access-Request. Based on the
  619.      Identity included in the Access-Request, the RADIUS  server  may  send
  620.      tunneling  attributes  within  the RADIUS Access-Challenge packet. The
  621.      NAS can then set up the tunnel and  EAP  authentication  may  continue
  622.      between the client and the tunnel server. This method avoids having to
  623.      use attribute-specific processing or an authorize-only message.
  624.  
  625.      However, in this case, the EAP identity is never verified by the  NAS,
  626.      and so either the tunnel server owner must be willing to be billed for
  627.      all incoming calls, or other information such as the  Calling-Station-
  628.      Id must be used to verify the user's identity for accounting purposes.
  629.      Where either of these conditions holds true, this scheme may be  prac-
  630.      tically employed.
  631.  
  632.  
  633.      6.4.  Authenticate at both the NAS and the tunnel network server
  634.  
  635.      In  this  scheme, authentication occurs both at the NAS and the tunnel
  636.      network server. This requires the dial-up  PPP  peer  to  handle  dual
  637.      authentications, with attendant LCP re-negotiations. In order to allow
  638.      the NAS and tunnel network server to  authenticate  against  the  same
  639.      database, this requires RADIUS client capability on the tunnel network
  640.      server, and possibly a RADIUS proxy on the NAS end.
  641.  
  642.      Advantages of this scheme are that it allows secure authentication and
  643.      accounting  at  both  ends  of  the tunnel; allows the use of a single
  644.      userID/password pair via implementation of RADIUS on the  tunnel  net-
  645.      work  server;  and does not require telephone-number based authentica-
  646.      tion, use of EAP, attribute-specific  processing  or  addition  of  an
  647.      Authorize-Only  message  on the RADIUS server.  This scheme allows for
  648.      accounting records to be generated on both the NAS and  tunnel  server
  649.      ends  allowing for auditing. Also, in contrast to the previous scheme,
  650.      the tunnel endpoint does not need to have an account relationship with
  651.  
  652.  
  653.  
  654.      Aboba & Zorn                                                 [Page 10]
  655.  
  656.  
  657.  
  658.  
  659.  
  660.      INTERNET-DRAFT                                            26 July 1997
  661.  
  662.  
  663.      the  NAS owner. Thus this scheme is compatible with roaming. Disadvan-
  664.      tages are that unless LCP forwarding is used,  LCP  will  need  to  be
  665.      renegotiated, and that dual authentications are required.
  666.  
  667.      The  use  of dual authentication can be complex, since some clients do
  668.      not support it at all, and others only support only a  subset  of  the
  669.      dual   authentication   combinations.  Feasible  combinations  include
  670.      PAP/PAP(token),   PAP/CHAP,   PAP/EAP,   CHAP/PAP(token),   CHAP/CHAP,
  671.      CHAP/EAP,  EAP/CHAP,  and  EAP/EAP.  Assuming  that  the required dual
  672.      authentication capabilities are supported, this scheme may be  practi-
  673.      cally employed.
  674.  
  675.  
  676.      7.  Telephone-number based authentication
  677.  
  678.  
  679.  
  680.      7.1.  Initiation sequence
  681.  
  682.      In the case of telephone-number based authentication, a typical initi-
  683.      ation sequence looks like this:
  684.  
  685.           Client and NAS: Call Connected
  686.           NAS to RADIUS Server: RADIUS Access-request
  687.           RADIUS server to NAS: RADIUS Access-Accept/Access-Reject
  688.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  689.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  690.           NAS to Tunnel Server: PPTP/L2TP  Incoming-Call-Connected
  691.           Client and Tunnel Server: PPP LCP negotiation
  692.           Client and Tunnel Server: PPP authentication
  693.           Tunnel Server to RADIUS Server: RADIUS Access-request (optional)
  694.           RADIUS server to Tunnel Server: RADIUS Access-Accept/Access-Reject
  695.           Client and Tunnel Server: NCP negotiation
  696.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  697.           RADIUS Server to NAS: RADIUS Accounting-Response
  698.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request
  699.              with Acct-Status-Type=Start (Optional)
  700.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  701.  
  702.      The process begins with an incoming call to the NAS. If configured for
  703.      telephone-number  based  authentication,  the  NAS  MUST send a RADIUS
  704.      Access-Request containing the Calling-Station-Id and  the  Called-Sta-
  705.      tion-Id  attributes. The RADIUS server will then respond with a RADIUS
  706.      Access-Accept or Access-Reject.
  707.  
  708.      The NAS MUST NOT begin PPP authentication before bringing up the  tun-
  709.      nel.  If  timing  permits,  the  NAS  MAY bring up the tunnel prior to
  710.      beginning LCP negotiation with the client. If this is done,  then  LCP
  711.      will not need to be renegotiated between the client and tunnel server.
  712.  
  713.      If the initial telephone-number based authentication is  unsuccessful,
  714.      the  RADIUS server sends a RADIUS Access-Reject. In this case, the NAS
  715.      MUST send an LCP-Terminate and disconnect the user.
  716.  
  717.  
  718.  
  719.  
  720.      Aboba & Zorn                                                 [Page 11]
  721.  
  722.  
  723.  
  724.  
  725.  
  726.      INTERNET-DRAFT                                            26 July 1997
  727.  
  728.  
  729.      In the case where tunnel attributes are included in the RADIUS Access-
  730.      Accept, and a PPTP/L2TP tunnel is indicated, the NAS will now bring up
  731.      a control connection if none existed before.  The  control  connection
  732.      will  be  of  the type indicated by Tunnel-Type, over the medium indi-
  733.      cated by Tunnel-Medium-Type, to the tunnel server indicated by Tunnel-
  734.      Server-Endpoint.  This  is  accomplished by sending a PPTP/L2TP Start-
  735.      Control-Connection-Request message to the tunnel server.   The  tunnel
  736.      server  will then with a PPTP/L2TP Start-Control-Connection-Reply.  If
  737.      this message indicates an error, or if the control connection is  ter-
  738.      minated  at  any  future time, then the NAS MUST send an LCP-Terminate
  739.      and disconnect the user.
  740.  
  741.      The NAS will then proceed to send  a  PPTP/L2TP  Incoming-Call-Request
  742.      message  to  the  tunnel server. Among other things, this message will
  743.      contain the Call Serial Number, which along  with  the  NAS-IP-Address
  744.      and  Tunnel-Server-Endpoint is used to uniquely identify the call. The
  745.      tunnel server will reply with a PPTP/L2TP Incoming-Call-Reply message.
  746.      If this message indicates an error, then the NAS MUST send an LCP-Ter-
  747.      minate and disconnect the user. If no error is indicated, the NAS then
  748.      replies with a PPTP/L2TP Incoming-Call-Connected message.
  749.  
  750.      At this point, data MAY begin to flow through the tunnel. If LCP nego-
  751.      tiation had been begun between the NAS and the client, the client  and
  752.      tunnel  server  MAY  now renegotiate LCP and begin PPP authentication;
  753.      otherwise, the client and tunnel server will  negotiate  LCP  for  the
  754.      first time, and then move on to PPP authentication.
  755.  
  756.      If  a  renegotiation  is  required, at the time that the renegotiation
  757.      begins, the NAS SHOULD NOT have sent an  LCP  CONFACK  completing  LCP
  758.      negotiation,  and  the client and NAS MUST NOT have begun NCP negotia-
  759.      tion. Rather than sending an LCP CONFACK, the NAS will instead send an
  760.      LCP  DOWN  message. The Client MAY then renegotiate LCP, and from that
  761.      point forward, all PPP packets originated  from  the  client  will  be
  762.      encapsulated  and  sent to the tunnel server.  When LCP re-negotiation
  763.      has been concluded, the NCP phase will begin, and  the  tunnel  server
  764.      will assign an address to the client.
  765.  
  766.      If L2TP is being used as the tunnel protocol, and LCP renegotiation is
  767.      required, the NAS MAY in its initial setup notification include a copy
  768.      of the LCP CONFACKs sent in each direction which completed LCP negoti-
  769.      ation. The tunnel server MAY then use this  information  to  avoid  an
  770.      additional  LCP negotiation. With L2TP, the initial setup notification
  771.      can also include the authentication information required to allow  the
  772.      tunnel server to authenticate the user and decide to accept or decline
  773.      the connection. However, in telephone-number based authentication, PPP
  774.      authentication MUST NOT occur prior to the NAS bringing up the tunnel.
  775.      As a result, L2TP authentication forwarding MUST NOT be employed.
  776.  
  777.      In performing the PPP authentication, the tunnel server can access its
  778.      own  user database, or it MAY send a RADIUS Access-Request. The latter
  779.      approach  is  useful  in  cases  where  authentication  forwarding  is
  780.      enabled,  such  as  with roaming or shared use networks. In this case,
  781.      the RADIUS and tunnel servers are under the  same  administration  and
  782.      are  typically  located  close  together,  possibly  on  the same LAN.
  783.  
  784.  
  785.  
  786.      Aboba & Zorn                                                 [Page 12]
  787.  
  788.  
  789.  
  790.  
  791.  
  792.      INTERNET-DRAFT                                            26 July 1997
  793.  
  794.  
  795.      Therefore having the tunnel server act as a RADIUS client provides for
  796.      unified user administration. Other methods are also available, such as
  797.      use of LDAP, described in [12], by both the tunnel and RADIUS servers.
  798.      Note  that the tunnel server's RADIUS Access-Request is typically sent
  799.      directly to the local RADIUS server rather than  being  forwarded  via
  800.      proxy.
  801.  
  802.      After  the  tunnel  has been brought up, the NAS and tunnel server MAY
  803.      start accounting.  In the case of the NAS, this is done by  sending  a
  804.      RADIUS  Accounting-Request  packet  with  Acct-Status-Type=Start  to a
  805.      RADIUS server. The Accounting-Request packet MUST include the  follow-
  806.      ing  attributes:  Tunnel-Type, Tunnel-Medium-Type, Acct-Tunnel-Client-
  807.      Endpoint, Tunnel-Server-Endpoint, and  Acct-Tunnel-Connection-Id.  The
  808.      Accounting-Request  packet MAY also include the Calling-Station-Id and
  809.      Called-Station-Id attributes.
  810.  
  811.      The tunnel server can produce its own accounting records,  or  it  MAY
  812.      send a RADIUS Accounting-Request packet with Acct-Status-Type=Start to
  813.      a local RADIUS server. In the  latter  case,  the  RADIUS  Accounting-
  814.      Request  packet  MUST  contain  the following attributes: Tunnel-Type,
  815.      Tunnel-Medium-Type,  Acct-Tunnel-Client-Endpoint,   Tunnel-Server-End-
  816.      point, and Acct-Tunnel-Connection-Id.
  817.  
  818.      The  interactions  involved  in initiation of a compulsory tunnel with
  819.      telephone-number based authentication are summarized below.  In  order
  820.      to  simplify  the  diagram  that follows, we have left out the client.
  821.      However, it is understood that the client participates via PPP negoti-
  822.      ation,  authentication and subsequent data interchange with the Tunnel
  823.      Server.
  824.  
  825.  
  826.                                     INITIATION SEQUENCE
  827.  
  828.      NAS                            Tunnel Server       RADIUS Server
  829.      ---                            -------------       -------------
  830.      Call connected
  831.      Send RADIUS
  832.       Access-Request
  833.       with Called-Station-Id,
  834.       and/or Calling-Station-Id
  835.      LCP starts
  836.                                                         IF authentication
  837.                                                         succeeds
  838.                                                          Send ACK with
  839.                                                          Tunnel-Type,
  840.                                                          Tunnel-Medium-Type,
  841.                                                          Tunnel-Server-Endpoint,
  842.                                                         ELSE Send NAK
  843.      IF NAK DISCONNECT
  844.      ELSE
  845.       IF no control
  846.        connection exists
  847.        Send
  848.        Start-Control-Connection-Request
  849.  
  850.  
  851.  
  852.      Aboba & Zorn                                                 [Page 13]
  853.  
  854.  
  855.  
  856.  
  857.  
  858.      INTERNET-DRAFT                                            26 July 1997
  859.  
  860.  
  861.        to Tunnel Server
  862.                                   Send
  863.                                   Start-Control-Connection-Reply
  864.                                   to NAS
  865.       ENDIF
  866.  
  867.      Send
  868.      Incoming-Call-Request
  869.      message to Tunnel Server
  870.                                   Send Incoming-Call-Reply
  871.                                   to NAS
  872.      Send
  873.      Incoming-Call-Connected
  874.      message to Tunnel Server
  875.  
  876.      Send data through the tunnel
  877.                                   Re-negotiate LCP,
  878.                                   authenticate user,
  879.                                   bring up IPCP,
  880.                                   start accounting
  881.                                   Send RADIUS
  882.                                   Accounting-Request with
  883.                                   Acct-Status-Type=Start
  884.                                   (optional)
  885.                                                        Send
  886.                                                        RADIUS
  887.                                                        Accounting-Response
  888.      Send a RADIUS
  889.      Accounting-Request message
  890.      with Acct-Status-Type=Start
  891.      containing
  892.      Tunnel-Type, Tunnel-Medium-Type,
  893.      Acct-Tunnel-Client-Endpoint,
  894.      Tunnel-Server-Endpoint,
  895.      Acct-Tunnel-Connection-Id,
  896.      Calling-Station-Id,
  897.      Called-Station-Id.
  898.                                                        Send
  899.                                                        RADIUS
  900.                                                        Accounting-Response
  901.  
  902.      ENDIF
  903.  
  904.  
  905.      7.2.  EAP support
  906.  
  907.      It is expected  that  the  Extensible  Authentication  Protocol  (EAP)
  908.      described in [13] will frequently be used along with telephone number-
  909.      based authentication and tunneling  in  order  to  provide  additional
  910.      security.  In  this case, EAP authentication may be used in the tunnel
  911.      authentication only, using EAP code present on the NAS, or via support
  912.      of  EAP within RADIUS described in [11].  In this case, the initiation
  913.      sequence will look like this:
  914.  
  915.  
  916.  
  917.  
  918.      Aboba & Zorn                                                 [Page 14]
  919.  
  920.  
  921.  
  922.  
  923.  
  924.      INTERNET-DRAFT                                            26 July 1997
  925.  
  926.  
  927.           Client and NAS: Call Connected
  928.           Client and NAS: PPP LCP negotiation
  929.           NAS to RADIUS Server: RADIUS Access-Request
  930.           RADIUS server to NAS: RADIUS Access-Reply/Tunnel attributes
  931.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  932.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  933.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Connected
  934.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  935.           Client and Tunnel Server: EAP authentication
  936.           Tunnel Server to RADIUS Server: RADIUS Access-Request/EAP-start
  937.           RADIUS server to Tunnel Server: RADIUS Access-Challenge/EAP-Message
  938.           Tunnel Server to Client: EAP-Request
  939.           Client to Tunnel Server: EAP-Response
  940.           Tunnel Server to RADIUS Server: RADIUS Access-Request/EAP-Message
  941.           RADIUS server to Tunnel Server: RADIUS Access-Accept/EAP-Message/EAP-Success
  942.           Client and Tunnel Server: NCP negotiation
  943.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  944.           RADIUS Server to NAS: RADIUS Accounting-Response
  945.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request with
  946.              Acct-Status-Type=Start (Optional)
  947.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  948.  
  949.  
  950.  
  951.      8.  Single authentication
  952.  
  953.  
  954.  
  955.      8.1.  Initiation sequence
  956.  
  957.      In the case of a single authentication compulsory  tunnel,  a  typical
  958.      initiation sequence looks like this:
  959.  
  960.           Client and NAS: Call Connected
  961.           Client and NAS: PPP LCP negotiation
  962.           Client and NAS: EAP authentication
  963.           NAS to RADIUS Server: RADIUS Access-request
  964.           RADIUS server to NAS: RADIUS Access-Challenge/Access-Reject
  965.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  966.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  967.           NAS to Tunnel Server: PPTP/L2TP  Incoming-Call-Connected
  968.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  969.           Client and Tunnel Server: EAP authentication
  970.           Tunnel Server to RADIUS Server: RADIUS Access-request (optional)
  971.           RADIUS server to Tunnel Server: RADIUS Access-Challenge/Access-Reject
  972.           Client and Tunnel Server: NCP negotiation
  973.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  974.           RADIUS Server to NAS: RADIUS Accounting-Response
  975.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request
  976.              with Acct-Status-Type=Start (Optional)
  977.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  978.  
  979.      The  process  begins with an incoming call to the NAS, and the PPP LCP
  980.      negotiation between the Client and NAS. At this point,  the  NAS  must
  981.  
  982.  
  983.  
  984.      Aboba & Zorn                                                 [Page 15]
  985.  
  986.  
  987.  
  988.  
  989.  
  990.      INTERNET-DRAFT                                            26 July 1997
  991.  
  992.  
  993.      offer  EAP,  and  the Client must accept if the negotiation is to pro-
  994.      ceed. If the Client is incapable of authenticating via EAP,  then  the
  995.      NAS MUST send an LCP-Terminate and disconnect the user.
  996.  
  997.      The  NAS will now typically send an EAP-Request/Identity packet to the
  998.      Client, and the client will respond with an EAP-Response/MyId  packet.
  999.      The  NAS  now  sends  an  Access-Request/EAP-Message/EAP-Response/MyId
  1000.      packet to the RADIUS server, which responds with  an  Access-Challenge
  1001.      or an Access-Reject.
  1002.  
  1003.      If  single-authentication  tunneling is to be carried out, the Access-
  1004.      Challenge packet MUST contain the Tunnel-Type, Tunnel-Medium-Type, and
  1005.      Tunnel-Server-Endpoint   Attributes.   The   presence   of   tunneling
  1006.      attributes in the Access-Challenge indicates to the NAS that a  tunnel
  1007.      MUST be brought up prior to continuation of the EAP conversation. As a
  1008.      result, if the Access-Challenge  contains  an  EAP-Message  attribute,
  1009.      then  the  NAS  MUST NOT send the EAP-Request encapsulated in the EAP-
  1010.      Message prior to bringing up the tunnel. Since  after  the  tunnel  is
  1011.      brought up LCP will be renegotiated, EAP-Message attributes are effec-
  1012.      tively ignored whenever  the  Access-Challenge  also  contains  tunnel
  1013.      attributes.
  1014.  
  1015.      In  the  case  where a PPTP/L2TP tunnel is indicated, the NAS will now
  1016.      bring up a control connection if none existed before, and the NAS  and
  1017.      tunnel server will bring up the call. At this point, data MAY begin to
  1018.      flow through the tunnel. The client and tunnel server MAY now  renego-
  1019.      tiate LCP and will complete PPP authentication.
  1020.  
  1021.      At  the  time  that  the renegotiation begins, the NAS SHOULD NOT have
  1022.      sent an LCP CONFACK completing LCP negotiation, and the client and NAS
  1023.      MUST  NOT  have begun NCP negotiation. Rather than sending an LCP CON-
  1024.      FACK, the NAS will instead send an LCP DOWN message.  The  Client  MAY
  1025.      then  renegotiate  LCP,  and  from that point forward, all PPP packets
  1026.      originated from the client will be encapsulated and sent to the tunnel
  1027.      server.  In single authentication compulsory tunneling, L2TP authenti-
  1028.      cation forwarding MUST NOT be employed.
  1029.  
  1030.      If the tunnel server and NAS both are using the  same  RADIUS  server,
  1031.      the  RADIUS  server will respond to the tunnel server's Access-Request
  1032.      with an Access-Challenge packet containing tunnel  attributes  and  an
  1033.      EAP-Message  attribute,  as  before. On receiving the Access-Challenge
  1034.      including tunnel attributes, the tunnel server will check whether  the
  1035.      tunnel  matches  the  attributes returned by the RADIUS server; if so,
  1036.      the tunnel attributes will be ignored, and the  EAP-Request  specified
  1037.      in the EAP-Message attribute will be sent to the Client. If the tunnel
  1038.      attributes do not match, then the tunnel server  MUST  disconnect  the
  1039.      call.
  1040.  
  1041.      When  LCP re-negotiation has been concluded, the NCP phase will begin,
  1042.      and the tunnel server will assign an address to the client.
  1043.  
  1044.      In performing the PPP authentication, the tunnel server can access its
  1045.      own  user  database, or it MAY send a RADIUS Access-Request. After the
  1046.      tunnel has been brought up,  the  NAS  and  tunnel  server  MAY  start
  1047.  
  1048.  
  1049.  
  1050.      Aboba & Zorn                                                 [Page 16]
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.      INTERNET-DRAFT                                            26 July 1997
  1057.  
  1058.  
  1059.      accounting.
  1060.  
  1061.      The  interactions  involved  in initiation of a compulsory tunnel with
  1062.      single authentication are summarized below.
  1063.  
  1064.  
  1065.  
  1066.                                     INITIATION SEQUENCE
  1067.  
  1068.      NAS                            Tunnel Server       RADIUS Server
  1069.      ---                            -------------       -------------
  1070.      Call accepted
  1071.      LCP starts
  1072.      EAP authentication
  1073.       phase starts
  1074.      Send RADIUS
  1075.       Access-Request
  1076.       with EAP-Message/MyId
  1077.       attribute
  1078.                                                        IF MyId is known,
  1079.                                                        send RADIUS
  1080.                                                        Access-Challenge with
  1081.                                                          Tunnel-Type,
  1082.                                                          Tunnel-Medium-Type,
  1083.                                                          Tunnel-Server-Endpoint,
  1084.                                                          EAP-Message (optional)
  1085.                                                        ELSE Send NAK
  1086.      IF NAK DISCONNECT
  1087.      ELSE
  1088.       IF no control
  1089.        connection exists
  1090.        Send
  1091.        Start-Control-Connection-Request
  1092.        to Tunnel Server
  1093.                                   Send
  1094.                                   Start-Control-Connection-Reply
  1095.                                   to NAS
  1096.       ENDIF
  1097.  
  1098.      Send
  1099.      Incoming-Call-Request
  1100.      message to Tunnel Server
  1101.                                   Send Incoming-Call-Reply
  1102.                                   to NAS
  1103.      Send
  1104.      Incoming-Call-Connected
  1105.      message to Tunnel Server
  1106.  
  1107.      Send data through the tunnel
  1108.                                   Re-negotiate LCP,
  1109.                                   authenticate user via EAP,
  1110.                                   bring up IPCP,
  1111.                                   start accounting
  1112.                                   Send RADIUS
  1113.  
  1114.  
  1115.  
  1116.      Aboba & Zorn                                                 [Page 17]
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.      INTERNET-DRAFT                                            26 July 1997
  1123.  
  1124.  
  1125.                                   Accounting-Request with
  1126.                                   Acct-Status-Type=Start
  1127.                                   (optional)
  1128.                                                        Send
  1129.                                                        RADIUS
  1130.                                                        Accounting-Response
  1131.      Send a RADIUS
  1132.      Accounting-Request message
  1133.      with Acct-Status-Type=Start
  1134.      containing
  1135.      Tunnel-Type, Tunnel-Medium-Type,
  1136.      Acct-Tunnel-Client-Endpoint,
  1137.      Tunnel-Server-Endpoint, and
  1138.      Acct-Tunnel-Connection-Id.
  1139.                                                        Send
  1140.                                                        RADIUS
  1141.                                                        Accounting-Response
  1142.  
  1143.      ENDIF
  1144.  
  1145.  
  1146.  
  1147.      9.  Dual authentication
  1148.  
  1149.  
  1150.  
  1151.      9.1.  Initiation sequence
  1152.  
  1153.      In the case of a dual authentication, a  typical  initiation  sequence
  1154.      looks like this:
  1155.  
  1156.           Client and NAS: PPP LCP negotiation
  1157.           Client and NAS: PPP authentication
  1158.           NAS to RADIUS Server: RADIUS Access-request
  1159.           RADIUS server to NAS: RADIUS Access-Accept/Access-Reject
  1160.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  1161.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  1162.           NAS to Tunnel Server: PPTP/L2TP  Incoming-Call-Connected
  1163.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  1164.           Client and Tunnel Server: PPP authentication
  1165.           Tunnel Server to RADIUS Server: RADIUS Access-request (optional)
  1166.           RADIUS server to Tunnel Server: RADIUS Access-Accept/Access-Reject
  1167.           Client and Tunnel Server: NCP negotiation
  1168.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  1169.           RADIUS Server to NAS: RADIUS Accounting-Response
  1170.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request
  1171.              with Acct-Status-Type=Start (Optional)
  1172.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  1173.  
  1174.      The  process  begins  with an incoming call to the NAS. The client and
  1175.      NAS then begin LCP negotiation. Subsequently  the  PPP  authentication
  1176.      phase starts, and the NAS sends a RADIUS Access-Request message to the
  1177.      RADIUS server. If the authentication is successful, the RADIUS  server
  1178.      responds  with  a  RADIUS Access-Accept. For users requiring mandatory
  1179.  
  1180.  
  1181.  
  1182.      Aboba & Zorn                                                 [Page 18]
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.      INTERNET-DRAFT                                            26 July 1997
  1189.  
  1190.  
  1191.      tunneling, the Access-Accept MUST contain the the Tunnel-Type, Tunnel-
  1192.      Medium-Type, and Tunnel-Server-Endpoint Attributes.
  1193.  
  1194.      In  the  case  where a PPTP/L2TP tunnel is indicated, the NAS will now
  1195.      bring up a control connection if none existed before, and the NAS  and
  1196.      tunnel server will bring up the call. At this point, data MAY begin to
  1197.      flow through the tunnel. The client and tunnel server MAY now  renego-
  1198.      tiate  LCP  and go through another round of PPP authentication. At the
  1199.      time that this renegotiation begins, the NAS SHOULD NOT have  sent  an
  1200.      LCP  CONFACK  completing  LCP negotiation, and the client and NAS MUST
  1201.      NOT have begun NCP negotiation. Rather than sending  an  LCP  CONFACK,
  1202.      the  NAS  will  instead  send an LCP DOWN message. The Client MAY then
  1203.      renegotiate LCP, and from that point forward, all PPP  packets  origi-
  1204.      nated  from  the  client  will  be encapsulated and sent to the tunnel
  1205.      server.  When LCP re-negotiation has been  concluded,  the  NCP  phase
  1206.      will  begin,  and  the  tunnel  server  will  assign an address to the
  1207.      client.
  1208.  
  1209.      If L2TP is being used as the tunnel protocol, the NAS MAY in its  ini-
  1210.      tial  setup  notification  include  a copy of the LCP CONFACKs sent in
  1211.      each direction which completed LCP negotiation. The tunnel server  MAY
  1212.      then use this information to avoid an additional LCP negotiation. With
  1213.      L2TP, the initial setup notification can also include the  authentica-
  1214.      tion  information  required to allow the tunnel server to authenticate
  1215.      the user and decide to accept or decline the connection. However, this
  1216.      facility  creates  a  vulnerability  to replay attacks, and can create
  1217.      problems in the case where the  NAS  and  tunnel  server  authenticate
  1218.      against  different  RADIUS servers. As a result, where user-based tun-
  1219.      neling via  RADIUS  is  implemented,  L2TP  authentication  forwarding
  1220.      SHOULD NOT be employed.
  1221.  
  1222.      In performing the PPP authentication, the tunnel server can access its
  1223.      own user database, or it MAY send a RADIUS Access-Request.  After  the
  1224.      tunnel  has  been  brought  up,  the  NAS  and tunnel server MAY start
  1225.      accounting.
  1226.  
  1227.      The interactions involved in initiation of a  compulsory  tunnel  with
  1228.      dual authentication are summarized below.
  1229.  
  1230.  
  1231.                                     INITIATION SEQUENCE
  1232.  
  1233.      NAS                            Tunnel Server       RADIUS Server
  1234.      ---                            -------------       -------------
  1235.      Call accepted
  1236.      LCP starts
  1237.      PPP authentication
  1238.       phase starts
  1239.      Send RADIUS
  1240.       Access-Request
  1241.       with username and
  1242.       authentication data
  1243.                                                         IF authentication
  1244.                                                         succeeds
  1245.  
  1246.  
  1247.  
  1248.      Aboba & Zorn                                                 [Page 19]
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.      INTERNET-DRAFT                                            26 July 1997
  1255.  
  1256.  
  1257.                                                          Send ACK with
  1258.                                                          Tunnel-Type,
  1259.                                                          Tunnel-Medium-Type,
  1260.                                                          Tunnel-Server-Endpoint,
  1261.                                                         ELSE Send NAK
  1262.      IF NAK DISCONNECT
  1263.      ELSE
  1264.       IF no control
  1265.        connection exists
  1266.        Send
  1267.        Start-Control-Connection-Request
  1268.        to Tunnel Server
  1269.                                   Send
  1270.                                   Start-Control-Connection-Reply
  1271.                                   to NAS
  1272.       ENDIF
  1273.  
  1274.      Send
  1275.      Incoming-Call-Request
  1276.      message to Tunnel Server
  1277.                                   Send Incoming-Call-Reply
  1278.                                   to NAS
  1279.      Send
  1280.      Incoming-Call-Connected
  1281.      message to Tunnel Server
  1282.  
  1283.      Send data through the tunnel
  1284.                                   Re-negotiate LCP,
  1285.                                   authenticate user,
  1286.                                   bring up IPCP,
  1287.                                   start accounting
  1288.                                   Send RADIUS
  1289.                                   Accounting-Request with
  1290.                                   Acct-Status-Type=Start
  1291.                                   (optional)
  1292.                                                        Send
  1293.                                                        RADIUS
  1294.                                                        Accounting-Response
  1295.      Send a RADIUS
  1296.      Accounting-Request message
  1297.      with Acct-Status-Type=Start
  1298.      containing
  1299.      Tunnel-Type, Tunnel-Medium-Type,
  1300.      Acct-Tunnel-Client-Endpoint,
  1301.      Tunnel-Server-Endpoint, and
  1302.      Acct-Tunnel-Connection-Id.
  1303.                                                        Send
  1304.                                                        RADIUS
  1305.                                                        Accounting-Response
  1306.  
  1307.      ENDIF
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.      Aboba & Zorn                                                 [Page 20]
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.      INTERNET-DRAFT                                            26 July 1997
  1321.  
  1322.  
  1323.      9.2.  EAP support
  1324.  
  1325.      It  is  expected  that  the  Extensible  Authentication Protocol (EAP)
  1326.      described in [13] will frequently be  used  along  with  tunneling  in
  1327.      order  to  provide additional security. EAP authentication may be used
  1328.      in the initial NAS authentication, in the  tunnel  authentication,  or
  1329.      both,  with  support  of  EAP within RADIUS described in [11].  In the
  1330.      case where EAP authentication is  carried  out  between  the  NAS  and
  1331.      client, the initiation sequence will look like this:
  1332.  
  1333.           Client and NAS: PPP LCP negotiation
  1334.           Client and NAS: EAP Authentication
  1335.           NAS to RADIUS Server: RADIUS Access-Request/EAP-start
  1336.           RADIUS server to NAS: RADIUS Access-Challenge/EAP-Message
  1337.           NAS to Client: EAP-Request
  1338.           Client to NAS: EAP-Response
  1339.           NAS to RADIUS Server: RADIUS Access-Request/EAP-Message
  1340.           RADIUS server to NAS: RADIUS Access-Accept/EAP-Message/EAP-Success
  1341.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  1342.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  1343.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Connected
  1344.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  1345.           Client and Tunnel Server: PPP authentication
  1346.           Tunnel Server to RADIUS Server: RADIUS Access-request (optional)
  1347.           RADIUS server to Tunnel Server: RADIUS Access-Accept/Access-Reject
  1348.           Client and Tunnel Server: NCP negotiation
  1349.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  1350.           RADIUS Server to NAS: RADIUS Accounting-Response
  1351.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request
  1352.              With Acct-Status-Type=Start(Optional)
  1353.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  1354.  
  1355.      In the case where EAP authentication is carried out between the client
  1356.      and tunnel server, the initiation sequence will look like this:
  1357.  
  1358.           Client and NAS: PPP LCP negotiation
  1359.           Client and NAS: PPP authentication
  1360.           NAS to RADIUS Server: RADIUS Access-request
  1361.           RADIUS server to NAS: RADIUS Access-Accept
  1362.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  1363.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  1364.           NAS to Tunnel Server: PPTP/L2TP  Incoming-Call-Connected
  1365.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  1366.           Client and Tunnel Server: EAP authentication
  1367.           Tunnel Server to RADIUS Server: RADIUS Access-Request/EAP-start
  1368.           RADIUS server to Tunnel Server: RADIUS Access-Challenge/EAP-Message
  1369.           Tunnel Server to Client: EAP-Request
  1370.           Client to Tunnel Server: EAP-Response
  1371.           Tunnel Server to RADIUS Server: RADIUS Access-Request/EAP-Message
  1372.           RADIUS server to Tunnel Server: RADIUS Access-Accept/EAP-Message/EAP-Success
  1373.           Client and Tunnel Server: NCP negotiation
  1374.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Start
  1375.           RADIUS Server to NAS: RADIUS Accounting-Response
  1376.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request with
  1377.  
  1378.  
  1379.  
  1380.      Aboba & Zorn                                                 [Page 21]
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.      INTERNET-DRAFT                                            26 July 1997
  1387.  
  1388.  
  1389.              Acct-Status-Type=Start (Optional)
  1390.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  1391.  
  1392.      For the negotiations described above to succeed, the  client  must  be
  1393.      capable  of  renegotiating EAP with the tunnel server after an initial
  1394.      authentication with the NAS.
  1395.  
  1396.  
  1397.      10.  Termination sequence
  1398.  
  1399.      The tear down of a compulsory tunnel involves an  interaction  between
  1400.      the  client,  NAS,  Tunnel  Server, and RADIUS Accounting server. This
  1401.      interaction is virtually identical regardless  of  whether  telephone-
  1402.      number  based authentication, single authentication, or dual authenti-
  1403.      cation is being used. In any of the cases, the following events occur:
  1404.  
  1405.           Tunnel Server to NAS: PPTP/L2TP Call-Clear-Request (optional)
  1406.           NAS to Tunnel Server: PPTP/L2TP Call-Disconnect-Notify
  1407.           NAS to RADIUS Server: RADIUS Accounting-Request with Acct-Status-Type=Stop
  1408.           RADIUS Server to NAS: RADIUS Accounting-Response
  1409.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request
  1410.              with Acct-Status-Type=Stop(Optional)
  1411.           RADIUS Server to Tunnel Server: RADIUS Accounting-Response
  1412.  
  1413.      Tunnel  termination  can  occur  due to a client request (PPP termina-
  1414.      tion), a tunnel server request (Call-Clear-Request), or a line problem
  1415.      (call disconnect).
  1416.  
  1417.      In  the case of a client-requested termination, the tunnel server MUST
  1418.      terminate the PPP session. The tunnel server MUST subsequently send  a
  1419.      Call-Clear-Request  to  the NAS. The NAS MUST then send a Call-Discon-
  1420.      nect-Notify message to the tunnel  server,  and  will  disconnect  the
  1421.      call.
  1422.  
  1423.      The  NAS  MUST  also respond with a Call-Disconnect-Notify message and
  1424.      disconnection if it receives  a  Call-Clear-Request  from  the  tunnel
  1425.      server without a client-requested termination.
  1426.  
  1427.      In  the  case  of  a  line problem or user hangup, the NAS MUST send a
  1428.      Call-Disconnect-Notify to the tunnel server. Both sides will then tear
  1429.      down the  call.
  1430.  
  1431.      After  call  tear down is complete, if RADIUS accounting is being used
  1432.      then the NAS MUST send a RADIUS Accounting-Request  with  Acct-Status-
  1433.      Type=Stop  packet  to  a  RADIUS  accounting  server.  The Accounting-
  1434.      Request packet MUST include  the  following  attributes:  Tunnel-Type,
  1435.      Tunnel-Medium-Type,   Acct-Tunnel-Client-Endpoint,  Tunnel-Server-End-
  1436.      point, and Acct-Tunnel-Connection-Id.
  1437.  
  1438.      The tunnel server MAY produce its own accounting records,  or  it  MAY
  1439.      use  RADIUS  accounting.  If  RADIUS accounting is being used then the
  1440.      tunnel server MUST send a RADIUS Accounting-Request with  Acct-Status-
  1441.      Type=Stop to a RADIUS accounting server. The Accounting-Request packet
  1442.      MUST contain the  following  attributes:  Tunnel-Type,  Tunnel-Medium-
  1443.  
  1444.  
  1445.  
  1446.      Aboba & Zorn                                                 [Page 22]
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.      INTERNET-DRAFT                                            26 July 1997
  1453.  
  1454.  
  1455.      Type,  Acct-Tunnel-Client-Endpoint,  Tunnel-Server-Endpoint, and Acct-
  1456.      Tunnel-Connection-Id.
  1457.  
  1458.      The interactions involved in termination of a  compulsory  tunnel  are
  1459.      summarized  below.  In  order to simplify the diagram that follows, we
  1460.      have left out the client. However, it is understood  that  the  client
  1461.      MAY participate via PPP termination and disconnection.
  1462.  
  1463.                                     TERMINATION SEQUENCE
  1464.  
  1465.      NAS                            Tunnel Server         RADIUS Server
  1466.      ---                            -------------         -------------
  1467.      IF user disconnected
  1468.       send
  1469.       Call-Disconnect-Notify
  1470.       message to tunnel server
  1471.                                     Tear down the call
  1472.                                     stop accounting
  1473.                                     Send RADIUS
  1474.                                     Accounting-Request with
  1475.                                     Acct-Status-Type=Stop
  1476.                                     (optional)
  1477.                                                          Send RADIUS
  1478.                                                          Accounting-Response
  1479.      ELSE IF client requests
  1480.       termination
  1481.                                     send
  1482.                                     Call-Clear-Request
  1483.                                     to the NAS
  1484.       Send
  1485.       Call-Disconnect-Notify
  1486.       message to tunnel server
  1487.       Disconnect the user
  1488.                                     Tear down the call
  1489.                                     stop accounting
  1490.                                     Send RADIUS
  1491.                                     Accounting-Request with
  1492.                                     Acct-Status-Type=Stop
  1493.                                     (optional)
  1494.                                                          Send RADIUS
  1495.                                                          Accounting-Response
  1496.  
  1497.       Send a RADIUS
  1498.       Accounting-Request message
  1499.       with Acct-Status-Type=Stop
  1500.       containing
  1501.       Tunnel-Type, Tunnel-Medium-Type,
  1502.       Acct-Tunnel-Client-Endpoint,
  1503.       Tunnel-Server-Endpoint, and
  1504.       Acct-Tunnel-Connection-Id.
  1505.                                                          Send RADIUS
  1506.                                                          Accounting-Response
  1507.  
  1508.      ENDIF
  1509.  
  1510.  
  1511.  
  1512.      Aboba & Zorn                                                 [Page 23]
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.      INTERNET-DRAFT                                            26 July 1997
  1519.  
  1520.  
  1521.      11.  Use of distinct RADIUS servers
  1522.  
  1523.      In  the  case  that  the  NAS and the tunnel server are using distinct
  1524.      RADIUS servers, some interesting cases can arise in  the  provisioning
  1525.      of compulsory tunnels.
  1526.  
  1527.  
  1528.      11.1.  Distinct userIDs
  1529.  
  1530.      If  distinct RADIUS servers are being used, it is likely that distinct
  1531.      userID/password pairs will be required to complete the RADIUS and tun-
  1532.      nel  authentications. One pair will be used in the initial PPP authen-
  1533.      tication with the NAS, and the second pair will be used for the tunnel
  1534.      authentication.
  1535.  
  1536.      However, in order to provide maximum ease of use in the case where the
  1537.      userID/password pairs are identical, tunnel clients typically  attempt
  1538.      authentication  with  the same userID/password pair as was used in the
  1539.      initial PPP negotiation. Only after this fails do they prompt the user
  1540.      for the second pair.
  1541.  
  1542.      In  this  case,  tunnel client implementations SHOULD take care not to
  1543.      put up error messages indicating a  bad  password.  Instead  a  dialog
  1544.      SHOULD be presented requesting the tunnel userID/password combination.
  1545.  
  1546.      In the case where smart cards are being used for both authentications,
  1547.      the  tunnel  client  MUST NOT attempt to present the token used in the
  1548.      first authentication during the  second  authentication,  since  these
  1549.      will  never be identical. Instead the user SHOULD be prompted to enter
  1550.      the second token.
  1551.  
  1552.      The same issue arises in L2TP if the NAS attempts to forward authenti-
  1553.      cation information to the tunnel server in the initial setup notifica-
  1554.      tion. Since the userID/password pair used for tunnel authentication is
  1555.      different  from  that used to authenticate against the NAS, forwarding
  1556.      authentication information  in  this  manner  will  cause  the  tunnel
  1557.      authentication  to  fail.  As a result, where user-based tunneling via
  1558.      RADIUS is implemented, L2TP authentication forwarding  SHOULD  NOT  be
  1559.      employed.
  1560.  
  1561.  
  1562.      11.2.  Multilink PPP issues
  1563.  
  1564.      It  is  possible  for the two RADIUS servers to return different Port-
  1565.      Limit attributes. For example, it is conceivable that the  NAS  RADIUS
  1566.      server  will  only  grant  use  of  a single channel, while the tunnel
  1567.      RADIUS server will grant more than one channel. In this case, the cor-
  1568.      rect behavior is for the tunnel client to open a connection to another
  1569.      NAS in order to bring up a multilink bundle on the tunnel server.  The
  1570.      client MUST NOT indicate to the NAS that this additional link is being
  1571.      brought up as part of a multilink bundle; this will only be  indicated
  1572.      in the subsequent negotiation with the tunnel server.
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.      Aboba & Zorn                                                 [Page 24]
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.      INTERNET-DRAFT                                            26 July 1997
  1585.  
  1586.  
  1587.      It  is  also  conceivable  that  the  NAS RADIUS server will allow the
  1588.      client to bring up multiple  channels,  but  that  the  tunnel  RADIUS
  1589.      server  will  allow fewer channels than the NAS RADIUS server. In this
  1590.      case, the client should terminate use of the excess channels.
  1591.  
  1592.  
  1593.      12.  UserID Issues
  1594.  
  1595.      In the provisioning of roaming and shared use  networks,  one  of  the
  1596.      requirements  is to be able to route the authentication request to the
  1597.      user's home RADIUS server. This authentication routing is accomplished
  1598.      based  on  the  userID submitted by the user to the NAS in the initial
  1599.      PPP authentication. The userID is subsequently relayed by the  NAS  to
  1600.      the  RADIUS  server  in the User-Name attribute, as part of the RADIUS
  1601.      Access-Request.
  1602.  
  1603.      Similarly, references [5] and [6] refer to use of the userID in deter-
  1604.      mining  the  tunnel  endpoint. However, since none of these references
  1605.      provide guidelines for how RADIUS or tunnel routing is  to  be  accom-
  1606.      plished, the possibility of conflicting interpretations exists.
  1607.  
  1608.  
  1609.      12.1.  UserID convergence in user-based tunneling
  1610.  
  1611.      The use of RADIUS in provisioning of compulsory tunneling relieves the
  1612.      userID from having to do double duty. Rather than being used both  for
  1613.      routing of the RADIUS authentication/authorization request as well for
  1614.      determination of the tunnel endpoint, the userID is  now  used  solely
  1615.      for  routing of RADIUS authentication/authorization requests. The Tun-
  1616.      nel-Server-Endpoint attribute returned in the  RADIUS  Access-Response
  1617.      Is then used to determine the tunnel endpoint.
  1618.  
  1619.      Since  the  framework  described in this document allows both ISPs and
  1620.      tunnel users to authenticate users as well as to account for resources
  1621.      consumed  by  them,  and  provides  for  maintenance  of  two distinct
  1622.      userID/password pairs, this scheme provides a high degree of flexibil-
  1623.      ity.   Where RADIUS proxies and tunneling are employed, it is possible
  1624.      to allow the user to authenticate with a single  userID/password  pair
  1625.      at both the NAS and the tunnel endpoint. This is accomplished by rout-
  1626.      ing the NAS RADIUS Access-Request to the same RADIUS  server  used  by
  1627.      the tunnel server.
  1628.  
  1629.      As  described  in  [8],  the  recommended  form  for  the  user  ID is
  1630.      userID@realm, i.e. fred@bigco.com.
  1631.  
  1632.  
  1633.      13.  Acknowledgements
  1634.  
  1635.      Thanks to Gurdeep Singh Pall of Microsoft for many useful  discussions
  1636.      of  this  problem  space,  and  to Allan Rubens of Ascend and Bertrand
  1637.      Buclin of AT&T Labs Europe for his comments on this document.
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.      Aboba & Zorn                                                 [Page 25]
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.      INTERNET-DRAFT                                            26 July 1997
  1651.  
  1652.  
  1653.      14.  References
  1654.  
  1655.      [1]  B. Aboba, J. Lu, J. Alsop, J. Ding, W. Wang.  "Review of  Roaming
  1656.      Implementations."  Work in progress, draft-ietf-roamops-imprev-04.txt,
  1657.      Microsoft, Aimnet, i-Pass Alliance, Asiainfo, Merit, June, 1997.
  1658.  
  1659.      [2]  B. Aboba, G. Zorn.  "Dialup Roaming Requirements." Internet draft
  1660.      (work   in  progress),  draft-ietf-roamops-roamreq-05.txt,  Microsoft,
  1661.      July, 1997.
  1662.  
  1663.      [3]  C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote  Authenti-
  1664.      cation  Dial  In  User Service (RADIUS)." RFC 2138, Livingston, Merit,
  1665.      Daydreamer, April, 1997.
  1666.  
  1667.      [4]  C. Rigney.  "RADIUS Accounting."  RFC  2139,  Livingston,  April,
  1668.      1997.
  1669.  
  1670.      [5]  K.  Hamzeh, T. Kolar, M. Littlewood, G. S. Pall, J. Taarud, A. J.
  1671.      Valencia, W. Verthein.  "Layer Two Tunneling  Protocol  --  L2TP."  ."
  1672.      Internet  draft  (work  in  progress),  draft-ietf-pppext-l2tp-04.txt,
  1673.      Ascend  Communications,  Microsoft,  Copper  Mountain  Networks,  U.S.
  1674.      Robotics, June, 1997.
  1675.  
  1676.      [6]  K.  Hamzeh,  G.  S.  Pall,  J. Taarud, W. Verthein, W. A. Little.
  1677.      "Point-to-Point Tunneling Protocol -- PPTP." ." Internet  draft  (work
  1678.      in  progress),  draft-ietf-pppext-pptp-02.txt,  Ascend Communications,
  1679.      Microsoft, Copper Mountain Networks, U.S. Robotics, July, 1997.
  1680.  
  1681.      [7] G. Zorn.  "RADIUS Attributes for Tunnel Protocol Support."  Inter-
  1682.      net  draft  (work  in progress), draft-ietf-radius-tunnel-auth-02.txt,
  1683.      Microsoft, July, 1997.
  1684.  
  1685.      [8] B. Aboba, M. A. Beadles.  "The Network Access Identifier."  Inter-
  1686.      net   draft   (work   in   progress),   draft-ietf-roamops-nai-06.txt,
  1687.      Microsoft, CompuServe, July, 1997.
  1688.  
  1689.      [9] S. Bradner.  "Key words for use in RFCs  to  Indicate  Requirement
  1690.      Levels." RFC 2119, Harvard University, March, 1997.
  1691.  
  1692.      [10]  C.  Rigney, W. Willats.  "RADIUS Extensions."  Work in progress,
  1693.      draft-ietf-radius-ext-00.txt, Livingston, January, 1997.
  1694.  
  1695.      [11] P. Calhoun, A.C. Rubens, B.  Aboba.   "Extensible  Authentication
  1696.      Protocol Support in RADIUS." Internet draft (work in progress), draft-
  1697.      ietf-radius-eap-02.txt,  US  Robotics  Access  Corp.,  Merit  Network,
  1698.      Microsoft, May, 1997.
  1699.  
  1700.      [12]  M. Wahl, T. Howes, S. Kille.  "Lightweight Directory Access Pro-
  1701.      tocol (v3)." ." Internet draft (work  in  progress),  draft-ietf-asid-
  1702.      ldapv3-protocol-04.txt,  Critical Angle Inc., Netscape, Isode Limited,
  1703.      March, 1997.
  1704.  
  1705.      [13] L. J. Blunk, J. R. Vollbrecht.   "PPP  Extensible  Authentication
  1706.      Protocol  (EAP)."  ."  Internet  draft (work in progress), draft-ietf-
  1707.  
  1708.  
  1709.  
  1710.      Aboba & Zorn                                                 [Page 26]
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.      INTERNET-DRAFT                                            26 July 1997
  1717.  
  1718.  
  1719.      pppext-eap-auth-02.txt, Merit Network, Inc., June, 1996.
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.      15.  Authors' Addresses
  1726.  
  1727.      Bernard Aboba
  1728.      Microsoft Corporation
  1729.      One Microsoft Way
  1730.      Redmond, WA 98052
  1731.  
  1732.      Phone: 425-936-6605
  1733.      EMail: bernarda@microsoft.com
  1734.  
  1735.      Glen Zorn
  1736.      Microsoft Corporation
  1737.      One Microsoft Way
  1738.      Redmond, WA 98052
  1739.  
  1740.      Phone: 425-703-1559
  1741.      EMail: glennz@microsoft.com
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.      Aboba & Zorn                                                 [Page 27]
  1777.  
  1778.  
  1779.