全部博文(403)
分类: 系统运维
2006-09-26 16:32:33
Network Working Group M. Leech Request for Comments: 1929 Bell-Northern Research Ltd Category: Standards Track March 1996 Username/Password Authentication for SOCKS V5 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. 1. Introduction The protocol specification for SOCKS Version 5 specifies a generalized framework for the use of arbitrary authentication protocols in the initial socks connection setup. This document describes one of those protocols, as it fits into the SOCKS Version 5 authentication "subnegotiation". Note: Unless otherwise noted, the decimal numbers appearing in packet- format diagrams represent the length of the corresponding field, in octets. Where a given octet must take on a specific value, the syntax X'hh' is used to denote the value of the single octet in that field. When the word 'Variable' is used, it indicates that the corresponding field has a variable length defined either by an associated (one or two octet) length field, or by a data type field. 2. Initial negotiation Once the SOCKS V5 server has started, and the client has selected the Username/Password Authentication protocol, the Username/Password subnegotiation begins. This begins with the client producing a Username/Password request: +----+------+----------+------+----------+ |VER | ULEN | UNAME | PLEN | PASSWD | +----+------+----------+------+----------+ | 1 | 1 | 1 to 255 | 1 | 1 to 255 | +----+------+----------+------+----------+ Leech Standards Track [Page 1] RFC 1929 Username Authentication for SOCKS V5 March 1996 The VER field contains the current version of the subnegotiation, which is X'01'. The ULEN field contains the length of the UNAME field that follows. The UNAME field contains the username as known to the source operating system. The PLEN field contains the length of the PASSWD field that follows. The PASSWD field contains the password association with the given UNAME. The server verifies the supplied UNAME and PASSWD, and sends the following response: +----+--------+ |VER | STATUS | +----+--------+ | 1 | 1 | +----+--------+ A STATUS field of X'00' indicates success. If the server returns a `failure' (STATUS value other than X'00') status, it MUST close the connection. 3. Security Considerations This document describes a subnegotiation that provides authentication services to the SOCKS protocol. Since the request carries the password in cleartext, this subnegotiation is not recommended for environments where "sniffing" is possible and practical. 4. Author's Address Marcus Leech Bell-Northern Research Ltd P.O. Box 3511, Station C Ottawa, ON CANADA K1Y 4H7 Phone: +1 613 763 9145 EMail: mleech@bnr.ca Leech Standards Track [Page 2]
翻译
(RFC1929)SOCKS V5的用户名/密码鉴定
作者:Marcus Leech
提交者:eastvc 发布日期:2003-9-25 20:36:20
原文出处:
组织:中国互动出版网()
RFC文档中文翻译计划(compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:Radeon(Radeon bise@cmmail.com)
译文发布时间:2001-6-10
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。Network Working Group M. Leech
Request for Comments:1929 Bell-Northern Research Ltd
Category: Standard Track March 1996
SOCKS V5的用户名/密码鉴定
(RFC1929 Username/Password Authentication for SOCKS V5)本备忘录状态:
本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建议以得到改进。请参考最新版的“Internet正式协议标准” (STD1)来获得本协议的标准化程度和状态。本备忘录的发布不受任何限制。
1. 介绍
关于SOCKS V5的协议规范说明了在初始化SOCKS连接时所用到的任意验证协议的大致框架。这篇文档描述了这些协议中的其中一个适合SOCKS V5验证子协商(subnegotiation)。
注意:
除非特别注明,所有出现在数据包格式图中的十进制数字均以字节表示相应域的长度。如果某域需要给定一个字节的值,用X’hh’来表示这个字节中的值。如果某域中用到单词’Variable’,这表示该域的长度是可变的,且该长度定义在一个和这个域相关联(1 – 2个字节)的域中,或一个数据类型域中。
2.初始协商
一旦SOCKS V5服务器运行并且客户端选择了用户名/密码认证协议以后,就开始了用户名/密码协议的子协商过程。客户端先产生一个用户名/密码协议的请求:
VER | ULEN | UNAME | PLEN | PASSWD |
1 | 1 | 1 to 255 | 1 | 1 to 255 |
VER中指明了子协商的当前版本,现在使用的是X’01’。ULEN域中包含了下一个UNAME域的长度。UNAME中包含一个源操作系统(source operating system)所知道的用户名。PLEN中指明了紧随其后的PASSWD的长度。PASSWD中则包含了对应UNAME用户的密码。
服务器验证用户名和密码,并且返回:
VER | STATUS |
1 | 1 |
如果STATUS中返回X’00’则说明通过验证。如果服务器返回非X’00’则说明验证失败,并且关闭连接。
3.安全考虑
这篇文档描述了为SOCKS V5协议提供验证服务的子协商过程。因为密码是以明文传输的,所以这个子协商过程在可能被工具“嗅探(sniffing)”到的环境中不建议使用该子协商过程。
4.作者地址
Marcus Leech
Bell-Northern Research Ltd
P.O. Box 3511, Station C
Ottawa, ON
CANADA K1Y 4H7
Phone: +1 613 763 9145
EMail: mleech@bnr.ca
chinaunix网友2008-08-08 13:41:34
2.初始协商 一旦SOCKS V5服务器运行并且客户端选择了用户名/密码认证协议以后,就开始了用户名/密码协议的子协商过程。客户端先产生一个用户名/密码协议的请求:VER ULEN UNAME PLEN PASSWD 1 1 1 to 255 1 1 to 255 VER中指明了子协商的当前版本,现在使用的是X’01’==>应为X'05'