摘 要:針對當前信息安全認證中存在的終端可信問題,提出基于TPM的CPK信息安全認證技術,從而實現從終端平臺到上層應用的環境可信。首先介紹TPM及其功能和CPK認證技術,然后為基于TPM的CPK認證技術體系構建了總體技術架構,通過對TPM的結構進行改進,使其功能得到了增強和封裝,并為該認證技術設計了相應的認證流程,最后以飛行器應用程序的升級為例,對該認證技術的認證過程進行了具體說明。
關鍵詞:可信平臺模塊; 信息安全; 認證技術; CPK
中圖分類號:TP311 文獻標識碼:A
文章編號:1004-373X(2010)12-0137-04
Research on CPK Authentication of Information Security Based on TPM
CHEN Juan, WANG Sheng-jun, LI Xiao-jiang, MEI Luan-fang, SHI Jun-fang
(Department of Space Equipment, Academy of Equipment Command Technology, Beijing 101416, China)
Abstract:Aiming at the terminal trusted problem existing in the current information security authentication, the information security authentication of the combined public key (CPK)based on the trusted platform model (TPM) is presented to realize the environment trustment from the terminal platform to the upper formation application.TPM functions of and CPK authentication technology are introduced. An overall technique arckitecture is built for the CPK information security authentication based on TPM. The function was enhanced and sealed through improvement of TPM structure. The corresponding authentication flow for the authentication technique was designed. Taking the promotion of the aircraft application procedure as the example, the authentication process of this authentication technology is elaborated.
Keywords:trusted platform model (TPM); information security; authentication; CPK
0 引 言
隨著全球網絡化、信息化程度的不斷提高,信息安全越來越受到社會各方面的重視。所謂信息安全,是指信息的5要素,即信息的保密性、完整性、可用性、可控性與可審查性。信息安全主要涉及認證技術和數據保密方面的內容。認證技術主要靠鑒別協議和數字簽名技術實現;數據保密則主要靠密鑰交換協議和加密技術實現[1]。認證技術可以構建一個安全的信息基礎設施平臺,為網絡活動提供良好的應用環境。它是可以防止主動攻擊,并可以保證信息完整性、有效性的重要技術。它既要鑒別與之通信的對方身份是否真實,又要證實信息在傳輸過程中是否被篡改、偽裝、竄擾或否認[2]。信息安全認證技術的研究是當今信息安全領域研究的熱點問題,但絕大多數認證技術都是以軟件形式實現的,并建立在操作系統之上,忽略了終端平臺本身包含惡意代碼的可能性。終端平臺是創建和存放重要數據的源頭,絕大多數的攻擊事件都是從終端平臺發起的,因此如何確保終端平臺的安全性是信息安全的基礎。
本文在CPK認證技術的基礎上,以當前信息安全的要求為前提,在傳統的PC機硬件上引入TPM,提出了基于TPM的CPK認證技術。該方案通過TPM實現了CPK算法,保護了私鑰等機密、敏感數據。私鑰只在系統內部參與運算,即使合法用戶也不能從系統中讀取私鑰數據。通過TPM提供的安全特性來增強終端的安全性,為構筑可信網絡、保障信息安全提供了基礎。
1 相關概念
1.1 TPM及其功能
可信平臺模塊(trusted platform model,TPM)是帶有密碼運算單元和存儲單元的小型片上系統。通過提供密鑰管理和配置管理等特性,與配套的應用軟件一起,實現計算平臺的可靠性認證、用戶身份認證、數字簽名、信任鏈的建立和完整性度量等功能,為各種安全應用提供了功能強大的平臺。TPM主要功能有以下5個方面:
安全存儲TPM將部分敏感數據和密鑰存儲在芯片內部,通過硬件級保護,防止存儲其中的密鑰和敏感數據被破壞、更改和泄露以及被未授權者使用;
身份認證通過身份認證,向外部實體提供系統平臺身份證明和應用身份證明服務;
完整性度量通過完整性度量,保證PC機從加電開始,一直到在其上運行的每一個硬件、操作系統以及應用軟件都是可信的,從而保證了平臺運行環境的可信;
內部資源訪問授權訪問TPM所管理的資源(包括密鑰、加密存儲的敏感數據)時,是通過TPM的授權協議來完成的,只有通過合法授權才能訪問資源;
數據的加密TPM在與外部實體進行命令和數據交互時,除了要驗證操作者的身份外,還要在信息傳輸過程中對數據進行加密,以防止被竊取和攻擊。
1.2 CPK認證
組合公鑰算法(combined public key,CPK)認證是基于橢圓曲線密碼算法(ECC)的組合公鑰認證技術,采用基于標識證書的認證方式。它通過對密鑰和標識證書的管理,為用戶建立起一個安全的網絡運行環境,使用戶可以在應用環境下方便地使用加密和數字簽名技術,從而保證網內數據的機密性、完整性和有效性 [3]。
CPK認證由密鑰管理技術和認證協議構成的。合理的密鑰管理技術是實現簽名機制的基石,而簽名機制又是認證技術的核心,認證技術是建立交易信任和數據安全的基礎[4]。CPK采用集中式密鑰管理技術,認證協議是采用國際公認的標準化協議,主要有身份認證協議、數字簽名協議、密鑰交換協議、加密協議和信息傳遞格式協議。
CPK的認證體系由密鑰因子生成中心、密鑰管理中心、證書注冊管理中心、公共信息庫和管理中心5部分構成。
(1) 密鑰因子生成中心。負責整個系統參數的初始化工作。根據應用系統的規模和安全的不同要求,確定密鑰因子矩陣的生成參數和橢圓曲線的相關參數,并將這些參數離線發送給密鑰管理中心。
(2) 密鑰管理中心。負責公、私鑰對的產生和管理工作,是整個系統的關鍵部件。密鑰管理中心在接收到密鑰因子生成中心生成的參數后,生成公、私鑰因子矩陣,并將公鑰因子矩陣發送給公開訪問數據庫,以供終端實體查詢;密鑰管理中心還接受證書注冊生成系統的申請,產生特定用戶的私鑰,并發送給證書注冊生成系統。
(3) 證書注冊管理中心。接受終端實體申請,并代理終端實體向密鑰管理中心申請私鑰,管理、維護并發布統一的名字空間,存儲和發布作廢的終端實體名稱。
(4) 公共信息庫。包括所有的公鑰因子表、有效名字和作廢的名字信息。
(5) 管理中心。制定整個系統安全實施策略,并負責管理密鑰管理中心的實體,制定證書格式,提供加密、簽名等協議。
2 基于TPM的CPK認證的技術框架和認證流程
在應用中,以往的CPK認證技術常將標識證書和密鑰等關鍵信息存放在計算機硬盤中,這樣很容易被非法用戶竊取。為了實現信息的高安全性,本文提出了基于TPM的CPK信息安全認證技術。該認證技術是在終端平臺上嵌入符合TCG規范的TPM應用功能[5],實現了對CPK認證技術中上層應用組件的支持。利用TPM存儲用戶私鑰和標識證書,將敏感數據存放在安全存儲區中,完成密鑰對生成、數據加密、數字簽名和驗證,從根本上擺脫了對操作系統的依賴,實現了數據的物理隔離,防止非法用戶盜取私鑰和標識證書,最終實現了網絡的信息安全。
2.1 總體技術架構
基于TPM的CPK認證技術體系主要功能是提供密鑰交換、數字簽名、身份識別、網絡隔離和消息加密等服務[6]?,F以本文提出的基于TPM的CPK認證技術為基礎,設計了相應的總體技術架構如圖1所示。
圖1 基于TPM的CPK總體技術架構
可信平臺的安全核心部件是TPM,以密碼技術為支持,安全操作系統為核心,涉及身份認證、軟硬件配置、應用程序、平臺間驗證和管理等內容,負責密鑰和敏感數據管理、備份恢復和存儲,擁有認證過程中的所有CPK算法。應用系統由密鑰因子生成中心、密鑰管理中心、證書注冊管理中心、公共信息庫和管理中心5個模塊實現認證服務,密鑰管理中心接受終端申請后產生終端私鑰,證書注冊管理中心接到該私鑰按照管理中心的格式要求為終端生成標識證書,并將該標識證書寫入TPM中,并由TPM交付給終端。終端實體通過標識證書實現加密、認證、簽名等活動。服務組件主要包括可信評估組件、可信決策組件、可信認證組件和可信修復組件??尚旁u估組件是根據終端的認證結果和提交的完整性測量值計算終端的可信度的[7]。這里可信度是終端在執行操作(如身份認證、訪問網內資源或預測終端訪問對象的可能性)時,終端的可信程度??尚艣Q策組件實現終端接入策略的制定和實施。可信認證服務組件完成對終端的身份認證??尚判迯头战M件是在終端執行程序升級、操作系統補丁或重新安裝新版軟件等操作時提供服務的。
在基于TPM的CPK認證系統中,TPM作為一個獨立的邏輯部件,實現CPK算法,通過硬件接口或軟件接口提供認證和加密功能。CPK認證技術的各組成部分以及服務組件嵌入在應用系統或應用環境之中,進而提供CPK認證和加密服務,CPK認證技術通過與TPM的特定通信協議,調用TPM的功能,并向應用環境提供這些服務。同時,CPK認證技術也對TPM的功能進行一定程度的增強和封裝,從而滿足了應用系統的需求。改進后TPM的結構如圖2所示。
圖2 改進后TPM的結構
由硬件系統、軟件系統和內部數據3部分構成。硬件系統包括通信接口、對稱密碼學引擎、公鑰密碼學引擎、安全存儲區、普通存儲區、隨機數發生器、處理器和物理安全防護8個模塊。其中,通信接口用于與外部設備進行通信;對稱密碼學引擎用于對稱加密、散列算法等運算指令;公鑰密碼學引擎提供公鑰運算指令,支持橢圓曲線密鑰算法;安全存儲區中的數據只能通過特定的指令或設備才可以訪問;普通存儲區用于存儲非敏感的保密數據;隨機數發生器用于生成隨機數;處理器用于處理數據,控制和管理整個系統;物力安全防護用于實現對芯片的安全封裝,是防攻擊的防護器件。軟件系統有隨機數生成、橢圓曲線算法、標識-私鑰管理、訪問控制、HASH算法、公鑰因子矩陣管理、CPK數據格式編/解碼、通信協議8個模塊。這些信息或存儲于TPM內部的FLASH存儲器或直接燒寫在ROM存儲器中。軟件系統通過調用硬件模塊中提供的功能,實現CPK各種算法和協議。其中,橢圓曲線算法模塊實現簽名、驗證、密鑰交換等運算;通信協議模塊通過請求-應答方式實現相應的服務功能;CPK數據格式編/解碼模塊實現對數據以CPK格式的編碼或解碼。
2.2 認證流程
認證分為身份認證和信息認證,包括身份信息和數據信息的一切信息都是由一組特定的數據表示的,認證的目的是保證信息的真實性、完整性、保密性和不可否認性。如果把信息安全體系看作一個木桶,那么防火墻、入侵檢測、VPN安全網關等安全設備就是木桶的壁板,而信息認證就是木桶底。由此可見,信息認證是整個信息安全體系的基礎。
基于TPM的CPK認證技術是一個信息安全認證技術體系,認證實體有終端(訪問的請求者)和被訪問服務器。其中,被訪問服務器中的功能組件有可信評估組件、可信決策組件、可信認證組件和可信修復組件。按照總體架構中提供的服務提出認證流程如圖3所示。
圖3 基于TPM的CPK認證流程
(1) 被訪問服務器中的證書注冊管理中心通過安全的方式把密鑰和平臺證書發給終端,同時終端通過TPM的完整性屬性度量功能度量出終端平臺的完整性屬性值,并存儲在被訪問服務器的可信存儲區中;
(2) 終端向被訪問服務器發出訪問請求,同時TPM生成一對PIK身份證明密鑰;
(3) 被訪問服務器的管理中心向可信決策組件發出認證策略請求,可信決策組件從策略庫中取出預先定義好的認證策略,發送給被訪問服務器的管理中心,被訪問服務器的管理中心調用該服務器TPM上的加密算法,將此策略加密后發送給終端,強制要求終端按照此策略進行認證;
(4) 終端接收到被訪問服務器管理中心發來的接入策略后,解密該策略消息,調用TPM的完整性屬性度量功能,度量出終端的完整性屬性值,并存入終端的狀態寄存器PCR中,用生成的PIK密鑰對PCR的值加密和簽名后,與PIK證書一起發送給被訪問服務器的管理中心;
(5) 被訪問服務器的管理中心將收到的消息轉發給可信決策組件,同時可信決策組件將此消息轉發給可信認證組件,可信認證組件先驗證終端簽名和PIK證書,如果驗證失敗,則設置終端的可信度為完全不可信,斷開與終端的連接,若驗證成功,則繼續執行認證;
(6) 可信認證組件解密發來的完整性屬性度量值,如果解密失敗,則設置終端的可信度為完全不可信,斷開與終端的連接;如果解密成功,則將完整性屬性度量值發給可信評估組件;
(7) 可信評估組件將得到的完整性屬性度量值與被訪問服務器可信存儲區中的完整性屬性度量值做比較,進行可信度計算,并將計算結果發給可信決策組件;
(8) 可信決策組件把得到的終端可信度值與完整性基準值進行比較,若相同,則發送認證通過消息給被訪問服務器的管理中心;反之,則發送認證未通過消息;
(9) 若被訪問服務器的管理中心收到了可信決策組件發來的認證通過消息,則將此消息轉發給終端;建立連接,反之,斷開與終端的連接。
3 應用實例
這里以飛行器應用程序的升級為例,對該認證過程進行了詳細說明。根據第2.2節中認證流程實施認證,實現飛行器和被訪問服務器的身份認證,從而保證整個通信網絡處在可信的運行環境中,即其上的應用程序也是可信的。如圖4所示,認證實體是衛星、安全網關和地面服務器。可信評估組件根據衛星的認證結果和提交的完整性測量值,計算其可信度值,在訪問過程中,實時計算其可信度并對其進行評估。
圖4 星載通信程序升級
可信決策組件負責衛星接入策略的指定和實施者;可信認證組件完成對衛星的身份認證;可信修復組件組件,主要實現操作系統補丁、應用程序的升級等操作。
在可信的運行環境下,要實現飛行器上某應用程序的升級,可信平臺的狀態必然發生改變。應用程序的更新認證是在應用程序認證之后,對改變可信環境后的狀態進行的認證。無論是合法程序的更新,還是惡意攻擊。導致組件配置和狀態的改變,都會導致可信環境的改變。更新時,由可信決策組件調用策略庫中的策略返回安全網關,安全網關接到策略消息后對此策略進行加密之后,發送給飛行器,要求飛行器強制執行此策略。飛行器接到加密策略后,解密該策略,調用TPM的完整性屬性測量功能,對更新組件進行完整性度量,用計算該組件的完整性屬性值。此時,TPM按照完整性屬性值調用算法為該更新組件生成更新憑證,飛行器使用其密鑰對該更新憑證加密和簽名后發送給安全網關,安全網關將收到的組件更新憑證加密信息和簽名信息,通過可信決策組件轉發給可信認證組件,用以驗證飛行器的簽名信息。
若驗證通過,則解密更新憑證的加密信息。解密成功后,將解密得到的完整性屬性測量值發送給可信評估組件??尚旁u估組件將得到的完整性測量值與TPM的PCR中存儲的完整性測量值進行比較,再進行可信度計算,計算后的結果與可信評估組件中的完整性基準值進行比較,若在可信范圍之內,則發送認證通過消息,通過安全網關發給飛行器,飛行器接到認證通過消息后,處于待升級狀態。此時,通過安全網關給被訪問組件發送接受升級程序信號,可信決策組件從可信修復組件中調用相應的升級程序,通過可信決策組件傳給安全網關,通過安全網關加密后傳給飛行器,飛行器接收信息后解密執行改信息,即完成了該飛行器應用程序的升級。
4 結 語
根據在網絡傳輸中信息安全認證的需求,在TPM的概念及功能和傳統的CPK認證技術的基礎上,提出了基于TPM的CPK信息安全認證技術,構建了該認證技術的總體技術框架,并對其認證流程進行了詳細介紹。TPM的可信鏈傳遞機制不但可以保證底層可信,而且可以把信任延伸到網絡環境中,結合CPK認證技術,從而實現從底層到上層應用的運行環境完全可信。該認證技術已經在嵌入式星載衛星應用程序的升級中得到了應用。結果表明,該認證技術可以很好地解決信息認證中信息安全存在的問題,實現服務的可信、保密、完整和不可否認。
參考文獻
[1]關志,南湘浩.數字簽名與密鑰交換機制的討論[J].計算機安全,2008(10):1-2.
[2]湯彬,胡浩民,向玨良.基于PKI身份認證技術的研究與實現[J].自動化儀表,2008,29(9):16-18.
[3]南湘浩,唐文,余嘉寧.ECC組合公鑰[ C] .中國計算機學會信息保密專業委員會論文集,2001.
[4]南湘浩.CPK標識認證[M].北京:國防工業出版社,2006.
[5]秦戈,韓文報.關于可信計算平臺模塊的研究[J].信息工程大學學報,2006,7(4):341-344.
[6]汪宇光.CPK認證體制的技術特點及應用[J].電子科學技術評論,2005(2):5-10.
[7]尹建春,司志剛,常朝穩.基于可信度計算的網絡接入認證模型研究[J].計算機工程與設計,2008,29(17):4418-4419.