隨著信息化建設的快速發展。基于物聯網的應用也越來越多。用戶終端可方便地接入網絡以獲取各種資源。安全性要求貫穿于整個物聯網體系架構的各個層次中。忽略對網絡底層的通信保護無疑會使網絡上層直接面對危機四伏的物聯網環境。目前終端都是通過交換機接入網絡。交換機僅作為接入設備,連接用戶端與網絡,對于與其相連的客戶機不作任何的判斷和限制。任意機器都可以通過交換機接入整個網絡:這種狀況不僅造成管理的混亂,用戶可以隨意地改動IP及連接。而且無法對外來計算機的接入進行有效的控制。從而對網絡中的資源形成很大的威脅。因此。必須對接入網絡的客戶機進行身份認證。這對于安全要求很高的網絡環境是刻不容緩的。
筆者在本文中提出一種基于數字證書或用戶名/口令以及終端完整性的客戶機身份認證方式,實現了與網絡接入設備端口的認證連接,能有效地約束非法用戶通過接人設備來訪問網絡資源。
1.802.1X和Radius協議簡介
802.1X協議是基于Client/Server的訪問控制和認證協議。它可以限制未經授權的用戶/設備通過接入端口訪問網絡。在獲得LAN提供的各種業務之前。802.1x對連接到交換機端口上的用戶/設備進行認證。在認證通過之前。802.1x只允許基于局域網的擴展認證協議(EAPOL)的數據通過設備連接的交換機端口;認證通過以后,正常的數據可以順利地通過以太網端口。
Radius(Remote Authentication Dial In User Service) 協議最初是由Livingston公司提出的,原先的目的是為撥號用戶進行認證和計費。后來經過多次改進。形成了一項通用的認證計費協議。Radius是一種C/S結構的協議,它的客戶端最初就是NAS(Net Access Server)服務器,現在任何運行RadiuS客戶端軟件的計算機都可以成為Radius的客戶端。Radius協議的認證機制靈活,可以采用PAP、CHAP或者Unix登錄認證等多種方式。Radius是一種可擴展的協議,它進行的全部工作都是基于Attribute—Length—Value的向量進行的。
2.系統的組成
考慮到兼容性。此方案基于802.1x協議設計實現。系統主要由3部分(使用證書時還需要CA認證服務器)組成:
a)客戶端
通過網線與交換機直接物理相連。獲取終端的完整性信息(包括系統更新補丁信息、殺毒軟件和防火墻信息、硬件的完整性信息等)。組成EAP包發給交換機。認證成功之后。通過定時器檢測終端的完整性信息是否符合約定的策略。一旦完整性信息不符合約定的策略。則主動向交換機發送EAPOL—logoff包,斷開網絡連接。
b)支持802.1x協議的交換機
交換機是本系統的重要組成部分之一,起數據包的中轉作用。把認證客戶端的接人請求轉發給Radius認證服務器認證。并且接受Radius認證服務器下發的允許接入或者拒絕接入消息。如果允許接入,交換機將會打開端口,允許終端正常的數據包通過;否則,交換機將會關閉端口。丟棄終端的任何數據包(EAP數據包除外)。
c)RadiUS認證服務器
Radius認證服務器使用UDP協議與交換機交互。它是本系統的授權者。按照約定的策略來驗證終端的接入請求,然后授權交換機作響應的動作。如果終端驗證通過。那么Radius認證服務器將會發送EAP—Success數據包給交換機。交換機打開相應的端口:否則Radius認證服務器將會發送EAP—Failure數據包給交換機。交換機關閉相應的端口。
3.工作流程
客戶以提交數字證書或用戶名/口令,(同時需提交CPK數字簽名)以及客戶端完整性數據的方式。請求認證服務器驗證。驗證通過則打開網絡通道,否則拒絕客戶接人網絡,如圖1所示。
圖1 認證流程
以使用用戶名和密碼的認證方式為例。整個方案的工作流程如下:
a)當終端有訪問網絡的需求時打開客戶端程序。輸入已經申請并登記過的用戶名和密碼。發起連接請求(EAPOL—Start報文)。此時,認證客戶端程序將發出請求認證的報文給交換機。啟動認證過程。
b)交換機收到請求認證的數據幀后。將發出一個請求幀(EAP—Request/Identity報文)要求認證客戶端發送輸入的用戶名。
c)認證客戶端程序響應交換機發出的請求。將用戶名信息通過數據幀(EAP—Response/Identity報文)發送給交換機。交換機將認證客戶端發送的數據幀經過封包處理后(Radius Access—Request報文)送給認證服務器進行處理。
d)Radius服務器收到交換機轉發的用戶名后。將該信息與數據庫中的用戶名表對比。找到該用戶名對應的密碼信息。用隨機生成的加密字對它進行加密處理。同時也將此加密字通過RadiusAccess—Challenge報文發送給交換機。由交換機轉發給客戶端程序。
e)認證客戶端程序收到由交換機傳來的加密字(EAP—Request/MD5 Challenge報文)后。用該加密字對密碼部分進行加密處理(此種加密算法通常是不可逆的,生成EAP—Response/MD5 Challenge報文)。認證客戶端首先獲取終端的完整性信息。然后附上CPK簽名信息。最后把終端完整性信息和CPK簽名信息串接到EAP—Response/MD5一Chal1enge報文中并通過交換機傳給Radius認證服務器。
f)Radius認證服務器將收到的、已加密的密碼信息(Radius Access—Request報文)和本地經過加密運算后的密碼信息進行對比。如果相同。則認為該用戶為合法用戶。Radius服務器按照既定的策略驗證簽名信息和驗證終端的完整性信息。例如系統補丁信息等。只有簽名信息正確并且終端完整性信息符合設定的策略。Radius認證服務器才會向交換機發送Radius Access—Accept報文。
g)交換機收到認證通過消息后將端口改為授權狀態。允許用戶通過端口訪問網絡。在此期間,交換機通過向客戶端定期發送握手報文對用戶的在線情況進行監測。在缺省情況下。兩次握手請求報文都得不到客戶端的應答。交換機就會讓用戶下線。防止用戶因為異常原因下線而交換機無法感知。
h)認證客戶端也可以發送EAPOL—Logoff報文給交換機,主動要求下線。交換機把端口狀態從授權狀態改變成未授權狀態。并向認證客戶端發送EAP—Failure報文。
4.結束語
本文在802.1x協議的基礎上對EAP—MD5認證方法進行了擴展。把系統補丁信息、殺毒軟件信息以及硬件信息等作為終端完整性度量。簽名算法方面,由于組合公鑰(CPK)基于橢圓曲線密碼學,而橢圓曲線密碼具有密鑰短、運算快的優點,因此組合公鑰簽名可以很短。故選取組合公鑰簽名方案。在EAP—Response/MD5一Challenge報文中插入終端完整性信息和簽名信息。發給交換機。再由交換機將此信息發給后臺的RadiUS認證服務器。進行完整性校驗。測試結果表明,方案滿足物聯網終端安全接入的基本功能需求。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.lukmueng.com/
本文標題:物聯網終端安全接入方法研究與設計