◆趙 進(jìn)
?
基于可信固件的遠(yuǎn)程身份認(rèn)證模型研究
◆趙 進(jìn)
(中國(guó)人民解放軍91977部隊(duì) 北京 100841)
基于操作系統(tǒng)層的終端計(jì)算機(jī)身份認(rèn)證模型,主要工作機(jī)制是通過(guò)運(yùn)行于終端計(jì)算機(jī)操作系統(tǒng)中軟件代理與認(rèn)證服務(wù)器交互完成,此時(shí)操作系統(tǒng)已經(jīng)啟動(dòng),可能存在惡意軟件隨操作系統(tǒng)啟動(dòng)等安全隱患。本文研究基于終端計(jì)算機(jī)構(gòu)建可信固件并實(shí)現(xiàn)固件層的軟件代理,提出了基于可信固件的身份認(rèn)證模型。該模型能夠在操作系統(tǒng)啟動(dòng)前完成對(duì)終端計(jì)算機(jī)身份認(rèn)證,并根據(jù)認(rèn)證結(jié)果執(zhí)行禁止開(kāi)機(jī)、禁止接入網(wǎng)絡(luò)等安全管控策略。
可信固件;身份認(rèn)證;模型
隨著信息技術(shù)的發(fā)展,云計(jì)算、移動(dòng)計(jì)算等工作模式逐步成熟,眾多企事業(yè)單位逐步引入移動(dòng)辦公和遠(yuǎn)程辦公,特別是在內(nèi)網(wǎng)部署終端計(jì)算機(jī),通過(guò)虛擬桌面系統(tǒng)在線處理工作[1]。在線辦公在提升管理效率、降低管理成本的同時(shí),也帶來(lái)了數(shù)據(jù)泄露、黑客攻擊等安全問(wèn)題[2]。
終端計(jì)算機(jī)是數(shù)據(jù)信息產(chǎn)生的源頭,也是大多數(shù)網(wǎng)絡(luò)攻擊的首要目標(biāo)。身份認(rèn)證系統(tǒng)是確保終端計(jì)算機(jī)安全應(yīng)用的一種重要方案,通過(guò)身份認(rèn)證協(xié)議,可以防止非法人員進(jìn)入應(yīng)用系統(tǒng)訪問(wèn)受控信息、惡意破壞數(shù)據(jù)等安全隱患[3]。但目前常用的身份認(rèn)證系統(tǒng)通過(guò)運(yùn)行于操作系統(tǒng)中的軟件代理與認(rèn)證服務(wù)器交互完成工作[4]。在此認(rèn)證過(guò)程中,存在惡意軟件隨操作系統(tǒng)啟動(dòng)的風(fēng)險(xiǎn),以及操作系統(tǒng)中的身份認(rèn)證機(jī)制被卸載或旁路,無(wú)法阻止非授權(quán)終端接入內(nèi)網(wǎng)[4]等安全隱患。
在國(guó)際上,可信計(jì)算是由可信計(jì)算組織(Trusted Computing Group, TCG)進(jìn)行推動(dòng)和開(kāi)發(fā),基本的思路是在計(jì)算機(jī)主板上配備“信任根”(可信平臺(tái)模塊)。該信任根的可信性由物理安全和管理安全確保;通過(guò)該信任根構(gòu)建信任鏈,能夠建立從信任根到硬件平臺(tái),從硬件平臺(tái)到操作系統(tǒng),從操作系統(tǒng)到應(yīng)用的認(rèn)證,把信任擴(kuò)展到整個(gè)可信計(jì)算領(lǐng)域[6]。
固件是計(jì)算機(jī)中不可缺少的重要部件,是連接計(jì)算機(jī)基礎(chǔ)硬件和系統(tǒng)軟件的橋梁[5]。在可信計(jì)算機(jī)系統(tǒng)中的固件,稱之為可信固件[7]。計(jì)算機(jī)開(kāi)機(jī)后,可信平臺(tái)模塊首先會(huì)對(duì)可信固件進(jìn)行主動(dòng)的可信度量,保證固件的完整性。在此基礎(chǔ)上,固件會(huì)對(duì)計(jì)算機(jī)的關(guān)鍵硬件和核心軟件進(jìn)行度量,保證硬件不被替換、系統(tǒng)軟件不被篡改。本文研究提出了基于可信固件的身份認(rèn)證模型,通過(guò)在終端計(jì)算機(jī)構(gòu)建可信計(jì)算能力,實(shí)現(xiàn)對(duì)終端計(jì)算機(jī)的可信度量、加解密及雜湊運(yùn)算等功能,完成基于可信固件層的遠(yuǎn)程身份認(rèn)證。
本文第一節(jié)研究構(gòu)建了基于可信固件的遠(yuǎn)程認(rèn)證系統(tǒng)總體架構(gòu);第二節(jié)研究提出了認(rèn)證系統(tǒng)功能組成;第三節(jié)研究設(shè)計(jì)了模型可信固件架構(gòu);第四節(jié)研究設(shè)計(jì)了身份認(rèn)證管理中心架構(gòu);第五節(jié)對(duì)全文進(jìn)行了總結(jié)。
為實(shí)現(xiàn)終端計(jì)算機(jī)計(jì)算機(jī)遠(yuǎn)程身份認(rèn)證,需要滿足以下安全性要求。
(1)終端計(jì)算機(jī)自身的安全性驗(yàn)證。即需要實(shí)現(xiàn)對(duì)終端計(jì)算機(jī)自有關(guān)鍵硬件和核心軟件的驗(yàn)證。
(2)固件層具有網(wǎng)絡(luò)協(xié)議棧的支持。即在開(kāi)機(jī)過(guò)程中對(duì)終端計(jì)算機(jī)提供網(wǎng)絡(luò)接入支持。
(3)對(duì)終端計(jì)算機(jī)的身份進(jìn)行驗(yàn)證。部署身份認(rèn)證管理中心,對(duì)終端計(jì)算機(jī)的身份進(jìn)行驗(yàn)證,同時(shí),對(duì)終端計(jì)算機(jī)的接入進(jìn)行控制。
因此,基于可信固件的遠(yuǎn)程身份認(rèn)證系統(tǒng)包括以下幾個(gè)部分,系統(tǒng)拓?fù)鋱D如圖1所示。
(1)資源管理中心。該中心用于管理終端計(jì)算機(jī)和服務(wù)器的密鑰及相關(guān)算法模塊,其功能包括密鑰產(chǎn)生、注冊(cè)、銷毀等管理功能。本文主要針對(duì)身份認(rèn)證系統(tǒng)和機(jī)制進(jìn)行研究設(shè)計(jì),對(duì)資源管理中心不展開(kāi)討論。
(2)身份認(rèn)證管理中心。該中心主要負(fù)責(zé)對(duì)各個(gè)終端計(jì)算機(jī)的完整性認(rèn)證和身份認(rèn)證,并同時(shí)對(duì)終端計(jì)算機(jī)進(jìn)行接入控制。
(3)終端計(jì)算機(jī)。在每一臺(tái)需要管控的終端計(jì)算機(jī)中都部署相應(yīng)的可信平臺(tái)模塊,用于對(duì)自身的完整性進(jìn)行度量,實(shí)現(xiàn)身份認(rèn)證相關(guān)協(xié)議。
(4)應(yīng)用服務(wù)器。應(yīng)用服務(wù)器用于為終端計(jì)算機(jī)提供基礎(chǔ)軟件服務(wù),即可以采用虛擬化等技術(shù)提供遠(yuǎn)程桌面,也可以提供辦公系統(tǒng)、財(cái)務(wù)系統(tǒng)等應(yīng)用服務(wù)。
圖1 遠(yuǎn)程身份認(rèn)證拓?fù)鋱D
從圖1可以看出,任何一臺(tái)終端計(jì)算機(jī)接入應(yīng)用服務(wù)網(wǎng)絡(luò)前,首先要經(jīng)過(guò)身份認(rèn)證管理中心的身份認(rèn)證。只有在身份認(rèn)證通過(guò)后,才能夠與應(yīng)用服務(wù)器建立連接。
本文提出的基于可信固件的遠(yuǎn)程身份認(rèn)證系統(tǒng)的主要功能包括以下三點(diǎn):
(1)終端計(jì)算機(jī)完整性驗(yàn)證,防止關(guān)鍵硬件和核心軟件的破壞。
(2)終端計(jì)算機(jī)身份驗(yàn)證,在固件層實(shí)現(xiàn)遠(yuǎn)程身份認(rèn)證流程。
(3)終端計(jì)算機(jī)啟動(dòng)和接入控制,如果終端計(jì)算機(jī)遠(yuǎn)程身份驗(yàn)證失敗,則基于策略對(duì)終端進(jìn)行控制。
因此,基于可信固件的遠(yuǎn)程身份認(rèn)證系統(tǒng)功能組成如圖2所示。
圖2 遠(yuǎn)程身份認(rèn)證系統(tǒng)功能組成
其中,終端計(jì)算機(jī)的可信固件包括了完整性度量、身份認(rèn)證和受控管理三個(gè)功能。完整性度量保證了終端計(jì)算機(jī)啟動(dòng)環(huán)境和運(yùn)行環(huán)境的安全、可靠;身份認(rèn)證能夠基于可信平臺(tái)模塊,實(shí)現(xiàn)終端的平臺(tái)身份認(rèn)證;受控管理包括對(duì)終端啟動(dòng)的控制和網(wǎng)絡(luò)接入的控制。這三個(gè)功能互為依托,完整地實(shí)現(xiàn)終端計(jì)算機(jī)接入應(yīng)用網(wǎng)絡(luò)的整體控制流程。
通過(guò)對(duì)遠(yuǎn)程身份認(rèn)證系統(tǒng)的分析,支持終端計(jì)算機(jī)遠(yuǎn)程身份認(rèn)證系統(tǒng)的可信固件需要包括以下功能模塊,如圖3所示。
(1)可信平臺(tái)模塊驅(qū)動(dòng)。該模塊是符合可信平臺(tái)模塊接口的固件模塊,能夠在固件層對(duì)可信平臺(tái)模塊自檢、加解密、存儲(chǔ)等接口進(jìn)行調(diào)用。
(2)可信度量模塊。該模塊通過(guò)可信平臺(tái)模塊的相關(guān)接口,能夠?qū)K端計(jì)算機(jī)關(guān)鍵硬件和核心軟件,如主板、內(nèi)存、操作系統(tǒng)內(nèi)核等進(jìn)行度量。
(3)身份認(rèn)證模塊。該模塊包括對(duì)用戶身份進(jìn)行認(rèn)證和終端平臺(tái)身份認(rèn)證兩個(gè)功能。
(4)受控管理模塊。該模塊接受身份認(rèn)證管理中心的命令,能夠在固件層對(duì)計(jì)算機(jī)終端進(jìn)行禁止開(kāi)機(jī)等控制。
(5)配置管理模塊。配置管理模塊包括對(duì)是否啟動(dòng)可信度量、身份認(rèn)證等功能的管理。
(6)網(wǎng)絡(luò)協(xié)議模塊。該模塊在固件層提供網(wǎng)絡(luò)協(xié)議棧的支持,包括IP網(wǎng)絡(luò)協(xié)議、UDP/TCP傳輸協(xié)議等。
(7)固件通用模塊。該模塊包括了固件對(duì)硬件初始化和操作系統(tǒng)引導(dǎo)等功能。
圖3 終端計(jì)算機(jī)可信固件組成
與可信固件相對(duì)應(yīng)的身份認(rèn)證管理中心也需要包括以下模塊:網(wǎng)絡(luò)通信模塊、身份認(rèn)證模塊、終端管理模塊、數(shù)據(jù)加解密模塊和數(shù)據(jù)管理模塊,如圖4所示。
該模塊用于接收可信固件客戶端的連接請(qǐng)求,與客戶端建立網(wǎng)絡(luò)連接。同時(shí),該服務(wù)也能對(duì)建立的網(wǎng)絡(luò)連接進(jìn)行管理。
該模塊用于對(duì)可信固件客戶端發(fā)送的身份認(rèn)證信息進(jìn)行身份認(rèn)證,并得出身份認(rèn)證結(jié)果。
該模塊實(shí)現(xiàn)對(duì)終端計(jì)算機(jī)進(jìn)行管控,包括終端的錄入、狀態(tài)跟蹤、日志記錄、管理策略等功能。
對(duì)重要數(shù)據(jù)進(jìn)行加密或解密服務(wù)。
圖4 身份認(rèn)證管理中心系統(tǒng)組成
本文研究設(shè)計(jì)了基于可信固件的身份認(rèn)證模型,通過(guò)在終端計(jì)算機(jī)構(gòu)建可信計(jì)算能力,完成基于可信固件層的遠(yuǎn)程身份認(rèn)證,能夠有效防止惡意軟件隨操作系統(tǒng)啟動(dòng)、身份認(rèn)證機(jī)制被卸載或旁路、非授權(quán)終端接入內(nèi)網(wǎng)等安全隱患。
[1]芮蘭蘭,郭春明,邱雪松等.下一代終端計(jì)算機(jī)管理系統(tǒng)體系結(jié)構(gòu)及流程實(shí)現(xiàn)[J].北京郵電大學(xué)學(xué)報(bào),2009.
[2]廖輝,凌捷.終端計(jì)算機(jī)安全狀況評(píng)估指標(biāo)體系的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010.
[3]周超,周城,丁晨路.計(jì)算機(jī)終端計(jì)算機(jī)準(zhǔn)入控制技術(shù)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011.
[4]戚文靜,張素,于承新等.幾種身份認(rèn)證技術(shù)的比較及其發(fā)展方向[J].山東建筑工程學(xué)院學(xué)報(bào),2004.
[5]楊培,吳灝,金然.BIOS安全防護(hù)技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008.
[6]馮登國(guó),秦宇,汪丹等.可信計(jì)算技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2011.
[7]周振柳,李銘,翟偉斌等.基于UEFI的可信BIOS研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008.