專利名稱:一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)接入認(rèn)證技術(shù)和可信計算技術(shù)領(lǐng)域,特別是指一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法。
背景技術(shù):
目前,網(wǎng)絡(luò)接入認(rèn)證設(shè)備對待接入網(wǎng)絡(luò)的設(shè)備進(jìn)行的認(rèn)證處理主要基于以下技術(shù)協(xié)議實現(xiàn)(1)口令字認(rèn)證協(xié)議;(2)基于與共享密鑰和挑戰(zhàn)應(yīng)答協(xié)議;(3)基于動態(tài)一次口令協(xié)議;(4)基于公鑰體制的認(rèn)證協(xié)議。
上述所有認(rèn)證處理的思路都是網(wǎng)絡(luò)接入認(rèn)證設(shè)備通過判斷待接入的設(shè)備是否擁有認(rèn)證協(xié)議需要的口令和/或密鑰來確認(rèn)是否允許該待接入設(shè)備接入。上述認(rèn)證處理的目的就是為了保證接入網(wǎng)絡(luò)的是一個安全的設(shè)備,而不是一個攻擊者。但是,如果待接入設(shè)備自身已受到了攻擊,如已被植入木馬病毒程序,那么,當(dāng)該設(shè)備接入網(wǎng)絡(luò)時,其內(nèi)的木馬病毒程序是可以監(jiān)聽認(rèn)證過程的,并且,通過監(jiān)聽可以竊取該接入設(shè)備的關(guān)鍵信息,用其他設(shè)備假冒該待接入設(shè)備,或利用該待接入設(shè)備對網(wǎng)絡(luò)發(fā)起攻擊。
由此可以看出,僅驗證待接入設(shè)備的口令和/或密鑰是無法保證待接入設(shè)備是否真正是安全的,進(jìn)而無法保證網(wǎng)絡(luò)的安全。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法,使網(wǎng)絡(luò)接入認(rèn)證設(shè)備能夠確認(rèn)當(dāng)前待接入設(shè)備的真正狀態(tài),以確保接入網(wǎng)絡(luò)的設(shè)備是真正安全的。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法,網(wǎng)絡(luò)接入認(rèn)證設(shè)備預(yù)先保存待接入設(shè)備已計算出的其自身的系統(tǒng)完整性值,以及每個待接入設(shè)備與其自身的系統(tǒng)完整性值的對應(yīng)關(guān)系,該方法包括以下步驟a、待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值,向網(wǎng)絡(luò)接入認(rèn)證設(shè)備發(fā)送包含當(dāng)前的系統(tǒng)完整性值信息的認(rèn)證請求;b、網(wǎng)絡(luò)接入認(rèn)證設(shè)備根據(jù)接收到的認(rèn)證請求以及所述對應(yīng)關(guān)系,判斷接收到的該待接入設(shè)備當(dāng)前的系統(tǒng)完整性值與自身已保存的該待接入設(shè)備的系統(tǒng)完整性值是否一致,如果一致,則網(wǎng)絡(luò)接入認(rèn)證通過,否則網(wǎng)絡(luò)接入認(rèn)證失敗。
較佳地,所述當(dāng)前的系統(tǒng)完整性值為基本系統(tǒng)完整性值;步驟a所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為所述待接入設(shè)備啟動時,計算自身的當(dāng)前的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中直接取出該基本系統(tǒng)完整性值作為當(dāng)前的系統(tǒng)完整性值。
較佳地,所述當(dāng)前的系統(tǒng)完整性值為基本系統(tǒng)完整性值和用于網(wǎng)絡(luò)接入的模塊一起計算出的完整性值;步驟a所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為所述待接入設(shè)備啟動時,計算自身的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中取出基本系統(tǒng)完整性值,與用于網(wǎng)絡(luò)接入的模塊一起進(jìn)行完整性計算,獲取該計算出的值為自身當(dāng)前的系統(tǒng)完整性值。
較佳地,所述用于網(wǎng)絡(luò)接入的模塊包括鏈路層網(wǎng)絡(luò)驅(qū)動模塊、網(wǎng)絡(luò)層和傳輸層協(xié)議軟件模塊和網(wǎng)絡(luò)接入應(yīng)用軟件模塊。
較佳地,所述待接入設(shè)備為計算機,所述計算自身的基本系統(tǒng)完整性值的過程包括以下步驟i、計算機電源開啟后,CPU計算系統(tǒng)ROM,以及BIOS或EFI的固件代碼以及硬件配置參數(shù)的完整性值,并將其存儲在安全存儲部件中;ii、在BIOS或EFI啟動后,計算系統(tǒng)所有已經(jīng)配置完成的參數(shù)信息、主引導(dǎo)扇區(qū)和系統(tǒng)引導(dǎo)分區(qū)的完整性值,并將其存儲在安全存儲部件中;iii、在BIOS或EFI裝入引導(dǎo)操作系統(tǒng)之前,計算操作系統(tǒng)裝入代碼的完整性值,并將其存儲在安全存儲部件中;iv、在操作系統(tǒng)裝入代碼后,計算操作系統(tǒng)內(nèi)核、系統(tǒng)啟動文件、系統(tǒng)配置文件和驅(qū)動軟件的完整性值,并將其存儲在安全存儲部件中;v、在操作系統(tǒng)啟動后,計算應(yīng)用軟件的完整性值,并將其存儲在安全存儲部件中;vi、根據(jù)步驟i至步驟vi所述的所有完整性值,計算基本系統(tǒng)完整性值。
較佳地,所述已經(jīng)配置完成的參數(shù)信息包括CPU微碼軟件,系統(tǒng)各類功能的使能(enable或disable)狀態(tài)配置,各類認(rèn)證口令,磁盤配置參數(shù),外設(shè)配置參數(shù),安全功能配置參數(shù)。
較佳地,安全存儲部件為安全芯片TPM、或具有安全保護(hù)功能的硬盤、或USB-key,或smart-card。
較佳地,步驟a所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文。
較佳地,步驟b所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備接收到來自待接入設(shè)備的信息后,進(jìn)一步包括對接收到的信息的可信性進(jìn)行驗證,驗證通過后再繼續(xù)執(zhí)行后續(xù)步驟。
較佳地,待接入設(shè)備預(yù)先生成公私鑰,且該公私鑰經(jīng)可信第三方簽署;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括當(dāng)前的系統(tǒng)完整性值的簽名以及所述公鑰;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用接收到的公鑰驗證接收到的簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
較佳地,待接入設(shè)備預(yù)先生成公私鑰,且該公私鑰經(jīng)可信第三方簽署,網(wǎng)絡(luò)接入認(rèn)證設(shè)備中預(yù)先存儲有所述公鑰;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括當(dāng)前的系統(tǒng)完整性值的簽名;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用預(yù)先存儲的公鑰驗證接收到的簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
較佳地,待接入設(shè)備預(yù)先生成公私鑰,該公私鑰未經(jīng)可信第三方簽署;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括將當(dāng)前的系統(tǒng)完整性值的簽名、匿名身份證書以及所述公鑰;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用接收到的匿名身份證書驗證發(fā)送方身份合法后,應(yīng)用接收到的公鑰驗證簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
較佳地,待接入設(shè)備和網(wǎng)絡(luò)接入認(rèn)證設(shè)備中預(yù)先存儲有對稱密鑰;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前進(jìn)一步包括應(yīng)用所述對稱密鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行加密,所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息是經(jīng)對稱密鑰加密后的當(dāng)前系統(tǒng)完整性值;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用自身已保存的對稱密鑰對接收到的信息進(jìn)行解密,如果解密成功,則接收到的信息可信,如果解密未成功,則接收到的信息不可信。
較佳地,該方法進(jìn)一步包括待接入設(shè)備中預(yù)先保存有網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值;待接入設(shè)備獲取網(wǎng)絡(luò)接入認(rèn)證設(shè)備當(dāng)前的系統(tǒng)完整性值,驗證所獲取網(wǎng)絡(luò)接入認(rèn)證設(shè)備的當(dāng)前系統(tǒng)完整性值與自身已保存的該網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值一致后,再執(zhí)行步驟a。
較佳地,所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備由一個服務(wù)器構(gòu)成,或者,由防火墻、交換機或路由器與認(rèn)證服務(wù)器共同構(gòu)成。
較佳地,認(rèn)證失敗后,該方法進(jìn)一步包括網(wǎng)絡(luò)接入認(rèn)證設(shè)備向待接入設(shè)備發(fā)送指示該待接入設(shè)備當(dāng)前不安全的告警提示。
較佳地,所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由SSL協(xié)議、TLS協(xié)議、IPv6協(xié)議、或IPSec的IKE協(xié)議承載。
較佳地,所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由SSL協(xié)議或TLS協(xié)議承載時,步驟a所述待接入設(shè)備在接收到來自server的ServerHello信息后,將完整性值信息隨握手協(xié)議發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備,或者,步驟a所述待接入設(shè)備在發(fā)送的ClientHello中包含完整性值信息;所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由IPv6協(xié)議或IPSec的IKE協(xié)議承載時,步驟a所述待接入設(shè)備發(fā)送HDR,SA時將完整性值信息隨握手協(xié)議發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備。
應(yīng)用本發(fā)明,其關(guān)鍵是網(wǎng)絡(luò)接入認(rèn)證設(shè)備內(nèi)預(yù)先保存待接入設(shè)備的系統(tǒng)完整性值,以及該待接入設(shè)備與其系統(tǒng)完整性值的對應(yīng)關(guān)系。當(dāng)待接入設(shè)備需要接入網(wǎng)絡(luò)時,其獲取自身當(dāng)前的系統(tǒng)完整性值,將當(dāng)前的系統(tǒng)完整性值發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備;網(wǎng)絡(luò)接入認(rèn)證設(shè)備判斷接收到的該待接入設(shè)備當(dāng)前的系統(tǒng)完整性值與自身已保存的該待接入設(shè)備的完整性值是否一致,如果一致,則通過網(wǎng)絡(luò)接入認(rèn)證,否則網(wǎng)絡(luò)接入認(rèn)證失敗。這樣,使網(wǎng)絡(luò)接入認(rèn)證設(shè)備能夠確認(rèn)當(dāng)前待接入設(shè)備的真正狀態(tài),確保了接入網(wǎng)絡(luò)的設(shè)備是真正安全的,進(jìn)而保證了網(wǎng)絡(luò)的安全。
圖1所示為應(yīng)用本發(fā)明的一實施例的實現(xiàn)流程示意圖;圖2所示為應(yīng)用本發(fā)明的待接入設(shè)備計算自身的基本系統(tǒng)完整性值的流程示意圖。
具體實施例方式
下面結(jié)合附圖及具體實施例對本發(fā)明再做進(jìn)一步地詳細(xì)說明。
本發(fā)明的思路是網(wǎng)絡(luò)接入認(rèn)證設(shè)備內(nèi)預(yù)先保存待接入設(shè)備的系統(tǒng)完整性值,以及每個待接入設(shè)備與其系統(tǒng)完整性值的對應(yīng)關(guān)系。當(dāng)待接入設(shè)備需要接入網(wǎng)絡(luò)時,其獲取自身當(dāng)前的系統(tǒng)完整性值,將當(dāng)前的系統(tǒng)完整性值發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備;網(wǎng)絡(luò)接入認(rèn)證設(shè)備判斷接收到的該待接入設(shè)備當(dāng)前的系統(tǒng)完整性值與自身已保存的該待接入設(shè)備的完整性值是否一致,如果一致,則網(wǎng)絡(luò)接入認(rèn)證通過,否則網(wǎng)絡(luò)接入認(rèn)證失敗。
圖1所示為應(yīng)用本發(fā)明的一實施例的實現(xiàn)流程示意圖。網(wǎng)絡(luò)接入認(rèn)證設(shè)備預(yù)先保存待接入設(shè)備已計算出的其自身的系統(tǒng)完整性值,以及每個待接入設(shè)備與其自身的系統(tǒng)完整性值的對應(yīng)關(guān)系,且待接入設(shè)備預(yù)先生成有公私鑰,該公私鑰已經(jīng)可信第三方簽署。
步驟101,待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值,應(yīng)用上述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;之后,向網(wǎng)絡(luò)接入認(rèn)證設(shè)備發(fā)送認(rèn)證請求,該認(rèn)證請求中包括當(dāng)前的系統(tǒng)完整性值,當(dāng)前的系統(tǒng)完整性值的簽名以及所述公鑰;
步驟102,網(wǎng)絡(luò)接入認(rèn)證設(shè)備接收到來自待接入設(shè)備的信息后,應(yīng)用接收到的公鑰驗證接收到的簽名是否正確,如果簽名正確,則表示接收到的信息可信,執(zhí)行步驟103;如果簽名不正確則表示接收到的信息不可信,網(wǎng)絡(luò)接入認(rèn)證失敗。
步驟103,網(wǎng)絡(luò)接入認(rèn)證設(shè)備根據(jù)接收到的認(rèn)證請求以及所述對應(yīng)關(guān)系,獲取該待接入設(shè)備的系統(tǒng)完整性值,判斷該接收到的待接入設(shè)備的當(dāng)前系統(tǒng)完整性值與自身已保存的該待接入設(shè)備所對應(yīng)的系統(tǒng)完整性值是否一致,如果一致,則網(wǎng)絡(luò)接入認(rèn)證通過,否則網(wǎng)絡(luò)接入認(rèn)證失敗。
如果網(wǎng)絡(luò)接入認(rèn)證失敗,網(wǎng)絡(luò)接入認(rèn)證設(shè)備可以進(jìn)一步向待接入設(shè)備發(fā)送指示該待接入設(shè)備當(dāng)前不安全的告警提示,如提示待接入設(shè)備存在安全漏洞,或提示待接入設(shè)備已受到攻擊等。
至此,網(wǎng)絡(luò)接入認(rèn)證設(shè)備完成了對待接入設(shè)備的接入認(rèn)證。
上述當(dāng)前的系統(tǒng)完整性值可以為基本系統(tǒng)完整性值,也可以為基本系統(tǒng)完整性值和用于網(wǎng)絡(luò)接入的模塊一起計算出的完整性值。
如果當(dāng)前的系統(tǒng)完整性值是基本系統(tǒng)完整性值,則步驟101所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為待接入設(shè)備每次啟動時,計算自身當(dāng)前的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中直接取出該基本系統(tǒng)完整性值作為當(dāng)前的系統(tǒng)完整性值。
如果當(dāng)前的系統(tǒng)完整性值是基本系統(tǒng)完整性值和用于網(wǎng)絡(luò)接入的模塊一起計算出的完整性值,則步驟101所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為待接入設(shè)備每次啟動時,計算自身當(dāng)前的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中取出基本系統(tǒng)完整性值,與用于網(wǎng)絡(luò)接入的模塊一起進(jìn)行計算,將計算出的值作為自身當(dāng)前的系統(tǒng)完整性值。所述用于網(wǎng)絡(luò)接入的模塊包括鏈路層網(wǎng)絡(luò)驅(qū)動模塊、網(wǎng)絡(luò)層和傳輸層協(xié)議軟件模塊和網(wǎng)絡(luò)接入應(yīng)用軟件模塊。
參見圖2,圖2所示為應(yīng)用本發(fā)明的待接入設(shè)備計算自身的基本系統(tǒng)完整性值的流程示意圖。在本實施例中,待接入設(shè)備為計算機。
步驟201,計算機每次電源開啟后,由CPU計算系統(tǒng)ROM,以及基本輸入輸出系統(tǒng)(BIOS)或可擴展固件界面(EFI)的固件代碼以及硬件配置參數(shù)的完整性值,并將其存儲在安全存儲部件中。
步驟202,在BIOS或EFI啟動后,計算系統(tǒng)所有已經(jīng)配置完成的參數(shù)信息、主引導(dǎo)扇區(qū)和系統(tǒng)引導(dǎo)分區(qū)的完整性值,并將其存儲在安全存儲部件中;所述已經(jīng)配置完成的參數(shù)信息包括CPU微碼軟件,系統(tǒng)各類功能的使能(enable或disable)狀態(tài)配置,各類認(rèn)證口令,磁盤配置參數(shù),外設(shè)配置參數(shù)以及安全功能配置參數(shù)等。
步驟203,在BIOS或EFI裝入引導(dǎo)操作系統(tǒng)之前,計算操作系統(tǒng)裝入代碼的完整性值,并將其存儲在安全存儲部件中。
步驟204,在操作系統(tǒng)裝入代碼后,計算操作系統(tǒng)內(nèi)核、系統(tǒng)啟動文件、系統(tǒng)配置文件和驅(qū)動軟件的完整性值,并將其存儲在安全存儲部件中。
步驟205,在操作系統(tǒng)啟動后,計算應(yīng)用軟件的完整性值,并將其存儲在安全存儲部件中。
步驟206,根據(jù)步驟201至步驟205所述的所有完整性值,計算基本系統(tǒng)完整性值。
上述安全存儲部件為安全芯片(TPM,Trusted Platform Module)、或具有安全保護(hù)功能的硬盤、或USB-key,或smart-card。
圖1所示流程僅為一實施例而已,當(dāng)然還可以有多種實現(xiàn)方式,比如待接入設(shè)備預(yù)先生成公私鑰,且該公私鑰經(jīng)可信第三方簽署后,已將公鑰預(yù)先存儲在了網(wǎng)絡(luò)接入認(rèn)證設(shè)備中;此時,步驟101中所述向網(wǎng)絡(luò)接入認(rèn)證設(shè)備發(fā)送的認(rèn)證請求中只需包含當(dāng)前的系統(tǒng)完整性值,以及當(dāng)前的系統(tǒng)完整性值的簽名即可;其它實現(xiàn)步驟不變。
再比如待接入設(shè)備預(yù)先生成了公私鑰,但該公私鑰未經(jīng)可信第三方簽署;此時,步驟101中所述向網(wǎng)絡(luò)接入認(rèn)證設(shè)備發(fā)送的認(rèn)證請求中需包含當(dāng)前的系統(tǒng)完整性值,當(dāng)前的系統(tǒng)完整性值的簽名、匿名身份證書以及所述公鑰;網(wǎng)絡(luò)接入認(rèn)證設(shè)備接收到來自待接入設(shè)備的信息后,首先應(yīng)用接收到的匿名身份證書驗證發(fā)送方身份是否合法,如合法,再應(yīng)用接收到的公鑰驗證簽名是否準(zhǔn)確,并繼續(xù)執(zhí)行后續(xù)步驟,如果驗證發(fā)送方的身份不合法,則網(wǎng)絡(luò)接入認(rèn)證失敗,并結(jié)束。
再比如待接入設(shè)備和網(wǎng)絡(luò)接入認(rèn)證設(shè)備之間傳送的信息不使用公私鑰保護(hù),而使用對稱密鑰的方式保護(hù),即不需要待接入設(shè)備生成公私鑰,而是待接入設(shè)備和網(wǎng)絡(luò)接入認(rèn)證設(shè)備中預(yù)先存儲有對稱密鑰;此時,待接入設(shè)備應(yīng)用對稱密鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行加密后,將加密后的當(dāng)前系統(tǒng)完整性值包含在認(rèn)證請求信息中發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備,網(wǎng)絡(luò)接入認(rèn)證設(shè)備則對接收到的信息進(jìn)行解密,解密成功后,進(jìn)行完整性判斷操作。
上述待接入設(shè)備無論采用公私鑰的方式還是對稱密鑰的方式保護(hù)當(dāng)前的系統(tǒng)完整性值,都是為了保證網(wǎng)絡(luò)接入認(rèn)證設(shè)備所接收到的系統(tǒng)完整性值是可信的,是傳輸途中未被更改過的。
當(dāng)然,待接入設(shè)備也可以直接將自身當(dāng)前的系統(tǒng)完整性值以文明的方式傳送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備,而不對所傳輸出的系統(tǒng)完整性值進(jìn)行保護(hù),該傳送方式不安全,在此并不推薦。
上述計算系統(tǒng)完整性值的操作是由待接入設(shè)備內(nèi)的完整性信息采集模塊執(zhí)行的,上述簽名或加密操作,是由待接入設(shè)備內(nèi)的簽名加密模塊完成的。網(wǎng)絡(luò)接入認(rèn)證設(shè)備所執(zhí)行的驗證操作是由其內(nèi)的認(rèn)證模塊完成的。
為了進(jìn)一步保證網(wǎng)絡(luò)接入認(rèn)證的安全可信性,待接入設(shè)備也可以對網(wǎng)絡(luò)接入認(rèn)證設(shè)備進(jìn)行完整性驗證,以確認(rèn)該網(wǎng)絡(luò)接入認(rèn)證設(shè)備是否為安全可信的。此時待接入設(shè)備內(nèi)還具有用于執(zhí)行的驗證操作的驗證模塊,網(wǎng)絡(luò)接入認(rèn)證設(shè)備還具有用于計算系統(tǒng)完整性值的完整性信息采集模塊以及執(zhí)行簽名或加密操作的簽名加密模塊。
具體實現(xiàn)過程與網(wǎng)絡(luò)接入認(rèn)證設(shè)備驗證待接入設(shè)備的過程一致,即待接入設(shè)備中預(yù)先保存網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值;待接入設(shè)備接收來自網(wǎng)絡(luò)接入認(rèn)證設(shè)備的當(dāng)前系統(tǒng)完整性值后,驗證所接收的當(dāng)前系統(tǒng)完整性值與自身已保存的該網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值是否一致,如果一致,再執(zhí)行圖1所述流程,如果不一致,則直接結(jié)束。
網(wǎng)絡(luò)接入認(rèn)證設(shè)備將自身的當(dāng)前系統(tǒng)完整性值傳送給待接入設(shè)備時,也可以采用上述公私鑰或?qū)ΨQ密鑰的方式加以保護(hù),以確保所傳送的信息在傳輸途中的安全。具體應(yīng)用公私鑰或?qū)ΨQ密鑰的方式與上述方式相同,在此不再重復(fù)描述。
以上所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備由一個服務(wù)器構(gòu)成,或者,由防火墻、交換機或路由器與認(rèn)證服務(wù)器共同構(gòu)成。當(dāng)網(wǎng)絡(luò)接入認(rèn)證設(shè)備由一個服務(wù)器構(gòu)成時,該服務(wù)器完成接收信息、驗證信息可信以及驗證完整性的操作;當(dāng)網(wǎng)絡(luò)接入認(rèn)證設(shè)備由防火墻、交換機或路由器與認(rèn)證服務(wù)器共同構(gòu)成時,由防火墻、交換機或路由器將接收到來自待接入設(shè)備的信息傳送給服務(wù)器,由服務(wù)器執(zhí)行驗證信息可信以及驗證完整性的操作,之后,服務(wù)器將驗證結(jié)果返回給防火墻或路由器,由防火墻或路由器將驗證結(jié)果信息返回給待接入設(shè)備。
上述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由安全套接字(SSL,Secure Socket Layer)協(xié)議、傳輸層安全(TLS,Transport LayerSecurity)協(xié)議、IPv6協(xié)議、或IP安全協(xié)議(IPSec,Internet protocol Security)中的密鑰交換(IKE,Internet Key Exchange)協(xié)議承載。下面再進(jìn)一步說明當(dāng)網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間由上述協(xié)議承載時,待接入設(shè)備發(fā)送完整性值的時機。對于待接入設(shè)備的具體發(fā)送方式,以及網(wǎng)絡(luò)接入認(rèn)證設(shè)備的認(rèn)證方式,均與上述方式相同,下面不再詳細(xì)說明。
當(dāng)網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間為SSL或TLS協(xié)議時,所述待接入設(shè)備為客戶端(client),所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備為server。此時,當(dāng)client接收到來自server的ServerHello后,將已計算出的完整性值隨握手協(xié)議發(fā)送給server,由server驗證接收到的完整性值與預(yù)先存儲的是否一致,如果一致,則繼續(xù)握手協(xié)議,否則停止握手協(xié)議?;蛘撸琧lient將已計算出的完整性值隨ClientHello發(fā)送給server;在server接收到來自client的ClientHello后驗證收到的完整性值與預(yù)先存儲的是否一致,如果一致,則繼續(xù)握手協(xié)議,否則停止握手協(xié)議。
當(dāng)網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間為IPv6或IPSec的IKE協(xié)議時,所述待接入設(shè)備作為發(fā)起方(Initiator),所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備作為響應(yīng)方(Responder)。在Initiator發(fā)送HDR,SA時將完整性值隨握手協(xié)議發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備,由網(wǎng)絡(luò)接入認(rèn)證設(shè)備則驗證接收到的完整性值與預(yù)先存儲的是否一致,如果一致,則表明認(rèn)證成功,并繼續(xù)后續(xù)操作,否則停止握手協(xié)議。
如果是單獨發(fā)送包含完整性值的報文,則該報文中至少包含完整性值的標(biāo)識信息、長度信息以及具體的完整性值信息。如果是隨現(xiàn)有的報文一起發(fā)送完整性值,則在現(xiàn)有的報文中增加多個字段,以承載完整性值的標(biāo)識信息、長度信息以及具體的完整性值信息,或應(yīng)用現(xiàn)有報文中的保留字段承載完整性值的標(biāo)識信息、長度信息以及具體的完整性值信息。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法,其特征在于,網(wǎng)絡(luò)接入認(rèn)證設(shè)備預(yù)先保存待接入設(shè)備已計算出的其自身的系統(tǒng)完整性值,以及每個待接入設(shè)備與其自身的系統(tǒng)完整性值的對應(yīng)關(guān)系,該方法包括以下步驟a、待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值,向網(wǎng)絡(luò)接入認(rèn)證設(shè)備發(fā)送包含當(dāng)前的系統(tǒng)完整性值信息的認(rèn)證請求;b、網(wǎng)絡(luò)接入認(rèn)證設(shè)備根據(jù)接收到的認(rèn)證請求以及所述對應(yīng)關(guān)系,判斷接收到的該待接入設(shè)備當(dāng)前的系統(tǒng)完整性值與自身已保存的該待接入設(shè)備的系統(tǒng)完整性值是否一致,如果一致,則網(wǎng)絡(luò)接入認(rèn)證通過,否則網(wǎng)絡(luò)接入認(rèn)證失敗。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)前的系統(tǒng)完整性值為基本系統(tǒng)完整性值;步驟a所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為所述待接入設(shè)備啟動時,計算自身的當(dāng)前的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中直接取出該基本系統(tǒng)完整性值作為當(dāng)前的系統(tǒng)完整性值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)前的系統(tǒng)完整性值為基本系統(tǒng)完整性值和用于網(wǎng)絡(luò)接入的模塊一起計算出的完整性值;步驟a所述待接入設(shè)備獲取自身當(dāng)前的系統(tǒng)完整性值的方法為所述待接入設(shè)備啟動時,計算自身的基本系統(tǒng)完整性值,保存該當(dāng)前的基本系統(tǒng)完整性值于安全存儲部件中;當(dāng)需要接入網(wǎng)絡(luò)時,待接入設(shè)備從安全存儲部件中取出基本系統(tǒng)完整性值,與用于網(wǎng)絡(luò)接入的模塊一起進(jìn)行完整性計算,獲取該計算出的值為自身當(dāng)前的系統(tǒng)完整性值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述用于網(wǎng)絡(luò)接入的模塊包括鏈路層網(wǎng)絡(luò)驅(qū)動模塊、網(wǎng)絡(luò)層和傳輸層協(xié)議軟件模塊和網(wǎng)絡(luò)接入應(yīng)用軟件模塊。
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述待接入設(shè)備為計算機,所述計算自身的基本系統(tǒng)完整性值的過程包括以下步驟i、計算機電源開啟后,CPU計算系統(tǒng)ROM,以及BIOS或EFI固件代碼以及硬件配置參數(shù)的完整性值,并將其存儲在安全存儲部件中;ii、在BIOS或EFI啟動后,計算系統(tǒng)所有已經(jīng)配置完成的參數(shù)信息、主引導(dǎo)扇區(qū)和系統(tǒng)引導(dǎo)分區(qū)的完整性值,并將其存儲在安全存儲部件中;iii、在BIOS或EFI裝入引導(dǎo)操作系統(tǒng)之前,計算操作系統(tǒng)裝入代碼的完整性值,并將其存儲在安全存儲部件中;iv、在操作系統(tǒng)裝入代碼后,計算操作系統(tǒng)內(nèi)核、系統(tǒng)啟動文件、系統(tǒng)配置文件和驅(qū)動軟件的完整性值,并將其存儲在安全存儲部件中;v、在操作系統(tǒng)啟動后,計算應(yīng)用軟件的完整性值,并將其存儲在安全存儲部件中;vi、根據(jù)步驟i至步驟vi所述的所有完整性值,計算基本系統(tǒng)完整性值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述已經(jīng)配置完成的參數(shù)信息包括CPU微碼軟件,系統(tǒng)各類功能的使能(enable或disable)狀態(tài)配置,各類認(rèn)證口令,磁盤配置參數(shù),外設(shè)配置參數(shù),安全功能配置參數(shù)。
7.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,安全存儲部件為安全芯片TPM、或具有安全保護(hù)功能的硬盤、或USB-key,或smart-card。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備接收到來自待接入設(shè)備的信息后,進(jìn)一步包括對接收到的信息的可信性進(jìn)行驗證,驗證通過后再繼續(xù)執(zhí)行后續(xù)步驟。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,待接入設(shè)備預(yù)先生成公私鑰,且該公私鑰經(jīng)可信第三方簽署;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括當(dāng)前的系統(tǒng)完整性值的簽名以及所述公鑰;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用接收到的公鑰驗證接收到的簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,待接入設(shè)備預(yù)先生成公私鑰,且該公私鑰經(jīng)可信第三方簽署,網(wǎng)絡(luò)接入認(rèn)證設(shè)備中預(yù)先存儲有所述公鑰;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括當(dāng)前的系統(tǒng)完整性值的簽名;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用預(yù)先存儲的公鑰驗證接收到的簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于,待接入設(shè)備預(yù)先生成公私鑰,該公私鑰未經(jīng)可信第三方簽署;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前,進(jìn)一步包括應(yīng)用所述私鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行簽名;所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息為當(dāng)前的系統(tǒng)完整性值的明文,且該認(rèn)證請求中進(jìn)一步包括將當(dāng)前的系統(tǒng)完整性值的簽名、匿名身份證書以及所述公鑰;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用接收到的匿名身份證書驗證發(fā)送方身份合法后,應(yīng)用接收到的公鑰驗證簽名是否正確,如果簽名正確,則接收到的信息可信,如果簽名不正確則接收到的信息不可信。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,待接入設(shè)備和網(wǎng)絡(luò)接入認(rèn)證設(shè)備中預(yù)先存儲有對稱密鑰;步驟a所述待接入設(shè)備發(fā)送認(rèn)證請求之前進(jìn)一步包括應(yīng)用所述對稱密鑰對當(dāng)前的系統(tǒng)完整性值進(jìn)行加密,所述認(rèn)證請求中的當(dāng)前的系統(tǒng)完整性值信息是經(jīng)對稱密鑰加密后的當(dāng)前系統(tǒng)完整性值;所述對接收到的信息的可信性進(jìn)行驗證的方法為網(wǎng)絡(luò)接入認(rèn)證設(shè)備應(yīng)用自身已保存的對稱密鑰對接收到的信息進(jìn)行解密,如果解密成功,則接收到的信息可信,如果解密未成功,則接收到的信息不可信。
14.根據(jù)權(quán)利要求1或9所述的方法,其特征在于,該方法進(jìn)一步包括待接入設(shè)備中預(yù)先保存有網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值;待接入設(shè)備獲取網(wǎng)絡(luò)接入認(rèn)證設(shè)備當(dāng)前的系統(tǒng)完整性值,驗證所獲取網(wǎng)絡(luò)接入認(rèn)證設(shè)備的當(dāng)前系統(tǒng)完整性值與自身已保存的該網(wǎng)絡(luò)接入認(rèn)證設(shè)備的系統(tǒng)完整性值一致后,再執(zhí)行步驟a。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備由一個服務(wù)器構(gòu)成,或者,由防火墻、交換機或路由器與認(rèn)證服務(wù)器共同構(gòu)成。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,認(rèn)證失敗后,該方法進(jìn)一步包括網(wǎng)絡(luò)接入認(rèn)證設(shè)備向待接入設(shè)備發(fā)送指示該待接入設(shè)備當(dāng)前不安全的告警提示。
17.根據(jù)權(quán)利要求1或9所述的方法,其特征在于,所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由SSL協(xié)議或TLS協(xié)議承載時,步驟a所述待接入設(shè)備在接收到來自server的ServerHello信息后,將完整性值信息隨握手協(xié)議發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備,或者,步驟a所述待接入設(shè)備在發(fā)送的ClientHello中包含完整性值信息;所述網(wǎng)絡(luò)接入認(rèn)證設(shè)備和待接入設(shè)備之間交互的信息由IPv6協(xié)議或IPSec的IKE協(xié)議承載時,步驟a所述待接入設(shè)備發(fā)送HDR,SA時將完整性值信息隨握手協(xié)議發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備。
全文摘要
一種實現(xiàn)網(wǎng)絡(luò)接入認(rèn)證的方法,其關(guān)鍵是網(wǎng)絡(luò)接入認(rèn)證設(shè)備內(nèi)預(yù)先保存待接入設(shè)備的系統(tǒng)完整性值,以及每個待接入設(shè)備與其系統(tǒng)完整性值的對應(yīng)關(guān)系。當(dāng)待接入設(shè)備需要接入網(wǎng)絡(luò)時,其獲取自身當(dāng)前的系統(tǒng)完整性值,將當(dāng)前的系統(tǒng)完整性值發(fā)送給網(wǎng)絡(luò)接入認(rèn)證設(shè)備;網(wǎng)絡(luò)接入認(rèn)證設(shè)備判斷接收到的該待接入設(shè)備當(dāng)前的系統(tǒng)完整性值與自身已保存的該待接入設(shè)備的完整性值是否一致,如果一致,則通過網(wǎng)絡(luò)接入認(rèn)證,否則網(wǎng)絡(luò)接入認(rèn)證失敗。這樣,使網(wǎng)絡(luò)接入認(rèn)證設(shè)備能夠確認(rèn)當(dāng)前待接入設(shè)備的真正狀態(tài),確保了接入網(wǎng)絡(luò)的設(shè)備是真正安全的,進(jìn)而保證了網(wǎng)絡(luò)的安全。
文檔編號H04L9/32GK1703004SQ20051005111
公開日2005年11月30日 申請日期2005年2月28日 優(yōu)先權(quán)日2005年2月28日
發(fā)明者韋衛(wèi), 曲亞東, 陳軍 申請人:聯(lián)想(北京)有限公司