ROAMOPS Working Group                                    Bernard Aboba
     INTERNET-DRAFT                                               Microsoft
     Category: Standards Track                              Mark A. Beadles
     <draft-ietf-roamops-nai-09.txt>                       CompuServe, Inc.
     16 February 1998
     
     
                         The Network Access Identifier
     
     
     1.  Status of this Memo
     
     This document is an Internet-Draft.  Internet-Drafts are working docu-
     ments of the Internet Engineering Task Force (IETF),  its  areas,  and
     its  working groups.  Note that other groups may also distribute work-
     ing documents as Internet-Drafts.
     
     Internet-Drafts are draft documents valid for a maximum of six  months
     and  may  be updated, replaced, or obsoleted by other documents at any
     time.  It is inappropriate to use Internet-Drafts as  reference  mate-
     rial or to cite them other than as ``work in progress.''
     
     To  learn  the  current status of any Internet-Draft, please check the
     ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
     Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
     (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
     
     The  distribution  of  this memo is unlimited.  It is filed as <draft-
     ietf-roamops-nai-09.txt> and  expires August  1,  1998.   Please  send
     comments to the authors.
     
     
     2.  Abstract
     
     In order to enhance the interoperability of roaming and tunneling ser-
     vices, it is desirable to have a standardized method  for  identifying
     users.   This  document proposes syntax for the Network Access Identi-
     fier (NAI), the userID submitted by the client during PPP  authentica-
     tion.  It  is  expected  that  this will be of interest for support of
     roaming as well as tunneling.  "Roaming  capability"  may  be  loosely
     defined  as  the  ability  to use any one of multiple Internet service
     providers (ISPs), while maintaining a  formal,  customer-vendor  rela-
     tionship  with  only  one.  Examples of cases where roaming capability
     might be required include ISP "confederations" and ISP-provided corpo-
     rate network access support.
     
     
     3.  Introduction
     
     Considerable  interest  has  arisen recently in a set of features that
     fit within the general category of  "roaming  capability"  for  dialup
     Internet users.  Interested parties have included:
     
          Regional  Internet  Service  Providers  (ISPs) operating within a
     
     
     
     Aboba & Beadles                                               [Page 1]


     INTERNET-DRAFT                                         9 February 1998
     
     
          particular state or province, looking to  combine  their  efforts
          with  those  of  other regional providers to offer dialup service
          over a wider area.
     
          National ISPs wishing to combine their operations with  those  of
          one  or  more  ISPs in another nation to offer more comprehensive
          dialup service in a group of countries or on a continent.
     
          Businesses desiring to  offer  their  employees  a  comprehensive
          package of dialup services on a global basis.  Those services may
          include Internet access as well as  secure  access  to  corporate
          intranets via a Virtual Private Network (VPN), enabled by tunnel-
          ing protocols such as PPTP, L2F, L2TP, and IPSEC tunnel mode.
     
     In order to enhance the interoperability of roaming and tunneling ser-
     vices,  it  is desirable to have a standardized method for identifying
     users.  This document proposes syntax for the Network  Access  Identi-
     fier  (NAI).   Examples  of  implementations  that  use  the  NAI, and
     descriptions of its semantics, can be found in [1].
     
     
     3.1.  Terminology
     
     This document frequently uses the following terms:
     
     Network Access Identifier
               The Network Access Identifier (NAI) is the userID  submitted
               by  the  client  during  PPP authentication. In roaming, the
               purpose of the NAI is to identify the user  as  well  as  to
               assist in the routing of the authentication request.  Please
               note that the NAI may not necessarily be  the  same  as  the
               user's e-mail address or the userID submitted in an applica-
               tion layer authentication.
     
     Network Access Server
               The Network Access Server (NAS) is the device  that  clients
               dial  in  order to get access to the network. In PPTP termi-
               nology this is referred to as the PPTP  Access  Concentrator
               (PAC),  and  in  L2TP  terminology, it is referred to as the
               L2TP Access Concentrator (LAC).
     
     Roaming Capability
               Roaming capability can be loosely defined as the ability  to
               use  any  one of multiple Internet service providers (ISPs),
               while maintaining  a  formal,  customer-vendor  relationship
               with  only  one.  Examples of cases where roaming capability
               might be required include ISP "confederations" and  ISP-pro-
               vided corporate network access support.
     
     Tunneling Service
               A  tunneling  service is any network service enabled by tun-
               neling protocols such as PPTP, L2F, L2TP, and  IPSEC  tunnel
               mode.   One  example of a tunneling service is secure access
               to corporate intranets via a Virtual Private Network  (VPN).
     
     
     
     Aboba & Beadles                                               [Page 2]


     INTERNET-DRAFT                                         9 February 1998
     
     
     3.2.  Purpose
     
     As  described  in [1], there are now a number of services implementing
     dialup roaming, and the number of Internet Service Providers  involved
     in roaming consortia is increasing rapidly.
     
     In  order  to be able to offer roaming capability, one of the require-
     ments is to be able to identify the user's home authentication server.
     For  use  in  roaming,  this  function is accomplished via the Network
     Access Identifier (NAI) submitted by the user to the NAS in  the  ini-
     tial  PPP authentication.  It is also expected that NASes will use the
     NAI as part of the process of opening a new tunnel, in order to deter-
     mine the tunnel endpoint.
     
     
     3.3.  Notes for Implementors
     
     As  proposed in this document, the Network Access Identifier is of the
     form user@realm. Please note that while the user portion  of  the  NAI
     conforms  to  the  BNF  described in [5], the BNF of the realm portion
     allows the realm to begin with a digit, which is not permitted by  the
     BNF  described  in  [4]. This change was made to reflect current prac-
     tice; although not permitted by the BNF described in [4],  FQDNs  such
     as 3com.com are commonly used, and accepted by current software.
     
     While  the realm is typically a Fully Qualified Domain Name (FQDN), it
     is not required that this be the case, and thus the NAI need not be  a
     valid  e-mail  address.  As a result, use of an FQDN as the realm does
     not imply use of DNS for location of the authentication server or  for
     authentication routing.
     
     Since  to  date  roaming  has  been  implemented on a relatively small
     scale, existing  implementations  handle  location  of  authentication
     servers  within  a  domain and perform authentication routing based on
     local knowledge expressed in proxy configuration files. The  implemen-
     tations  described  in  [1]  have  not found a need for use of DNS for
     location of the authentication server within a domain,  although  this
     can  be  accomplished via use of the DNS SRV record, described in [6].
     Similarly, existing implementations have not found a need for  dynamic
     routing protocols, or propagation of global routing information.
     
     Please note that NAS vendors may need to modify their devices so as to
     support the NAI as described in this document. Devices  handling  NAIs
     MUST support an NAI length of at least 72 octets.
     
     
     
     4.  Formal definition of the NAI
     
     The   grammar for the NAI is given below. The grammar for the username
     is taken from [5], and the grammar for the realm is a modified version
     of [4].
     
     <nai>         ::= <username> | <username> "@" <realm>
     
     
     
     Aboba & Beadles                                               [Page 3]


     INTERNET-DRAFT                                         9 February 1998
     
     
     <username>    ::= <dot-string>
     
     <realm>       ::= <label> | <realm> "." <label>
     
     <label>       ::= <let-dig> [ [ <ldh-str> ] <let-dig> ]
     
     <ldh-str>     ::= <let-dig-hyp> | <ldh-str> <let-dig-hyp>
     
     <let-dig-hyp> ::= <let-dig> | "-"
     
     <dot-string>  ::= <string> | <dot-string> "." <string>
     
     <string>      ::= <char> | <string> <char>
     
     <char>        ::= <c> | "\" <x>
     
     <let-dig>     ::= <letter> | <digit>
     
     <letter>      ::= any one of the 52 alphabetic characters A through Z
                       in upper case and a through z in lower case
     
     <digit>       ::= any one of the ten digits 0 through 9
     
     <c>           ::= any one of the 128 ASCII characters, but not any
                      <special> or <SP>
     
     <x>           ::= any one of the 128 ASCII characters (no exceptions)
     
     <SP>          ::= the space character (ASCII code 32)
     
     <special>     ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "."
                       | "," | ";" | ":" | "@" | """ | the control
                       characters (ASCII codes 0 through 31 inclusive and
                       127)
     
     Examples of valid Network Access Identifiers include:
     
          fred@3com.com
          fred_smith@big-co.com
          fred=?#$&*+-/^smith@bigco.com
          fred@bigco.com
          nancy@eng.bigu.edu
          eng!nancy@bigu.edu
          eng%nancy@bigu.edu
     
     Examples of invalid Network Access Identifiers include:
     
          @howard.edu
          fred@bigco.com@smallco.com
          eng:nancy@bigu.edu
          eng;nancy@bigu.edu
          <nancy>@bigu.edu
     
     
     
     
     
     Aboba & Beadles                                               [Page 4]


     INTERNET-DRAFT                                         9 February 1998
     
     
     5.  Acknowledgements
     
     Thanks  to  Glen Zorn of Microsoft for many useful discussions of this
     problem space.
     
     
     6.  References
     
     [1]  B. Aboba, J. Lu, J. Alsop, J. Ding, W. Wang.  "Review of  Roaming
     Implementations."  RFC  2194, Microsoft, Aimnet, i-Pass Alliance, Asi-
     ainfo, Merit, September 1997.
     
     [2]  C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote  Authenti-
     cation  Dial  In  User Service (RADIUS)." RFC 2138, Livingston, Merit,
     Daydreamer, April, 1997.
     
     [3]  C. Rigney.  "RADIUS Accounting."  RFC  2139,  Livingston,  April,
     1997.
     
     [4]  P.  Mockapetris.   "Domain  Names - Implementation and Specifica-
     tion."  RFC 1035, Information Sciences Institute, University of South-
     ern California, November, 1987.
     
     [5]  Jonathan  B.  Postel.  "Simple Mail Transfer Protocol."  RFC 821,
     Information Sciences Institute,  University  of  Southern  California,
     August, 1982
     
     [6]  A.  Gulbrandsen, P. Vixie.  "A DNS RR for specifying the location
     of services (DNS SRV)."  RFC 2052, Troll  Technologies,  Vixie  Enter-
     prises, October 1996.
     
     
     7.  Authors' Addresses
     
     Bernard Aboba
     Microsoft Corporation
     One Microsoft Way
     Redmond, WA 98052
     
     Phone: 425-936-6605
     EMail: bernarda@microsoft.com
     
     Mark A. Beadles
     CompuServe, Inc.
     5000 Britton Rd.
     Hilliard, OH 43026
     
     Phone: 614-723-1941
     EMail: mbeadles@web.compuserve.com
     
     
     
     
     
     
     
     
     Aboba & Beadles                                               [Page 5]