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-01.txt < prev    next >
Text File  |  1997-03-10  |  48KB  |  1,123 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.      RADIUS Working Group                                     Bernard Aboba
  8.      INTERNET-DRAFT                                   Microsoft Corporation
  9.      <draft-ietf-radius-tunnel-imp-01.txt>                        Glen Zorn
  10.      7 March 1997                                     Microsoft Corporation
  11.  
  12.  
  13.                 Implementation of Mandatory Tunneling via RADIUS
  14.  
  15.  
  16.      1.  Status of this Memo
  17.  
  18.      This document is an Internet-Draft.  Internet-Drafts are working docu-
  19.      ments of the Internet Engineering Task Force (IETF),  its  areas,  and
  20.      its  working groups.  Note that other groups may also distribute work-
  21.      ing documents as Internet-Drafts.
  22.  
  23.      Internet-Drafts are draft documents valid for a maximum of six  months
  24.      and  may  be updated, replaced, or obsoleted by other documents at any
  25.      time.  It is inappropriate to use Internet-Drafts as  reference  mate-
  26.      rial or to cite them other than as ``work in progress.''
  27.  
  28.      To  learn  the  current status of any Internet-Draft, please check the
  29.      ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
  30.      Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
  31.      (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  32.  
  33.      The  distribution  of  this memo is unlimited.  It is filed as <draft-
  34.      ietf-radius-tunnel-imp-01.txt>  and   expires  September   15,   1997.
  35.      Please send comments to the authors.
  36.  
  37.  
  38.      2.  Abstract
  39.  
  40.      This  document  discusses  implementation issues arising in the provi-
  41.      sioning of mandatory tunneling in dial-up networks using the PPTP  and
  42.      L2TP  protocols.   This provisioning can be accomplished via the inte-
  43.      gration of RADIUS and tunneling protocols.
  44.  
  45.  
  46.      3.  Terminology
  47.  
  48.  
  49.      Roaming   "Roaming capability" can be loosely defined  as  the ability
  50.                to  use  any  one  of  multiple  Internet  service providers
  51.                (ISPs), while maintaining a formal,  customer-vendor   rela-
  52.                tionship  with  only one. Examples  of  cases  where roaming
  53.                capability might be required  include  ISP  "confederations"
  54.                and ISP-provided corporate network access support.
  55.  
  56.      Shared Use Network
  57.                This is an IP dialup network whose use is shared by  two  or
  58.                more organizations.  Shared use networks typically implement
  59.                distributed authentication and accounting in order to facil-
  60.                itate  the  relationship  among  the  sharing parties. Since
  61.  
  62.  
  63.  
  64.      Aboba & Zorn                                                  [Page 1]
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      INTERNET-DRAFT                                            7 March 1997
  71.  
  72.  
  73.                these facilities are also  required  for  implementation  of
  74.                roaming,  implementation of shared use is frequently a first
  75.                step  toward development of roaming  capabilities. In  fact,
  76.                one  of  the ways by which a provider can offer roaming ser-
  77.                vice is to conclude shared use agreements with multiple net-
  78.                works.  However,  to date the ability to accomplish this has
  79.                been hampered by lack of interoperability among  shared  use
  80.                implementations.
  81.  
  82.      Tunnel Network Server
  83.                This is a server which terminates a tunnel. In  PPTP  termi-
  84.                nology,  this  is known as the PPTP Network Server (PNS). In
  85.                L2TP terminology, this is known as the L2TP  Network  Server
  86.                (LNS).
  87.  
  88.      Network Access Server
  89.                The  Network  Access Server (NAS) is the device that clients
  90.                contact in order to get access to the network. In PPTP  ter-
  91.                minology this is referred to as the PPTP Access Concentrator
  92.                (PAC). In L2TP terminology, the NAS is referred  to  as  the
  93.                L2TP Access Concentrator (LAC).
  94.  
  95.      RADIUS server
  96.                This  is  a  server which provides for authentication/autho-
  97.                rization via the protocol described in [3], and for account-
  98.                ing as described in [4].
  99.  
  100.      RADIUS proxy
  101.                In order to provide for the routing of RADIUS authentication
  102.                and accounting requests, a RADIUS proxy can be employed.  To
  103.                the NAS, the RADIUS proxy appears to act as a RADIUS server,
  104.                and to the RADIUS server, the proxy  appears  to  act  as  a
  105.                RADIUS client.
  106.  
  107.      Network Access Identifier
  108.                In order to provide for the routing of RADIUS authentication
  109.                and accounting requests, the userID field used in PPP and in
  110.                the   subsequent   RADIUS   authentication   and  accounting
  111.                requests, known as the Network Access Identifier  (NAI)  MAY
  112.                contain  structure. This structure provides a means by which
  113.                the RADIUS proxy will locate the RADIUS server  that  is  to
  114.                receive the request. This same structure MAY also be used to
  115.                locate the tunnel endpoint when  domain-based  tunneling  is
  116.                used.
  117.  
  118.  
  119.      4.  Requirements language
  120.  
  121.      This specification uses the same words as [9] for defining the signif-
  122.      icance of each particular requirement.  These words are:
  123.  
  124.  
  125.      MUST      This word, or the adjectives "REQUIRED"  or  "SHALL",  means
  126.                that  the  definition  is  an  absolute  requirement  of the
  127.  
  128.  
  129.  
  130.      Aboba & Zorn                                                  [Page 2]
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      INTERNET-DRAFT                                            7 March 1997
  137.  
  138.  
  139.                specification.
  140.  
  141.      MUST NOT  This phrase, or the phrase "SHALL NOT", means that the defi-
  142.                nition is an absolute prohibition of the specification.
  143.  
  144.      SHOULD    This  word, or the adjective "RECOMMENDED", means that there
  145.                MAY exist  valid  reasons  in  particular  circumstances  to
  146.                ignore  a particular item, but the full implications must be
  147.                understood and carefully weighed before choosing a different
  148.                course.
  149.  
  150.      SHOULD NOT
  151.                This phrase means that there MAY exist valid reasons in par-
  152.                ticular  circumstances  when  the  particular  behavior   is
  153.                acceptable  or even useful, but the full implications should
  154.                be understood and the case carefully weighed  before  imple-
  155.                menting any behavior described with this label.
  156.  
  157.      MAY       This  word,  or the adjective "OPTIONAL", means that an item
  158.                is truly optional.  One vendor may  choose  to  include  the
  159.                item because a particular marketplace requires it or because
  160.                the vendor feels that it enhances the product while  another
  161.                vendor may omit the same item.  An implementation which does
  162.                not include a particular option MUST be prepared to interop-
  163.                erate  with  another  implementation  which does include the
  164.                option, though perhaps with reduced  functionality.  In  the
  165.                same  vein an implementation which does include a particular
  166.                option MUST be prepared to interoperate with another  imple-
  167.                mentation  which  does  not  include  the option.(except, of
  168.                course, for the feature the option provides)
  169.  
  170.      Silently Discard
  171.                The implementation discards  the  datagram  without  further
  172.                processing,  and  without indicating an error to the sender.
  173.                The implementation SHOULD provide the capability of  logging
  174.                the error, including the contents of the discarded datagram,
  175.                and SHOULD record the event in a statistics counter.
  176.  
  177.      An implementation is not compliant if it fails to satisfy one or  more
  178.      of  the MUST or MUST NOT requirements for the protocols it implements.
  179.      An implementation that satisfies all the MUST, MUST  NOT,  SHOULD  and
  180.      SHOULD  NOT requirements for its protocols is said to be "uncondition-
  181.      ally compliant"; one that satisfies all the MUST and MUST NOT require-
  182.      ments but not all the SHOULD or SHOULD NOT requirements for its proto-
  183.      cols is said to be "conditionally compliant."
  184.  
  185.  
  186.      5.  Introduction
  187.  
  188.      Many  of the most  interesting  applications  of  tunneling  protocols
  189.      involve  dial-up  network  access.  Some, such  as the provisioning of
  190.      secure access to corporate intranets via the Internet, are  character-
  191.      ized  by  voluntary tunneling: the tunnel is created at the request of
  192.      the user for a specific purpose. Other applications involve compulsory
  193.  
  194.  
  195.  
  196.      Aboba & Zorn                                                  [Page 3]
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      INTERNET-DRAFT                                            7 March 1997
  203.  
  204.  
  205.      tunneling:  the  tunnel  is  created automatically, without any action
  206.      from the user and more importantly,  without  allowing  the  user  any
  207.      choice in the  matter.
  208.  
  209.      Examples  of  applications  that might be implemented using compulsory
  210.      tunnels are Internet software upgrade servers,  software  registration
  211.      servers  and  banking services.  These are all services which, without
  212.      mandatory tunneling, would probably be provided using  dedicated  net-
  213.      works  or  at least dedicated network access servers (NAS), since they
  214.      are characterized by the need to limit user access to specific  hosts.
  215.  
  216.      Given   the  existence  of widespread support for mandatory tunneling,
  217.      however, these types of services could be accessed via  virtually  any
  218.      Internet  service provider (ISP).  The most popular means of authoriz-
  219.      ing dial-up network users today is through the RADIUS   protocol.  The
  220.      use  of RADIUS allows the dial-up users' authorization and authentica-
  221.      tion data to be maintained in a central location,  rather  than  being
  222.      subject to manual configuration.  It makes sense to use RADIUS to cen-
  223.      trally  administer  compulsory  tunneling,  since  RADIUS  is   widely
  224.      deployed  and  was  designed  to  carry this type of information.  New
  225.      RADIUS attributes are needed to carry the tunneling  information  from
  226.      the  RADIUS server to the NAS and to transfer accounting data from the
  227.      NAS to the RADIUS server; those attributes are defined in [7].
  228.  
  229.      This document focuses on implementation issues arising in  the  provi-
  230.      sioning  of  mandatory tunneling in dialup networks. The use of RADIUS
  231.      in provisioning of mandatory tunneling has several  advantages.  These
  232.      include:
  233.  
  234.      User-based tunneling
  235.      Auditing capabilities
  236.      Telephone-number based authentication and accounting
  237.  
  238.  
  239.      5.1.  User-based Tunneling
  240.  
  241.      Current  proposals  for routing of tunnel requests include static tun-
  242.      neling, where all users are automatically tunneled  to  a  given  end-
  243.      point,  and realm-based tunneling, where the tunnel endpoint is deter-
  244.      mined from the realm portion of the userID.  User-based  tunneling  as
  245.      provided by integration of RADIUS and tunnel protocols offers signifi-
  246.      cant advantages over both of these approaches.
  247.  
  248.      Static tunneling requires dedication of a NAS device to  the  purpose.
  249.      In the case of an ISP, this is undesirable because it requires them to
  250.      dedicate a NAS to tunneling service for a  given  corporate  customer,
  251.      rather than allowing them to use existing NASes deployed in the field.
  252.      As a result static tunneling is likely to be costly for deployment  of
  253.      a global service.
  254.  
  255.      Realm-based tunneling assumes that all users within a given realm wish
  256.      to be treated the same way. This limits a corporation's flexibility in
  257.      managing  the  account  rights  of their users. For example, BIGCO may
  258.      desire to provide Janet with an account that allows access to both the
  259.  
  260.  
  261.  
  262.      Aboba & Zorn                                                  [Page 4]
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      INTERNET-DRAFT                                            7 March 1997
  269.  
  270.  
  271.      Internet  and the intranet, with Janet's intranet access provided by a
  272.      tunnel server located in the engineering department. However BIGCO may
  273.      desire  to  provide  Fred with an account that provides only access to
  274.      the intranet, with Fred's intranet access provided by a tunnel network
  275.      server  located  in  the  sales department. Such a situation cannot be
  276.      accommodated with realm-based tunneling.
  277.  
  278.      On the other hand, user-based tunneling as enabled by  the  attributes
  279.      defined  in [7] provides BIGCO with the flexibility to administer tun-
  280.      neling behavior on a per-user basis. When  deployed  in  concert  with
  281.      roaming,  user-based tunneling offers corporations the ability to pro-
  282.      vide their users with access to the corporate  Intranet  on  a  global
  283.      basis.
  284.  
  285.      As  described  in [7], provisioning of mandatory tunneling requires no
  286.      new  RADIUS  messages,  and  implementation  of   three   new   RADIUS
  287.      attributes. During authentication, the new attributes allow the RADIUS
  288.      server to indicate the tunnel protocol (PPTP, L2F,  L2TP,  etc.),  the
  289.      tunnel  medium  (X.25,  ATM,  Frame  Relay, IP) and the address of the
  290.      remote tunnel endpoint. During accounting, the  new  attributes  allow
  291.      the  NAS  to  provide the RADIUS server with these same attributes, as
  292.      well as the tunnel client address and Connection Identifier.  Together
  293.      the  Connection  Identifier  and  tunnel client and endpoint addresses
  294.      uniquely identify the call, linking together the NAS and tunnel server
  295.      accounting records for a given call.
  296.  
  297.  
  298.      5.2.  Auditing Capabilities
  299.  
  300.      The  integration of RADIUS and tunnel protocols allows the ISP and the
  301.      corporation to synchronize their accounting activities  so  that  each
  302.      side  receives  a record of the user's resource consumption. This pro-
  303.      vides the corporation with the means to audit ISP bills. This capabil-
  304.      ity  is  particularly  important  when the user is taking advantage of
  305.      roaming capabilities in order to connect  to  the  corporate  intranet
  306.      from a remote location.
  307.  
  308.      As described in [7], auditing requires implementation of number of new
  309.      RADIUS attributes. These new attributes allow  the  RADIUS  server  to
  310.      provide  information  within  the  Accounting-Request packet that will
  311.      allow matching with the corresponding tunnel server Accounting-Request
  312.      packet.  This information includes the Connection-Identifier, the tun-
  313.      nel protocol (PPTP, L2F, L2TP, etc.), tunnel-media (X.25,  ATM,  Frame
  314.      Relay,  IP)  the address of the remote tunnel endpoint, and the tunnel
  315.      client address.
  316.  
  317.  
  318.      5.2.1.  Connection-Identifier
  319.  
  320.      In L2TP the Call-Serial-Number is used as the  Connection  Identifier,
  321.      and  the tuple (userID, tunnel-client-endpoint address, tunnel-server-
  322.      endpoint address, Call-Serial-Number) is used to uniquely identify the
  323.      call. In order to protect against wrapping due to reboots or call vol-
  324.      ume, it is recommended that a 64-bit NTP  timestamp  be  used  as  the
  325.  
  326.  
  327.  
  328.      Aboba & Zorn                                                  [Page 5]
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      INTERNET-DRAFT                                            7 March 1997
  335.  
  336.  
  337.      Call-Serial Number.
  338.  
  339.      While the PPTP specification states that the Call-Serial-Number SHOULD
  340.      be unique, it does not mandate this. In addition, no method for deter-
  341.      mining the Call-Serial-Number is specified, which leaves open the pos-
  342.      sibility of wrapping after a reboot. Finally  since  the  Call-Serial-
  343.      Number  is a 16-bit value, the Call-Serial-Number is not sufficient to
  344.      distinguish a given call from all other calls over  an  extended  time
  345.      period.  For  example,  let  us  assume that the Call Serial Number is
  346.      assigned monotonically, and that the NAS in question has 96 ports.  If
  347.      the  NAS ports are kept continually busy and the average call is of 20
  348.      minutes duration,  then  the  Call  Serial  Number  will  wrap  within
  349.      65536/(96 * 3 calls/hour * 24 hours/day) = 9.48 days.
  350.  
  351.      In  order  to  rectify this, it is recommended that another message be
  352.      added to PPTP so that the NAS could provide the tunnel server  with  a
  353.      unique  Connection  Identifier.  It  is  recommended that a 64-bit NTP
  354.      timestamp be used for this purpose. This is not an issue in L2TP since
  355.      the Call-Serial-Number string MAY be of variable length.
  356.  
  357.  
  358.      5.3.  Telephone-number based authentication and accounting
  359.  
  360.      Using  the Calling-Station-ID and Called-Station-ID RADIUS attributes,
  361.      authorization and subsequent tunnel attributes can  be  based  on  the
  362.      phone  number  originating  the call, or the number being called. This
  363.      allows the RADIUS server to authorize users based on the calling phone
  364.      number  (with  or without a userID/password combination), or to select
  365.      the tunnel type, tunnel medium, or tunnel endpoint  address  based  on
  366.      the  calling  or called phone number. Similarly, the tunnel server MAY
  367.      choose to reject or accept the call based on  the  Dialed  Number  and
  368.      Dialing  Number  included  in the Incoming-Call-Request packet sent by
  369.      the NAS.
  370.  
  371.      The use of RADIUS accounting by  the  NAS  and/or  the  tunnel  server
  372.      allows  for  accounting  to take place based on the Calling-Station-ID
  373.      and/or Called-Station-ID.
  374.  
  375.  
  376.      6.  Alternatives for implementation of mandatory tunneling
  377.  
  378.      There are several alternatives for integration of RADIUS  and  tunnel-
  379.      ing:
  380.  
  381.           Authenticate at the NAS
  382.           Authenticate at the NAS, and forward the RADIUS reply
  383.           Authenticate at the tunnel network server
  384.           Authenticate at both the NAS and the tunnel network server
  385.  
  386.      We discuss each of these alternatives in turn.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.      Aboba & Zorn                                                  [Page 6]
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      INTERNET-DRAFT                                            7 March 1997
  401.  
  402.  
  403.      6.1.  Authenticate at the NAS
  404.  
  405.      With  this  approach, authentication and authorization (including tun-
  406.      neling information) occurs once, at the NAS. The  advantages  of  this
  407.      approach  are  that  it  disallows network access for unauthorized NAS
  408.      users; and allows RADIUS accounting to be used at the  NAS.  Disadvan-
  409.      tages  are  that  it requires that the tunnel network server trust the
  410.      NAS, since no user authentication occurs on the tunnel network  server
  411.      end  of  the  tunnel. Another disadvantage is that this does not allow
  412.      LCP parameters to be re-negotiated by the tunnel network server. Also,
  413.      due  to  the lack of user authentication, accounting cannot take place
  414.      at the tunnel network server with strong assurance  that  the  correct
  415.      party is being billed.
  416.  
  417.      6.2.  Authenticate at the NAS, and forward the RADIUS reply
  418.  
  419.      With  this  approach, authentication and authorization occurs once, at
  420.      the NAS end of the tunnel and the RADIUS reply  is  forwarded  to  the
  421.      tunnel  network  server.  This  approach  disallows network access for
  422.      unauthorized NAS users; does not require trust  between  the  NAS  and
  423.      tunnel  network  server  ends  of  the  tunnel;  and allows for RADIUS
  424.      accounting to be used at both ends of the  tunnel.  However,  it  also
  425.      requires  that both ends share the same secret with the RADIUS server,
  426.      since that's the only way that the tunnel network server  could  check
  427.      the  RADIUS  reply. Also, the tunnel network server MUST share secrets
  428.      with all the NASes and associated RADIUS servers. Other  disadvantages
  429.      include  lack of provision for LCP renegotiation by the tunnel network
  430.      server; and the tunnel network server MUST know how to handle and ver-
  431.      ify RADIUS Access-Accept messages.
  432.  
  433.      While  this  scheme can be workable if the reply comes directly from a
  434.      RADIUS server, it would become  unmanageable  if  a  RADIUS  proxy  is
  435.      involved,  since  the  reply  would  be authenticated using the secret
  436.      shared by the client and proxy, rather than the RADIUS server.
  437.  
  438.      6.3.  Authenticate at the tunnel network server
  439.  
  440.      In this scheme, authentication and authorization occurs  once  at  the
  441.      tunnel  network  server. This requires that the NAS determine that the
  442.      user needs to be tunneled (through a RADIUS request, manual configura-
  443.      tion, etc.). Since the RADIUS specification [3] requires that either a
  444.      CHAP or PAP password be present  in  an  Access-Request  message,  but
  445.      doesn't  require  that  it be non-empty, this scheme probably requires
  446.      either attribute-specific processing on the RADIUS server, or addition
  447.      of a new "Authorize-Only" RADIUS message.
  448.  
  449.      In attribute-specific processing an attribute is used to signal tunnel
  450.      initiation. For example, tunnel attributes can be sent back if the PAP
  451.      password  is  empty  (or  "tunnel"  or  "L2TP"). Alternatively, a user
  452.      could prefix his NAI with some special character ('*') if he wanted to
  453.      be tunneled. This particular solution does not support compulsory tun-
  454.      neling. Another solution involves keying on the domain portion of  the
  455.      NAI;  all  users in domain 'X' would be tunneled to address 'Y'.  This
  456.      proposal supports compulsory tunneling, but does not provide for user-
  457.  
  458.  
  459.  
  460.      Aboba & Zorn                                                  [Page 7]
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      INTERNET-DRAFT                                            7 March 1997
  467.  
  468.  
  469.      based tunneling.
  470.  
  471.      An  Authorize-Only  message  would not include a CHAP or PAP password;
  472.      nevertheless, in response the RADIUS server would return the attribute
  473.      list. In order to prevent password guessing attacks, an Authorize-Only
  474.      message would need to be authenticated via the RADIUS  shared  secret.
  475.      This  could  be  accomplished via the Signature attribute described in
  476.      [10].
  477.  
  478.      Note that when either attribute-specific processing or  authorization-
  479.      only  messages are used, the tunnel network server would need to rene-
  480.      gotiate LCP. Note also that in order for the NAS to  start  accounting
  481.      on  the  connection,  it would need to use the identity claimed by the
  482.      user in authenticating to the tunnel network server, since it did  not
  483.      verify  the  identity  via RADIUS. However, in order for that to be of
  484.      any use in accounting, the tunnel endpoint needs to  have  an  account
  485.      relationship  with  the  NAS owner. Thus even if a user has an account
  486.      with the NAS owner, they cannot use this account for tunneling  unless
  487.      the  tunnel  endpoint  also  has  a business relationship with the NAS
  488.      owner. Without putting in place a public key infrastructure, it is not
  489.      clear  how  the  NAS  would  be able to verify the existence of such a
  490.      business relationship in a scalable manner. Thus this approach  nulli-
  491.      fies many of the benefits of roaming.
  492.  
  493.      6.4.  Authenticate at both the NAS and the tunnel network server
  494.  
  495.      In  this  scheme, authentication occurs both at the NAS and the tunnel
  496.      network server. This requires the dial-up  PPP  peer  to  handle  dual
  497.      authentications, with attendant LCP re-negotiations. In order to allow
  498.      the NAS and tunnel network server to  authenticate  against  the  same
  499.      database, this requires RADIUS client capability on the tunnel network
  500.      server, and possibly a RADIUS proxy on the NAS end.
  501.  
  502.      Advantages of this scheme are that it allows secure authentication and
  503.      accounting  at  both  ends  of  the tunnel; allows the use of a single
  504.      userID/password pair via implementation of RADIUS on the  tunnel  net-
  505.      work  server;  and  does  not require attribute-specific processing or
  506.      addition of an Authorize-Only  message  on  the  RADIUS  server.  This
  507.      scheme  allows  for accounting records to be generated on both the NAS
  508.      and tunnel server ends allowing for auditing. Also, in contrast to the
  509.      previous  scheme, the tunnel endpoint does not need to have an account
  510.      relationship with the NAS owner. Thus this scheme is  compatible  with
  511.      roaming.  Disadvantages  are  that  unless LCP forwarding is used, LCP
  512.      will need to  be  renegotiated,  and  that  dual  authentications  are
  513.      required.
  514.  
  515.      Considering  all  the  advantages  and  disadvantages  of  the various
  516.      schemes, we believe that this scheme is the  best  choice,  and  as  a
  517.      result,  the  rest of this document focuses on the dual authentication
  518.      scheme.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.      Aboba & Zorn                                                  [Page 8]
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      INTERNET-DRAFT                                            7 March 1997
  533.  
  534.  
  535.      7.  Initiation Sequence
  536.  
  537.      The provisioning of a mandatory tunnel involves an interaction between
  538.      the  client,  NAS,  Tunnel  Server,  and  RADIUS server. The following
  539.      events occur in initiation of the connection:
  540.  
  541.           Client and NAS: PPP LCP negotiation
  542.           Client and NAS: PPP authentication
  543.           NAS to RADIUS Server: RADIUS Access-request
  544.           RADIUS server to NAS: RADIUS Access-reply/Access-Reject
  545.           NAS to Tunnel Server: PPTP/L2TP Incoming-Call-Request
  546.           Tunnel Server to NAS: PPTP/L2TP Incoming-Call-Reply
  547.           NAS to Tunnel Server: PPTP/L2TP  Incoming-Call-Connected
  548.           Client and Tunnel Server: PPP LCP re-negotiation (optional)
  549.           Client and Tunnel Server: PPP authentication
  550.           Tunnel Server to RADIUS Server: RADIUS Access-request (optional)
  551.           RADIUS server to Tunnel Server: RADIUS Access-reply/Access-Reject
  552.           Client and Tunnel Server: NCP negotiation
  553.           NAS to RADIUS Server: RADIUS Accounting-Request/START
  554.           RADIUS Server to NAS: RADIUS Accounting-Reply
  555.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request/START (Optional)
  556.           RADIUS Server to Tunnel Server: RADIUS Accounting-Reply
  557.  
  558.      The process begins with an incoming call to the NAS.  The  client  and
  559.      NAS  then  begin  LCP negotiation. Subsequently the PPP authentication
  560.      phase starts, and the NAS sends a RADIUS Access-Request message to the
  561.      RADIUS  server. If the authentication is successful, the RADIUS server
  562.      responds with a RADIUS Access-Accept including the  Tunnel-Type  (L2F,
  563.      PPTP,  L2TP,  etc.),  Tunnel-Medium-Type (X.25, ATM, Frame Relay, IP),
  564.      and Tunnel-Server-Endpoint attributes.
  565.  
  566.      RADIUS proxies MAY be used to forward the  Access-Reply  message  from
  567.      the  RADIUS  server  to the NAS. In order to ensure that the mandatory
  568.      tunnel attributes arrive without modification, RADIUS proxies  present
  569.      in the path MUST NOT modify these attributes. If the tunnel attributes
  570.      received from the RADIUS server are not acceptable to the proxy,  then
  571.      the proxy MUST send an Access-Reject to the NAS.
  572.  
  573.      Since  this  is a mandatory tunnel, address assignment will be handled
  574.      by the tunnel server rather than the  NAS.  As  a  result,  if  tunnel
  575.      attributes  are  present,  the  NAS MUST ignore any address assignment
  576.      attributes sent by the RADIUS server. In addition, the NAS and  client
  577.      MUST  NOT begin NCP negotiation, since this could create a time window
  578.      in which the client will be capable of sending packets to  the  trans-
  579.      port  network,  which  is not permitted under mandatory tunneling.  If
  580.      the authentication is unsuccessful, the RADIUS server sends  a  RADIUS
  581.      Access-Reject. In this case, the NAS MUST disconnect the user.
  582.  
  583.      The NAS will now bring up a control connection to the tunnel server if
  584.      none existed before. This  is  accomplished  by  sending  a  PPTP/L2TP
  585.      Start-Control-Connection-Request  message  to  the tunnel server.  The
  586.      tunnel server replies with a PPTP/L2TP Start-Control-Connection-Reply.
  587.      If  this  message  indicates an error, or if the control connection is
  588.      terminated at any future time, then the NAS MUST disconnect the  user.
  589.  
  590.  
  591.  
  592.      Aboba & Zorn                                                  [Page 9]
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      INTERNET-DRAFT                                            7 March 1997
  599.  
  600.  
  601.      The  NAS  will  then proceed to send a PPTP/L2TP Incoming-Call-Request
  602.      message to the tunnel server. Among other things,  this  message  will
  603.      contain  the  Call Serial Number, which along with the IP addresses of
  604.      the NAS and tunnel server, is used to uniquely identify the call.  The
  605.      tunnel server will reply with a PPTP/L2TP Incoming-Call-Reply message.
  606.      If this message indicates an error, then the NAS MUST  disconnect  the
  607.      user. The NAS then replies with an Incoming-Call-Connected message.
  608.  
  609.      At  this  point, data MAY begin to flow through the tunnel. The client
  610.      and tunnel server MAY now renegotiate LCP and go through another round
  611.      of PPP authentication. At the time that this renegotiation begins, the
  612.      NAS SHOULD NOT have sent the final packet confirming  the  success  of
  613.      the initial authentication, and the client and NAS MUST NOT have begun
  614.      NCP negotiation. Rather than sending the  final  confirmation  packet,
  615.      the  NAS  will  instead  send an LCP down message. The Client MAY then
  616.      renegotiate LCP, and from that point forward, all PPP  packets  origi-
  617.      nated  from  the  client  will  be encapsulated and sent to the tunnel
  618.      server.  When LCP re-negotiation has been  concluded,  the  NCP  phase
  619.      will  begin,  and  the  tunnel  server  will  assign an address to the
  620.      client.
  621.  
  622.      If L2TP is being used as the tunnel protocol, the NAS MAY in its  ini-
  623.      tial  setup  notification  include  a copy of the LCP CONFACKs sent in
  624.      each direction which completed LCP negotiation. The tunnel server  MAY
  625.      then use this information to avoid an additional LCP negotiation. With
  626.      L2TP, the initial setup notification can also include the  authentica-
  627.      tion  information  required to allow the tunnel server to authenticate
  628.      the user and decide to accept or decline the connection. However, this
  629.      facility  creates  a  vulnerability  to replay attacks, and can create
  630.      problems in the case where the  NAS  and  tunnel  server  authenticate
  631.      against  different  RADIUS servers. As a result, where user-based tun-
  632.      neling via  RADIUS  is  implemented,  L2TP  authentication  forwarding
  633.      SHOULD NOT be employed.
  634.  
  635.      In performing the PPP authentication, the tunnel server can access its
  636.      own user database, or it MAY send a RADIUS Access-Request. The  latter
  637.      approach  is  useful  in  cases  where  authentication  forwarding  is
  638.      enabled, such as with roaming or shared use networks.  In  this  case,
  639.      the  RADIUS  and  tunnel servers are under the same administration and
  640.      are typically located close together, possibly on the same LAN. There-
  641.      fore having the tunnel server act as a RADIUS client provides for uni-
  642.      fied user administration. Other methods are also  available,  such  as
  643.      use  of LDAP by both the tunnel and RADIUS servers. Note that the tun-
  644.      nel server's RADIUS Access-Request is typically sent directly  to  the
  645.      local RADIUS server rather than being forwarded via proxy.
  646.  
  647.      After  the  tunnel  has been brought up, the NAS and tunnel server MAY
  648.      start accounting. In the case of the NAS, this is done  by  sending  a
  649.      RADIUS  Accounting-Request/START  packet  to  the  RADIUS  server. The
  650.      Accounting-Request packet MUST include the following attributes:  Tun-
  651.      nel-Type,  Tunnel-Medium-Type,  Tunnel-Client-Endpoint, Tunnel-Server-
  652.      Endpoint, and Connection-Identifier.
  653.  
  654.  
  655.  
  656.  
  657.  
  658.      Aboba & Zorn                                                 [Page 10]
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      INTERNET-DRAFT                                            7 March 1997
  665.  
  666.  
  667.      The tunnel server can produce its own accounting records,  or  it  MAY
  668.      send  a  RADIUS  Accounting-Request/START  packet  to  a  local RADIUS
  669.      server. In the latter case, the RADIUS Accounting-Request/START packet
  670.      MUST  contain  the  following  attributes: Tunnel-Type, Tunnel-Medium-
  671.      Type, Tunnel-Client-Endpoint, Tunnel-Server-Endpoint, and  Connection-
  672.      Identifier.
  673.  
  674.      The interactions involved in initiation of a mandatory tunnel are sum-
  675.      marized below. In order to simplify the diagram that follows, we  have
  676.      left out the client. However, it is understood that the client partic-
  677.      ipates via PPP negotiation, authentication and subsequent data  inter-
  678.      change with the Tunnel Server.
  679.  
  680.  
  681.                                     INITIATION SEQUENCE
  682.  
  683.      NAS                            Tunnel Server       RADIUS Server
  684.      ---                            -------------       -------------
  685.      Call accepted
  686.      LCP starts
  687.      PPP authentication
  688.       phase starts
  689.      Send RADIUS
  690.       Access-Request
  691.       with username and
  692.       authentication data
  693.                                                         IF authentication
  694.                                                         succeeds
  695.                                                          Send ACK with
  696.                                                          Tunnel-Type,
  697.                                                          Tunnel-Medium-Type,
  698.                                                          Tunnel-Server-Endpoint
  699.                                                         ELSE Send NAK
  700.      IF NAK DISCONNECT
  701.      ELSE
  702.       IF no control
  703.        connection exists
  704.        Send
  705.        Start-Control-Connection-Request
  706.        to Tunnel Server
  707.                                   Send
  708.                                   Start-Control-Connection-Reply
  709.                                   to NAS
  710.       ENDIF
  711.  
  712.      Send
  713.      Incoming-Call-Request
  714.      message to Tunnel Server
  715.                                   Send Incoming-Call-Reply
  716.                                   to NAS
  717.      Send
  718.      Incoming-Call-Connected
  719.      message to Tunnel Server
  720.  
  721.  
  722.  
  723.  
  724.      Aboba & Zorn                                                 [Page 11]
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      INTERNET-DRAFT                                            7 March 1997
  731.  
  732.  
  733.      Send data through the tunnel
  734.                                   Re-negotiate LCP,
  735.                                   authenticate user,
  736.                                   bring up IPCP,
  737.                                   start accounting
  738.                                   Send RADIUS
  739.                                   Accounting-Request
  740.                                   (optional)
  741.                                                        Send
  742.                                                        RADIUS
  743.                                                        Accounting-Reply
  744.      Send a RADIUS
  745.      Accounting-Request message
  746.      with Acct-Status-Type
  747.      set to Start, containing
  748.      Tunnel-Type, Tunnel-Medium-Type,
  749.      Tunnel-Client-Endpoint,
  750.      Tunnel-Server-Endpoint, and
  751.      Connection-Identifier.
  752.                                                        Send
  753.                                                        RADIUS
  754.                                                        Accounting-Reply
  755.  
  756.      ENDIF
  757.  
  758.  
  759.      8.  Termination Sequence
  760.  
  761.      As  with  initiation,  the tear down of a mandatory tunnel involves an
  762.      interaction between the client, NAS, Tunnel Server, and RADIUS server.
  763.      The following events occur in termination of the connection:
  764.  
  765.           Tunnel Server to NAS: PPTP/L2TP Call-Clear-Request (optional)
  766.           NAS to Tunnel Server: PPTP/L2TP Call-Disconnect-Notify
  767.           NAS to RADIUS Server: RADIUS Accounting-Request/STOP
  768.           RADIUS Server to NAS: RADIUS Accounting-Reply
  769.           Tunnel Server to RADIUS Server: RADIUS Accounting-Request/STOP (Optional)
  770.           RADIUS Server to Tunnel Server: RADIUS Accounting-Reply
  771.  
  772.      Tunnel  termination  can  occur  due to a client request (PPP termina-
  773.      tion), a tunnel server request (Call-Clear-Request), or a line problem
  774.      (call disconnect).
  775.  
  776.      In  the case of a client-requested termination, the tunnel server MUST
  777.      terminate the PPP session. The tunnel server MUST subsequently send  a
  778.      Call-Clear-Request  to  the NAS. The NAS MUST then send a Call-Discon-
  779.      nect-Notify message to the tunnel  server,  and  will  disconnect  the
  780.      call.
  781.  
  782.      The  NAS  MUST  also respond with a Call-Disconnect-Notify message and
  783.      disconnection if it receives  a  Call-Clear-Request  from  the  tunnel
  784.      server without a client-requested termination.
  785.  
  786.  
  787.  
  788.  
  789.  
  790.      Aboba & Zorn                                                 [Page 12]
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      INTERNET-DRAFT                                            7 March 1997
  797.  
  798.  
  799.      In  the  case  of  a  line problem or user hangup, the NAS MUST send a
  800.      Call-Disconnect-Notify to the tunnel server. Both sides will then tear
  801.      down the  call.
  802.  
  803.      After  call  tear down is complete, if RADIUS accounting is being used
  804.      then the NAS MUST send a RADIUS Accounting-Request/STOP packet to  the
  805.      RADIUS  server.  The  Accounting-Request/STOP  packet MUST include the
  806.      following attributes: Tunnel-Type, Tunnel-Medium-Type,  Tunnel-Client-
  807.      Endpoint, Tunnel-Server-Endpoint, and Connection-Identifier.
  808.  
  809.      The  tunnel  server  MAY produce its own accounting records, or it MAY
  810.      use RADIUS accounting. If RADIUS accounting is  being  used  then  the
  811.      tunnel  server  MUST send a RADIUS Accounting-Request/STOP packet to a
  812.      local RADIUS server. The Accounting-Request/STOP packet  MUST  contain
  813.      the  following  attributes:  Tunnel-Type,  Tunnel-Medium-Type, Tunnel-
  814.      Client-Endpoint, Tunnel-Server-Endpoint, and Connection-Identifier.
  815.  
  816.      The interactions involved in termination of  a  mandatory  tunnel  are
  817.      summarized  below.  In  order to simplify the diagram that follows, we
  818.      have left out the client. However, it is understood  that  the  client
  819.      MAY participate via PPP termination and disconnection.
  820.  
  821.                                     TERMINATION SEQUENCE
  822.  
  823.      NAS                            Tunnel Server         RADIUS Server
  824.      ---                            -------------         -------------
  825.      IF user disconnected
  826.       send
  827.       Call-Disconnect-Notify
  828.       message to tunnel server
  829.                                     Tear down the call
  830.                                     stop accounting
  831.                                     Send RADIUS
  832.                                     Accounting-Request/STOP
  833.                                     message (optional)
  834.                                                          Send RADIUS
  835.                                                          Accounting-Reply
  836.      ELSE IF client requests
  837.       termination
  838.                                     send
  839.                                     Call-Clear-Request
  840.                                     to the NAS
  841.       Send
  842.       Call-Disconnect-Notify
  843.       message to tunnel server
  844.       Disconnect the user
  845.                                     Tear down the call
  846.                                     stop accounting
  847.                                     Send RADIUS
  848.                                     Accounting-Request/STOP
  849.                                     message (optional)
  850.                                                          Send RADIUS
  851.                                                          Accounting-Reply
  852.  
  853.  
  854.  
  855.  
  856.      Aboba & Zorn                                                 [Page 13]
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      INTERNET-DRAFT                                            7 March 1997
  863.  
  864.  
  865.       Send a RADIUS
  866.       Accounting-Request message
  867.       with Acct-Status-Type
  868.       set to Stop, containing
  869.       Tunnel-Type, Tunnel-Medium-Type,
  870.       Tunnel-Client-Endpoint,
  871.       Tunnel-Server-Endpoint, and
  872.       Connection-Identifier.
  873.                                                          Send RADIUS
  874.                                                          Accounting-Reply
  875.  
  876.      ENDIF
  877.  
  878.  
  879.      9.  Use of distinct RADIUS servers
  880.  
  881.      In  the  case  that  the  NAS and the tunnel server are using distinct
  882.      RADIUS servers, some interesting cases can arise in  the  provisioning
  883.      of mandatory tunnels.
  884.  
  885.  
  886.      9.1.  Distinct userIDs
  887.  
  888.      If  distinct RADIUS servers are being used, it is likely that two dis-
  889.      tinct userID/password pairs will be required to  complete  the  RADIUS
  890.      and  tunnel  authentications. One pair will be used in the initial PPP
  891.      authentication with the NAS, and the second pair will be used for  the
  892.      tunnel authentication.
  893.  
  894.      However, in order to provide maximum ease of use in the case where the
  895.      userID/password pairs are identical, tunnel clients typically  attempt
  896.      authentication  with  the same userID/password pair as was used in the
  897.      initial PPP negotiation. Only after this fails do they prompt the user
  898.      for the second pair.
  899.  
  900.      In  this  case,  tunnel client implementations SHOULD take care not to
  901.      put up error messages indicating a  bad  password.  Instead  a  dialog
  902.      SHOULD be presented requesting the tunnel userID/password combination.
  903.  
  904.      In the case where token cards are being used for both authentications,
  905.      the  tunnel  client  MUST NOT attempt to present the token used in the
  906.      first authentication during the  second  authentication,  since  these
  907.      will  never be identical. Instead the user SHOULD be prompted to enter
  908.      the second token.
  909.  
  910.      The same issue arises in L2TP if the NAS attempts to forward authenti-
  911.      cation information to the tunnel server in the initial setup notifica-
  912.      tion. Since the userID/password pair used for tunnel authentication is
  913.      different  from  that used to authenticate against the NAS, forwarding
  914.      authentication information  in  this  manner  will  cause  the  tunnel
  915.      authentication  to  fail.  As a result, where user-based tunneling via
  916.      RADIUS is implemented, L2TP authentication forwarding  SHOULD  NOT  be
  917.      employed.
  918.  
  919.  
  920.  
  921.  
  922.      Aboba & Zorn                                                 [Page 14]
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      INTERNET-DRAFT                                            7 March 1997
  929.  
  930.  
  931.      9.2.  Multilink PPP issues
  932.  
  933.      It is possible for the two RADIUS servers to return distinct MAX CHAN-
  934.      NEL attributes. For example, it is conceivable  that  the  NAS  RADIUS
  935.      server  will only grant use of a single channel to the user, while the
  936.      tunnel RADIUS server will grant more than one channel. In  this  case,
  937.      the  correct behavior is for the tunnel client to open a connection to
  938.      another NAS in order to bring up a  multilink  bundle  on  the  tunnel
  939.      server.  The  client MUST NOT indicate to the NAS that this additional
  940.      link is being brought up as part of a multilink bundle; this will only
  941.      be indicated in the subsequent negotiation with the tunnel server.
  942.  
  943.      It  is  also  conceivable  that  the  NAS RADIUS server will allow the
  944.      client to bring up multiple  channels,  but  that  the  tunnel  RADIUS
  945.      server  will  allow fewer channels than the NAS RADIUS server. In this
  946.      case, the client should terminate use of the excess channels.
  947.  
  948.  
  949.  
  950.      10.  UserID Issues
  951.  
  952.      In the provisioning of roaming and shared use  networks,  one  of  the
  953.      requirements  is to be able to route the authentication request to the
  954.      user's home RADIUS server. This authentication routing is accomplished
  955.      based  on  the  userID submitted by the user to the NAS in the initial
  956.      PPP authentication.
  957.  
  958.      Similarly, references [5] and [6] refer to use of the userID in deter-
  959.      mining  the  tunnel  endpoint. However, since none of these references
  960.      provide guidelines for how RADIUS or tunnel routing is  to  be  accom-
  961.      plished, the possibility of conflicting interpretations exists.
  962.  
  963.  
  964.      10.1.  UserID convergence in user-based tunneling
  965.  
  966.      The  use of RADIUS in provisioning of mandatory tunneling relieves the
  967.      userID from having to do double duty. Rather than being used both  for
  968.      routing of the RADIUS authentication/authorization request as well for
  969.      determination of the tunnel endpoint, the userID is  now  used  solely
  970.      for  routing  of  RADIUS  authentication/authorization  requests.  The
  971.      response to that request is in turn used to determine the tunnel  end-
  972.      point.
  973.  
  974.      Since  the  framework  described in this document allows both ISPs and
  975.      tunnel users to authenticate users as well as  account  for  resources
  976.      consumed  by  them,  and  provides  for  maintenance  of  two distinct
  977.      userID/password pairs, it is believed that this scheme offers the max-
  978.      imum  degree  of  flexibility.  Where RADIUS proxies and tunneling are
  979.      employed, it is possible to allow the user to authenticate with a sin-
  980.      gle userID/password pair at both the NAS and the tunnel endpoint. This
  981.      is accomplished by routing the NAS RADIUS Access-Request to  the  same
  982.      RADIUS server used by the tunnel server.
  983.  
  984.  
  985.  
  986.  
  987.  
  988.      Aboba & Zorn                                                 [Page 15]
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      INTERNET-DRAFT                                            7 March 1997
  995.  
  996.  
  997.      As  described  in  [8],  the  recommended  form  for  the  user  ID is
  998.      userID@domain, i.e. fred@bigco.com.
  999.  
  1000.  
  1001.      11.  Acknowledgements
  1002.  
  1003.      Thanks to Gurdeep Singh Pall of Microsoft for many useful  discussions
  1004.      of  this problem space, and to Bertrand Buclin of AT&T Labs Europe for
  1005.      his comments on this document.
  1006.  
  1007.  
  1008.      12.  References
  1009.  
  1010.      [1]  B. Aboba, J. Lu, J. Alsop, J. Ding.  "Review of Roaming Implemen-
  1011.      tations."  draft-ietf-roamops-imprev-01.txt, Microsoft, Aimnet, i-Pass
  1012.      Alliance, Asiainfo, January, 1997.
  1013.  
  1014.      [2]  B. Aboba, G. Zorn.  "Dialup  Roaming  Requirements."  draft-ietf-
  1015.      roamops-roamreq-02.txt, Microsoft, January, 1997.
  1016.  
  1017.      [3]   C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote Authenti-
  1018.      cation Dial In User Service (RADIUS)." RFC  2058,  Livingston,  Merit,
  1019.      Daydreamer, January, 1997.
  1020.  
  1021.      [4]   C.  Rigney.  "RADIUS Accounting." RFC 2059, Livingston, January,
  1022.      1997.
  1023.  
  1024.      [5] K. Hamzeh, T. Kolar, M. Littlewood, G. S. Pall, J. Taarud,  A.  J.
  1025.      Valencia, W. Verthein.  "Layer Two Tunneling Protocol -- L2TP." draft-
  1026.      ietf-pppext-l2tp-01.txt, Ascend Communications, December, 1996.
  1027.  
  1028.      [6] K. Hamzeh, G. S. Pall, J. Taarud, W. Verthein, J.  Taarud,  W.  A.
  1029.      Little.   "Point-to-Point  Tunneling  Protocol  --  PPTP." draft-ietf-
  1030.      pppext-pptp-00.txt, Ascend Communications, June, 1996.
  1031.  
  1032.      [7] G. Zorn.  "RADIUS Attributes for Tunnel Protocol Support."  draft-
  1033.      ietf-radius-tunnel-auth-00.txt, Microsoft Corporation, November, 1996.
  1034.  
  1035.      [8] B. Aboba.  "The Network  Access  Identifier."  draft-ietf-roamops-
  1036.      nai-02.txt, Microsoft Corporation, March, 1997.
  1037.  
  1038.      [9]  S.  Bradner.   "Key words for use in RFCs to Indicate Requirement
  1039.      Levels." draft-bradner-key-words-02.txt, Harvard  University,  August,
  1040.      1996.
  1041.  
  1042.      [10]  C.  Rigney, W. Willats.  "RADIUS Extensions." draft-ietf-radius-
  1043.      ext-00.txt, Livingston, January, 1997.
  1044.  
  1045.  
  1046.  
  1047.      13.  Authors' Addresses
  1048.  
  1049.      Bernard Aboba
  1050.      Microsoft Corporation
  1051.  
  1052.  
  1053.  
  1054.      Aboba & Zorn                                                 [Page 16]
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      INTERNET-DRAFT                                            7 March 1997
  1061.  
  1062.  
  1063.      One Microsoft Way
  1064.      Redmond, WA 98052
  1065.  
  1066.      Phone: 206-936-6605
  1067.      EMail: bernarda@microsoft.com
  1068.  
  1069.      Glen Zorn
  1070.      Microsoft Corporation
  1071.      One Microsoft Way
  1072.      Redmond, WA 98052
  1073.  
  1074.      Phone: 206-703-1559
  1075.      EMail: glennz@microsoft.com
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.      Aboba & Zorn                                                 [Page 17]
  1121.  
  1122.  
  1123.