SOCKS V5的用戶名/密碼鑒定
(RFC1929 Username/Password Authentication for SOCKS V5)
本備忘錄狀態(tài):
本文檔講述了一種Internet社區(qū)的Internet標(biāo)準(zhǔn)跟蹤協(xié)議,它需要進(jìn)一步進(jìn)行討論和建議以得到改進(jìn)。請(qǐng)參考最新版的“Internet正式協(xié)議標(biāo)準(zhǔn)” (STD1)來獲得本協(xié)議的標(biāo)準(zhǔn)化程度和狀態(tài)。本備忘錄的發(fā)布不受任何限制。
1. 介紹
關(guān)于SOCKS V5的協(xié)議規(guī)范說明了在初始化SOCKS連接時(shí)所用到的任意驗(yàn)證協(xié)議的大致框架。這篇文檔描述了這些協(xié)議中的其中一個(gè)適合SOCKS V5驗(yàn)證子協(xié)商(subnegotiation)。
注意:
除非特別注明,所有出現(xiàn)在數(shù)據(jù)包格式圖中的十進(jìn)制數(shù)字均以字節(jié)表示相應(yīng)域的長度。如果某域需要給定一個(gè)字節(jié)的值,用X’hh’來表示這個(gè)字節(jié)中的值。如果某域中用到單詞’Variable’,這表示該域的長度是可變的,且該長度定義在一個(gè)和這個(gè)域相關(guān)聯(lián)(1 – 2個(gè)字節(jié))的域中,或一個(gè)數(shù)據(jù)類型域中。
2.初始協(xié)商
一旦SOCKS V5服務(wù)器運(yùn)行并且客戶端選擇了用戶名/密碼認(rèn)證協(xié)議以后,就開始了用戶名/密碼協(xié)議的子協(xié)商過程。客戶端先產(chǎn)生一個(gè)用戶名/密碼協(xié)議的請(qǐng)求:
VER |
ULEN |
UNAME |
PLEN |
PASSWD |
1 |
1 |
1 to 255 |
1 |
1 to 255 |
VER中指明了子協(xié)商的當(dāng)前版本,現(xiàn)在使用的是X’01’。ULEN域中包含了下一個(gè)UNAME域的長度。UNAME中包含一個(gè)源操作系統(tǒng)(source operating system)所知道的用戶名。PLEN中指明了緊隨其后的PASSWD的長度。PASSWD中則包含了對(duì)應(yīng)UNAME用戶的密碼。
服務(wù)器驗(yàn)證用戶名和密碼,并且返回:
如果STATUS中返回X’00’則說明通過驗(yàn)證。如果服務(wù)器返回非X’00’則說明驗(yàn)證失敗,并且關(guān)閉連接。
3.安全考慮
這篇文檔描述了為SOCKS V5協(xié)議提供驗(yàn)證服務(wù)的子協(xié)商過程。因?yàn)槊艽a是以明文傳輸?shù)模赃@個(gè)子協(xié)商過程在可能被工具“嗅探(sniffing)”到的環(huán)境中不建議使用該子協(xié)商過程。