RFC1929中文翻譯——SOCKS v5 Username/Password 認證

rfc1929

此備忘錄( memo )的狀態

本文檔爲Internet社區指定了Internet標準跟蹤協議,並請求討論和改進建議。有關本協議的標準化狀態和狀態,請參閱當前版本的“互聯網官方協議標準”(STD 1)。這份備忘錄的分發是無限的。

1. 介紹

SOCKS版本5的協議規範指定了在初始SOCKS連接設置中使用任意身份驗證協議的通用框架。本文檔描述了其中一個協議,因爲它適合SOCKS版本5身份驗證“子協商”( subnegotiation )。

注意:

  • 除非另有說明,數據包格式圖中出現的十進制數字表示相應字段的長度,單位爲八位字節( Byte );
  • 如果給定的八位字節必須具有特定的值,則語法X'hh'用於表示該字段中單個八位字節的值;
  • 當使用 Variable 一詞時,它表示對應的字段具有由關聯的(一個或兩個八位字節)長度字段或數據類型字段定義的可變長度。

2. 初始協商(Initial negotiation)

一旦SOCKS 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

狀態字段 X'00' 表示成功。如果服務器返回“failure”(狀態值不是X'00')狀態,則必須關閉連接。

3. 安全考慮

本文檔描述了一個爲SOCKS協議提供身份驗證服務的子協商。由於請求以明文形式攜帶密碼,因此不建議在“嗅探”可行且實用的環境中使用此子協商。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章