Network Working Group                                           M. Leech
Request for Comments: 1929                    Bell-Northern Research Ltd
Category: Standards Track                                     March 1996

SCOKS V5中的用户名/密码验证

备忘录的地位

本标准为Internet网详细说明了一份架构委员会的标准轨迹协议,并且要求讨论和建议以便进一步的改进。请关注最新的用于陈述标准化协议的的文件"IAB Official Protocol Standards"(STD1)。本备忘录的发行无任何限制。

介绍

SCOKS V5协议规范中详细说明了可以在一般意义下的框架,使得在SOCKS连接的开始阶段可以进行强制性的认证。这份文档就描述了其中的一种方法,它适用于SCOKS V5的认证子协商过程。

注意:

除非特别注明,所有出现在数据包格式图中的十进制数字均表示相应域的字节长度。如果一个给定的字节需要说明其值,则用X'hh'来表示这个字节的值。如果某域中用到单词'Variable',这表示该域的长度是可变的,且该域的长度定义在一个和这个域相关联(1–2个字节)的域中,或一个数据类型域中。

初始协商

一旦SCOKS V5服务器开始运行,并且客户端已经选择了用户名/密码认证协议,则用户名/密码子协商就开始了。它开始与客户端产生一个用户名/密码请求:

+----+------+----------+------+----------+
|VER | ULEN |  UNAME   | PLEN |  PASSWD  |
+----+------+----------+------+----------+
| 1  |  1   | 1 to 255 |  1   | 1 to 255 |
+----+------+----------+------+----------+

VER域的内容是当前子协商的版本,为X’01’。ULEN域为后面的UNAME域的字节长度。UNAME为源操作系统知道的用户名。PLEN域为后面PASSWD域的字节长度。PASSWD 域为UNAME中用户名相应的密码。

服务器检查UNAME和PASSWD域,并且返回一个应答:

+----+--------+
|VER | STATUS |
+----+--------+
| 1  |   1    |
+----+--------+

STATUS域为X’00’说明成功。如果服务器返回一个”失败”(STATUS域不为X’00’)状态,则必须关闭连接。

安全性考虑

本文描述了一种为SCOKS V5协议提供认证服务的子协商方法。因为请求中的密码是以明文方式发送的,所以这中自协商方法不被推荐在有“偷窥者”的网络中使用。

作者地址

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