[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]
Versions: 00
INTERNET-DRAFT M. VanHeyningen
<draft-ietf-aft-socks-cram-00> Aventail Corporation
Expires 20 September 1997 20 March 1997
Challenge-Response Authentication Method for SOCKS V5
Status of this Memo
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 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 specifies a general Challenge-Response Authentication
Method (CRAM) for use with SOCKS Version 5 [RFC 1928]. It is
intended to support various challenge-response mechanisms, such as
S/KEY and OTP [RFC 1938] as well as authentication tokens.
Introduction
The protocol specification for SOCKS Version 5 [RFC 1928] specifies a
generalized framework for the use of arbitrary authentication
protocols in the initial SOCKS connection setup. This document
suggests a general framework for a Challenge-Response Authentication
Method (CRAM) as it fits into the SOCKS Version 5 authentication
"subnegotiation."
Initial Negotiation
During initial SOCKS V5 negotiation, the client and server negotiate
the authenticiation method. The METHOD for this protocol shall be
X'05'.
VanHeyningen Expires 20 Sept 1997 [Page 1]
INTERNET-DRAFT Challenge-Response for SOCKS V5 20 March 1997
Challenge-Reponse Framework
Subnegotiation begins after the client has selected the CRAM
authentication method.
Message Format
In general, messages exchanged consist of a version identifier and a
list of attribute-value assertions, where attributes are single
octets and values are sequences of 0-255 octets.
+-----+-------+------+---------+------+------+---
| VER | NAVAS | ATT1 | VAL1LEN | VAL1 | ATT2 | ...
+-----+-------+------+---------+------+------+---
| 1 | 1 | 1 | 1 | 0-255| 1 | ...
+-----+-------+------+---------+------+------+---
VER contains the current version of the subnegotiation, which is
X'01'. NAVAS contains the number of attribute-value assertions to
follow. Each AVA includes ATT_i, containing the attribute, VAL_iLEN,
containing the length of VAL_i, and VAL_i. In general, robust
implementations should ignore assertions with attributes they do not
understand. This provides a powerful and general mechanism for future
extensions while allowing backward compatibility.
Notationally, a single message with a list of n assertions shall be
represented as:
ATT_1(VAL_1), ATT_2(VAL_2), ... ATT_n(VAL_n)
Attributes
The following attribute definitions apply to all messages:
ATT Label Meaning
----------------------------------------------
X'00' STATUS 0 = success
X'01' TEXT-MESSAGE Informational text
X'02' USER-IDENTITY
X'03' CHALLENGE
X'04' RESPONSE
X'05' CHARSET
The TEXT-MESSAGE attribute may always be included in any message
(except submethod negotiation.) Implementations should display its
contents to the user if applicable; it should be used for advisory
information (e.g. warnings of pending password expiration,
explanations accompanying a failure.) If there is no user,
VanHeyningen Expires 20 Sept 1997 [Page 2]
INTERNET-DRAFT Challenge-Response for SOCKS V5 20 March 1997
implementations may log its contents.
The CHARSET attribute provides advisory infomration about the
character set in use; it, too, may be present in any message.
Implementations should use it to guide presentation of information to
users. The semantics are identical to that of the charset parameter
in MIME [RFC 1521]; if absent, a default of ISO-8859-1 should be
assumed.
Submethods may also define their own additional attributes, but must
not redefine the above standard ones.
Protocol Exchange
Generic challenge-response simply authenticates the client's identity
by sending a textual challenge from the server which the client
displays to the user. The user somehow (e.g. by using an external
application or a security token) computes the appropriate response and
enters it.
First, the client asserts its identity to the server:
USER-IDENTITY(<username>)
The server then responds with a textual challenge to be displayed to
the user:
CHALLENGE(<challenge>)
The client displays this challenge, prompts for a response, and sends
it:
RESPONSE(<response>)
The server may respond with a new challenge method, for which a new
response is
required. Arbitrarily many challenges may be issued.
When the server finished issuing challenges, it sends a status message:
STATUS(success|failure)
and the subnegotiation terminates. If the authentication did not succeed,
the server must drop the connection.
Security Considerations
Challenge-response protocols are generally designed to provide
protection from passive attacks such as sniffing passwords. The
security mechanisms here generally offer only limited protection from
VanHeyningen Expires 20 Sept 1997 [Page 3]
INTERNET-DRAFT Challenge-Response for SOCKS V5 20 March 1997
real-time active attacks.
In most challenge-response security mechanisms, it is important that
challenges be produced in a fashion an adversary cannot predict or
duplicate. As with all negotiation-based security, implementations
may be vulnerable to downgrade attacks. Clients and servers should
refuse to operate with methods and algorithms considered
insufficiently secure.
Acknowledgements
Thanks to Dave Blob, Wei Lu, Craig Metz and William Perry for
assistance with this document.
References
[RFC 1521] Borenstein, N, & Freed, N., "MIME (Multipurpose Internet
Mail Extensions) Part One: Mechanisms for Specifying and Describing
the Format of Internet Message Bodies," September 1993.
[RFC 1928] Leech, M., Ganis, M., Lee, Y., Kuris, R., Koblas, D., &
Jones, L., "SOCKS Protocol V5," April 1996.
[RFC 1938] Haller, N., & Metz, C., "A One-Time Password System," May
1996.
[RFC 2058] Rigney, C., Rubens, A., Simpson, W. A., & Willens, S.,
"Remote Authentication Dial In User Service (RADIUS)", January 1997.
Author's Address
Marc VanHeyningen
Aventail Corporation
117 S. Main Street, Suite 400
Seattle, WA 98104
Phone: +1 206 777-5600
Fax: +1 206 777-5656
Email: marcvh@aventail.com
VanHeyningen Expires 20 Sept 1997 [Page 4]
Html markup produced by rfcmarkup 1.129b, available from
https://tools.ietf.org/tools/rfcmarkup/