把SOCKSv5代理服務與可擴展認證協議(EAP)聯合起來,形成了基于SOCKSv5與EAP聯合的代理認證服務器,從而彌補了防火墻代理服務在支持多種認證機制中的不足,提高了用戶身份認證的靈活性、訪問控制的可靠性。該方法解決了防火墻協議對不斷擴展的認證機制的支持問題。該技術可與其他網絡安全技術諸如授權管理等相結合,形成比較完善的并可以不斷擴展的安全體系。
1? SOCKSv5的結構和原理
1.1 SOCKSv5的結構
SOCKS5 是一個代理協議,它在使用 TCP/IP協議通訊的前端機器和服務器機器之間扮演一個中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的服務器,或者使通訊更加安全。SOCKS5 服務器通過將前端發來的請求轉發給真正的目標服務器, 模擬了一個前端的行為。在這里,前端和SOCKS5之間也是通過TCP/IP協議進行通訊,前端將原本要發送給真正服務器的請求發送給SOCKS5服務器,然后SOCKS5服務器將請求轉發給真正的服務器。
隨著網絡安全技術的不斷發展,防火墻怎樣適應于不斷出現的應用服務和安全服務成了迫切需要解決的問題。SOCKS代理服務技術成為解決該問題的有效途徑。SOCKS主要由運行在防火墻系統上的代理服務器軟件包和鏈接到各種網絡應用程序的庫函數包組成。這樣的結構可以使用戶根據自己的需要制定代理軟件,有利于增添新的應用,從而不斷地擴展SOCKS的功能。
1.2 協議原理
SOCKSv5在OSI模型的會話層控制數據流,它定義了非常詳細的訪問控制。SOCKSv5在客戶機和應用服務器主機之間建立了一條虛電路,可根據認證對用戶進行監視和訪問控制。用SOCKSv5的代理服務器可隱藏內部網的網絡地址結構。同防火墻結合起來使用時,數據包通過惟一的防火墻端口到SOCKSv5代理服務器,然后代理服務器過濾發往目標主機的數據。其協議過程如下:
(1)當TCP的應用客戶希望建立一個只有經過防火墻才能到達目標應用服務器的連接時,它打開一個到SOCKSv5服務器系統上適當端口的連接。SOCKSv5服務在TCP上的端口通常為1080。
(2)如果連接請求成功,即客戶連接上了SOCKSv5服務器,則客戶端發送一個消息,其中包含SOCKSv5的版本號以及一種或多種認證方案。SOCKSv5服務器選擇客戶提供的諸多方法中的一種返回給客戶端。
(3)客戶端接收到該消息后,針對將要使用的具體認證方法與SOCKSv5服務器協商,并用協商好的方法進行認證,然后發送代理請求。
(4)SOCKSv5服務器檢查該請求,據檢查結果決定是建立適當的代理回路還是拒絕該請求。同時給客戶發送代理回路狀態。客戶檢查代理狀態。
(5)代理服務器開始中繼應用協議的數據。
2 可擴展認證協議的內容及應用
2.1 協議內容
可擴展認證協議是PPP認證的一般協議,它支持多種認證機制。EAP在連接控制階段不會選擇某種特定的認證機制,而是在認證階段選擇。同時也允許使用后端服務器來執行各種認證,而PPP認證者只用來傳遞認證的信息。協議過程如下。
(1)認證者和對方建立連接控制。
(2)連接建立階段完成之后,認證者發送一個或更多的認證請求。請求的類型包含身份、MD5-挑戰、一次性口令、一般的標識卡等。MD5-挑戰類型緊密地對應于CHAP認證協議。在典型的模式中,認證者在發送一個或多個對認證信息的請求之后,將發送一個初始的身份請求。但初始的身份請求并不是協議要求的,在身份可以推測的情況下它有可能被取消。
(3)對方發送應答包來答復每個請求。應答包的類型域與請求包相同。
(4)認證者發送認證成功或失敗包來結束認證階段。
在默認的情況下,EAP以代理模式運行,即EAP允許網絡訪問服務器和后端服務器協商整個認證過程。客戶和網絡接入服務器(NAS)在連接控制協議交流期間進行EAP協議的協商,更進一步的認證消息均在客戶和后端服務器之間被傳輸。網絡接入服務器不再直接參與認證過程,而是作為代理者在二個遠端之間中繼信息。
2.2 應? 用
任意一個認證機制都可使用EAP驗證遠程訪問連接。在遠程客戶和認證者(遠程訪問服務器或者因特網認證服務器)之間需要協商好將要使用的認證機制。EAP可支持多種認證機制,諸如通用標識卡、MD5-挑戰、S/Key以及未來的任何認證技術。
EAP允許遠程客戶和認證者之間自由會話。會話包含認證者對認證信息的請求和遠程客戶的應答。例如,當EAP通過安全標示卡來實現時,認證者可獨立地詢問遠程客戶的名字、PIN以及卡的標識值,直到遠程客戶回答完所有問題,認證才成功地結束。
EAP-RADIUS不是一種EAP類型,而是任何EAP類型的信息通過認證者(遠程訪問服務器或IAS)到達RADIUS的傳輸過程。例如,對用于支持RADIUS認證的遠程訪問服務器來說,在遠程訪問客戶和遠程訪問服務器之間的EAP消息將被封裝和格式化為遠程訪問服務器和RADIUS服務器之間的RADIUS消息。
EAP-RADIUS適用于RADIUS作為認證提供者的環境。使用EAP-RADIUS的優點在于EAP類型不必嵌入在每個遠程訪問服務器上,而只需嵌入到RADIUS服務器上。
在EAP-RADIUS的典型使用情況中,Windows 2000遠程訪問服務器配置為可與EAP和IAS服務器結合來用于認證。一個連接成功創建后,遠程訪問客戶與遠程訪問服務器協商EAP的使用。當客戶發送一個EAP消息給遠程訪問服務器時,遠程訪問服務器把EAP消息包裝成一個RADIUS消息,并把它發送給配置好的IAS服務器。IAS服務器處理EAP消息,同時返回一個封裝了RADIUS的EAP消息給遠程訪問服務器。遠程訪問服務器把EAP消息提交給遠程訪問客戶。在這種配置中,遠程訪問服務只是一個中繼設備。遠程訪問客戶和IAS服務器負責所有EAP消息的處理。
3? SOCKSv5-EAP代理認證服務器的設計
3.1 代理認證模塊的結構
EAP協議允許防火墻在SOCKSv5認證方法階段不必預先商定具體的認證機制。它支持所有的EAP認證的擴展機制,認證服務器可根據用戶的身份來決定認證機制的類型。這就允許SOCKS服務器在決定之前認證機制可以向用戶請求更多的信息。并且可以使用一個后端服務器來專門執行各種不同的認證,這使得支持EAP功能的RADIUS服務器可以用作后端服務器進行各種不同的認證。代理認證模塊結構如圖1所示。
3.2 SOCKSv5-EAP的協商過程
(1)SOCKSv5認證方法協商階段,EAP并不進行明確的認證機制的選擇,而是在SOCKS基于認證方法的子協商階段才選定認證機制。SOCKS服務器除了用于傳遞認證信息之外,還能進行簡單的訪問控制、過濾和認證。
(2)一旦TCP連接在客戶和SOCKS服務器間建立,客戶發送一個包含版本標識符和方法選擇集的消息。
(3)在SOCKSv5認證方法被協商確定后,RADIUS服務器發送一個或多個請求信息來認證SOCKSv5客戶。請求中的類型域用于指明被請求的內容,包括身份、MD5-挑戰、一次性口令和一般的認證卡等。MD5-挑戰類型與挑戰握手協議相對應。
(4)應答包包含的類型域與請求的類型域相同。SOCKS或RADIUS服務器將用一個認證成功或失敗包來結束認證階段。
(5)SOCKSv5服務器在客戶和認證服務器RADIUS之間不停地中繼雙方發出的EAP包。
3.3 協商過程中各種包的格式
(1)SOCKS/RADIUS服務器請求包以及對方應答包的摘要如圖2所示。
VER標識子協商的當前版本;CODE標識EAP請求或EAP應答;ID域負責輔助匹配請求和應答;TYPE域標識請求或應答類型,一般來說請求類型和應答類型應相同。
(2)EAP包的格式如圖3所示。
其中CODE域標識EAP請求或EAP應答;LENGTH域標識EAP包的長度;DATA域的格式由CODE域決定。
4? 基于SOCKSv5-EAP代理認證服務器的認證系統
4.1 系統結構
該系統主要由SOCKSv5-EAP代理認證服務器、安全管理終端、應用客戶端、資源服務器組成。系統結構圖如圖4所示。
SOCKSv5-EAP代理認證服務器主要由SOCKSv5服務器和RADIUS服務器共同組成。其中RADIUS服務器作為后臺服務器,具有鑒權功能。安全管理終端主要由授權發布機構、證書管理中心和證書庫組成。
4.2 系統流程
(1)當客戶要訪問資源時,客戶通過代理認證服務器進行身份認證。認證過程如下:
①SOCKSv5客戶向SOCKSv5服務器發送版本標識/方法選集消息,SOCKSv5服務器收到該消息,從METHODS中選擇一種方法,并回應給客戶。EAP將使用METHODS域中的下列標志:Extensible Authentication Protocol。
②方法協商結束,雙方進入依賴方法的子協商階段。在此階段,RADIUS服務器向客戶發請求,客戶對每個請求作應答,RADIUS服務器根據客戶情況決定出一種認證機制。請求中包括請求的類型。
③代理回路的建立階段。客戶發出代理請求,SOCKSv5服務器根據自己的規則初步判斷是否允許代理,如果允許,則建立常規的SOCKSv5代理回路。否則拒絕,不予代理。代理回路建立后,SOCKSv5服務器開始在客戶與RADIUS服務器之間不間斷地傳送EAP包。
(2)用所決定出的認證機制認證完畢后,代理認證服務器把包含身份和權限屬性的認證結果交給授權發布機構,授權發布機構把權限證書離線發布給客戶。
(3)客戶把證書信息提交給SOCKSv5服務器,由SOCKSv5中轉給RADIUS服務器來鑒定證書的權限。
(4)鑒定權限通過后,RADIUS服務器發送給SOCKSv5服務器一個認證成功包,告訴它客戶通過了權限的鑒定,SOCKSv5把此消息中轉給客戶,SOCKSv5服務器啟動客戶與應用資源服務器之間的代理回路,進行應用數據的中繼。
(5)授權發布機構根據證書的有效期撤消證書,同時通知代理認證服務器證書過期。
5? 結束語
本文在介紹SOCKSv5協議、EAP的基礎上,設計了一個代理認證服務器,在很大程度上提高了用戶身份認證和訪問控制技術的靈活性。
評論
查看更多