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