RADIUS Working Group C Rigney
INTERNET-DRAFT Livingston
W Willats
Cyno Technologies
expires in six months January 1997
RADIUS Extensions
draft-ietf-radius-ext-00.txt
Status of this Memo
This document is a submission to the RADIUS Working Group of the
Internet Engineering Task Force (IETF). Comments should be submitted
to the ietf-radius@livingston.com mailing list.
Distribution of this memo is unlimited.
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as ``work in progress.''
To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
This document describes additional attributes for carrying
authentication, authorization and accounting information between a
Network Access Server (NAS) and a shared Accounting Server using the
Remote Authentication Dial In User Service (RADIUS) protocol
described in RFC 2058 and RFC 2059.
Rigney, et al. expires in six months [Page i]
DRAFT RADIUS Extensions January 1997
Table of Contents
1. Introduction .......................................... 1
1.1 Specification of Requirements ................... 1
1.2 Terminology ..................................... 1
2. Operation ............................................. 2
2.1 RADIUS support for Apple Remote Access .......... 2
3. Packet Format ......................................... 8
4. Packet Types .......................................... 8
5. Attributes ............................................ 8
5.1 Prompt .......................................... 10
5.2 Connect-Info .................................... 10
5.3 Signature ....................................... 11
5.4 EAP-Message ..................................... 12
5.5 Configuration-Token ............................. 13
5.6 Password-Retry .................................. 14
5.7 ARAP-Password ................................... 15
5.8 ARAP-Features ................................... 16
5.9 ARAP-Zone-Access ................................ 17
5.10 ARAP-Security ................................... 18
5.11 ARAP-Security-Data .............................. 18
5.12 Table of Attributes ............................. 19
Security Considerations ...................................... 20
References ................................................... 20
Acknowledgements ............................................. 20
Chair's Address .............................................. 21
Author's Addresses ........................................... 21
Rigney, et al. expires in six months [Page ii]
DRAFT RADIUS Extensions January 1997
1. Introduction
RFC 2058 [1] describes the RADIUS Protocol as it is implemented and
deployed today, and RFC 2059 [2] describes how Accounting can be
performed with RADIUS.
This Internet-Draft suggests several additional Attributes that can
be added to RADIUS to perform various useful functions. These
Attributes do not have extensive field experience yet and should
therefore be considered experimental.
All attributes are comprised of variable length Type-Length-Value
3-tuples. New attribute values can be added without disturbing
existing implementations of the protocol.
1.1. Specification of Requirements
In this document, several words are used to signify the requirements
of the specification. These words are often capitalized.
MUST This word, or the adjective "required", means that the
definition is an absolute requirement of the specification.
MUST NOT This phrase means that the definition is an absolute
prohibition of the specification.
SHOULD This word, or the adjective "recommended", means that there
may exist valid reasons in particular circumstances to
ignore this item, but the full implications must be
understood and carefully weighed before choosing a
different course.
MAY This word, or the adjective "optional", means that this
item is one of an allowed set of alternatives. An
implementation which does not include this option MUST be
prepared to interoperate with another implementation which
does include the option.
1.2. Terminology
This document uses the following terms:
service The NAS provides a service to the dial-in user, such as PPP
or Telnet.
session Each service provided by the NAS to a dial-in user
Rigney, et al. expires in six months [Page 1]
DRAFT RADIUS Extensions January 1997
constitutes a session, with the beginning of the session
defined as the point where service is first provided and
the end of the session defined as the point where service
is ended. A user may have multiple sessions in parallel or
series if the NAS supports that, with each session
generating a separate start and stop accounting record.
silently discard
This means the implementation discards the packet without
further processing. The implementation SHOULD provide the
capability of logging the error, including the contents of
the silently discarded packet, and SHOULD record the event
in a statistics counter.
2. Operation
Operation is identical to that defined in RFC 2058 and 2059.
2.1. RADIUS support for Apple Remote Access
The RADIUS (Remote Authentication Dial-In User Service) protocol
provides a method that allows multiple dial-in Network Access Server
(NAS) devices to share a common authentication database.
The Apple Remote Access Protocol (ARAP) provides a method for sending
AppleTalk network traffic over point-to-point links, typically, but
not exclusively, asynchronous and ISDN switched-circuit connections.
Though Apple is moving toward ATCP on PPP for future remote access
services, ARAP is still a common way for the installed base of
Macintosh users to make remote network connections, and is likely to
remain so for some time.
ARAP is supported by several NAS vendors who also support PPP, IPX
and other protocols in the same NAS. ARAP connections in these
multi-protocol devices are often not authenticated with RADIUS, or if
they are, each vendor creates an individual solution to the problem.
This section describes the use of additional RADIUS attributes to
support ARAP. RADIUS client and server implementations that implement
this specification should be able to authenticate ARAP connections in
an interoperable manner.
This section assumes prior knowledge of RADIUS, and will go into some
detail on the operation of ARAP before entering a detailed discussion
of the proposed ARAP RADIUS attributes.
There are two features of ARAP this document does not address:
Rigney, et al. expires in six months [Page 2]
DRAFT RADIUS Extensions January 1997
1. User initiated password changing. This is not part of RADIUS,
but can be implemented through a software process other than
RADIUS.
2. Out-of-Band messages. At any time, the NAS can send messages to
an ARA client which appear in a dialog box on the dial-in user's
screen. These are not part of authentication and do not belong
here. However, we note that a Reply-Message attribute in an
Access-Accept may be sent down to the user as a sign-on message of
the day string using the out-of-band channel.
We have tried to respect the spirit of the existing RADIUS protocol
as much as possible, making design decisions compatible with prior
art. Further, we have tried to strike a balance between flooding the
RADIUS world with new attributes, and hiding all of ARAP operation
within a single multiplexed ARAP attribute string or within Extended
Authentication Protocol (EAP) [4] machinery.
However, we feel ARAP is enough of a departure from PPP to warrant a
small set of similarly named attributes of its own.
We have assumed that an ARAP-aware RADIUS server will be able to do
DES encryption and generate security module challenges. This is in
keeping with the general RADIUS goal of smart server / simple NAS.
ARAP authenticates a connection in two phases. The first is a "Two-
Way DES" random number exchange, using the user's password as a key.
We say "Two-Way" because the ARAP NAS challenges the dial-in client
to authenticate itself, and the dial-in client challenges the ARAP
NAS to authenticate itself.
Specifically, ARAP does the following:
1. The NAS sends two 32-bit random numbers to the dial-in client
in an ARAP msg_auth_challenge packet.
2. The dial-in client uses the user's password to DES encrypt the
two random numbers sent to it by the NAS. The dial-in client then
sends this result, the user's name and two 32-bit random numbers
of its own back to the NAS in an ARAP msg_auth_request packet.
3. The NAS verifies the encrypted random numbers sent by the
dial-in client are what it expected. If so, it encrypts the dial-
in client's challenge using the password and sends it back to the
dial-in client in an ARAP msg_auth_response packet.
Note that if the dial-in client's response was wrong, meaning the
user has the wrong password, the server can initiate a retry sequence
Rigney, et al. expires in six months [Page 3]
DRAFT RADIUS Extensions January 1997
up to the maximum amount of retries allowed by the NAS. In this case,
when the dial-in client receives the ARAP msg_auth_response packet it
will acknowledge it with an ARAP msg_auth_again packet.
After this first "DES Phase" the ARAP NAS MAY initiate a secondary
authentication phase using what Apple calls "Add-In Security
Modules." Security Modules are small pieces of code which run on both
the client and server and are allowed to read and write arbitrary
data across the communications link to perform additional
authentication functions. Various security token vendors use this
mechanism to authenticate ARA callers.
Although ARAP allows security modules to read and write anything they
like, all existing security modules use simple challenge and response
cycles, with perhaps some overall control information. This document
assumes all existing security modules can be supported with one or
more challenge/response cycles.
To complicate RADIUS and ARAP integration, ARAP sends down some
profile information after the DES Phase and before the Security
Module phase. This means that besides the responses to challenges,
this profile information must also be present, at somewhat unusual
times. Fortunately the information is only a few pieces of numeric
data related to passwords, which this document packs into a single
new attribute.
Presenting an Access-Request to RADIUS on behalf of an ARAP
connection is straightforward. The ARAP NAS generates the random
number challenge, and then receives the dial-in client's response,
the dial-in client's challenge, and the user's name. Assuming the
user is not a guest, the following information is forwarded in an
Access-Request packet: User-Name (up to 31 characters long), Framed-
Protocol (set to 3, ARAP), ARAP-Password, and any additional
attributes desired, such as Service-Type, NAS-IP-Address, NAS-Id,
NAS-Port-Type, NAS-Port, NAS-Port-Id, Connect-Info, etc.
The Request Authenticator is a NAS-generated 16 octet random number.
The low-order 8 octets of this number are sent to the dial-in user as
the two 4 octet random numbers required in the ARAP
msg_auth_challenge packet. Octets 0-3 are the first random number and
Octets 4-7 are the second random number. [Probably needs to make
ordering clearer.]
The ARAP-Password in the Access-Request contains a 16 octet random
number field, and is used to carry the dial-in user's response to the
NAS challenge and the client's own challenge to the NAS. The high-
order octets contain the dial-in user's challenge to the NAS (2 32-
bit numbers, 8 octets) and the low-order octets contain the dial-in
Rigney, et al. expires in six months [Page 4]
DRAFT RADIUS Extensions January 1997
user's response to the NAS challenge (2 32-bit numbers, 8 octets).
Only one of User-Password, CHAP-Password, or ARAP-Password needs to
be present in an Access-Request, or one or more EAP-Messages.
If the RADIUS server does not support ARAP it SHOULD return an
Access-Reject to the NAS.
If the RADIUS server does support ARAP, it should verify the user's
response using the Challenge (from the lower order 8 octets of the
Request Authenticator) and the user's response (from the low order 8
octets of the ARAP-Password).
If that authentication fails, the RADIUS server should return an
Access-Reject packet to the NAS, with optional Password-Retry and
Reply-Messages attributes. The presence of Password-Retry indicates
the ARAP NAS MAY choose to initiate another challenge-response cycle,
up to a total number of times equal to the integer value of the
Password-Retry attribute.
If the user is authenticated, the RADIUS server should return an
Access-Accept packet (Code 2) to the NAS, with ID and Response
Authenticator as usual, and attributes as follows:
Service-Type of Framed-Protocol.
Framed-Protocol of ARAP (3).
Session-Timeout with the maximum connect time for the user in
seconds. If the user is to be given unlimited time, Session-
Timeout should not be included in the Access-Accept packet, and
ARAP will treat that as an unlimited timeout (-1).
ARAP-Challenge-Response, containing 8 octets with the response to
the dial-in client's challenge (the high-order 8 octets of the
ARAP-Password).
ARAP-Features, containing information that the NAS should send to
the user in an ARAP "feature flags" packet.
Octet 0: If zero, user cannot change their password. If non-
zero user can. (RADIUS does not handle the password changing,
just the attribute which indicates whether ARAP indicates they
can.)
Octet 1: Minimum acceptable password length (0-8).
Octet 2-5: Password creation date in Macintosh format, defined
Rigney, et al. expires in six months [Page 5]
DRAFT RADIUS Extensions January 1997
as 32 bits unsigned representing seconds since Midnight GMT
January 1, 1904.
Octet 6-9 Password Expiration Delta from create date in
seconds.
Octet 10-13: Current RADIUS time in Macintosh format
Optionally, a single Reply-Message with a string up to 253
characters long which MAY be sent down to the user to be displayed
in a sign-on/message of the day dialog.
Framed-AppleTalk-Network may be included.
Framed-AppleTalk-Zone, up to 32 characters in length, may be
included.
ARAP defines the notion of a list of zones for a user. Along with
a list of zone names, a Zone Access Flag is defined (and used by
the NAS) which says how to use the list of zone names. That is,
the dial-in user may only be allowed to see the Default Zone, or
only the zones in the zone list (inclusive) or any zone except
those in the zone list (exclusive).
The ARAP NAS handles this by having a named filter which contains
(at least) zone names. This solves the problem where a single
RADIUS server is managing disparate NAS clients who may not be
able to "see" all of the zone names in a user zone list. Zone
names only have meaning "at the NAS." The disadvantage of this
approach is that zone filters must be set up on the NAS somehow,
then referenced by the RADIUS Filter-Id.
ARAP-Zone-Access contains an integer which specifies how the "zone
list" for this user should be used. If this attribute is present
and the value is 2 or 4 then a Filter-Id must also be present to
name a zone list filter to apply the access flag to.
The inclusion of a Callback-Number or Callback-Id attribute in the
Access-Accept MAY cause the ARAP NAS to disconnect after sending
the Feature Flags to begin callback processing in an ARAP specific
way.
Other attributes may be present in the Access-Accept packet as well.
An ARAP NAS will need other information to finish bringing up the
connection to the dial in client, but this information can be
provided by the ARAP NAS without any help from RADIUS, either through
configuration by SNMP, a NAS administration program, or deduced by
Rigney, et al. expires in six months [Page 6]
DRAFT RADIUS Extensions January 1997
the AppleTalk stack in the NAS. Specifically:
1. AppearAsNet and AppearAsNode values, sent to the client to tell
it what network and node numbers it should use in its datagram
packets. AppearAsNet can be taken from the Framed-AppleTalk-
Network attribute or from the configuration or AppleTalk stack on
the NAS.
2. The "default" zone - that is the name of the AppleTalk zone in
which the dial-in client will appear. (Or can be specified with
the Framed-AppleTalk-Zone attribute.)
3. Other very NAS specific stuff such as the name of the NAS, and
smartbuffering information. (Smartbuffering is an ARAP mechanism
for replacing common AppleTalk datagrams with small tokens, to
improve slow link performance in a few common traffic situations.)
4. "Zone List" information for this user. The ARAP specification
defines a "zone count" field which is actually unused.
RADIUS supports ARAP Security Modules in the following manner.
After DES authentication has been completed, the RADIUS server may
instruct the ARAP NAS to run one or more security modules for the
dial-in user. Although the underlying protocol supports executing
multiple security modules in series, in practice all current
implementations only allow executing one. Through the use of
multiple Access-Challenge requests, multiple modules can be
supported, but this facility will probably never be used.
We also assume that, even though ARAP allows a free-form dialog
between security modules on each end of the point-to-point link, in
actual practice all security modules can be reduced to a simple
challenge/response cycle.
If the RADIUS server wishes to instruct the ARAP NAS to run a
security module, it should send an Access-Challenge packet to the NAS
with (optionally) the State attribute, plus the ARAP-Challenge-
Response, ARAP-Features, and two more attributes:
ARAP-Security: a four octet security module signature, containing a
Macintosh OSType.
ARAP-Security-Data, a string to carry the actual security module
challenge and response.
When the security module finishes executing, the security module
response is passed in an ARAP-Security-Data attribute from the NAS
Rigney, et al. expires in six months [Page 7]
DRAFT RADIUS Extensions January 1997
to the RADIUS server in a second Access-Request, also including the
State from the Access-Challenge. The authenticator field contains no
special information in this case, and this can be discerned by the
presence of the State attribute.
3. Packet Format
Packet Format is identical to that defined in RFC 2058 and 2059.
4. Packet Types
Packet types are identical to those defined in RFC 2058 and 2059.
See "Table of Attributes" below to determine which types of packets
can contain which attributes defined here.
5. Attributes
RADIUS Attributes carry the specific authentication, authorization
and accounting details for the request and response.
Some attributes MAY be included more than once. The effect of this
is attribute specific, and is specified in each attribute
description. The order of attributes of the same type SHOULD be
preserved. The order of attributes of different types is not
required to be preserved.
The end of the list of attributes is indicated by the Length of the
RADIUS packet.
A summary of the attribute format is the same as in RFC 2058 but is
included here for ease of reference. The fields are transmitted from
left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
The Type field is one octet. Up-to-date values of the RADIUS Type
field are specified in the most recent "Assigned Numbers" RFC [2].
Values 192-223 are reserved for experimental use, values 224-240
are reserved for implementation-specific use, and values 241-255
are reserved and should not be used. This specification concerns
Rigney, et al. expires in six months [Page 8]
DRAFT RADIUS Extensions January 1997
the following values:
1-39 (refer to RFC 2058, "RADIUS")
40-51 (refer to RFC 2059, "RADIUS Accounting")
52-59 Unused
60-63 (refer to RFC 2058, "RADIUS")
64 Prompt
65 Connect-Info
66 Signature
67 EAP-Message
68 Configuration-Token
69 Password-Retry
70 ARAP-Password
71 ARAP-Features
72 ARAP-Zone-Access
73 ARAP-Security
74 ARAP-Security-Data
75-191 Unused
Length
The Length field is one octet, and indicates the length of this
attribute including the Type, Length and Value fields. If an
attribute is received in a packet with an invalid Length, the
entire request should be silently discarded.
Value
The Value field is zero or more octets and contains information
specific to the attribute. The format and length of the Value
field is determined by the Type and Length fields.
The format of the value field is one of four data types.
string 0-253 octets
address 32 bit value, most significant octet first.
integer 32 bit value, most significant octet first.
time 32 bit value, most significant octet first -- seconds
since 00:00:00 GMT, January 1, 1970. The standard
Attributes do not use this data type.
Rigney, et al. expires in six months [Page 9]
DRAFT RADIUS Extensions January 1997
5.1. Prompt
Description
This attribute is used only in Access-Challenge packets, and
indicates to the NAS whether it should echo the user's response as
it is entered, or not echo it.
A summary of the Prompt attribute format is shown below. The fields
are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
64 for Prompt.
Length
6
Value
The Value field is four octets.
0 No Echo
1 Echo
5.2. Connect-Info
Description
This attribute is sent from the NAS to indicate the nature of the
user's connection.
The NAS MAY send this attribute in an Access-Request or
Accounting-Request to indicate the nature of the user's
Rigney, et al. expires in six months [Page 10]
DRAFT RADIUS Extensions January 1997
connection.
A summary of the Connect-Info attribute format is shown below. The
fields are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
65 for Connect-Info.
Length
>= 3
String
The String field is encoded as a ASCII characters with the
connection speed at the beginning of the string.
For example, "28800 V42BIS/LAPM"
5.3. Signature
Description
This attribute MAY be used to sign Access-Requests to prevent
dictionary attacks on CHAP, ARAP or EAP authentication methods.
It MAY be used in any Access-Request.
A RADIUS Server receiving an Access-Request with a Signature
Attribute present SHOULD calculate the correct value of the
Signature and silently discard the packet if it does not match the
value sent.
A summary of the Signature attribute format is shown below. The
fields are transmitted from left to right.
Rigney, et al. expires in six months [Page 11]
DRAFT RADIUS Extensions January 1997
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
66 for Signature.
Length
18
String
Signature is an MD-5 [3] checksum of the shared secret followed by
the entire Access-Request packet, including Type, ID, Length and
authenticator. When the checksum is calculated the signature
string should be considered to be sixteen octets of zero.
This attribute is not needed if the User-Password attribute is
present, but is useful for preventing dictionary attacks on other
types of authentication. IP Security will eventually make this
attribute unnecessary, so it should be considered an interim
measure.
5.4. EAP-Message
Description
This attribute opaquely encodes Extended Access Protocol [4]
information to allow dial-in users to use EAP to authenticate
without having to implement EAP on the NAS.
The NAS places any EAP messages received from the user into one or
more EAP attributes and forwards them to the RADIUS Server as part
of the Access-Request, which can return EAP messages in Access-
Challenge, Access-Accept and Access-Reject packets.
A RADIUS Server receiving EAP messages that it does not understand
SHOULD return an Access-Reject.
A summary of the EAP-Message attribute format is shown below. The
Rigney, et al. expires in six months [Page 12]
DRAFT RADIUS Extensions January 1997
fields are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
67 for EAP-Message.
Length
>= 3.
String
The String field contains undifferentiated octets. If multiple
EAP-Message attributes are present in a packet their values should
be concatenated; this allows EAP packets longer than 253 octets to
be passed by RADIUS.
5.5. Configuration-Token
Description
This attribute is for use in large distributed authentication
networks based on proxy. It is sent from a RADIUS Proxy Server to
a RADIUS Proxy Client in an Access-Request to indicate a type of
user profile to be used. It should not be sent to a NAS.
A summary of the Configuration-Token attribute format is shown below.
The fields are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
68 for Configuration-Token.
Rigney, et al. expires in six months [Page 13]
DRAFT RADIUS Extensions January 1997
Length
>= 3
String
The String field is one or more octets. The actual format of the
information is site or application specific, and a robust
implementation SHOULD support the field as undistinguished octets.
The codification of the range of allowed usage of this field is
outside the scope of this specification.
5.6. Password-Retry
Description
This attribute MAY be included in an Access-Reject to indicate how
many authentication attempts a user may be allowed to attempt
before being disconnected.
It is primarily intended for use with ARAP authentication.
A summary of the Password-Retry attribute format is shown below. The
fields are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
69 for Password-Retry.
Length
6
Value
The Value field is four octets, containing an integer specifying
Rigney, et al. expires in six months [Page 14]
DRAFT RADIUS Extensions January 1997
the number of password retry attempts to permit the user.
5.7. ARAP-Password
Description
This attribute is only present in an Access-Request packet
containing a Framed-Protocol of ARAP.
Only one of User-Password, CHAP-Password, or ARAP-Password needs
to be present in an Access-Request, or one or more EAP-Messages.
A summary of the ARAP-Password attribute format is shown below. The
fields are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
70 for ARAP-Password.
Length
18
Value
This attribute contains a 16 octet string, used to carry the
dial-in user's response to the NAS challenge and the client's own
challenge to the NAS. The high-order octets (Value1 and Value2)
contain the dial-in user's challenge to the NAS (2 32-bit numbers,
8 octets) and the low-order octets (Value3 and Value4) contain the
dial-in user's response to the NAS challenge (2 32-bit numbers, 8
octets).
Rigney, et al. expires in six months [Page 15]
DRAFT RADIUS Extensions January 1997
5.8. ARAP-Features
Description
This attribute is sent in an Access-Accept packet with Framed-
Protocol of ARAP, and includes password information that the NAS
should sent to the user in an ARAP "feature flags" packet.
A summary of the ARAP-Features attribute format is shown below. The
fields are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value1 | Value2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value5 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
71 for ARAP-Features.
Length
16
Value
The Value field is a compound string containing information the
NAS should send to the user in the ARAP "feature flags" packet.
Value1: If zero, user cannot change their password. If non-zero
user can. (RADIUS does not handle the password changing, just
the attribute which indicates whether ARAP indicates they can.)
Value2: Minimum acceptable password length, from 0 to 8.
Value3: Password creation date in Macintosh format, defined as
Rigney, et al. expires in six months [Page 16]
DRAFT RADIUS Extensions January 1997
32 unsigned bits representing seconds since Midnight GMT
January 1, 1904.
Value4: Password Expiration Delta from create date in seconds.
Value5: Current RADIUS time in Macintosh format.
5.9. ARAP-Zone-Access
Description
This attribute is included in an Access-Accept packet with
Framed-Protocol of ARAP to indicate how the ARAP zone list for the
user should be used.
A summary of the ARAP-Zone-Access attribute format is shown below.
The fields are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
72 for ARAP-Zone-Access.
Length
6
Value
The Value field is four octets encoding an integer with one of the
following values:
1 Only allow access to default zone
2 Use zone filter inclusively
4 Use zone filter exclusively
The value 3 is skipped, not because these are bit flags, but
Rigney, et al. expires in six months [Page 17]
DRAFT RADIUS Extensions January 1997
because 3 in some ARAP implementations means "all zones" which is
the same as not specifying a list at all under RADIUS.
If this attribute is present and the value is 2 or 4 then a
Filter-Id must also be present to name a zone list filter to apply
the access flag to.
5.10. ARAP-Security
Description
This attribute identifies the ARAP Security Module to be used in
an Access-Challenge packet.
A summary of the ARAP-Security attribute format is shown below. The
fields are transmitted from left to right.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
73 for ARAP-Security.
Length
6
Value
The Value field is four octets, containing an integer specifying
the security module signature, which is a Macintosh OSType.
(Macintosh OSTypes are 4 ascii characters cast as a 32-bit
integer)
5.11. ARAP-Security-Data
Description
Rigney, et al. expires in six months [Page 18]
DRAFT RADIUS Extensions January 1997
This attribute contains the actual security module challenge or
response, and can be found in Access-Challenge and Access-Request
packets.
A summary of the ARAP-Security-Data attribute format is shown below.
The fields are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
74 for ARAP-Security-Data.
Length
>=3
String
The String field contains the security module challenge or
response associated with the ARAP Security Module specified in
ARAP-Security.
5.12. Table of Attributes
The following table provides a guide to which attributes may be found
in which kind of packets. Connect-Info may have 0-1 instances in an
Accounting-Request packet, the other attributes added in this
document must not be present in an Accounting-Request.
Request Accept Reject Challenge # Attribute
0 0 0 0-1 64 Prompt
0-1 0 0 0 65 Connect-Info
0-1 0 0 0 66 Signature
0+ 0+ 0+ 0+ 67 EAP-Message [Note 1]
0 0+ 0 0 68 Configuration-Token
0 0 0-1 0 69 Password-Retry
0-1 0 0 0 70 ARAP-Password [Note 1]
0 0-1 0 0-1 71 ARAP-Features
0 0-1 0 0 72 ARAP-Zone-Access
Rigney, et al. expires in six months [Page 19]
DRAFT RADIUS Extensions January 1997
0-1 0 0 0-1 73 ARAP-Security
0+ 0 0 0+ 73 ARAP-Security-Data
Request Accept Reject Challenge # Attribute
[Note 1] An Access-Request MUST contain either a User-Password or
CHAP-Password or ARAP-Password or one or more EAP-Messages, and MUST
NOT contain more than one type of those four attributes.
The following table defines the above table entries.
0 This attribute MUST NOT be present
0+ Zero or more instances of this attribute MAY be present.
0-1 Zero or one instance of this attribute MAY be present.
1 Exactly one instance of this attribute MUST be present.
Security Considerations
Security issues are the primary topic of this document.
References
[1] Rigney, C., Rubens, A., Simpson, W., and S. Willens, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2058,
January 1997.
[2] Rigney, C., "RADIUS Accounting", RFC 2059, January 1997.
[3] Rivest, R., and Dusse, S., "The MD5 Message-Digest Algorithm",
RFC 1321, MIT Laboratory for Computer Science, RSA Data
Security Inc., April 1992.
[4] Blunk, L., and Vollbrecht, J., "PPP Extensible Authentication
Protocol (EAP)", draft-ietf-pppext-eap-auth-02.txt, June 1996.
Acknowledgments
RADIUS and RADIUS Accounting were originally developed by Livingston
Enterprises for their PortMaster series of Network Access Servers.
The section on ARAP is adopted with permission from "Using RADIUS to
Authenticate Apple Remote Access Connections" by Ward Willats of Cyno
Technologies (ward@cyno.com).
Rigney, et al. expires in six months [Page 20]
DRAFT RADIUS Extensions January 1997
Chair's Address
The RADIUS working group can be contacted via the current chair:
Carl Rigney
Livingston Enterprises
4464 Willow Road
Pleasanton, California 94588
Phone: +1 510 426 0770
E-Mail: cdr@livingston.com
Author's Addresses
Questions about this memo can also be directed to:
Carl Rigney
Livingston Enterprises
4464 Willow Road
Pleasanton, California 94566
E-Mail: cdr@livingston.com
Questions on ARAP and RADIUS may be directed to:
Ward Willats
Cyno Technologies
1082 Glen Echo Ave
San Jose, CA 95125
Phone: +1 408 297 7766
Email: ward@cyno.com
Rigney, et al. expires in six months [Page 21]