7
Network Working Group M. Leech
8
Request for Comments: 1929 Bell-Northern Research Ltd
9
Category: Standards Track March 1996
12
Username/Password Authentication for SOCKS V5
16
This document specifies an Internet standards track protocol for the
17
Internet community, and requests discussion and suggestions for
18
improvements. Please refer to the current edition of the "Internet
19
Official Protocol Standards" (STD 1) for the standardization state
20
and status of this protocol. Distribution of this memo is unlimited.
24
The protocol specification for SOCKS Version 5 specifies a
25
generalized framework for the use of arbitrary authentication
26
protocols in the initial socks connection setup. This document
27
describes one of those protocols, as it fits into the SOCKS Version 5
28
authentication "subnegotiation".
32
Unless otherwise noted, the decimal numbers appearing in packet-
33
format diagrams represent the length of the corresponding field, in
34
octets. Where a given octet must take on a specific value, the
35
syntax X'hh' is used to denote the value of the single octet in that
36
field. When the word 'Variable' is used, it indicates that the
37
corresponding field has a variable length defined either by an
38
associated (one or two octet) length field, or by a data type field.
40
2. Initial negotiation
42
Once the SOCKS V5 server has started, and the client has selected the
43
Username/Password Authentication protocol, the Username/Password
44
subnegotiation begins. This begins with the client producing a
45
Username/Password request:
47
+----+------+----------+------+----------+
48
|VER | ULEN | UNAME | PLEN | PASSWD |
49
+----+------+----------+------+----------+
50
| 1 | 1 | 1 to 255 | 1 | 1 to 255 |
51
+----+------+----------+------+----------+
58
Leech Standards Track [Page 1]
60
RFC 1929 Username Authentication for SOCKS V5 March 1996
63
The VER field contains the current version of the subnegotiation,
64
which is X'01'. The ULEN field contains the length of the UNAME field
65
that follows. The UNAME field contains the username as known to the
66
source operating system. The PLEN field contains the length of the
67
PASSWD field that follows. The PASSWD field contains the password
68
association with the given UNAME.
70
The server verifies the supplied UNAME and PASSWD, and sends the
79
A STATUS field of X'00' indicates success. If the server returns a
80
`failure' (STATUS value other than X'00') status, it MUST close the
83
3. Security Considerations
85
This document describes a subnegotiation that provides authentication
86
services to the SOCKS protocol. Since the request carries the
87
password in cleartext, this subnegotiation is not recommended for
88
environments where "sniffing" is possible and practical.
93
Bell-Northern Research Ltd
94
P.O. Box 3511, Station C
98
Phone: +1 613 763 9145
114
Leech Standards Track [Page 2]