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