From branch_1_1
[freeradius.git] / doc / rfc / rfc2058.txt
1
2
3
4
5
6
7 Network Working Group                                          C. Rigney
8 Request for Comments: 2058                                    Livingston
9 Category: Standards Track                                      A. Rubens
10                                                                    Merit
11                                                               W. Simpson
12                                                               Daydreamer
13                                                               S. Willens
14                                                               Livingston
15                                                             January 1997
16
17
18           Remote Authentication Dial In User Service (RADIUS)
19
20 Status of this Memo
21
22    This document specifies an Internet standards track protocol for the
23    Internet community, and requests discussion and suggestions for
24    improvements.  Please refer to the current edition of the "Internet
25    Official Protocol Standards" (STD 1) for the standardization state
26    and status of this protocol.  Distribution of this memo is unlimited.
27
28 Abstract
29
30    This document describes a protocol for carrying authentication,
31    authorization, and configuration information between a Network Access
32    Server which desires to authenticate its links and a shared
33    Authentication Server.
34
35 Table of Contents
36
37    1.     Introduction ..........................................    3
38       1.1       Specification of Requirements ...................    4
39       1.2       Terminology .....................................    4
40    2.     Operation .............................................    5
41       2.1       Challenge/Response ..............................    6
42       2.2       Interoperation with PAP and CHAP ................    7
43       2.3       Why UDP? ........................................    8
44    3.     Packet Format .........................................    9
45    4.     Packet Types ..........................................   12
46       4.1       Access-Request ..................................   12
47       4.2       Access-Accept ...................................   14
48       4.3       Access-Reject ...................................   15
49       4.4       Access-Challenge ................................   16
50    5.     Attributes ............................................   17
51       5.1       User-Name .......................................   20
52       5.2       User-Password ...................................   21
53       5.3       CHAP-Password ...................................   22
54       5.4       NAS-IP-Address ..................................   23
55
56
57
58 Rigney, et. al.              Informational                      [Page 1]
59 \f
60 RFC 2058                         RADIUS                     January 1997
61
62
63       5.5       NAS-Port ........................................   24
64       5.6       Service-Type ....................................   25
65       5.7       Framed-Protocol .................................   27
66       5.8       Framed-IP-Address ...............................   28
67       5.9       Framed-IP-Netmask ...............................   29
68       5.10      Framed-Routing ..................................   29
69       5.11      Filter-Id .......................................   30
70       5.12      Framed-MTU ......................................   31
71       5.13      Framed-Compression ..............................   32
72       5.14      Login-IP-Host ...................................   33
73       5.15      Login-Service ...................................   33
74       5.16      Login-TCP-Port ..................................   34
75       5.17      (unassigned) ....................................   35
76       5.18      Reply-Message ...................................   35
77       5.19      Callback-Number .................................   36
78       5.20      Callback-Id .....................................   37
79       5.21      (unassigned) ....................................   37
80       5.22      Framed-Route ....................................   38
81       5.23      Framed-IPX-Network ..............................   39
82       5.24      State ...........................................   39
83       5.25      Class ...........................................   40
84       5.26      Vendor-Specific .................................   41
85       5.27      Session-Timeout .................................   43
86       5.28      Idle-Timeout ....................................   44
87       5.29      Termination-Action ..............................   44
88       5.30      Called-Station-Id ...............................   45
89       5.31      Calling-Station-Id ..............................   46
90       5.32      NAS-Identifier ..................................   47
91       5.33      Proxy-State .....................................   48
92       5.34      Login-LAT-Service ...............................   49
93       5.35      Login-LAT-Node ..................................   50
94       5.36      Login-LAT-Group .................................   51
95       5.37      Framed-AppleTalk-Link ...........................   52
96       5.38      Framed-AppleTalk-Network ........................   53
97       5.39      Framed-AppleTalk-Zone ...........................   53
98       5.40      CHAP-Challenge ..................................   54
99       5.41      NAS-Port-Type ...................................   55
100       5.42      Port-Limit ......................................   56
101       5.43      Login-LAT-Port ..................................   57
102       5.44      Table of Attributes .............................   58
103    6.     Examples ..............................................   59
104       6.1       User Telnet to Specified Host ...................   59
105       6.2       Framed User Authenticating with CHAP ............   60
106       6.3       User with Challenge-Response card ...............   61
107    SECURITY CONSIDERATIONS ......................................   62
108    REFERENCES ...................................................   63
109    ACKNOWLEDGEMENTS .............................................   63
110    CHAIR'S ADDRESS ..............................................   64
111
112
113
114 Rigney, et. al.              Informational                      [Page 2]
115 \f
116 RFC 2058                         RADIUS                     January 1997
117
118
119    AUTHORS' ADDRESSES ...........................................   64
120
121 1.  Introduction
122
123    Managing dispersed serial line and modem pools for large numbers of
124    users can create the need for significant administrative support.
125    Since modem pools are by definition a link to the outside world, they
126    require careful attention to security, authorization and accounting.
127    This can be best achieved by managing a single "database" of users,
128    which allows for authentication (verifying user name and password) as
129    well as configuration information detailing the type of service to
130    deliver to the user (for example, SLIP, PPP, telnet, rlogin).
131
132    Key features of RADIUS are:
133
134    Client/Server Model
135
136       A Network Access Server (NAS) operates as a client of RADIUS.  The
137       client is responsible for passing user information to designated
138       RADIUS servers, and then acting on the response which is returned.
139
140       RADIUS servers are responsible for receiving user connection
141       requests, authenticating the user, and then returning all
142       configuration information necessary for the client to deliver
143       service to the user.
144
145       A RADIUS server can act as a proxy client to other RADIUS servers
146       or other kinds of authentication servers.
147
148    Network Security
149
150       Transactions between the client and RADIUS server are
151       authenticated through the use of a shared secret, which is never
152       sent over the network.  In addition, any user passwords are sent
153       encrypted between the client and RADIUS server, to eliminate the
154       possibility that someone snooping on an unsecure network could
155       determine a user's password.
156
157    Flexible Authentication Mechanisms
158
159       The RADIUS server can support a variety of methods to authenticate
160       a user.  When it is provided with the user name and original
161       password given by the user, it can support PPP PAP or CHAP, UNIX
162       login, and other authentication mechanisms.
163
164
165
166
167
168
169
170 Rigney, et. al.              Informational                      [Page 3]
171 \f
172 RFC 2058                         RADIUS                     January 1997
173
174
175    Extensible Protocol
176
177       All transactions are comprised of variable length Attribute-
178       Length-Value 3-tuples.  New attribute values can be added without
179       disturbing existing implementations of the protocol.
180
181 1.1.  Specification of Requirements
182
183    In this document, several words are used to signify the requirements
184    of the specification.  These words are often capitalized.
185
186    MUST      This word, or the adjective "required", means that the
187              definition is an absolute requirement of the specification.
188
189    MUST NOT  This phrase means that the definition is an absolute
190              prohibition of the specification.
191
192    SHOULD    This word, or the adjective "recommended", means that there
193              may exist valid reasons in particular circumstances to
194              ignore this item, but the full implications must be
195              understood and carefully weighed before choosing a
196              different course.
197
198    MAY       This word, or the adjective "optional", means that this
199              item is one of an allowed set of alternatives.  An
200              implementation which does not include this option MUST be
201              prepared to interoperate with another implementation which
202              does include the option.
203
204 1.2.  Terminology
205
206    This document frequently uses the following terms:
207
208    service   The NAS provides a service to the dial-in user, such as PPP
209              or Telnet.
210
211    session   Each service provided by the NAS to a dial-in user
212              constitutes a session, with the beginning of the session
213              defined as the point where service is first provided and
214              the end of the session defined as the point where service
215              is ended.  A user may have multiple sessions in parallel or
216              series if the NAS supports that.
217
218    silently discard
219              This means the implementation discards the packet without
220              further processing.  The implementation SHOULD provide the
221              capability of logging the error, including the contents of
222              the silently discarded packet, and SHOULD record the event
223
224
225
226 Rigney, et. al.              Informational                      [Page 4]
227 \f
228 RFC 2058                         RADIUS                     January 1997
229
230
231              in a statistics counter.
232
233 2.  Operation
234
235    When a client is configured to use RADIUS, any user of the client
236    presents authentication information to the client.  This might be
237    with a customizable login prompt, where the user is expected to enter
238    their username and password.  Alternatively, the user might use a
239    link framing protocol such as the Point-to-Point Protocol (PPP),
240    which has authentication packets which carry this information.
241
242    Once the client has obtained such information, it may choose to
243    authenticate using RADIUS.  To do so, the client creates an "Access-
244    Request" containing such Attributes as the user's name, the user's
245    password, the ID of the client and the Port ID which the user is
246    accessing.  When a password is present, it is hidden using a method
247    based on the RSA Message Digest Algorithm MD5 [1].
248
249    The Access-Request is submitted to the RADIUS server via the network.
250    If no response is returned within a length of time, the request is
251    re-sent a number of times.  The client can also forward requests to
252    an alternate server or servers in the event that the primary server
253    is down or unreachable.  An alternate server can be used either after
254    a number of tries to the primary server fail, or in a round-robin
255    fashion.  Retry and fallback algorithms are the topic of current
256    research and are not specified in detail in this document.
257
258    Once the RADIUS server receives the request, it validates the sending
259    client.  A request from a client for which the RADIUS server does not
260    have a shared secret should be silently discarded.  If the client is
261    valid, the RADIUS server consults a database of users to find the
262    user whose name matches the request.  The user entry in the database
263    contains a list of requirements which must be met to allow access for
264    the user.  This always includes verification of the password, but can
265    also specify the client(s) or port(s) to which the user is allowed
266    access.
267
268    The RADIUS server MAY make requests of other servers in order to
269    satisfy the request, in which case it acts as a client.
270
271    If any condition is not met, the RADIUS server sends an "Access-
272    Reject" response indicating that this user request is invalid.  If
273    desired, the server MAY include a text message in the Access-Reject
274    which MAY be displayed by the client to the user.  No other
275    Attributes are permitted in an Access-Reject.
276
277    If all conditions are met and the RADIUS server wishes to issue a
278    challenge to which the user must respond, the RADIUS server sends an
279
280
281
282 Rigney, et. al.              Informational                      [Page 5]
283 \f
284 RFC 2058                         RADIUS                     January 1997
285
286
287    "Access-Challenge" response.  It MAY include a text message to be
288    displayed by the client to the user prompting for a response to the
289    challenge, and MAY include a State attribute.  If the client receives
290    an Access-Challenge and supports challenge/response it MAY display
291    the text message, if any, to the user, and then prompt the user for a
292    response.  The client then re-submits its original Access-Request
293    with a new request ID, with the User-Password Attribute replaced by
294    the response (encrypted), and including the State Attribute from the
295    Access-Challenge, if any.  Only 0 or 1 instances of the State
296    Attributes should be present in a request.  The server can respond to
297    this new Access-Request with either an Access-Accept, an Access-
298    Reject, or another Access-Challenge.
299
300    If all conditions are met, the list of configuration values for the
301    user are placed into an "Access-Accept" response.  These values
302    include the type of service (for example: SLIP, PPP, Login User) and
303    all necessary values to deliver the desired service.  For SLIP and
304    PPP, this may include values such as IP address, subnet mask, MTU,
305    desired compression, and desired packet filter identifiers.  For
306    character mode users, this may include values such as desired
307    protocol and host.
308
309 2.1.  Challenge/Response
310
311    In challenge/response authentication, the user is given an
312    unpredictable number and challenged to encrypt it and give back the
313    result. Authorized users are equipped with special devices such as
314    smart cards or software that facilitate calculation of the correct
315    response with ease. Unauthorized users, lacking the appropriate
316    device or software and lacking knowledge of the secret key necessary
317    to emulate such a device or software, can only guess at the response.
318
319    The Access-Challenge packet typically contains a Reply-Message
320    including a challenge to be displayed to the user, such as a numeric
321    value unlikely ever to be repeated. Typically this is obtained from
322    an external server that knows what type of authenticator should be in
323    the possession of the authorized user and can therefore choose a
324    random or non-repeating pseudorandom number of an appropriate radix
325    and length.
326
327    The user then enters the challenge into his device (or software) and
328    it calculates a response, which the user enters into the client which
329    forwards it to the RADIUS server via a second Access-Request.  If the
330    response matches the expected response the RADIUS server replies with
331    an Access-Accept, otherwise an Access-Reject.
332
333    Example: The NAS sends an Access-Request packet to the RADIUS Server
334    with NAS-Identifier, NAS-Port, User-Name, User-Password (which may
335
336
337
338 Rigney, et. al.              Informational                      [Page 6]
339 \f
340 RFC 2058                         RADIUS                     January 1997
341
342
343    just be a fixed string like "challenge" or ignored).  The server
344    sends back an Access-Challenge packet with State and a Reply-Message
345    along the lines of "Challenge 12345678, enter your response at the
346    prompt" which the NAS displays.  The NAS prompts for the response and
347    sends a NEW Access-Request to the server (with a new ID) with NAS-
348    Identifier, NAS-Port, User-Name, User-Password (the response just
349    entered by the user, encrypted), and the same State Attribute that
350    came with the Access-Challenge.  The server then sends back either an
351    Access-Accept or Access-Reject based on whether the response matches
352    what it should be, or it can even send another Access-Challenge.
353
354 2.2.  Interoperation with PAP and CHAP
355
356    For PAP, the NAS takes the PAP ID and password and sends them in an
357    Access-Request packet as the User-Name and User-Password. The NAS MAY
358    include the Attributes Service-Type = Framed-User and Framed-Protocol
359    = PPP as a hint to the RADIUS server that PPP service is expected.
360
361    For CHAP, the NAS generates a random challenge (preferably 16 octets)
362    and sends it to the user, who returns a CHAP response along with a
363    CHAP ID and CHAP username.  The NAS then sends an Access-Request
364    packet to the RADIUS server with the CHAP username as the User-Name
365    and with the CHAP ID and CHAP response as the CHAP-Password
366    (Attribute 3).  The random challenge can either be included in the
367    CHAP-Challenge attribute or, if it is 16 octets long, it can be
368    placed in the Request Authenticator field of the Access-Request
369    packet.  The NAS MAY include the Attributes Service-Type = Framed-
370    User and Framed-Protocol = PPP as a hint to the RADIUS server that
371    PPP service is expected.
372
373    The RADIUS server looks up a password based on the User-Name,
374    encrypts the challenge using MD5 on the CHAP ID octet, that password,
375    and the CHAP challenge (from the CHAP-Challenge attribute if present,
376    otherwise from the Request Authenticator), and compares that result
377    to the CHAP-Password.  If they match, the server sends back an
378    Access-Accept, otherwise it sends back an Access-Reject.
379
380    If the RADIUS server is unable to perform the requested
381    authentication it should return an Access-Reject.  For example, CHAP
382    requires that the user's password be available in cleartext to the
383    server so that it can encrypt the CHAP challenge and compare that to
384    the CHAP response.  If the password is not available in cleartext to
385    the RADIUS server then the server MUST send an Access-Reject to the
386    client.
387
388
389
390
391
392
393
394 Rigney, et. al.              Informational                      [Page 7]
395 \f
396 RFC 2058                         RADIUS                     January 1997
397
398
399 2.3.  Why UDP?
400
401    A frequently asked question is why RADIUS uses UDP instead of TCP as
402    a transport protocol.  UDP was chosen for strictly technical reasons.
403
404    There are a number of issues which must be understood.  RADIUS is a
405    transaction based protocol which has several interesting
406    characteristics:
407
408    1.   If the request to a primary Authentication server fails, a
409         secondary server must be queried.
410
411         To meet this requirement, a copy of the request must be kept
412         above the transport layer to allow for alternate transmission.
413         This means that retransmission timers are still required.
414
415    2.   The timing requirements of this particular protocol are
416         significantly different than TCP provides.
417
418         At one extreme, RADIUS does not require a "responsive" detection
419         of lost data.  The user is willing to wait several seconds for
420         the authentication to complete.  The generally aggressive TCP
421         retransmission (based on average round trip time) is not
422         required, nor is the acknowledgement overhead of TCP.
423
424         At the other extreme, the user is not willing to wait several
425         minutes for authentication.  Therefore the reliable delivery of
426         TCP data two minutes later is not useful.  The faster use of an
427         alternate server allows the user to gain access before giving
428         up.
429
430    3.   The stateless nature of this protocol simplifies the use of UDP.
431
432         Clients and servers come and go.  Systems are rebooted, or are
433         power cycled independently.  Generally this does not cause a
434         problem and with creative timeouts and detection of lost TCP
435         connections, code can be written to handle anomalous events.
436         UDP however completely eliminates any of this special handling.
437         Each client and server can open their UDP transport just once
438         and leave it open through all types of failure events on the
439         network.
440
441    4.   UDP simplifies the server implementation.
442
443         In the earliest implementations of RADIUS, the server was single
444         threaded.  This means that a single request was received,
445         processed, and returned.  This was found to be unmanageable in
446         environments where the back-end security mechanism took real
447
448
449
450 Rigney, et. al.              Informational                      [Page 8]
451 \f
452 RFC 2058                         RADIUS                     January 1997
453
454
455         time (1 or more seconds).  The server request queue would fill
456         and in environments where hundreds of people were being
457         authenticated every minute, the request turn-around time
458         increased to longer that users were willing to wait (this was
459         especially severe when a specific lookup in a database or over
460         DNS took 30 or more seconds).  The obvious solution was to make
461         the server multi-threaded.  Achieving this was simple with UDP.
462         Separate processes were spawned to serve each request and these
463         processes could respond directly to the client NAS with a simple
464         UDP packet to the original transport of the client.
465
466    It's not all a panacea.  As noted, using UDP requires one thing which
467    is built into TCP: with UDP we must artificially manage
468    retransmission timers to the same server, although they don't require
469    the same attention to timing provided by TCP.  This one penalty is a
470    small price to pay for the advantages of UDP in this protocol.
471
472    Without TCP we would still probably be using tin cans connected by
473    string.  But for this particular protocol, UDP is a better choice.
474
475 3.  Packet Format
476
477    Exactly one RADIUS packet is encapsulated in the UDP Data field [2],
478    where the UDP Destination Port field indicates 1812 (decimal).
479
480    When a reply is generated, the source and destination ports are
481    reversed.
482
483    A summary of the RADIUS data format is shown below.  The fields are
484    transmitted from left to right.
485
486     0                   1                   2                   3
487     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
488    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
489    |     Code      |  Identifier   |            Length             |
490    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
491    |                                                               |
492    |                         Authenticator                         |
493    |                                                               |
494    |                                                               |
495    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
496    |  Attributes ...
497    +-+-+-+-+-+-+-+-+-+-+-+-+-
498
499
500
501
502
503
504
505
506 Rigney, et. al.              Informational                      [Page 9]
507 \f
508 RFC 2058                         RADIUS                     January 1997
509
510
511 Code
512
513    The Code field is one octet, and identifies the type of RADIUS
514    packet.  When a packet is received with an invalid Code field, it is
515    silently discarded.
516
517       RADIUS Codes (decimal) are assigned as follows:
518
519            1       Access-Request
520            2       Access-Accept
521            3       Access-Reject
522            4       Accounting-Request
523            5       Accounting-Response
524           11       Access-Challenge
525           12       Status-Server (experimental)
526           13       Status-Client (experimental)
527          255       Reserved
528
529    Codes 4 and 5 will be covered in the RADIUS Accounting document [9],
530    and are not further mentioned here.  Codes 12 and 13 are reserved for
531    possible use, but are not further mentioned here.
532
533 Identifier
534
535    The Identifier field is one octet, and aids in matching requests and
536    replies.
537
538 Length
539
540    The Length field is two octets.  It indicates the length of the
541    packet including the Code, Identifier, Length, Authenticator and
542    Attribute fields.  Octets outside the range of the Length field
543    should be treated as padding and should be ignored on reception.  If
544    the packet is shorter than the Length field indicates, it should be
545    silently discarded.  The minimum length is 20 and maximum length is
546    4096.
547
548 Authenticator
549
550    The Authenticator field is sixteen (16) octets.  The most significant
551    octet is transmitted first.  This value is used to authenticate the
552    reply from the RADIUS server, and is used in the password hiding
553    algorithm.
554
555
556
557
558
559
560
561
562 Rigney, et. al.              Informational                     [Page 10]
563 \f
564 RFC 2058                         RADIUS                     January 1997
565
566
567 Request Authenticator
568
569    In Access-Request Packets, the Authenticator value is a 16 octet
570    random number, called the Request Authenticator.  The value SHOULD be
571    unpredictable and unique over the lifetime of a secret (the password
572    shared between the client and the RADIUS server), since repetition of
573    a request value in conjunction with the same secret would permit an
574    attacker to reply with a previously intercepted response.  Since it
575    is expected that the same secret MAY be used to authenticate with
576    servers in disparate geographic regions, the Request Authenticator
577    field SHOULD exhibit global and temporal uniqueness.
578
579    The Request Authenticator value in an Access-Request packet SHOULD
580    also be unpredictable, lest an attacker trick a server into
581    responding to a predicted future request, and then use the response
582    to masquerade as that server to a future Access-Request.
583
584    Although protocols such as RADIUS are incapable of protecting against
585    theft of an authenticated session via realtime active wiretapping
586    attacks, generation of unique unpredictable requests can protect
587    against a wide range of active attacks against authentication.
588
589    The NAS and RADIUS server share a secret.  That shared secret
590    followed by the Request Authenticator is put through a one-way MD5
591    hash to create a 16 octet digest value which is xored with the
592    password entered by the user, and the xored result placed in the
593    User-Password attribute in the Access-Request packet.  See the entry
594    for User-Password in the section on Attributes for a more detailed
595    description.
596
597 Response Authenticator
598
599      The value of the Authenticator field in Access-Accept, Access-
600      Reject, and Access-Challenge packets is called the Response
601      Authenticator, and contains a one-way MD5 hash calculated over a
602      stream of octets consisting of: the RADIUS packet, beginning with
603      the Code field, including the Identifier, the Length, the Request
604      Authenticator field from the Access-Request packet, and the
605      response Attributes, followed by the shared secret.  That is,
606      ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret)
607      where + denotes concatenation.
608
609 Administrative Note
610
611    The secret (password shared between the client and the RADIUS server)
612    SHOULD be at least as large and unguessable as a well-chosen
613    password.  It is preferred that the secret be at least 16 octets.
614    This is to ensure a sufficiently large range for the secret to
615
616
617
618 Rigney, et. al.              Informational                     [Page 11]
619 \f
620 RFC 2058                         RADIUS                     January 1997
621
622
623    provide protection against exhaustive search attacks.  A RADIUS
624    server SHOULD use the source IP address of the RADIUS UDP packet to
625    decide which shared secret to use, so that RADIUS requests can be
626    proxied.
627
628    When using a forwarding proxy, the proxy must be able to alter the
629    packet as it passes through in each direction - when the proxy
630    forwards the request, the proxy can add a Proxy-State Attribute, and
631    when the proxy forwards a response, it removes the Proxy-State
632    Attribute. Since Access-Accept and Access-Reject replies are
633    authenticated on the entire packet contents, the stripping of the
634    Proxy-State attribute would invalidate the signature in the packet -
635    so the proxy has to re-sign it.
636
637    Further details of RADIUS proxy implementation are outside the scope
638    of this document.
639
640 Attributes
641
642    Many Attributes may have multiple instances, in such a case the order
643    of Attributes of the same Type SHOULD be preserved.  The order of
644    Attributes of different Types is not required to be preserved.
645
646    In the section below on "Attributes" where the text refers to which
647    packets an attribute is allowed in, only packets with Codes 1, 2, 3
648    and 11 and attributes defined in this document are covered in this
649    document.  A summary table is provided at the end of the "Attributes"
650    section.  To determine which Attributes are allowed in packets with
651    codes 4 and 5 refer to the RADIUS Accounting document [9].
652
653 4.  Packet Types
654
655    The RADIUS Packet type is determined by the Code field in the first
656    octet of the Packet.
657
658 4.1.  Access-Request
659
660    Description
661
662      Access-Request packets are sent to a RADIUS server, and convey
663      information used to determine whether a user is allowed access to a
664      specific NAS, and any special services requested for that user.  An
665      implementation wishing to authenticate a user MUST transmit a
666      RADIUS packet with the Code field set to 1 (Access-Request).
667
668      Upon receipt of an Access-Request from a valid client, an
669      appropriate reply MUST be transmitted.
670
671
672
673
674 Rigney, et. al.              Informational                     [Page 12]
675 \f
676 RFC 2058                         RADIUS                     January 1997
677
678
679      An Access-Request MUST contain a User-Name attribute.  It SHOULD
680      contain either a NAS-IP-Address attribute or NAS-Identifier
681      attribute (or both, although that is not recommended).  It MUST
682      contain either a User-Password attribute or CHAP-Password
683      attribute.  It SHOULD contain a NAS-Port or NAS-Port-Type attribute
684      or both unless the type of access being requested does not involve
685      a port or the NAS does not distinguish among its ports.
686
687      An Access-Request MAY contain additional attributes as a hint to
688      the server, but the server is not required to honor the hint.
689
690      When a User-Password is present, it is hidden using a method based
691      on the RSA Message Digest Algorithm MD5 [1].
692
693    A summary of the Access-Request packet format is shown below.  The
694    fields are transmitted from left to right.
695
696     0                   1                   2                   3
697     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
698    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
699    |     Code      |  Identifier   |            Length             |
700    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
701    |                                                               |
702    |                     Request Authenticator                     |
703    |                                                               |
704    |                                                               |
705    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
706    |  Attributes ...
707    +-+-+-+-+-+-+-+-+-+-+-+-+-
708
709
710    Code
711
712       1 for Access-Request.
713
714    Identifier
715
716       The Identifier field MUST be changed whenever the content of the
717       Attributes field changes, and whenever a valid reply has been
718       received for a previous request.  For retransmissions, the
719       Identifier MUST remain unchanged.
720
721    Request Authenticator
722
723       The Request Authenticator value MUST be changed each time a new
724       Identifier is used.
725
726
727
728
729
730 Rigney, et. al.              Informational                     [Page 13]
731 \f
732 RFC 2058                         RADIUS                     January 1997
733
734
735    Attributes
736
737       The Attribute field is variable in length, and contains the list
738       of Attributes that are required for the type of service, as well
739       as any desired optional Attributes.
740
741 4.2.  Access-Accept
742
743    Description
744
745      Access-Accept packets are sent by the RADIUS server, and provide
746      specific configuration information necessary to begin delivery of
747      service to the user.  If all Attribute values received in an
748      Access-Request are acceptable then the RADIUS implementation MUST
749      transmit a packet with the Code field set to 2 (Access-Accept).  On
750      reception of an Access-Accept, the Identifier field is matched with
751      a pending Access-Request.  Additionally, the Response Authenticator
752      field MUST contain the correct response for the pending Access-
753      Request.  Invalid packets are silently discarded.
754
755    A summary of the Access-Accept packet format is shown below.  The
756    fields are transmitted from left to right.
757
758     0                   1                   2                   3
759     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
760    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
761    |     Code      |  Identifier   |            Length             |
762    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
763    |                                                               |
764    |                     Response Authenticator                    |
765    |                                                               |
766    |                                                               |
767    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
768    |  Attributes ...
769    +-+-+-+-+-+-+-+-+-+-+-+-+-
770
771
772    Code
773
774       2 for Access-Accept.
775
776    Identifier
777
778       The Identifier field is a copy of the Identifier field of the
779       Access-Request which caused this Access-Accept.
780
781
782
783
784
785
786 Rigney, et. al.              Informational                     [Page 14]
787 \f
788 RFC 2058                         RADIUS                     January 1997
789
790
791    Response Authenticator
792
793       The Response Authenticator value is calculated from the Access-
794       Request value, as described earlier.
795
796    Attributes
797
798       The Attribute field is variable in length, and contains a list of
799       zero or more Attributes.
800
801 4.3.  Access-Reject
802
803    Description
804
805      If any value of the received Attributes is not acceptable, then the
806      RADIUS server MUST transmit a packet with the Code field set to 3
807      (Access-Reject).  It MAY include one or more Reply-Message
808      Attributes with a text message which the NAS MAY display to the
809      user.
810
811    A summary of the Access-Reject packet format is shown below.  The
812    fields are transmitted from left to right.
813
814     0                   1                   2                   3
815     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
816    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
817    |     Code      |  Identifier   |            Length             |
818    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
819    |                                                               |
820    |                     Response Authenticator                    |
821    |                                                               |
822    |                                                               |
823    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
824    |  Attributes ...
825    +-+-+-+-+-+-+-+-+-+-+-+-+-
826
827
828    Code
829
830       3 for Access-Reject.
831
832    Identifier
833
834       The Identifier field is a copy of the Identifier field of the
835       Access-Request which caused this Access-Reject.
836
837
838
839
840
841
842 Rigney, et. al.              Informational                     [Page 15]
843 \f
844 RFC 2058                         RADIUS                     January 1997
845
846
847    Response Authenticator
848
849       The Response Authenticator value is calculated from the Access-
850       Request value, as described earlier.
851
852    Attributes
853
854       The Attribute field is variable in length, and contains a list of
855       zero or more Attributes.
856
857 4.4.  Access-Challenge
858
859       Description
860
861      If the RADIUS server desires to send the user a challenge requiring
862      a response, then the RADIUS server MUST respond to the Access-
863      Request by transmitting a packet with the Code field set to 11
864      (Access-Challenge).
865
866      The Attributes field MAY have one or more Reply-Message Attributes,
867      and MAY have a single State Attribute, or none.  No other
868      Attributes are permitted in an Access-Challenge.
869
870      On receipt of an Access-Challenge, the Identifier field is matched
871      with a pending Access-Request.  Additionally, the Response
872      Authenticator field MUST contain the correct response for the
873      pending Access-Request.  Invalid packets are silently discarded.
874
875      If the NAS does not support challenge/response, it MUST treat an
876      Access-Challenge as though it had received an Access-Reject
877      instead.
878
879      If the NAS supports challenge/response, receipt of a valid Access-
880      Challenge indicates that a new Access-Request SHOULD be sent.  The
881      NAS MAY display the text message, if any, to the user, and then
882      prompt the user for a response.  It then sends its original
883      Access-Request with a new request ID and Request Authenticator,
884      with the User-Password Attribute replaced by the user's response
885      (encrypted), and including the State Attribute from the Access-
886      Challenge, if any.  Only 0 or 1 instances of the State Attribute
887      can be present in an Access-Request.
888
889      A NAS which supports PAP MAY forward the Reply-Message to the
890      dialin client and accept a PAP response which it can use as though
891      the user had entered the response.  If the NAS cannot do so, it
892      should treat the Access-Challenge as though it had received an
893      Access-Reject instead.
894
895
896
897
898 Rigney, et. al.              Informational                     [Page 16]
899 \f
900 RFC 2058                         RADIUS                     January 1997
901
902
903    A summary of the Access-Challenge packet format is shown below.  The
904    fields are transmitted from left to right.
905
906     0                   1                   2                   3
907     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
908    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
909    |     Code      |  Identifier   |            Length             |
910    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
911    |                                                               |
912    |                     Response Authenticator                    |
913    |                                                               |
914    |                                                               |
915    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
916    |  Attributes ...
917    +-+-+-+-+-+-+-+-+-+-+-+-+-
918
919    Code
920
921       11 for Access-Challenge.
922
923    Identifier
924
925       The Identifier field is a copy of the Identifier field of the
926       Access-Request which caused this Access-Challenge.
927
928    Response Authenticator
929
930       The Response Authenticator value is calculated from the Access-
931       Request value, as described earlier.
932
933    Attributes
934
935       The Attributes field is variable in length, and contains a list of
936       zero or more Attributes.
937
938 5.  Attributes
939
940    RADIUS Attributes carry the specific authentication, authorization,
941    information and configuration details for the request and reply.
942
943    Some Attributes MAY be included more than once.  The effect of this
944    is Attribute specific, and is specified in each Attribute
945    description.
946
947    The end of the list of Attributes is indicated by the Length of the
948    RADIUS packet.
949
950
951
952
953
954 Rigney, et. al.              Informational                     [Page 17]
955 \f
956 RFC 2058                         RADIUS                     January 1997
957
958
959    A summary of the Attribute format is shown below.  The fields are
960    transmitted from left to right.
961
962     0                   1                   2
963     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
964    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
965    |     Type      |    Length     |  Value ...
966    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
967
968    Type
969
970       The Type field is one octet.  Up-to-date values of the RADIUS Type
971       field are specified in the most recent "Assigned Numbers" RFC [3].
972       Values 192-223 are reserved for experimental use, values 224-240
973       are reserved for implementation-specific use, and values 241-255
974       are reserved and should not be used.  This specification concerns
975       the following values:
976
977       A RADIUS server MAY ignore Attributes with an unknown Type.
978
979       A RADIUS client MAY ignore Attributes with an unknown Type.
980
981           1      User-Name
982           2      User-Password
983           3      CHAP-Password
984           4      NAS-IP-Address
985           5      NAS-Port
986           6      Service-Type
987           7      Framed-Protocol
988           8      Framed-IP-Address
989           9      Framed-IP-Netmask
990          10      Framed-Routing
991          11      Filter-Id
992          12      Framed-MTU
993          13      Framed-Compression
994          14      Login-IP-Host
995          15      Login-Service
996          16      Login-TCP-Port
997          17      (unassigned)
998          18      Reply-Message
999          19      Callback-Number
1000          20      Callback-Id
1001          21      (unassigned)
1002          22      Framed-Route
1003          23      Framed-IPX-Network
1004          24      State
1005          25      Class
1006          26      Vendor-Specific
1007
1008
1009
1010 Rigney, et. al.              Informational                     [Page 18]
1011 \f
1012 RFC 2058                         RADIUS                     January 1997
1013
1014
1015          27      Session-Timeout
1016          28      Idle-Timeout
1017          29      Termination-Action
1018          30      Called-Station-Id
1019          31      Calling-Station-Id
1020          32      NAS-Identifier
1021          33      Proxy-State
1022          34      Login-LAT-Service
1023          35      Login-LAT-Node
1024          36      Login-LAT-Group
1025          37      Framed-AppleTalk-Link
1026          38      Framed-AppleTalk-Network
1027          39      Framed-AppleTalk-Zone
1028          40-59   (reserved for accounting)
1029          60      CHAP-Challenge
1030          61      NAS-Port-Type
1031          62      Port-Limit
1032          63      Login-LAT-Port
1033
1034    Length
1035
1036      The Length field is one octet, and indicates the length of this
1037      Attribute including the Type, Length and Value fields.  If an
1038      Attribute is received in an Access-Request but with an invalid
1039      Length, an Access-Reject SHOULD be transmitted.  If an Attribute is
1040      received in an Access-Accept, Access-Reject or Access-Challenge
1041      packet with an invalid length, the packet MUST either be treated as
1042      an Access-Reject or else silently discarded.
1043
1044    Value
1045
1046      The Value field is zero or more octets and contains information
1047      specific to the Attribute.  The format and length of the Value
1048      field is determined by the Type and Length fields.
1049
1050      Note that a "string" in RADIUS does not require termination by an
1051      ASCII NUL because the Attribute already has a length field.
1052
1053      The format of the value field is one of four data types.
1054
1055       string    0-253 octets
1056
1057       address   32 bit value, most significant octet first.
1058
1059       integer   32 bit value, most significant octet first.
1060
1061
1062
1063
1064
1065
1066 Rigney, et. al.              Informational                     [Page 19]
1067 \f
1068 RFC 2058                         RADIUS                     January 1997
1069
1070
1071       time      32 bit value, most significant octet first -- seconds
1072                 since 00:00:00 GMT, January 1, 1970.  The standard
1073                 Attributes do not use this data type but it is presented
1074                 here for possible use within Vendor-Specific attributes.
1075
1076 5.1.  User-Name
1077
1078    Description
1079
1080      This Attribute indicates the name of the user to be authenticated.
1081      It is only used in Access-Request packets.
1082
1083    A summary of the User-Name Attribute format is shown below.  The
1084    fields are transmitted from left to right.
1085
1086     0                   1                   2
1087     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1088    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1089    |     Type      |    Length     |  String ...
1090    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1091
1092    Type
1093
1094      1 for User-Name.
1095
1096    Length
1097
1098      >= 3
1099
1100    String
1101
1102      The String field is one or more octets.  The NAS may limit the
1103      maximum length of the User-Name but the ability to handle at least
1104      63 octets is recommended.
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122 Rigney, et. al.              Informational                     [Page 20]
1123 \f
1124 RFC 2058                         RADIUS                     January 1997
1125
1126
1127      The format of the username MAY be one of several forms:
1128
1129      monolithic Consisting only of alphanumeric characters.  This
1130                 simple form might be used to locally manage a NAS.
1131
1132      simple     Consisting only of printable ASCII characters.
1133
1134      name@fqdn SMTP address.  The Fully Qualified Domain Name (with or
1135                without trailing dot) indicates the realm in which the
1136                name part applies.
1137
1138      distinguished name
1139                A name in ASN.1 form used in Public Key authentication
1140                systems.
1141
1142 5.2.  User-Password
1143
1144    Description
1145
1146      This Attribute indicates the password of the user to be
1147      authenticated, or the user's input following an Access-Challenge.
1148      It is only used in Access-Request packets.
1149
1150      On transmission, the password is hidden.  The password is first
1151      padded at the end with nulls to a multiple of 16 octets.  A one-way
1152      MD5 hash is calculated over a stream of octets consisting of the
1153      shared secret followed by the Request Authenticator.  This value is
1154      XORed with the first 16 octet segment of the password and placed in
1155      the first 16 octets of the String field of the User-Password
1156      Attribute.
1157
1158      If the password is longer than 16 characters, a second one-way MD5
1159      hash is calculated over a stream of octets consisting of the shared
1160      secret followed by the result of the first xor.  That hash is XORed
1161      with the second 16 octet segment of the password and placed in the
1162      second 16 octets of the String field of the User-Password
1163      Attribute.
1164
1165      If necessary, this operation is repeated, with each xor result
1166      being used along with the shared secret to generate the next hash
1167      to xor the next segment of the password, to no more than 128
1168      characters.
1169
1170      The method is taken from the book "Network Security" by Kaufman,
1171      Perlman and Speciner [4] pages 109-110.  A more precise explanation
1172      of the method follows:
1173
1174
1175
1176
1177
1178 Rigney, et. al.              Informational                     [Page 21]
1179 \f
1180 RFC 2058                         RADIUS                     January 1997
1181
1182
1183      Call the shared secret S and the pseudo-random 128-bit Request
1184      Authenticator RA.  Break the password into 16-octet chunks p1, p2,
1185      etc.  with the last one padded at the end with nulls to a 16-octet
1186      boundary.  Call the ciphertext blocks c(1), c(2), etc.  We'll need
1187      intermediate values b1, b2, etc.
1188
1189          b1 = MD5(S + RA)       c(1) = p1 xor b1
1190          b2 = MD5(S + c(1))     c(2) = p2 xor b2
1191                 .                       .
1192                 .                       .
1193                 .                       .
1194          bi = MD5(S + c(i-1))   c(i) = pi xor bi
1195
1196
1197      The String will contain c(1)+c(2)+...+c(i) where + denotes
1198      concatenation.
1199
1200      On receipt, the process is reversed to yield the original password.
1201
1202    A summary of the User-Password Attribute format is shown below.  The
1203    fields are transmitted from left to right.
1204
1205        0                   1                   2
1206        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1207       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1208       |     Type      |    Length     |  String ...
1209       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1210
1211       Type
1212
1213          2 for User-Password.
1214
1215       Length
1216
1217          At least 18 and no larger than 130.
1218
1219       String
1220
1221          The String field is between 16 and 128 octets long, inclusive.
1222
1223 5.3.  CHAP-Password
1224
1225    Description
1226
1227      This Attribute indicates the response value provided by a PPP
1228      Challenge-Handshake Authentication Protocol (CHAP) user in response
1229      to the challenge.  It is only used in Access-Request packets.
1230
1231
1232
1233
1234 Rigney, et. al.              Informational                     [Page 22]
1235 \f
1236 RFC 2058                         RADIUS                     January 1997
1237
1238
1239      The CHAP challenge value is found in the CHAP-Challenge Attribute
1240      (60) if present in the packet, otherwise in the Request
1241      Authenticator field.
1242
1243    A summary of the CHAP-Password Attribute format is shown below.  The
1244    fields are transmitted from left to right.
1245
1246     0                   1                   2
1247     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
1248    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1249    |     Type      |    Length     |  CHAP Ident   |  String ...
1250    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1251
1252
1253    Type
1254
1255       3 for CHAP-Password.
1256
1257    Length
1258
1259       19
1260
1261    CHAP Ident
1262
1263       This field is one octet, and contains the CHAP Identifier from the
1264       user's CHAP Response.
1265
1266    String
1267
1268       The String field is 16 octets, and contains the CHAP Response from
1269       the user.
1270
1271
1272 5.4.  NAS-IP-Address
1273
1274    Description
1275
1276      This Attribute indicates the identifying IP Address of the NAS
1277      which is requesting authentication of the user.  It is only used in
1278      Access-Request packets.  Either NAS-IP-Address or NAS-Identifier
1279      SHOULD be present in an Access-Request packet.
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290 Rigney, et. al.              Informational                     [Page 23]
1291 \f
1292 RFC 2058                         RADIUS                     January 1997
1293
1294
1295    A summary of the NAS-IP-Address Attribute format is shown below.  The
1296    fields are transmitted from left to right.
1297
1298     0                   1                   2                   3
1299     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1300    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1301    |     Type      |    Length     |            Address
1302    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1303             Address (cont)         |
1304    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1305
1306
1307    Type
1308
1309       4 for NAS-IP-Address.
1310
1311    Length
1312
1313       6
1314
1315    Address
1316
1317       The Address field is four octets.
1318
1319 5.5.  NAS-Port
1320
1321    Description
1322
1323      This Attribute indicates the physical port number of the NAS which
1324      is authenticating the user.  It is only used in Access-Request
1325      packets.  Note that this is using "port" in its sense of a physical
1326      connection on the NAS, not in the sense of a TCP or UDP port
1327      number.  Either NAS-Port or NAS-Port-Type (61) or both SHOULD be
1328      present in an Access-Request packet, if the NAS differentiates
1329      among its ports.
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346 Rigney, et. al.              Informational                     [Page 24]
1347 \f
1348 RFC 2058                         RADIUS                     January 1997
1349
1350
1351    A summary of the NAS-Port Attribute format is shown below.  The
1352    fields are transmitted from left to right.
1353
1354     0                   1                   2                   3
1355     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1356    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1357    |     Type      |    Length     |             Value
1358    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1359               Value (cont)         |
1360    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1361
1362    Type
1363
1364       5 for NAS-Port.
1365
1366    Length
1367
1368       6
1369
1370    Value
1371
1372       The Value field is four octets.  Despite the size of the field,
1373       values range from 0 to 65535.
1374
1375
1376 5.6.  Service-Type
1377
1378    Description
1379
1380      This Attribute indicates the type of service the user has
1381      requested, or the type of service to be provided.  It MAY be used
1382      in both Access-Request and Access-Accept packets.  A NAS is not
1383      required to implement all of these service types, and MUST treat
1384      unknown or unsupported Service-Types as though an Access-Reject had
1385      been received instead.
1386
1387    A summary of the Service-Type Attribute format is shown below.  The
1388    fields are transmitted from left to right.
1389
1390     0                   1                   2                   3
1391     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1392    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1393    |     Type      |    Length     |             Value
1394    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1395               Value (cont)         |
1396    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1397
1398
1399
1400
1401
1402 Rigney, et. al.              Informational                     [Page 25]
1403 \f
1404 RFC 2058                         RADIUS                     January 1997
1405
1406
1407    Type
1408
1409       6 for Service-Type.
1410
1411    Length
1412
1413       6
1414
1415    Value
1416
1417       The Value field is four octets.
1418
1419        1      Login
1420        2      Framed
1421        3      Callback Login
1422        4      Callback Framed
1423        5      Outbound
1424        6      Administrative
1425        7      NAS Prompt
1426        8      Authenticate Only
1427        9      Callback NAS Prompt
1428
1429       The service types are defined as follows when used in an Access-
1430       Accept.  When used in an Access-Request, they should be considered
1431       to be a hint to the RADIUS server that the NAS has reason to
1432       believe the user would prefer the kind of service indicated, but
1433       the server is not required to honor the hint.
1434
1435       Login               The user should be connected to a host.
1436
1437       Framed              A Framed Protocol should be started for the
1438                           User, such as PPP or SLIP.
1439
1440       Callback Login      The user should be disconnected and called
1441                           back, then connected to a host.
1442
1443       Callback Framed     The user should be disconnected and called
1444                           back, then a Framed Protocol should be started
1445                           for the User, such as PPP or SLIP.
1446
1447       Outbound            The user should be granted access to outgoing
1448                           devices.
1449
1450       Administrative      The user should be granted access to the
1451                           administrative interface to the NAS from which
1452                           privileged commands can be executed.
1453
1454
1455
1456
1457
1458 Rigney, et. al.              Informational                     [Page 26]
1459 \f
1460 RFC 2058                         RADIUS                     January 1997
1461
1462
1463       NAS Prompt          The user should be provided a command prompt
1464                           on the NAS from which non-privileged commands
1465                           can be executed.
1466
1467       Authenticate Only   Only Authentication is requested, and no
1468                           authorization information needs to be returned
1469                           in the Access-Accept (typically used by proxy
1470                           servers rather than the NAS itself).
1471
1472       Callback NAS Prompt The user should be disconnected and called
1473                           back, then provided a command prompt on the
1474                           NAS from which non-privileged commands can be
1475                           executed.
1476
1477
1478 5.7.  Framed-Protocol
1479
1480    Description
1481
1482       This Attribute indicates the framing to be used for framed access.
1483       It MAY be used in both Access-Request and Access-Accept packets.
1484
1485    A summary of the Framed-Protocol Attribute format is shown below.
1486    The fields are transmitted from left to right.
1487
1488     0                   1                   2                   3
1489     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1490    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1491    |     Type      |    Length     |             Value
1492    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1493               Value (cont)         |
1494    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1495
1496
1497    Type
1498
1499       7 for Framed-Protocol.
1500
1501    Length
1502
1503       6
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514 Rigney, et. al.              Informational                     [Page 27]
1515 \f
1516 RFC 2058                         RADIUS                     January 1997
1517
1518
1519    Value
1520
1521       The Value field is four octets.
1522
1523        1      PPP
1524        2      SLIP
1525        3      AppleTalk Remote Access Protocol (ARAP)
1526        4      Gandalf proprietary SingleLink/MultiLink protocol
1527        5      Xylogics proprietary IPX/SLIP
1528
1529 5.8.  Framed-IP-Address
1530
1531    Description
1532
1533       This Attribute indicates the address to be configured for the
1534       user.  It MAY be used in Access-Accept packets.  It MAY be used in
1535       an Access-Request packet as a hint by the NAS to the server that
1536       it would prefer that address, but the server is not required to
1537       honor the hint.
1538
1539    A summary of the Framed-IP-Address Attribute format is shown below.
1540    The fields are transmitted from left to right.
1541
1542     0                   1                   2                   3
1543     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1544    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1545    |     Type      |    Length     |            Address
1546    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1547             Address (cont)         |
1548    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1549
1550
1551    Type
1552
1553       8 for Framed-IP-Address.
1554
1555    Length
1556
1557       6
1558
1559    Address
1560
1561       The Address field is four octets.  The value 0xFFFFFFFF indicates
1562       that the NAS should allow the user to select an address (e.g.
1563       Negotiated).  The value 0xFFFFFFFE indicates that the NAS should
1564       select an address for the user (e.g. Assigned from a pool of
1565       addresses kept by the NAS).  Other valid values indicate that the
1566       NAS should use that value as the user's IP address.
1567
1568
1569
1570 Rigney, et. al.              Informational                     [Page 28]
1571 \f
1572 RFC 2058                         RADIUS                     January 1997
1573
1574
1575 5.9.  Framed-IP-Netmask
1576
1577    Description
1578
1579       This Attribute indicates the IP netmask to be configured for the
1580       user when the user is a router to a network.  It MAY be used in
1581       Access-Accept packets.  It MAY be used in an Access-Request packet
1582       as a hint by the NAS to the server that it would prefer that
1583       netmask, but the server is not required to honor the hint.
1584
1585    A summary of the Framed-IP-Netmask Attribute format is shown below.
1586    The fields are transmitted from left to right.
1587
1588     0                   1                   2                   3
1589     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1590    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1591    |     Type      |    Length     |            Address
1592    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1593             Address (cont)         |
1594    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1595
1596
1597    Type
1598
1599       9 for Framed-IP-Netmask.
1600
1601    Length
1602
1603       6
1604
1605    Address
1606
1607       The Address field is four octets specifying the IP netmask of the
1608       user.
1609
1610 5.10.  Framed-Routing
1611
1612    Description
1613
1614       This Attribute indicates the routing method for the user, when the
1615       user is a router to a network.  It is only used in Access-Accept
1616       packets.
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626 Rigney, et. al.              Informational                     [Page 29]
1627 \f
1628 RFC 2058                         RADIUS                     January 1997
1629
1630
1631    A summary of the Framed-Routing Attribute format is shown below.  The
1632    fields are transmitted from left to right.
1633
1634     0                   1                   2                   3
1635     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1636    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1637    |     Type      |    Length     |             Value
1638    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1639               Value (cont)         |
1640    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1641
1642    Type
1643
1644       10 for Framed-Routing.
1645
1646    Length
1647
1648       6
1649
1650    Value
1651
1652       The Value field is four octets.
1653
1654        0      None
1655        1      Send routing packets
1656        2      Listen for routing packets
1657        3      Send and Listen
1658
1659 5.11.  Filter-Id
1660
1661    Description
1662
1663       This Attribute indicates the name of the filter list for this
1664       user.  Zero or more Filter-Id attributes MAY be sent in an
1665       Access-Accept packet.
1666
1667       Identifying a filter list by name allows the filter to be used on
1668       different NASes without regard to filter-list implementation
1669       details.
1670
1671    A summary of the Filter-Id Attribute format is shown below.  The
1672    fields are transmitted from left to right.
1673
1674     0                   1                   2
1675     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1676    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1677    |     Type      |    Length     |  String ...
1678    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1679
1680
1681
1682 Rigney, et. al.              Informational                     [Page 30]
1683 \f
1684 RFC 2058                         RADIUS                     January 1997
1685
1686
1687    Type
1688
1689       11 for Filter-Id.
1690
1691    Length
1692
1693       >= 3
1694
1695    String
1696
1697       The String field is one or more octets, and its contents are
1698       implementation dependent.  It is intended to be human readable and
1699       MUST NOT affect operation of the protocol.  It is recommended that
1700       the message contain displayable ASCII characters from the range 32
1701       through 126 decimal.
1702
1703 5.12.  Framed-MTU
1704
1705    Description
1706
1707       This Attribute indicates the Maximum Transmission Unit to be
1708       configured for the user, when it is not negotiated by some other
1709       means (such as PPP).  It is only used in Access-Accept packets.
1710
1711    A summary of the Framed-MTU Attribute format is shown below.  The
1712    fields are transmitted from left to right.
1713
1714     0                   1                   2                   3
1715     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1716    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1717    |     Type      |    Length     |             Value
1718    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1719               Value (cont)         |
1720    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1721
1722
1723    Type
1724
1725       12 for Framed-MTU.
1726
1727    Length
1728
1729       6
1730
1731    Value
1732
1733       The Value field is four octets.  Despite the size of the field,
1734       values range from 64 to 65535.
1735
1736
1737
1738 Rigney, et. al.              Informational                     [Page 31]
1739 \f
1740 RFC 2058                         RADIUS                     January 1997
1741
1742
1743 5.13.  Framed-Compression
1744
1745    Description
1746
1747      This Attribute indicates a compression protocol to be used for the
1748      link.  It MAY be used in Access-Accept packets.  It MAY be used in
1749      an Access-Request packet as a hint to the server that the NAS would
1750      prefer to use that compression, but the server is not required to
1751      honor the hint.
1752
1753      More than one compression protocol Attribute MAY be sent.  It is
1754      the responsibility of the NAS to apply the proper compression
1755      protocol to appropriate link traffic.
1756
1757    A summary of the Framed-Compression Attribute format is shown below.
1758    The fields are transmitted from left to right.
1759
1760        0                   1                   2                   3
1761        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1762       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1763       |     Type      |    Length     |             Value
1764       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1765                  Value (cont)         |
1766       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1767
1768
1769       Type
1770
1771          13 for Framed-Compression.
1772
1773       Length
1774
1775          6
1776
1777       Value
1778
1779          The Value field is four octets.
1780
1781           0      None
1782           1      VJ TCP/IP header compression [5]
1783           2      IPX header compression
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794 Rigney, et. al.              Informational                     [Page 32]
1795 \f
1796 RFC 2058                         RADIUS                     January 1997
1797
1798
1799 5.14.  Login-IP-Host
1800
1801    Description
1802
1803       This Attribute indicates the system with which to connect the
1804       user, when the Login-Service Attribute is included.  It MAY be
1805       used in Access-Accept packets.  It MAY be used in an Access-
1806       Request packet as a hint to the server that the NAS would prefer
1807       to use that host, but the server is not required to honor the
1808       hint.
1809
1810    A summary of the Login-IP-Host Attribute format is shown below.  The
1811    fields are transmitted from left to right.
1812
1813     0                   1                   2                   3
1814     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1815    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1816    |     Type      |    Length     |            Address
1817    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1818             Address (cont)         |
1819    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1820
1821
1822    Type
1823
1824       14 for Login-IP-Host.
1825
1826    Length
1827
1828       6
1829
1830    Address
1831
1832       The Address field is four octets.  The value 0xFFFFFFFF indicates
1833       that the NAS SHOULD allow the user to select an address.  The
1834       value 0 indicates that the NAS SHOULD select a host to connect the
1835       user to.  Other values indicate the address the NAS SHOULD connect
1836       the user to.
1837
1838 5.15.  Login-Service
1839
1840    Description
1841
1842       This Attribute indicates the service which should be used to
1843       connect the user to the login host.  It is only used in Access-
1844       Accept packets.
1845
1846
1847
1848
1849
1850 Rigney, et. al.              Informational                     [Page 33]
1851 \f
1852 RFC 2058                         RADIUS                     January 1997
1853
1854
1855    A summary of the Login-Service Attribute format is shown below.  The
1856    fields are transmitted from left to right.
1857
1858     0                   1                   2                   3
1859     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1860    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1861    |     Type      |    Length     |             Value
1862    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1863               Value (cont)         |
1864    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1865
1866
1867    Type
1868
1869       15 for Login-Service.
1870
1871    Length
1872
1873       6
1874
1875    Value
1876
1877       The Value field is four octets.
1878
1879        0      Telnet
1880        1      Rlogin
1881        2      TCP Clear
1882        3      PortMaster (proprietary)
1883        4      LAT
1884
1885 5.16.  Login-TCP-Port
1886
1887    Description
1888
1889       This Attribute indicates the TCP port with which the user is to be
1890       connected, when the Login-Service Attribute is also present.  It
1891       is only used in Access-Accept packets.
1892
1893    A summary of the Login-TCP-Port Attribute format is shown below.  The
1894    fields are transmitted from left to right.
1895
1896     0                   1                   2                   3
1897     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1898    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1899    |     Type      |    Length     |             Value
1900    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1901               Value (cont)         |
1902    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1903
1904
1905
1906 Rigney, et. al.              Informational                     [Page 34]
1907 \f
1908 RFC 2058                         RADIUS                     January 1997
1909
1910
1911    Type
1912
1913       16 for Login-TCP-Port.
1914
1915    Length
1916
1917       6
1918
1919    Value
1920
1921       The Value field is four octets.  Despite the size of the field,
1922       values range from 0 to 65535.
1923
1924 5.17.  (unassigned)
1925
1926    Description
1927
1928       ATTRIBUTE TYPE 17 HAS NOT BEEN ASSIGNED.
1929
1930 5.18.  Reply-Message
1931
1932    Description
1933
1934       This Attribute indicates text which MAY be displayed to the user.
1935
1936       When used in an Access-Accept, it is the success message.
1937
1938       When used in an Access-Reject, it is the failure message.  It MAY
1939       indicate a dialog message to prompt the user before another
1940       Access-Request attempt.
1941
1942       When used in an Access-Challenge, it MAY indicate a dialog message
1943       to prompt the user for a response.
1944
1945       Multiple Reply-Message's MAY be included and if any are displayed,
1946       they MUST be displayed in the same order as they appear in the
1947       packet.
1948
1949    A summary of the Reply-Message Attribute format is shown below.  The
1950    fields are transmitted from left to right.
1951
1952     0                   1                   2
1953     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1954    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1955    |     Type      |    Length     |  String ...
1956    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
1957
1958
1959
1960
1961
1962 Rigney, et. al.              Informational                     [Page 35]
1963 \f
1964 RFC 2058                         RADIUS                     January 1997
1965
1966
1967    Type
1968
1969       18 for Reply-Message.
1970
1971    Length
1972
1973       >= 3
1974
1975    String
1976
1977       The String field is one or more octets, and its contents are
1978       implementation dependent.  It is intended to be human readable,
1979       and MUST NOT affect operation of the protocol.  It is recommended
1980       that the message contain displayable ASCII characters from the
1981       range 10, 13, and 32 through 126 decimal.  Mechanisms for
1982       extension to other character sets are beyond the scope of this
1983       specification.
1984
1985 5.19.  Callback-Number
1986
1987    Description
1988
1989       This Attribute indicates a dialing string to be used for callback.
1990       It MAY be used in Access-Accept packets.  It MAY be used in an
1991       Access-Request packet as a hint to the server that a Callback
1992       service is desired, but the server is not required to honor the
1993       hint.
1994
1995    A summary of the Callback-Number Attribute format is shown below.
1996    The fields are transmitted from left to right.
1997
1998     0                   1                   2
1999     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2000    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2001    |     Type      |    Length     |  String ...
2002    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2003
2004
2005    Type
2006
2007       19 for Callback-Number.
2008
2009    Length
2010
2011       >= 3
2012
2013
2014
2015
2016
2017
2018 Rigney, et. al.              Informational                     [Page 36]
2019 \f
2020 RFC 2058                         RADIUS                     January 1997
2021
2022
2023    String
2024
2025       The String field is one or more octets.  The actual format of the
2026       information is site or application specific, and a robust
2027       implementation SHOULD support the field as undistinguished octets.
2028
2029       The codification of the range of allowed usage of this field is
2030       outside the scope of this specification.
2031
2032 5.20.  Callback-Id
2033
2034    Description
2035
2036       This Attribute indicates the name of a place to be called, to be
2037       interpreted by the NAS.  It MAY be used in Access-Accept packets.
2038
2039    A summary of the Callback-Id Attribute format is shown below.  The
2040    fields are transmitted from left to right.
2041
2042     0                   1                   2
2043     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2044    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2045    |     Type      |    Length     |  String ...
2046    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2047
2048
2049    Type
2050
2051       20 for Callback-Id.
2052
2053    Length
2054
2055       >= 3
2056
2057    String
2058
2059       The String field is one or more octets.  The actual format of the
2060       information is site or application specific, and a robust
2061       implementation SHOULD support the field as undistinguished octets.
2062
2063       The codification of the range of allowed usage of this field is
2064       outside the scope of this specification.
2065
2066 5.21.  (unassigned)
2067
2068    Description
2069
2070       ATTRIBUTE TYPE 21 HAS NOT BEEN ASSIGNED.
2071
2072
2073
2074 Rigney, et. al.              Informational                     [Page 37]
2075 \f
2076 RFC 2058                         RADIUS                     January 1997
2077
2078
2079 5.22.  Framed-Route
2080
2081    Description
2082
2083       This Attribute provides routing information to be configured for
2084       the user on the NAS.  It is used in the Access-Accept packet and
2085       can appear multiple times.
2086
2087    A summary of the Framed-Route Attribute format is shown below.  The
2088    fields are transmitted from left to right.
2089
2090     0                   1                   2
2091     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
2092    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2093    |     Type      |    Length     |  String...
2094    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2095
2096
2097    Type
2098
2099       22 for Framed-Route.
2100
2101    Length
2102
2103       >= 3
2104
2105    String
2106
2107       The String field is one or more octets, and its contents are
2108       implementation dependent.  It is intended to be human readable and
2109       MUST NOT affect operation of the protocol.  It is recommended that
2110       the message contain displayable ASCII characters from the range 32
2111       through 126 decimal.
2112
2113       For IP routes, it SHOULD contain a destination prefix in dotted
2114       quad form optionally followed by a slash and a decimal length
2115       specifier stating how many high order bits of the prefix should
2116       be used.  That is followed by a space, a gateway address in
2117       dotted quad form, a space, and one or more metrics separated by
2118       spaces.  For example, "192.168.1.0/24 192.168.1.1 1 2 -1 3 400".
2119       The length specifier may be omitted in which case it should
2120       default to 8 bits for class A prefixes, 16 bits for class B
2121       prefixes, and 24 bits for class C prefixes.  For example,
2122       "192.168.1.0 192.168.1.1 1".
2123
2124       Whenever the gateway address is specified as "0.0.0.0" the IP
2125       address of the user SHOULD be used as the gateway address.
2126
2127
2128
2129
2130 Rigney, et. al.              Informational                     [Page 38]
2131 \f
2132 RFC 2058                         RADIUS                     January 1997
2133
2134
2135 5.23.  Framed-IPX-Network
2136
2137    Description
2138
2139       This Attribute indicates the IPX Network number to be configured
2140       for the user.  It is used in Access-Accept packets.
2141
2142    A summary of the Framed-IPX-Network Attribute format is shown below.
2143    The fields are transmitted from left to right.
2144
2145     0                   1                   2                   3
2146     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2147    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2148    |     Type      |    Length     |             Value
2149    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2150               Value (cont)         |
2151    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2152
2153
2154    Type
2155
2156       23 for Framed-IPX-Network.
2157
2158    Length
2159
2160       6
2161
2162    Value
2163
2164       The Value field is four octets.  The value 0xFFFFFFFE indicates
2165       that the NAS should select an IPX network for the user (e.g.
2166       assigned from a pool of one or more IPX networks kept by the NAS).
2167       Other values should be used as the IPX network for the link to the
2168       user.
2169
2170 5.24.  State
2171
2172    Description
2173
2174       This Attribute is available to be sent by the server to the client
2175       in an Access-Challenge and MUST be sent unmodified from the client
2176       to the server in the new Access-Request reply to that challenge,
2177       if any.
2178
2179       This Attribute is available to be sent by the server to the client
2180       in an Access-Accept that also includes a Termination-Action
2181       Attribute with the value of RADIUS-Request.  If the NAS performs
2182       the Termination-Action by sending a new Access-Request upon
2183
2184
2185
2186 Rigney, et. al.              Informational                     [Page 39]
2187 \f
2188 RFC 2058                         RADIUS                     January 1997
2189
2190
2191       termination of the current session, it MUST include the State
2192       attribute unchanged in that Access-Request.
2193
2194       In either usage, no interpretation by the client should be made.
2195       A packet may have only one State Attribute.  Usage of the State
2196       Attribute is implementation dependent.
2197
2198    A summary of the State Attribute format is shown below.  The fields
2199    are transmitted from left to right.
2200
2201     0                   1                   2
2202     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2203    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2204    |     Type      |    Length     |  String ...
2205    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2206
2207
2208    Type
2209
2210       24 for State.
2211
2212    Length
2213
2214       >= 3
2215
2216    String
2217
2218       The String field is one or more octets.  The actual format of the
2219       information is site or application specific, and a robust
2220       implementation SHOULD support the field as undistinguished octets.
2221
2222       The codification of the range of allowed usage of this field is
2223       outside the scope of this specification.
2224
2225 5.25.  Class
2226
2227    Description
2228
2229       This Attribute is available to be sent by the server to the client
2230       in an Access-Accept and should be sent unmodified by the client to
2231       the accounting server as part of the Accounting-Request packet if
2232       accounting is supported.  No interpretation by the client should
2233       be made.
2234
2235
2236
2237
2238
2239
2240
2241
2242 Rigney, et. al.              Informational                     [Page 40]
2243 \f
2244 RFC 2058                         RADIUS                     January 1997
2245
2246
2247    A summary of the Class Attribute format is shown below.  The fields
2248    are transmitted from left to right.
2249
2250     0                   1                   2
2251     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2252    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2253    |     Type      |    Length     |  String ...
2254    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2255
2256    Type
2257
2258       25 for Class.
2259
2260    Length
2261
2262       >= 3
2263
2264    String
2265
2266       The String field is one or more octets.  The actual format of the
2267       information is site or application specific, and a robust
2268       implementation SHOULD support the field as undistinguished octets.
2269       The codification of the range of allowed usage of this field is
2270       outside the scope of this specification.
2271
2272 5.26.  Vendor-Specific
2273
2274    Description
2275
2276       This Attribute is available to allow vendors to support their own
2277       extended Attributes not suitable for general usage.  It MUST not
2278       affect the operation of the RADIUS protocol.
2279
2280       Servers not equipped to interpret the vendor-specific information
2281       sent by a client MUST ignore it (although it may be reported).
2282       Clients which do not receive desired vendor-specific information
2283       SHOULD make an attempt to operate without it, although they may do
2284       so (and report they are doing so) in a degraded mode.
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298 Rigney, et. al.              Informational                     [Page 41]
2299 \f
2300 RFC 2058                         RADIUS                     January 1997
2301
2302
2303    A summary of the Vendor-Specific Attribute format is shown below.
2304    The fields are transmitted from left to right.
2305
2306     0                   1                   2                   3
2307     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2308    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2309    |     Type      |  Length       |            Vendor-Id
2310    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2311         Vendor-Id (cont)           |  String...
2312    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2313
2314
2315    Type
2316
2317       26 for Vendor-Specific.
2318
2319    Length
2320
2321       >= 7
2322
2323    Vendor-Id
2324
2325       The high-order octet is 0 and the low-order 3 octets are the SMI
2326       Network Management Private Enterprise Code of the Vendor in
2327       network byte order, as defined in the Assigned Numbers RFC [2].
2328
2329    String
2330
2331       The String field is one or more octets.  The actual format of the
2332       information is site or application specific, and a robust
2333       implementation SHOULD support the field as undistinguished octets.
2334
2335       The codification of the range of allowed usage of this field is
2336       outside the scope of this specification.
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354 Rigney, et. al.              Informational                     [Page 42]
2355 \f
2356 RFC 2058                         RADIUS                     January 1997
2357
2358
2359       It SHOULD be encoded as a sequence of vendor type / vendor length
2360       / value fields, as follows.  The Attribute-Specific field is
2361       dependent on the vendor's definition of that attribute.  An
2362       example encoding of the Vendor-Specific attribute using this
2363       method follows:
2364
2365        0                   1                   2                   3
2366        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2367       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2368       |     Type      |  Length       |            Vendor-Id
2369       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2370            Vendor-Id (cont)           | Vendor type   | Vendor length |
2371       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2372       |    Attribute-Specific...
2373       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2374
2375 5.27.  Session-Timeout
2376
2377    Description
2378
2379       This Attribute sets the maximum number of seconds of service to be
2380       provided to the user before termination of the session or prompt.
2381       This Attribute is available to be sent by the server to the client
2382       in an Access-Accept or Access-Challenge.
2383
2384    A summary of the Session-Timeout Attribute format is shown below.
2385    The fields are transmitted from left to right.
2386
2387     0                   1                   2                   3
2388     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2389    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2390    |     Type      |    Length     |             Value
2391    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2392               Value (cont)         |
2393    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2394
2395    Type
2396
2397       27 for Session-Timeout.
2398
2399    Length
2400
2401       6
2402
2403
2404
2405
2406
2407
2408
2409
2410 Rigney, et. al.              Informational                     [Page 43]
2411 \f
2412 RFC 2058                         RADIUS                     January 1997
2413
2414
2415    Value
2416
2417       The field is 4 octets, containing a 32-bit unsigned integer with
2418       the maximum number of seconds this user should be allowed to
2419       remain connected by the NAS.
2420
2421 5.28.  Idle-Timeout
2422
2423    Description
2424
2425       This Attribute sets the maximum number of consecutive seconds of
2426       idle connection allowed to the user before termination of the
2427       session or prompt.  This Attribute is available to be sent by the
2428       server to the client in an Access-Accept or Access-Challenge.
2429
2430    A summary of the Idle-Timeout Attribute format is shown below.  The
2431    fields are transmitted from left to right.
2432
2433     0                   1                   2                   3
2434     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2435    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2436    |     Type      |    Length     |             Value
2437    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2438               Value (cont)         |
2439    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2440
2441    Type
2442
2443       28 for Idle-Timeout.
2444
2445    Length
2446
2447       6
2448
2449    Value
2450
2451       The field is 4 octets, containing a 32-bit unsigned integer with
2452       the maximum number of consecutive seconds of idle time this user
2453       should be permitted before being disconnected by the NAS.
2454
2455 5.29.  Termination-Action
2456
2457    Description
2458
2459       This Attribute indicates what action the NAS should take when the
2460       specified service is completed.  It is only used in Access-Accept
2461       packets.
2462
2463
2464
2465
2466 Rigney, et. al.              Informational                     [Page 44]
2467 \f
2468 RFC 2058                         RADIUS                     January 1997
2469
2470
2471    A summary of the Termination-Action Attribute format is shown below.
2472    The fields are transmitted from left to right.
2473
2474     0                   1                   2                   3
2475     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2476    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2477    |     Type      |    Length     |             Value
2478    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2479               Value (cont)         |
2480    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2481
2482
2483    Type
2484
2485       29 for Termination-Action.
2486
2487    Length
2488
2489       6
2490
2491    Value
2492
2493       The Value field is four octets.
2494
2495        0      Default
2496        1      RADIUS-Request
2497
2498
2499       If the Value is set to RADIUS-Request, upon termination of the
2500       specified service the NAS MAY send a new Access-Request to the
2501       RADIUS server, including the State attribute if any.
2502
2503 5.30.  Called-Station-Id
2504
2505    Description
2506
2507       This Attribute allows the NAS to send in the Access-Request
2508       packet the phone number that the user called, using  Dialed
2509       Number Identification (DNIS) or similar technology.  Note that
2510       this may be different from the phone number the call comes in
2511       on.  It is only used in Access-Request packets.
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522 Rigney, et. al.              Informational                     [Page 45]
2523 \f
2524 RFC 2058                         RADIUS                     January 1997
2525
2526
2527    A summary of the Called-Station-Id Attribute format is shown below.
2528    The fields are transmitted from left to right.
2529
2530     0                   1                   2
2531     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2532    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2533    |     Type      |    Length     |  String ...
2534    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2535
2536
2537    Type
2538
2539       30 for Called-Station-Id.
2540
2541    Length
2542
2543       >= 3
2544
2545    String
2546
2547       The String field is one or more octets, containing the phone
2548       number that the user's call came in on.
2549
2550       The actual format of the information is site or application
2551       specific.  Printable ASCII is recommended, but a robust
2552       implementation SHOULD support the field as undistinguished octets.
2553
2554       The codification of the range of allowed usage of this field is
2555       outside the scope of this specification.
2556
2557 5.31.  Calling-Station-Id
2558
2559    Description
2560
2561       This Attribute allows the NAS to send in the Access-Request
2562       packet the phone number that the call came from, using Automatic
2563       Number Identification (ANI) or similar technology.  It is only
2564       used in Access-Request packets.
2565
2566    A summary of the Calling-Station-Id Attribute format is shown below.
2567    The fields are transmitted from left to right.
2568
2569     0                   1                   2
2570     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2571    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2572    |     Type      |    Length     |  String ...
2573    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2574
2575
2576
2577
2578 Rigney, et. al.              Informational                     [Page 46]
2579 \f
2580 RFC 2058                         RADIUS                     January 1997
2581
2582
2583    Type
2584
2585       31 for Calling-Station-Id.
2586
2587    Length
2588
2589       >= 3
2590
2591    String
2592
2593       The String field is one or more octets, containing the phone
2594       number that the user placed the call from.
2595
2596       The actual format of the information is site or application
2597       specific.  Printable ASCII is recommended, but a robust
2598       implementation SHOULD support the field as undistinguished octets.
2599
2600       The codification of the range of allowed usage of this field is
2601       outside the scope of this specification.
2602
2603 5.32.  NAS-Identifier
2604
2605    Description
2606
2607       This Attribute contains a string identifying the NAS originating
2608       the Access-Request.  It is only used in Access-Request packets.
2609       Either NAS-IP-Address or NAS-Identifier SHOULD be present in an
2610       Access-Request packet.
2611
2612    A summary of the NAS-Identifier Attribute format is shown below.  The
2613    fields are transmitted from left to right.
2614
2615     0                   1                   2
2616     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2617    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2618    |     Type      |    Length     |  String ...
2619    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2620
2621
2622    Type
2623
2624       32 for NAS-Identifier.
2625
2626    Length
2627
2628       >= 3
2629
2630
2631
2632
2633
2634 Rigney, et. al.              Informational                     [Page 47]
2635 \f
2636 RFC 2058                         RADIUS                     January 1997
2637
2638
2639    String
2640
2641       The String field is one or more octets, and should be unique to
2642       the NAS within the scope of the RADIUS server.  For example, a
2643       fully qualified domain name would be suitable as a NAS-Identifier.
2644
2645       The actual format of the information is site or application
2646       specific, and a robust implementation SHOULD support the field as
2647       undistinguished octets.
2648
2649       The codification of the range of allowed usage of this field is
2650       outside the scope of this specification.
2651
2652 5.33.  Proxy-State
2653
2654    Description
2655
2656       This Attribute is available to be sent by a proxy server to
2657       another server when forwarding an Access-Request and MUST be
2658       returned unmodified in the Access-Accept, Access-Reject or
2659       Access-Challenge.  This attribute should be removed by the proxy
2660       server before the response is forwarded to the NAS.
2661
2662       Usage of the Proxy-State Attribute is implementation dependent.  A
2663       description of its function is outside the scope of this
2664       specification.
2665
2666    A summary of the Proxy-State Attribute format is shown below.  The
2667    fields are transmitted from left to right.
2668
2669     0                   1                   2
2670     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2671    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2672    |     Type      |    Length     |  String ...
2673    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2674
2675
2676    Type
2677
2678       33 for Proxy-State.
2679
2680    Length
2681
2682       >= 3
2683
2684
2685
2686
2687
2688
2689
2690 Rigney, et. al.              Informational                     [Page 48]
2691 \f
2692 RFC 2058                         RADIUS                     January 1997
2693
2694
2695    String
2696
2697       The String field is one or more octets.  The actual format of the
2698       information is site or application specific, and a robust
2699       implementation SHOULD support the field as undistinguished octets.
2700
2701       The codification of the range of allowed usage of this field is
2702       outside the scope of this specification.
2703
2704 5.34.  Login-LAT-Service
2705
2706    Description
2707
2708       This Attribute indicates the system with which the user is to be
2709       connected by LAT.  It MAY be used in Access-Accept packets, but
2710       only when LAT is specified as the Login-Service.  It MAY be used
2711       in an Access-Request packet as a hint to the server, but the
2712       server is not required to honor the hint.
2713
2714       Administrators use the service attribute when dealing with
2715       clustered systems, such as a VAX or Alpha cluster. In such an
2716       environment several different time sharing hosts share the same
2717       resources (disks, printers, etc.), and administrators often
2718       configure each to offer access (service) to each of the shared
2719       resources. In this case, each host in the cluster advertises its
2720       services through LAT broadcasts.
2721
2722       Sophisticated users often know which service providers (machines)
2723       are faster and tend to use a node name when initiating a LAT
2724       connection.  Alternately, some administrators want particular
2725       users to use certain machines as a primitive form of load
2726       balancing (although LAT knows how to do load balancing itself).
2727
2728    A summary of the Login-LAT-Service Attribute format is shown below.
2729    The fields are transmitted from left to right.
2730
2731     0                   1                   2
2732     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2733    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2734    |     Type      |    Length     |  String ...
2735    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2736
2737
2738    Type
2739
2740       34 for Login-LAT-Service.
2741
2742
2743
2744
2745
2746 Rigney, et. al.              Informational                     [Page 49]
2747 \f
2748 RFC 2058                         RADIUS                     January 1997
2749
2750
2751    Length
2752
2753       >= 3
2754
2755    String
2756
2757       The String field is one or more octets, and contains the identity
2758       of the LAT service to use.  The LAT Architecture allows this
2759       string to contain $ (dollar), - (hyphen), . (period), _
2760       (underscore), numerics, upper and lower case alphabetics, and the
2761       ISO Latin-1 character set extension [6].  All LAT string
2762       comparisons are case insensitive.
2763
2764 5.35.  Login-LAT-Node
2765
2766    Description
2767
2768       This Attribute indicates the Node with which the user is to be
2769       automatically connected by LAT.  It MAY be used in Access-Accept
2770       packets, but only when LAT is specified as the Login-Service.  It
2771       MAY be used in an Access-Request packet as a hint to the server,
2772       but the server is not required to honor the hint.
2773
2774    A summary of the Login-LAT-Node Attribute format is shown below.  The
2775    fields are transmitted from left to right.
2776
2777     0                   1                   2
2778     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2779    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2780    |     Type      |    Length     |  String ...
2781    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2782
2783
2784    Type
2785
2786       35 for Login-LAT-Node.
2787
2788    Length
2789
2790       >= 3
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802 Rigney, et. al.              Informational                     [Page 50]
2803 \f
2804 RFC 2058                         RADIUS                     January 1997
2805
2806
2807    String
2808
2809       The String field is one or more octets, and contains the identity
2810       of the LAT Node to connect the user to.  The LAT Architecture
2811       allows this string to contain $ (dollar), - (hyphen), . (period),
2812       _ (underscore), numerics, upper and lower case alphabetics, and
2813       the ISO Latin-1 character set extension.  All LAT string
2814       comparisons are case insensitive.
2815
2816 5.36.  Login-LAT-Group
2817
2818    Description
2819
2820       This Attribute contains a string identifying the LAT group codes
2821       which this user is authorized to use.  It MAY be used in Access-
2822       Accept packets, but only when LAT is specified as the Login-
2823       Service.  It MAY be used in an Access-Request packet as a hint to
2824       the server, but the server is not required to honor the hint.
2825
2826       LAT supports 256 different group codes, which LAT uses as a form
2827       of access rights.  LAT encodes the group codes as a 256 bit
2828       bitmap.
2829
2830       Administrators can assign one or more of the group code bits at
2831       the LAT service provider; it will only accept LAT connections that
2832       have these group codes set in the bit map. The administrators
2833       assign a bitmap of authorized group codes to each user; LAT gets
2834       these from the operating system, and uses these in its requests to
2835       the service providers.
2836
2837    A summary of the Login-LAT-Group Attribute format is shown below.
2838    The fields are transmitted from left to right.
2839
2840     0                   1                   2
2841     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2842    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2843    |     Type      |    Length     |  String ...
2844    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2845
2846
2847    Type
2848
2849       36 for Login-LAT-Group.
2850
2851    Length
2852
2853       34
2854
2855
2856
2857
2858 Rigney, et. al.              Informational                     [Page 51]
2859 \f
2860 RFC 2058                         RADIUS                     January 1997
2861
2862
2863    String
2864
2865       The String field is a 32 octet bit map, most significant octet
2866       first.  A robust implementation SHOULD support the field as
2867       undistinguished octets.
2868
2869       The codification of the range of allowed usage of this field is
2870       outside the scope of this specification.
2871
2872 5.37.  Framed-AppleTalk-Link
2873
2874    Description
2875
2876       This Attribute indicates the AppleTalk network number which should
2877       be used for the serial link to the user, which is another
2878       AppleTalk router.  It is only used in Access-Accept packets.  It
2879       is never used when the user is not another router.
2880
2881    A summary of the Framed-AppleTalk-Link Attribute format is shown
2882    below.  The fields are transmitted from left to right.
2883
2884     0                   1                   2                   3
2885     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2886    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2887    |     Type      |    Length     |             Value
2888    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2889               Value (cont)         |
2890    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2891
2892    Type
2893
2894       37 for Framed-AppleTalk-Link.
2895
2896    Length
2897
2898       6
2899
2900    Value
2901
2902       The Value field is four octets.  Despite the size of the field,
2903       values range from 0 to 65535.  The special value of 0 indicates
2904       that this is an unnumbered serial link.  A value of 1-65535 means
2905       that the serial line between the NAS and the user should be
2906       assigned that value as an AppleTalk network number.
2907
2908
2909
2910
2911
2912
2913
2914 Rigney, et. al.              Informational                     [Page 52]
2915 \f
2916 RFC 2058                         RADIUS                     January 1997
2917
2918
2919 5.38.  Framed-AppleTalk-Network
2920
2921    Description
2922
2923       This Attribute indicates the AppleTalk Network number which the
2924       NAS should probe to allocate an AppleTalk node for the user.  It
2925       is only used in Access-Accept packets.  It is never used when the
2926       user is another router.  Multiple instances of this Attribute
2927       indicate that the NAS may probe using any of the network numbers
2928       specified.
2929
2930    A summary of the Framed-AppleTalk-Network Attribute format is shown
2931    below.  The fields are transmitted from left to right.
2932
2933     0                   1                   2                   3
2934     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
2935    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2936    |     Type      |    Length     |             Value
2937    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2938               Value (cont)         |
2939    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2940
2941
2942    Type
2943
2944       38 for Framed-AppleTalk-Network.
2945
2946    Length
2947
2948       6
2949
2950    Value
2951
2952       The Value field is four octets.  Despite the size of the field,
2953       values range from 0 to 65535.  The special value 0 indicates that
2954       the NAS should assign a network for the user, using its default
2955       cable range.  A value between 1 and 65535 (inclusive) indicates
2956       the AppleTalk Network the NAS should probe to find an address for
2957       the user.
2958
2959 5.39.  Framed-AppleTalk-Zone
2960
2961    Description
2962
2963       This Attribute indicates the AppleTalk Default Zone to be used for
2964       this user.  It is only used in Access-Accept packets.  Multiple
2965       instances of this attribute in the same packet are not allowed.
2966
2967
2968
2969
2970 Rigney, et. al.              Informational                     [Page 53]
2971 \f
2972 RFC 2058                         RADIUS                     January 1997
2973
2974
2975    A summary of the Framed-AppleTalk-Zone Attribute format is shown
2976    below.  The fields are transmitted from left to right.
2977
2978     0                   1                   2
2979     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
2980    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2981    |     Type      |    Length     |  String ...
2982    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
2983
2984
2985    Type
2986
2987       39 for Framed-AppleTalk-Zone.
2988
2989    Length
2990
2991       >= 3
2992
2993    String
2994
2995       The name of the Default AppleTalk Zone to be used for this user.
2996       A robust implementation SHOULD support the field as
2997       undistinguished octets.
2998
2999       The codification of the range of allowed usage of this field is
3000       outside the scope of this specification.
3001
3002 5.40.  CHAP-Challenge
3003
3004    Description
3005
3006       This Attribute contains the CHAP Challenge sent by the NAS to a
3007       PPP Challenge-Handshake Authentication Protocol (CHAP) user.  It
3008       is only used in Access-Request packets.
3009
3010       If the CHAP challenge value is 16 octets long it MAY be placed in
3011       the Request Authenticator field instead of using this attribute.
3012
3013    A summary of the CHAP-Challenge Attribute format is shown below.  The
3014    fields are transmitted from left to right.
3015
3016     0                   1                   2
3017     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
3018    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
3019    |     Type      |    Length     |    String...
3020    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
3021
3022
3023
3024
3025
3026 Rigney, et. al.              Informational                     [Page 54]
3027 \f
3028 RFC 2058                         RADIUS                     January 1997
3029
3030
3031    Type
3032
3033       60 for CHAP-Challenge.
3034
3035    Length
3036
3037       >= 7
3038
3039    String
3040
3041       The String field contains the CHAP Challenge.
3042
3043 5.41.  NAS-Port-Type
3044
3045    Description
3046
3047       This Attribute indicates the type of the physical port of the NAS
3048       which is authenticating the user.  It can be used instead of or in
3049       addition to the NAS-Port (5) attribute.  It is only used in
3050       Access-Request packets.  Either NAS-Port (5) or NAS-Port-Type or
3051       both SHOULD be present in an Access-Request packet, if the NAS
3052       differentiates among its ports.
3053
3054    A summary of the NAS-Port-Type Attribute format is shown below.  The
3055    fields are transmitted from left to right.
3056
3057     0                   1                   2                   3
3058     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
3059    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3060    |     Type      |    Length     |             Value
3061    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3062               Value (cont)         |
3063    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3064
3065
3066    Type
3067
3068       61 for NAS-Port-Type.
3069
3070    Length
3071
3072       6
3073
3074    Value
3075
3076       The Value field is four octets.  "Virtual" refers to a connection
3077       to the NAS via some transport protocol, instead of through a
3078       physical port.  For example, if a user telnetted into a NAS to
3079
3080
3081
3082 Rigney, et. al.              Informational                     [Page 55]
3083 \f
3084 RFC 2058                         RADIUS                     January 1997
3085
3086
3087       authenticate himself as an Outbound-User, the Access-Request might
3088       include NAS-Port-Type = Virtual as a hint to the RADIUS server
3089       that the user was not on a physical port.
3090
3091       0       Async
3092       1       Sync
3093       2       ISDN Sync
3094       3       ISDN Async V.120
3095       4       ISDN Async V.110
3096       5       Virtual
3097
3098 5.42.  Port-Limit
3099
3100    Description
3101
3102       This Attribute sets the maximum number of ports to be provided to
3103       the user by the NAS.  This Attribute MAY be sent by the server to
3104       the client in an Access-Accept packet.  It is intended for use in
3105       conjunction with Multilink PPP [7] or similar uses.  It MAY also
3106       be sent by the NAS to the server as a hint that that many ports
3107       are desired for use, but the server is not required to honor the
3108       hint.
3109
3110    A summary of the Port-Limit Attribute format is shown below.  The
3111    fields are transmitted from left to right.
3112
3113     0                   1                   2                   3
3114     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
3115    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3116    |     Type      |    Length     |             Value
3117    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3118               Value (cont)         |
3119    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3120
3121
3122    Type
3123
3124       62 for Port-Limit.
3125
3126    Length
3127
3128       6
3129
3130    Value
3131
3132       The field is 4 octets, containing a 32-bit unsigned integer with
3133       the maximum number of ports this user should be allowed to connect
3134       to on the NAS.
3135
3136
3137
3138 Rigney, et. al.              Informational                     [Page 56]
3139 \f
3140 RFC 2058                         RADIUS                     January 1997
3141
3142
3143 5.43.  Login-LAT-Port
3144
3145    Description
3146
3147       This Attribute indicates the Port with which the user is to be
3148       connected by LAT.  It MAY be used in Access-Accept packets, but
3149       only when LAT is specified as the Login-Service.  It MAY be used
3150       in an Access-Request packet as a hint to the server, but the
3151       server is not required to honor the hint.
3152
3153    A summary of the Login-LAT-Port Attribute format is shown below.  The
3154    fields are transmitted from left to right.
3155
3156     0                   1                   2
3157     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
3158    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
3159    |     Type      |    Length     |  String ...
3160    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
3161
3162    Type
3163
3164       63 for Login-LAT-Port.
3165
3166    Length
3167
3168       >= 3
3169
3170    String
3171
3172       The String field is one or more octets, and contains the identity
3173       of the LAT port to use.  The LAT Architecture allows this string
3174       to contain $ (dollar), - (hyphen), . (period), _ (underscore),
3175       numerics, upper and lower case alphabetics, and the ISO Latin-1
3176       character set extension.  All LAT string comparisons are case
3177       insensitive.
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194 Rigney, et. al.              Informational                     [Page 57]
3195 \f
3196 RFC 2058                         RADIUS                     January 1997
3197
3198
3199 5.44.  Table of Attributes
3200
3201    The following table provides a guide to which attributes may be found
3202    in which kinds of packets, and in what quantity.
3203
3204    Request   Accept   Reject   Challenge   #    Attribute
3205    1         0        0        0            1   User-Name
3206    0-1       0        0        0            2   User-Password [Note 1]
3207    0-1       0        0        0            3   CHAP-Password [Note 1]
3208    0-1       0        0        0            4   NAS-IP-Address
3209    0-1       0        0        0            5   NAS-Port
3210    0-1       0-1      0        0            6   Service-Type
3211    0-1       0-1      0        0            7   Framed-Protocol
3212    0-1       0-1      0        0            8   Framed-IP-Address
3213    0-1       0-1      0        0            9   Framed-IP-Netmask
3214    0         0-1      0        0           10   Framed-Routing
3215    0         0+       0        0           11   Filter-Id
3216    0         0-1      0        0           12   Framed-MTU
3217    0+        0+       0        0           13   Framed-Compression
3218    0+        0+       0        0           14   Login-IP-Host
3219    0         0-1      0        0           15   Login-Service
3220    0         0-1      0        0           16   Login-TCP-Port
3221    0         0+       0+       0+          18   Reply-Message
3222    0-1       0-1      0        0           19   Callback-Number
3223    0         0-1      0        0           20   Callback-Id
3224    0         0+       0        0           22   Framed-Route
3225    0         0-1      0        0           23   Framed-IPX-Network
3226    0-1       0-1      0        0-1         24   State
3227    0         0+       0        0           25   Class
3228    0+        0+       0        0+          26   Vendor-Specific
3229    0         0-1      0        0-1         27   Session-Timeout
3230    0         0-1      0        0-1         28   Idle-Timeout
3231    0         0-1      0        0           29   Termination-Action
3232    0-1       0        0        0           30   Called-Station-Id
3233    0-1       0        0        0           31   Calling-Station-Id
3234    0-1       0        0        0           32   NAS-Identifier
3235    0+        0+       0+       0+          33   Proxy-State
3236    0-1       0-1      0        0           34   Login-LAT-Service
3237    0-1       0-1      0        0           35   Login-LAT-Node
3238    0-1       0-1      0        0           36   Login-LAT-Group
3239    0         0-1      0        0           37   Framed-AppleTalk-Link
3240    0         0+       0        0           38   Framed-AppleTalk-Network
3241    0         0-1      0        0           39   Framed-AppleTalk-Zone
3242    0-1       0        0        0           60   CHAP-Challenge
3243    0-1       0        0        0           61   NAS-Port-Type
3244    0-1       0-1      0        0           62   Port-Limit
3245    0-1       0-1      0        0           63   Login-LAT-Port
3246    Request   Accept   Reject   Challenge   #    Attribute
3247
3248
3249
3250 Rigney, et. al.              Informational                     [Page 58]
3251 \f
3252 RFC 2058                         RADIUS                     January 1997
3253
3254
3255    [Note 1] An Access-Request MUST contain either a User-Password or a
3256    CHAP-Password, and MUST NOT contain both.
3257
3258    The following table defines the meaning of the above table entries.
3259
3260 0     This attribute MUST NOT be present in packet.
3261 0+    Zero or more instances of this attribute MAY be present in packet.
3262 0-1   Zero or one instance of this attribute MAY be present in packet.
3263 1     Exactly one instance of this attribute MUST be present in packet.
3264
3265 6.  Examples
3266
3267    A few examples are presented to illustrate the flow of packets and
3268    use of typical attributes.  These examples are not intended to be
3269    exhaustive, many others are possible.
3270
3271 6.1.  User Telnet to Specified Host
3272
3273    The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
3274    RADIUS Server for a user named nemo logging in on port 3.
3275
3276       Code = 1        (Access-Request)
3277       ID = 0
3278       Request Authenticator = {16 octet random number}
3279       Attributes:
3280           User-Name = "nemo"
3281           User-Password = {16 octets of Password padded at end with nulls,
3282                       XORed with MD5(shared secret|Request Authenticator)}
3283           NAS-IP-Address = 192.168.1.16
3284           NAS-Port = 3
3285
3286
3287    The RADIUS server authenticates nemo, and sends an Access-Accept UDP
3288    packet to the NAS telling it to telnet nemo to host 192.168.1.3.
3289
3290       Code = 2        (Access-Accept)
3291       ID = 0          (same as in Access-Request)
3292       Response Authenticator = {16-octet MD-5 checksum of the code (2),
3293                       id (0), the Request Authenticator from above, the
3294                       attributes in this reply, and the shared secret}
3295       Attributes:
3296           Service-Type = Login-User
3297           Login-Service = Telnet
3298           Login-Host = 192.168.1.3
3299
3300
3301
3302
3303
3304
3305
3306 Rigney, et. al.              Informational                     [Page 59]
3307 \f
3308 RFC 2058                         RADIUS                     January 1997
3309
3310
3311 6.2.  Framed User Authenticating with CHAP
3312
3313    The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
3314    RADIUS Server for a user named flopsy logging in on port 20 with PPP,
3315    authenticating using CHAP.  The NAS sends along the Service-Type and
3316    Framed-Protocol attributes as a hint to the RADIUS server that this
3317    user is looking for PPP, although the NAS is not required to do so.
3318
3319       Code = 1        (Access-Request)
3320       ID = 1
3321       Request Authenticator = {16 octet random number also used as
3322                                CHAP challenge}
3323       Attributes:
3324           User-Name = "flopsy"
3325           CHAP-Password = {1 octet CHAP ID followed by 16 octet
3326                            CHAP response}
3327           NAS-IP-Address = 192.168.1.16
3328           NAS-Port = 20
3329           Service-Type = Framed-User
3330           Framed-Protocol = PPP
3331
3332    The RADIUS server authenticates flopsy, and sends an Access-Accept
3333    UDP packet to the NAS telling it to start PPP service and assign an
3334    address for the user out of its dynamic address pool.
3335
3336       Code = 2        (Access-Accept)
3337       ID = 1          (same as in Access-Request)
3338       Response Authenticator = {16-octet MD-5 checksum of the code (2),
3339                       id (1), the Request Authenticator from above, the
3340                       attributes in this reply, and the shared secret}
3341       Attributes:
3342           Service-Type = Framed-User
3343           Framed-Protocol = PPP
3344           Framed-IP-Address = 255.255.255.254
3345           Framed-Routing = None
3346           Framed-Compression = 1      (VJ TCP/IP Header Compression)
3347           Framed-MTU = 1500
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362 Rigney, et. al.              Informational                     [Page 60]
3363 \f
3364 RFC 2058                         RADIUS                     January 1997
3365
3366
3367 6.3.  User with Challenge-Response card
3368
3369    The NAS at 192.168.1.16 sends an Access-Request UDP packet to the
3370    RADIUS Server for a user named mopsy logging in on port 7.
3371
3372 Code = 1        (Access-Request)
3373 ID = 2
3374 Request Authenticator = {16 octet random number}
3375 Attributes:
3376     User-Name = "mopsy"
3377     User-Password = {16 octets of Password padded at end with nulls,
3378                 XORed with MD5(shared secret|Request Authenticator)}
3379     NAS-IP-Address = 192.168.1.16
3380     NAS-Port = 7
3381
3382    The RADIUS server decides to challenge mopsy, sending back a
3383    challenge string and looking for a response.  The RADIUS server
3384    therefore and sends an Access-Challenge UDP packet to the NAS.
3385
3386 Code = 11       (Access-Challenge}
3387 ID = 2          (same as in Access-Request)
3388 Response Authenticator = {16-octet MD-5 checksum of the code (11),
3389                 id (2), the Request Authenticator from above, the
3390                 attributes in this reply, and the shared secret}
3391 Attributes:
3392     Reply-Message = "Challenge 32769430.  Enter response at prompt."
3393     State =     {Magic Cookie to be returned along with user's response}
3394
3395    The user enters his response, and the NAS send a new Access-Request
3396    with that response, and includes the State Attribute.
3397
3398 Code = 1        (Access-Request)
3399 ID = 3          (Note that this changes)
3400 Request Authenticator = {NEW 16 octet random number}
3401 Attributes:
3402     User-Name = "mopsy"
3403     User-Password = {16 octets of Response padded at end with
3404                 nulls, XORed with MD5 checksum of shared secret
3405                 plus above Request Authenticator}
3406     NAS-IP-Address = 192.168.1.16
3407     NAS-Port = 7
3408     State =     {Magic Cookie from Access-Challenge packet, unchanged}
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418 Rigney, et. al.              Informational                     [Page 61]
3419 \f
3420 RFC 2058                         RADIUS                     January 1997
3421
3422
3423    The Response was incorrect, so the RADIUS server tells the NAS to
3424    reject the login attempt.
3425
3426       Code = 3        (Access-Reject)
3427       ID = 3          (same as in Access-Request)
3428       Response Authenticator = {16-octet MD-5 checksum of the code (3),
3429                       id (3), the Request Authenticator from above, the
3430                       attributes in this reply if any, and the shared
3431                        secret}
3432       Attributes:
3433               (none, although a Reply-Message could be sent)
3434
3435 Security Considerations
3436
3437    Security issues are the primary topic of this document.
3438
3439    In practice, within or associated with each RADIUS server, there is a
3440    database which associates "user" names with authentication
3441    information ("secrets").  It is not anticipated that a particular
3442    named user would be authenticated by multiple methods.  This would
3443    make the user vulnerable to attacks which negotiate the least secure
3444    method from among a set.  Instead, for each named user there should
3445    be an indication of exactly one method used to authenticate that user
3446    name.  If a user needs to make use of different authentication
3447    methods under different circumstances, then distinct user names
3448    SHOULD be employed, each of which identifies exactly one
3449    authentication method.
3450
3451    Passwords and other secrets should be stored at the respective ends
3452    such that access to them is as limited as possible.  Ideally, the
3453    secrets should only be accessible to the process requiring access in
3454    order to perform the authentication.
3455
3456    The secrets should be distributed with a mechanism that limits the
3457    number of entities that handle (and thus gain knowledge of) the
3458    secret.  Ideally, no unauthorized person should ever gain knowledge
3459    of the secrets.  It is possible to achieve this with SNMP Security
3460    Protocols [8], but such a mechanism is outside the scope of this
3461    specification.
3462
3463    Other distribution methods are currently undergoing research and
3464    experimentation.  The SNMP Security document [8] also has an
3465    excellent overview of threats to network protocols.
3466
3467
3468
3469
3470
3471
3472
3473
3474 Rigney, et. al.              Informational                     [Page 62]
3475 \f
3476 RFC 2058                         RADIUS                     January 1997
3477
3478
3479 References
3480
3481    [1]   Rivest, R., and S. Dusse, "The MD5 Message-Digest Algorithm",
3482          RFC 1321, MIT Laboratory for Computer Science, RSA Data
3483          Security Inc., April 1992.
3484
3485    [2]   Postel, J., "User Datagram Protocol", STD 6, RFC 768,
3486          USC/Information Sciences Institute, August 1980.
3487
3488    [3]   Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
3489          1700, USC/Information Sciences Institute, October 1994.
3490
3491    [4]   Kaufman, C., Perlman, R., and Speciner, M., "Network Security:
3492          Private Communications in a Public World", Prentice Hall, March
3493          1995, ISBN 0-13-061466-1.
3494
3495    [5]   Jacobson, V., "Compressing TCP/IP headers for low-speed serial
3496          links", RFC 1144, Lawrence Berkeley Laboratory, February 1990.
3497
3498    [6]   ISO 8859. International Standard -- Information Processing --
3499          8-bit Single-Byte Coded Graphic Character Sets -- Part 1: Latin
3500          Alphabet No. 1, ISO 8859-1:1987.
3501          <URL:http://www.iso.ch/cate/d16338.html>
3502
3503    [7]   Sklower, K., Lloyd, B., McGregor, G., and Carr, D., "The PPP
3504          Multilink Protocol (MP)", RFC 1717, University of California
3505          Berkeley, Lloyd Internetworking, Newbridge Networks
3506          Corporation, November 1994.
3507
3508    [8]   Galvin, J., McCloghrie, K., and J. Davin, "SNMP Security
3509          Protocols", RFC 1352, Trusted Information Systems, Inc., Hughes
3510          LAN Systems, Inc., MIT Laboratory for Computer Science, July
3511          1992.
3512
3513    [9]   Rigney, C., "RADIUS Accounting", RFC 2059, January 1997.
3514
3515 Acknowledgments
3516
3517    RADIUS was originally developed by Livingston Enterprises for their
3518    PortMaster series of Network Access Servers.
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530 Rigney, et. al.              Informational                     [Page 63]
3531 \f
3532 RFC 2058                         RADIUS                     January 1997
3533
3534
3535 Chair's Address
3536
3537    The working group can be contacted via the current chair:
3538
3539    Carl Rigney
3540    Livingston Enterprises
3541    6920 Koll Center Parkway, Suite 220
3542    Pleasanton, California  94566
3543
3544    Phone: +1 510 426 0770
3545    EMail: cdr@livingston.com
3546
3547 Authors' Addresses
3548
3549    Questions about this memo can also be directed to:
3550
3551    Carl Rigney
3552    Livingston Enterprises
3553    6920 Koll Center Parkway, Suite 220
3554    Pleasanton, California  94566
3555
3556    Phone: +1 510 426 0770
3557    EMail: cdr@livingston.com
3558
3559
3560    Allan C. Rubens
3561    Merit Network, Inc.
3562    4251 Plymouth Road
3563    Ann Arbor, Michigan  48105-2785
3564
3565    EMail: acr@merit.edu
3566
3567
3568    William Allen Simpson
3569    Daydreamer
3570    Computer Systems Consulting Services
3571    1384 Fontaine
3572    Madison Heights, Michigan  48071
3573
3574    EMail: wsimpson@greendragon.com
3575
3576
3577    Steve Willens
3578    Livingston Enterprises
3579    6920 Koll Center Parkway, Suite 220
3580    Pleasanton, California  94566
3581
3582    EMail: steve@livingston.com
3583
3584
3585
3586 Rigney, et. al.              Informational                     [Page 64]
3587 \f