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