專利名稱:一種提供接口數(shù)據(jù)的裝置與方法以及一種可信計(jì)算系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可信計(jì)算技術(shù)領(lǐng)域,尤其涉及一種提供接口數(shù)據(jù)的裝置與方 法以及一種可信計(jì)算系統(tǒng)。
背景技術(shù):
可信計(jì)算技術(shù)是順應(yīng)消費(fèi)者對信息的私密性、完整性、真實(shí)性和可靠性
的需求而產(chǎn)生的。可信計(jì)算組織(TCG, Trusted Computing Group )確定的 可信計(jì)算系統(tǒng)主要是通過增強(qiáng)現(xiàn)有的終端體系結(jié)構(gòu)的安全性來保證整個計(jì) 算機(jī)系統(tǒng)的安全性。其主要思路是在各種終端硬件平臺上引入可信架構(gòu),通 過所述可信架構(gòu)提供的安全特性來提高所述可信計(jì)算系統(tǒng)的安全性,這種可 信計(jì)算系統(tǒng)的核心是稱為可信平臺模塊(TPM, Trusted Platform Module )的
可信芯片。
以TPM為核心的可信計(jì)算系統(tǒng)的結(jié)構(gòu)圖如圖1所示。 所述可信計(jì)算系統(tǒng)由下層到上層依次包括可信平臺模塊101、可信平臺 才莫塊設(shè)備驅(qū)動(TDD, Trusted Platform Module Device Driver)才莫塊102、可 信計(jì)算系統(tǒng)設(shè)備驅(qū)動庫(TDDL, Trusted Computing Group Device Driver Library )模塊103、可信軟件棧核心服務(wù)層(TCS, Trusted Computing Group Core Services) 104,當(dāng)對可信計(jì)算系統(tǒng)的應(yīng)用為本地應(yīng)用時,所述可信計(jì)算 系統(tǒng)進(jìn)一步包括可信軟件棧服務(wù)提供者(TSP, Trusted Computing Group Software Stack Service Provider)層105和本地應(yīng)用層106,當(dāng)對可信計(jì)算系 統(tǒng)的應(yīng)用為遠(yuǎn)程應(yīng)用時,所述可信計(jì)算系統(tǒng)進(jìn)一步包括遠(yuǎn)程過程調(diào)用(RPC, Remote Procedure Call)服務(wù)107、 RPC客戶108、可信軟件棧服務(wù)提供者系 統(tǒng)105和遠(yuǎn)程應(yīng)用層109。上述可信計(jì)算系統(tǒng)通過存儲在TPM中的可信根以及在所述可信計(jì)算系 統(tǒng)的各層之間傳遞的可信鏈建立對所述可信計(jì)算系統(tǒng)的可信,在對所述可信 計(jì)算系統(tǒng)建立可信后,所述可信計(jì)算系統(tǒng)通過授權(quán)和委托來管理信息資產(chǎn), 密鑰和證書在授權(quán)和委托的過程中起到了重要的作用,可信計(jì)算系統(tǒng)在工作
時大量的用到了密碼算法和雜湊算法。
根據(jù)TCG規(guī)范,可信計(jì)算系統(tǒng)的應(yīng)用層直接調(diào)用TSP層所提供的接口 數(shù)據(jù)使用可信計(jì)算服務(wù),TSP層對應(yīng)用層傳送過來的代表了其要求的數(shù)據(jù)進(jìn) 行密碼算法處理或雜湊算法處理后,將所述數(shù)據(jù)發(fā)送至所述TSP層的下一 層,并繼續(xù)向下傳送至TPM, TPM對所述數(shù)據(jù)進(jìn)行處理,TPM將所述處理 的結(jié)果向上層反饋,當(dāng)反饋至TSP層中后,TSP層對所述處理的結(jié)果進(jìn)行進(jìn) 一步處理,所述進(jìn)一步處理包含密碼算法處理或雜湊算法處理,所述密碼算 法處理和雜湊算法處理包含密碼運(yùn)算、雜湊運(yùn)算以及與密碼運(yùn)算或者雜湊運(yùn) 算相關(guān)的操作,比如密鑰對象屬性的設(shè)置等。TSP層將所述進(jìn)一步處理后的 結(jié)果或者所述結(jié)果對應(yīng)的句柄等數(shù)據(jù)的一部分或者全部保存在TSP層中, 或者在TSP層中對所述數(shù)據(jù)的一部分或者全部進(jìn)行進(jìn)一步處理,或者將所 述數(shù)據(jù)的一部分或者全部反饋至應(yīng)用層。
現(xiàn)有技術(shù)中TSP層的結(jié)構(gòu)圖如圖2所示。
在圖2中,TSP層包括上下文管理者201和密碼函數(shù)模塊202。上下文 管理者主要負(fù)責(zé)為TSP層分配內(nèi)存空間等操作;密碼函數(shù)模塊202主要負(fù) 責(zé)TSP層中的密碼算法處理和雜湊算法處理。
TCG規(guī)范規(guī)定現(xiàn)有的可信計(jì)算系統(tǒng)中使用的密碼算法為RSA非對稱密 碼算法,使用的雜湊算法為安全雜湊算法-1 (SHA-1, Secure Hash Algorithm 1),現(xiàn)有的TCG規(guī)范沒有對對稱密碼算法作出規(guī)定。
隨著可信計(jì)算技術(shù)的發(fā)展,當(dāng)TCG規(guī)范中加入其他密碼算法或者雜湊 算法時,會出現(xiàn)不同的TPM支持的密碼算法互不相同或者雜湊算法互不相 同的情況,在這種情況下,針對密碼算法不同或者雜湊算法不同的TPM就 需要對所述TSP層中的密碼函數(shù)模塊202的代碼進(jìn)行逐行的修改,由其他因素引起的可信計(jì)算系統(tǒng)中密碼算法或者雜湊算法的變化也需要對所述
TSP層中的密碼函數(shù)模塊202的代碼進(jìn)行逐行的修改,通過上述修改實(shí)現(xiàn)所 述TSP層的接口能夠提供正確的接口數(shù)據(jù),確保整個可信計(jì)算系統(tǒng)的可信 性。所述正確的接口數(shù)據(jù)是指TSP層按照其所屬于的可信計(jì)算系統(tǒng)選定的 密碼算法完成與密碼算法相關(guān)的操作所得到的數(shù)據(jù),或者按照其所屬于的可 信計(jì)算系統(tǒng)選定的雜湊算法完成與雜湊算法相關(guān)的操作所得到的數(shù)據(jù)。
由上述技術(shù)方案可見,在現(xiàn)有技術(shù)中,當(dāng)可信計(jì)算系統(tǒng)的密碼算法或者 雜湊算法發(fā)生變化時,對可信計(jì)算系統(tǒng)中的密碼函數(shù)模塊進(jìn)行逐行修改的方 法工作量大,會造成開發(fā)人員和開發(fā)周期的浪費(fèi),同時,采用逐行修改的方 法還可能漏掉需要修改的代碼,當(dāng)漏掉需要修改的代碼時,TSP層不能提供 正確的接口數(shù)據(jù),從而導(dǎo)致整個可信計(jì)算系統(tǒng)的崩潰。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的之一在于提供一種提供接口數(shù)據(jù)的裝置及方 法,當(dāng)在可信計(jì)算系統(tǒng)中應(yīng)用本發(fā)明所述裝置或方法時,如果可信計(jì)算系統(tǒng) 中的密碼算法或者雜湊算法發(fā)生變化,對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量小
于現(xiàn)有技術(shù)中對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。
本發(fā)明的另一目的在于提供一種可信計(jì)算系統(tǒng),使用本發(fā)明實(shí)施例所述 可信計(jì)算系統(tǒng)能夠在可信計(jì)算系統(tǒng)中的密碼算法或者雜湊算法發(fā)生變化時, 使得對所述可信計(jì)算系統(tǒng)進(jìn)行修改的工作量小于對現(xiàn)有可信計(jì)算系統(tǒng)進(jìn)行 修改的工作量。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的 一種提供接口數(shù)據(jù)的裝置,該裝置包括雜湊算法模塊和密鑰對象管理模 塊;所述雜湊算法模塊用于接收其外部傳送過來的數(shù)據(jù),并按照所述裝置選定 的雜湊算法對所述數(shù)據(jù)進(jìn)行雜湊算法處理,根據(jù)所述雜湊算法處理的結(jié)果提供
所述裝置與其外部的接口tt據(jù);所述密鑰對象管理模塊用于接收其外部傳送過 來的數(shù)據(jù),并按照所述裝置選定的密碼算法對所述數(shù)據(jù)進(jìn)行密碼算法處理,根據(jù)所述密碼算法處理的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù)。
較佳地,所述雜湊算法模塊進(jìn)一步包含雜湊算法運(yùn)算模塊;所述雜湊算法 運(yùn)算模塊用于接收所述雜湊算法模塊內(nèi)部其它部分的數(shù)據(jù)或者所述雜湊算法模 塊外部傳送過來的數(shù)據(jù),并對所述數(shù)據(jù)進(jìn)行雜湊運(yùn)算,將所述雜湊運(yùn)算的結(jié)果 返回所述雜湊算法模塊內(nèi)部其它部分或者所述雜湊算法模塊外部。
較佳地,所述密鑰對象管理模塊進(jìn)一步包含密碼算法模塊;所述密碼算法 模塊用于接收所述密鑰對象管理模塊內(nèi)部其它部分或者所述密鑰對象管理模塊 外部的數(shù)據(jù),并對所述數(shù)據(jù)進(jìn)行密碼算法處理,將所述密碼算法處理的結(jié)果返 回所述密鑰對象管理模塊內(nèi)部其它部分或者所述密鑰對象管理^t塊外部。
較佳地,所述密碼算法模塊進(jìn)一步包含加密算法模塊和解密算法模塊; 所述加密算法模塊用于接收所述密碼算法模塊外部傳送過來的數(shù)據(jù),并根據(jù)所 述數(shù)據(jù)完成加密運(yùn)算的實(shí)現(xiàn),將所述加密運(yùn)算的結(jié)果返回給所述密碼算法模塊 外部;所述解密算法模塊用于接收所述密碼算法模塊外部傳送過來的數(shù)據(jù),并 根據(jù)所述數(shù)據(jù)完成解密運(yùn)算的實(shí)現(xiàn),將所述解密運(yùn)算的結(jié)果返回給所述密碼算 法模塊外部。
較佳地,所述密碼算法模塊進(jìn)一步包含對稱加密算法模塊和對稱解密算法 模塊,或者包含非對稱加密算法模塊和非對稱解密算法模塊,或者包含對稱加 密算法模塊、對稱解密算法模塊、非對稱加密算法模塊和非對稱解密算法模塊; 所述對稱加密算法模塊用于接收所述密碼算法模塊的外部傳送過來的數(shù)據(jù),并 根據(jù)所述數(shù)據(jù)完成對稱加密運(yùn)算的實(shí)現(xiàn),將所述對稱加密運(yùn)算的結(jié)果返回給所 述外部;所述對稱解密算法模塊用于接收所述密碼算法模塊的外部傳送過來的 數(shù)據(jù),并根據(jù)所述數(shù)據(jù)完成對稱解密運(yùn)算的實(shí)現(xiàn),將所述對稱解密運(yùn)算處理的 結(jié)果返回給所述外部;所述非對稱加密算法模塊用于接收所述密碼算法模塊的 外部傳送過來的數(shù)據(jù),并根據(jù)所述數(shù)據(jù)完成非對稱加密運(yùn)算的實(shí)現(xiàn),將所述非 對稱加密運(yùn)算的結(jié)果返回給所述外部;所述非對稱解密算法模塊用于接收所述 密碼算法模塊的外部傳送過來的數(shù)據(jù),并根據(jù)所述數(shù)據(jù)完成非對稱解密運(yùn)算的
實(shí)現(xiàn),將所述非對稱解密運(yùn)算的結(jié)果返回給所述外部。較佳地,所述密鑰對象管理模塊進(jìn)一步包含密鑰對象管理器和密鑰對象模
塊;所述密鑰對象管理器用于接收所述密鑰對象管理模塊的外部傳送過來的數(shù) 據(jù),并根據(jù)所述數(shù)據(jù)以及所述裝置選定的密碼協(xié)議對所述密鑰對象模塊中的各 密鑰對象子模塊進(jìn)行管理。
較佳地,所述密碼算法模塊用于被密鑰對象模塊調(diào)用,并根據(jù)調(diào)用命令完 成密碼運(yùn)算,將所述密碼運(yùn)算的結(jié)果返回給密鑰對象模塊。
如上所述的裝置,所述雜湊算法模塊、雜湊算法運(yùn)算模塊、密鑰對象管理 模塊、密碼算法模塊、加密算法模塊、解密算法模塊、對稱加密算法模塊、對 稱解密算法模塊、非對稱加密算法模塊、非對稱解密算法模塊、密鑰對象管理 器、密鑰對象模塊或者密鑰對象子模塊由類或者類的等價物實(shí)現(xiàn)。
較佳地,所述雜湊算法運(yùn)算模塊由單體類實(shí)現(xiàn)。
較佳地,所述密鑰對象管理器進(jìn)一步包含密鑰對象管理器父類和密鑰對象 管理器子類;所述密鑰對象管理器父類用于實(shí)現(xiàn)普通密鑰管理操作;所述密鑰 對象管理器子類用于實(shí)現(xiàn)特定密鑰管理操作。
一種可信計(jì)算系統(tǒng),包括應(yīng)用層、可信軟件棧核心服務(wù)層TCS和可信平臺 模塊TPM,該系統(tǒng)還包括提供接口數(shù)據(jù)的裝置;所述應(yīng)用層用于發(fā)送所述可信 計(jì)算系統(tǒng)的使用者對所述可信計(jì)算系統(tǒng)的要求;所述提供接口數(shù)據(jù)的裝置位于 應(yīng)用層和TCS層之間,用于接收所述要求和TPM對所述要求的處理結(jié)果并對 所述裝置接收到的內(nèi)容進(jìn)行模塊化雜湊算法處理或模塊化密碼算法處理,向 TCS層發(fā)送經(jīng)過模塊化雜湊算法處理或模塊化密碼算法處理后的所述要求,將 經(jīng)過雜湊算法處理或密碼算法處理后的TPM對所述要求的處理結(jié)果發(fā)送至應(yīng) 用層;所述TCS層用于接收、存儲并發(fā)送TPM模塊對所述要求的處理結(jié)果和 經(jīng)過^t塊化雜湊算法處理或^t塊化密碼算法處理的所述要求。
較佳地,所述提供接口數(shù)據(jù)的裝置包括雜湊算法模塊和密鑰對象管理模塊; 所述雜湊算法模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或密鑰對象 管理模塊傳送過來的數(shù)據(jù),并對雜湊算法模塊接收到的內(nèi)容的部分或全部進(jìn)行 模塊化雜湊算法處理,存儲或發(fā)送所述模塊化雜湊算法處理的結(jié)果;所述密鑰對象管理模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或雜湊算法模塊 傳送過來的數(shù)據(jù),并對密鑰對象管理模塊接收到的內(nèi)容的部分或全部進(jìn)行模塊 化密碼算法處理,存儲或發(fā)送所述才莫塊化密碼算法處理的結(jié)果。
較佳地,所述雜湊算法模塊進(jìn)一步包含平臺配置寄存器PCR對象管理模 塊、PCR對象模塊、策略對象管理模塊和策略對象模塊;所述PCR對象管理模 塊用于接收雜湊算法模塊外部的數(shù)據(jù)并根據(jù)所述數(shù)據(jù)管理所述PCR對象模塊 中的PCR對象,或者用于獲取PCR對象模塊中的數(shù)據(jù)并將所述數(shù)據(jù)的一部分 或全部返回給所述雜湊算法模塊外部;所述策略對象管理模塊用于接收雜湊算 法模塊外部的數(shù)據(jù)并根據(jù)所述數(shù)據(jù)管理所述策略對象才莫塊中的策略對象,或者 用于獲取策略對象模塊中的數(shù)據(jù)并將所述數(shù)據(jù)的一部分或全部返回給所述雜湊 算法模塊外部。
較佳地,所述雜湊算法運(yùn)算模塊用于被PCR對象模塊或者策略對象模塊調(diào) 用,并根據(jù)調(diào)用命令完成雜湊運(yùn)算,將所述雜湊運(yùn)算的結(jié)果返回給PCR對象模 塊或者策略對象模塊。
一種用提供接口數(shù)據(jù)的方法,包括步驟A、接收數(shù)據(jù);B、判斷需要對所 述數(shù)據(jù)進(jìn)行雜湊算法處理還是進(jìn)行密碼算法處理,若需要進(jìn)行雜湊算法處理則 執(zhí)行步驟C,若需要進(jìn)行密碼算法處理則執(zhí)行步驟D,若既不需要雜湊算法處 理也不需要密碼算法處理則執(zhí)行步驟E; C、對所述數(shù)據(jù)進(jìn)行雜湊算法處理,并 判斷是否需要對所述雜湊算法處理的結(jié)果進(jìn)行密碼算法處理,若需要則執(zhí)行步 驟D,否則執(zhí)行步驟F; D、對所述數(shù)據(jù)進(jìn)行密碼算法處理,并判斷是否需要對 所述密碼算法處理的結(jié)果進(jìn)行雜湊算法處理,若需要則執(zhí)行步驟C,否則執(zhí)行 步驟F; E、對所述lt據(jù)進(jìn)行除雜湊算法處理和密碼算法處理以外的操:作;F、 發(fā)送所述步驟C的結(jié)果、步驟D的結(jié)果或者步驟E的結(jié)果。
由上述技術(shù)方案可見,由于本發(fā)明所述提供接口數(shù)據(jù)的裝置中包含有雜湊 算法模塊和密鑰劉象管理模塊,因此,將所迷提供接u數(shù)據(jù)的裝置應(yīng)用于可信 計(jì)算系統(tǒng)中時,如果可信計(jì)算系統(tǒng)的密碼算法或者雜湊算法發(fā)生變化,只需改 動提供接口數(shù)據(jù)的裝置的相應(yīng)模塊而不必改動可信計(jì)算系統(tǒng)中的其他部分,因此可以減小由于可信計(jì)算系統(tǒng)的雜湊算法變化或者密碼算法變化所引起的對可 信計(jì)算系統(tǒng)進(jìn)行修改的工作量。本發(fā)明所述提供接口數(shù)據(jù)的方法由于單獨(dú)設(shè)置 了進(jìn)行雜湊算法處理的步驟和進(jìn)行密碼算法處理的步驟,因此,在可信計(jì)算系 統(tǒng)應(yīng)用本方法在其內(nèi)部各層之間提供接口數(shù)據(jù)時,如果可信計(jì)算系統(tǒng)的雜湊算 法或密碼算法發(fā)生變化,可以減小對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。本發(fā)明 實(shí)施例所述的可信計(jì)算系統(tǒng)由于設(shè)置了具有模塊化雜湊算法處理和模塊化密碼 算法處理功能的提供接口數(shù)據(jù)的裝置,因此在所述可信計(jì)算系統(tǒng)的雜湊算法或 密碼算法發(fā)生變化時,對所述可信計(jì)算系統(tǒng)進(jìn)行修改的工作量小于對現(xiàn)有可信 計(jì)算系統(tǒng)進(jìn)行修改的工作量。
圖1是現(xiàn)有技術(shù)中的可信計(jì)算系統(tǒng)結(jié)構(gòu)圖; 圖2是現(xiàn)有技術(shù)中的TSP層結(jié)構(gòu)圖3是本發(fā)明較佳實(shí)施例1中提供接口數(shù)據(jù)的裝置的結(jié)構(gòu)圖4是本發(fā)明較佳實(shí)施例1的密鑰對象管理模塊結(jié)構(gòu)圖5是本發(fā)明較佳實(shí)施例2的可信計(jì)算系統(tǒng)結(jié)構(gòu)圖6是本發(fā)明較佳實(shí)施例2的雜湊算法模塊結(jié)構(gòu)圖7是本發(fā)明較佳實(shí)施例3中提供接口數(shù)據(jù)的方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 較佳實(shí)施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
較佳實(shí)施例1:在本實(shí)施例中,用于提供接口數(shù)據(jù)的裝置包含雜湊算法 模塊和密鑰對象管理模塊。
圖3是本發(fā)明較佳實(shí)施例所述提供接口數(shù)據(jù)的裝置的結(jié)構(gòu)圖。
在圖3中,提供接口數(shù)據(jù)的裝置包括雜湊算法模塊301和密鑰對象管理 模塊302。雜湊算法模塊301用于接收其外部傳送過來的數(shù)據(jù),根據(jù)所述數(shù)據(jù)并按照所述裝置選定的雜湊算法完成雜湊運(yùn)算;雜湊算法模塊301根據(jù)所述雜 湊運(yùn)算的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù),例如將所述雜湊運(yùn)算的結(jié)果 保存在雜湊算法模塊301中以等待其外部調(diào)用。所述密鑰對象管理才莫塊用于接 收其外部傳送過來的數(shù)據(jù),根據(jù)所述數(shù)據(jù)并按照所述裝置選定的密碼算法完成 密碼運(yùn)算;密鑰對象管理模塊根據(jù)所述密碼運(yùn)算的結(jié)果提供所述裝置與其外部 的接口數(shù)據(jù),例如將所述密碼運(yùn)算的結(jié)果保存在密鑰對象管理;漠塊302中以等 待其外部調(diào)用。所述提供接口數(shù)據(jù)的裝置根據(jù)其應(yīng)用場景的不同,按照所述應(yīng) 用場景的要求選定其所使用的雜湊算法和密碼算法。
所述雜湊算法模塊可以進(jìn)一步包含雜湊算法運(yùn)算模塊;所述雜湊算法運(yùn)算 模塊用于接收所述雜湊算法模塊內(nèi)部其它部分的數(shù)據(jù)或者所述雜湊算法模塊外 部傳送過來的數(shù)據(jù),并根據(jù)所述數(shù)據(jù)完成雜湊運(yùn)算,將所述雜湊運(yùn)算的結(jié)果返 回所述雜湊算法模塊內(nèi)部其它部分或者所述雜湊算法模塊外部。所述雜湊算法 模塊內(nèi)部其他部分用于與雜湊算法相關(guān)的處理,例如用于根據(jù)TCG規(guī)范等標(biāo)準(zhǔn) 確定調(diào)用所述雜湊算法運(yùn)算模塊的流程等。
圖4是本發(fā)明較佳實(shí)施例的密鑰對象管理模塊結(jié)構(gòu)圖。在圖4中,密鑰 對象管理模塊包含密鑰對象管理器401、密鑰對象模塊402和密碼算法模塊 403。
密鑰對象管理器401接收來自密鑰對象管理模塊外部的句柄、密鑰對象 屬性設(shè)置命令等數(shù)據(jù)以及來自密鑰對象模塊402的密鑰對象屬性等數(shù)據(jù),并 將密鑰對象管理器401保存或者獲取的數(shù)據(jù)發(fā)送給密鑰對象管理模塊外部 或密鑰對象模塊402。
密鑰對象模塊402中包含多個密鑰對象子模塊,每一個密鑰對象子模塊 中包含某一密鑰對象的應(yīng)用層句柄和該密鑰對象的屬性,例如,密鑰對象l 子模塊4021中包含密鑰對象1的應(yīng)用層句柄和密鑰對象1的屬性,密鑰對 象2子模塊4022中包含密鑰對象2的應(yīng)用層句柄和密鑰對象2的屬性。所 述密鑰對象子模塊中包含的應(yīng)用層句柄用于標(biāo)識所述密鑰對象子模塊中的 密鑰對象屬性是屬于哪一個密鑰對象的,例如,密鑰對象1子模塊4021中
14的應(yīng)用層句柄用于標(biāo)識密鑰對象1子模塊4021中的密鑰對象屬性是密鑰對
象1的密鑰對象屬性。所述密鑰對象子模塊中的密鑰對象分別屬于某一種密
鑰類型,例如密鑰對象1子模塊中的密鑰對象1的密鑰類型可以為RSA類 型,密鑰對象2子模塊中的密鑰對象2的密鑰類型可以為AES類型。
密碼算法模塊403中包含加密算法模塊和解密算法模塊,所述加密算法 模塊可以進(jìn)一步包含對稱加密算法模塊和非對稱加密算法模塊,所述解密算 法模塊可以進(jìn)一步包含對稱解密算法模塊和非對稱解密算法模塊。所述加密 算法模塊用于完成加密運(yùn)算的實(shí)現(xiàn),所述解密算法模塊用于完成解密運(yùn)算的 實(shí)現(xiàn),所述對稱加密算法模塊和非對稱加密算法模塊分別用于完成對稱密碼 算法的加密運(yùn)算和非對稱密碼算法的加密運(yùn)算,所述對稱解密算法模塊和非 對稱解密算法模塊分別用于完成對稱密碼算法的解密運(yùn)算和非對稱密碼算 法的解密運(yùn)算。
密碼算法模塊403中的各算法模塊在創(chuàng)建的過程中會被指定其對應(yīng)一 種密鑰類型,當(dāng)屬于這一密鑰類型的密鑰對象調(diào)用密碼算法模塊403進(jìn)行密 碼運(yùn)算時,其調(diào)用的就是密碼算法模塊403中與這一密鑰對象類型相對應(yīng)的 算法模塊中的一個或多個。
所述密鑰對象管理器401對密鑰對象模塊402和密碼算法模塊403進(jìn)行 管理,所述管理包括設(shè)置密鑰對象屬性、獲取密鑰對象屬性、向所述密鑰對 象管理模塊中添加密鑰對象以及獲取或設(shè)置與密鑰對象關(guān)聯(lián)的PCR屬性等。 所述密鑰對象屬性包括密鑰對象的用法策略、遷移策略、密鑰全局標(biāo)識號以 及密鑰值等屬性。密鑰對象管理器401根據(jù)接收自密鑰對象管理模塊外部的 句柄和密鑰對象屬性設(shè)置命令等數(shù)據(jù)以及TCG規(guī)范等標(biāo)準(zhǔn)規(guī)定的密碼協(xié)議 對密鑰對象模塊402和密碼算法模塊403進(jìn)行所述管理。密鑰對象管理器 401進(jìn)行所述管理時,根據(jù)密鑰對象管理器401中的與該管理命令相對應(yīng)的 句柄確定該管理命令對密鑰對象模塊402中的哪一個密鑰對象子模塊進(jìn)行 管理,例如密鑰對象管理器401比較其接收自密鑰對象管理模塊外部的句 柄和密鑰對象模塊402中各密鑰對象子模塊所包含的應(yīng)用層句柄,當(dāng)兩句柄相同時,密鑰對象管理器將與所述接收自密鑰對象管理模塊外部的句柄相對 應(yīng)的密鑰對象屬性設(shè)置命令傳送給所述密鑰對象子模塊,所述密鑰對象子模 塊接收所述密鑰對象屬性設(shè)置命令并按照所述設(shè)置命令對該密鑰對象子模 塊中的密鑰對象屬性進(jìn)行設(shè)置。在對所述密鑰對象屬性進(jìn)行設(shè)置的過程中,
如果密鑰對象子模塊需要調(diào)用密碼算法模塊403中的算法模塊進(jìn)行密碼運(yùn) 算,所述密鑰對象子模塊根據(jù)密鑰對象管理器401的管理命令調(diào)用與該密鑰 對象的類型相對應(yīng)的算法模塊來進(jìn)行密碼運(yùn)算。
密鑰對象管理器401接收的來自于密鑰對象管理模塊外部的數(shù)據(jù)中可 以包含有雜湊算法模塊發(fā)送的雜湊運(yùn)算結(jié)果,密鑰對象管理器401根據(jù)TCG 規(guī)范等標(biāo)準(zhǔn)規(guī)定的密碼協(xié)議確定對其所接收的數(shù)據(jù)以及密鑰對象模塊402 和密碼算法模塊403執(zhí)行的操作流程。
如本較佳實(shí)施例所述的裝置,所述雜湊算法^^莫塊、雜湊算法運(yùn)算才莫塊、密
鑰對象管理模塊、密碼算法模塊、加密算法模塊、解密算法模塊、對稱加密算 法模塊、對稱解密算法模塊、非對稱加密算法模塊、非對稱解密算法模塊、密 鑰對象管理器或者密鑰對象模塊由類或者類的等價物實(shí)現(xiàn)。所述類的等價物是 指一種數(shù)據(jù)封裝體,這種數(shù)據(jù)封裝體包含外部數(shù)據(jù)接口和內(nèi)部運(yùn)算模塊,所述
模塊根據(jù)所述外部數(shù)據(jù)接口中的數(shù)據(jù)進(jìn)行運(yùn)算,并將所述運(yùn)算的結(jié)果保存或者 用于其它操作,或者將所述運(yùn)算的結(jié)果返回給外部數(shù)據(jù)接口 。
實(shí)際應(yīng)用中,所述密鑰對象管理器可以分兩級實(shí)現(xiàn),所述分兩級實(shí)現(xiàn)是 指所述密鑰對象管理器包含密鑰對象管理器父類和密鑰對象管理器子類,所 述密鑰對象管理器父類實(shí)現(xiàn)諸如獲取密鑰對象、添加密鑰對象、獲知密鑰對 象使用哪種密碼算法、獲得密鑰對象的策略等大多數(shù)密鑰算法都會用到的普 通密鑰管理操作,所述密鑰對象管理器子類實(shí)現(xiàn)諸如設(shè)置公鑰值等只有特定 密鑰算法才會用到的特定密鑰管理操作。
所述密鑰對象模塊402可以采用密鑰對象父類和密鑰對象子類的結(jié)構(gòu) 來實(shí)現(xiàn),所述密鑰對象父類用于接收密鑰對象管理器傳送過來的數(shù)據(jù)并根據(jù)所述數(shù)據(jù)提供對密鑰對象子模塊中的密鑰對象的屬性進(jìn)行設(shè)置的數(shù)據(jù)接口 ; 所述密鑰對象子類是各個密鑰對象子模塊的實(shí)現(xiàn)方式,用于根據(jù)所述密鑰對 象父類的數(shù)據(jù)接口提供的數(shù)據(jù)實(shí)現(xiàn)對各密鑰對象的屬性進(jìn)行設(shè)置的具體操 作。所述密鑰對象父類可以進(jìn)一步采用兩級父類實(shí)現(xiàn)方式,所述兩級父類實(shí) 現(xiàn)方式是指第一級密鑰對象父類定義對多數(shù)密鑰對象進(jìn)行設(shè)置時都需要的 數(shù)據(jù)接口,例如針對對稱密鑰對象和非對稱密鑰對象都需要的數(shù)據(jù)接口,第 二級密鑰對象父類在第一級密鑰對象父類的基礎(chǔ)上進(jìn)一步定義對特定密鑰 對象進(jìn)行設(shè)置時所需要的數(shù)據(jù)接口,例如獲得公鑰值、獲得私鑰值等針對非 對稱密鑰對象才有的數(shù)據(jù)接口。密鑰對象模塊402采用上述結(jié)構(gòu)來實(shí)現(xiàn)時, 密鑰對象管理器401可以直接調(diào)用密鑰對象父類的接口來對密鑰對象進(jìn)行 管理,而進(jìn)行所述管理的具體操作流程和實(shí)現(xiàn)由密鑰對象子類來完成。
密碼算法發(fā)生變化會引起密鑰對象屬性的變化以及密碼運(yùn)算的變化,因 此利用本實(shí)施例所述密鑰對象管理模塊進(jìn)行密碼算法處理時,如果密碼算法 發(fā)生變化,只需改動密鑰對象模塊402和密碼算法模塊403即可適應(yīng)這種密 碼算法變化。
較佳實(shí)施例2:本較佳實(shí)施例提供了一種可信計(jì)算系統(tǒng),該可信計(jì)算系 統(tǒng)中應(yīng)用了較佳實(shí)施例1所述的提供接口數(shù)據(jù)的裝置,并且由于該裝置應(yīng)用 在可信計(jì)算系統(tǒng)中,因此其在較佳實(shí)施例1的基礎(chǔ)上進(jìn)一步增加了與所述 可信計(jì)算系統(tǒng)相適應(yīng)的結(jié)構(gòu)。下面對所述可信計(jì)算系統(tǒng)進(jìn)行說明。
圖5為本較佳實(shí)施例所述的可信計(jì)算系統(tǒng)的結(jié)構(gòu)圖,包括應(yīng)用層501、 提供接口數(shù)據(jù)的裝置502、 TCS層503和TPM504。
所述應(yīng)用層用于發(fā)送所述可信計(jì)算系統(tǒng)的使用者對所述可信計(jì)算系統(tǒng)的要 求;所述提供接口數(shù)據(jù)的裝置位于應(yīng)用層和TCS層之間,用于接收所述要求和 TPM對所述要求的處理結(jié)果并對所述裝置接收到的內(nèi)容進(jìn)行模塊化雜湊算法 處理或模塊化密碼算法處理,向TCS層發(fā)送經(jīng)過模塊化雜湊算法處理或模塊化 密碼算法處理后的所述要求,將經(jīng)過雜湊算法處理或密碼算法處理后的TPM對 所述要求的處理結(jié)果發(fā)送至應(yīng)用層。所述TCS層用于接收、存儲并發(fā)送TPM模塊對所述要求的處理結(jié)果和經(jīng)過模塊化雜湊算法處理或模塊化密碼算法處理 的所述要求。
圖5中的提供接口數(shù)據(jù)的裝置進(jìn)一步包括有雜湊算法模塊和密鑰對象管理
模塊;所述雜湊算法模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或密 鑰對象管理模塊傳送過來的數(shù)據(jù),并對雜湊算法模塊接收到的內(nèi)容的部分或全 部進(jìn)行模塊化雜湊算法處理,存儲或發(fā)送所述^t塊化雜湊算法處理的結(jié)果;所 述密鑰對象管理模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或雜湊算 法模塊傳送過來的數(shù)據(jù),并對密鑰對象管理模塊接收到的內(nèi)容的部分或全部進(jìn) 行模塊化密碼算法處理,存儲或發(fā)送所述模塊化密碼算法處理的結(jié)果。
圖6是本較佳實(shí)施例中所述雜湊算法模塊的結(jié)構(gòu)圖。
在圖6中,雜湊算法模塊包含PCR對象管理模塊601、 PCR對象模塊 602、策略對象管理模塊603、策略對象模塊604和雜湊算法運(yùn)算模塊605。
PCR對象模塊602中存儲有一個或多個PCR對象,每一個PCR對象至 少包含PCR選擇(PCR Selection)字段和PCR復(fù)合體(PCR Composite )兩 個屬性。所述PCR選^^字I殳可以為一個比特圖(Bitmap),用于選4奪TPM 中的一組PCR,所述PCR復(fù)合體是指所述一組PCR中的內(nèi)容。每一個PCR 對象都對應(yīng)了 一個PCR句柄。
PCR對象管理模塊601接收雜湊算法模塊外部的PCR句柄以及PCR對 象的屬性設(shè)置命令等數(shù)據(jù),并對PCR對象模塊中與所述PCR句柄相對應(yīng)的 PCR對象進(jìn)行管理,所述管理包括PCR對象的屬性設(shè)置、PCR對象的屬性 獲取、對PCR復(fù)合體的計(jì)算、PCR對象管理模塊601按照TCG規(guī)范等標(biāo)準(zhǔn) 確定對PCR對象的操作流程等。PCR對象模塊602在接受所述管理的過程 中,如果需要進(jìn)行雜湊運(yùn)算,則通過調(diào)用命令調(diào)用雜湊算法運(yùn)算模塊605進(jìn) 行所述雜湊運(yùn)算,雜湊算法運(yùn)算模塊605將所述雜湊運(yùn)算的結(jié)果反饋給PCR 對象模塊602, PCR對象模塊602保存所述雜湊運(yùn)算的結(jié)果或者將所述結(jié)果 用于其他操作。
策略對象模塊604中包含多個策略對象,所述策略對象用于確定對雜湊算法運(yùn)算模塊605的雜湊運(yùn)算結(jié)果的使用方法,例如在策略對象中存儲所述 雜湊運(yùn)算結(jié)果、策略對象確定所述雜湊運(yùn)算結(jié)果的生命周期等。每一個策略 對象都對應(yīng)了 一個策略對象句柄。
策略對象管理模塊603接收雜湊算法模塊外部的策略對象句柄等數(shù)據(jù), 并對策略對象模塊604中與所述策略對象句柄相對應(yīng)的策略對象進(jìn)行管理, 所述管理包括策略對象的屬性值設(shè)置、策略對象的屬性值獲取、策略對象管 理模塊603按照TCG規(guī)范等標(biāo)準(zhǔn)確定對策略對象的操作流程等。策略對象 模塊604中的策略對象在接受所述管理的過程中,如果需要進(jìn)行雜湊運(yùn)算, 則通過調(diào)用命令調(diào)用雜湊算法運(yùn)算模塊605進(jìn)行所述雜湊運(yùn)算,雜湊算法運(yùn) 算模塊605將所述雜湊運(yùn)算的結(jié)果反饋給策略對象模塊604,策略對象模塊 604保存所述雜湊運(yùn)算的結(jié)果或?qū)⑺鼋Y(jié)果用于其他操作。
雜湊算法運(yùn)算模塊605由類或者類的等價物實(shí)現(xiàn);較佳地,雜湊算法運(yùn) 算模塊605由單體類實(shí)現(xiàn),所述單體類是指只創(chuàng)建一次的類;所述雜湊算法 運(yùn)算模塊605也可以采取其它的實(shí)現(xiàn)方式。所述雜湊算法運(yùn)算模塊605具有 全局訪問入口 ,所述全局訪問入口用于完成雜湊算法運(yùn)算模塊605與外界的 數(shù)據(jù)交換。所述雜湊算法運(yùn)算模塊605還可以被應(yīng)用層直接調(diào)用以完成雜湊 運(yùn)算,并將所述雜湊運(yùn)算的結(jié)果保存或者傳送至TCS層或者用于其他操作。
本較佳實(shí)施例中的密鑰對象管理模塊參見較佳實(shí)施例1中的相關(guān)敘述, 在本較佳實(shí)施例中,密鑰對象模塊中各密鑰對象子模塊在較佳實(shí)施例1的基 礎(chǔ)上進(jìn)一步包含有下列句柄中的一個或多個PCR對象句柄、附著于該密鑰 對象子模塊中的密鑰對象的策略對象句柄、該密鑰對象子模塊中的密鑰對象 的TCS層句柄。密鑰對象管理模塊中的密鑰對象管理器獲取密鑰對象模塊 中的密鑰對象屬性后,如果所屬密鑰對象屬性中包含有PCR對象句柄或者 附著于該密鑰對象子模塊中的密鑰對象的策略對象句柄,密鑰對象管理模塊 可以根據(jù)所述PCR對象句柄或者所述策略對象句柄調(diào)用雜湊算法模塊進(jìn)行 相關(guān)操作,所述雜湊算法模塊的相關(guān)操作參見本較佳實(shí)施例中對圖4的說 明。密鑰對象子模塊中包含該密鑰對象的TCS層句柄,當(dāng)密鑰對象管理器401獲取了該密鑰對象子模塊中的密鑰對象屬性并將其傳送至TCS層時,密 鑰對象管理器401根據(jù)所述TCS層句柄將所述密鑰對象屬性傳送給TCS層 中與所述TCS層句柄相對應(yīng)的密鑰對象。
較佳實(shí)施例3,本較佳實(shí)施例提供了一種提供接口數(shù)據(jù)的方法,圖7為 所述方法的流程圖。
步驟701,接收數(shù)據(jù)。
步驟702,判斷對所述數(shù)據(jù)需要進(jìn)行雜湊算法處理還是密碼算法處理, 如果需要進(jìn)行雜湊算法處理則執(zhí)行步驟703,如果需要進(jìn)行密碼算法處理則 執(zhí)行步驟704,如果既不需要進(jìn)行雜湊算法處理也不需要進(jìn)行密碼算法處理 則執(zhí)行步驟705。
步驟703,對所述數(shù)據(jù)進(jìn)行雜湊算法處理。步驟703可以是對所述數(shù)據(jù) 直接進(jìn)行雜湊運(yùn)算并且不對所述數(shù)據(jù)進(jìn)行除雜湊運(yùn)算以外的操作;也可以是 在對所述數(shù)據(jù)的處理過程中進(jìn)行雜湊運(yùn)算,對所述數(shù)據(jù)的處理不僅包括雜湊 運(yùn)算,還包括諸如數(shù)據(jù)屬性值設(shè)置等其他操作。
步驟704,對所述數(shù)據(jù)進(jìn)行密碼算法處理。步驟704的執(zhí)行與步驟703 類似,此處不再贅述。
步驟705,對所述數(shù)據(jù)進(jìn)行除雜湊算法和密碼算法以外的操作。所述除 雜湊算法和密碼算法以外的操作是指在發(fā)送所述數(shù)據(jù)前對所述數(shù)據(jù)進(jìn)行處
理的全過程中均不進(jìn)行雜湊運(yùn)算、密碼運(yùn)算以及對密鑰對象的管理。所述對 密鑰對象的管理參見較佳實(shí)施例1所述。
步驟706,發(fā)送數(shù)據(jù),所述數(shù)據(jù)為步驟703、步驟704以及步驟705的 結(jié)果。
在執(zhí)行步驟703的過程中,還可以判斷是否需要對所述雜湊算法處理的 中間結(jié)果進(jìn)行密碼算法處理,如果需要則執(zhí)行步驟704并在步驟704執(zhí)行完 畢后將步驟704產(chǎn)生的結(jié)果用于步驟703,并繼續(xù)步驟703的執(zhí)行。與步驟 703的執(zhí)行類似,在執(zhí)行步驟704時可以判斷是否需要對所述密碼運(yùn)算的中 間結(jié)果進(jìn)行雜湊運(yùn)算,如果需要則執(zhí)行步驟703并在步驟703執(zhí)行完畢后將步驟703產(chǎn)生的結(jié)果用于步驟704,并繼續(xù)步驟704的執(zhí)行。
步驟703執(zhí)行完畢后,亦可以判斷是否需要對步驟703的最終結(jié)果進(jìn)行 密碼運(yùn)算,若需要,則執(zhí)行步驟704,否則執(zhí)行步驟706。步驟704執(zhí)行完 畢后,亦可以判斷是否需要對步驟704的最終結(jié)果進(jìn)行雜湊運(yùn)算,若需要, 則執(zhí)行步驟703,否則執(zhí)行步驟706。
由上述技術(shù)方案可見,由于本發(fā)明所述提供接口數(shù)據(jù)的裝置中包含有雜 湊算法模塊和密鑰對象管理模塊,因此,將所述提供接口數(shù)據(jù)的裝置應(yīng)用于 可信計(jì)算系統(tǒng)中時,如果可信計(jì)算系統(tǒng)的密碼算法或者雜湊算法發(fā)生變化, 只需改動提供接口數(shù)據(jù)的裝置的相應(yīng)模塊而不必改動可信計(jì)算系統(tǒng)中的其 他部分,因此可以減小由于可信計(jì)算系統(tǒng)的雜湊算法變化或者密碼算法變化 所引起的對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。
本發(fā)明實(shí)施例所述的可信計(jì)算系統(tǒng)由于設(shè)置了具有模塊化雜湊算法處 理和模塊化密碼算法處理功能的提供接口數(shù)據(jù)的裝置,因此在所述可信計(jì)算 系統(tǒng)的雜湊算法或密碼算法發(fā)生變化時,對所述可信計(jì)算系統(tǒng)進(jìn)行修改的工 作量小于對現(xiàn)有可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。
當(dāng)雜湊算法模塊的結(jié)構(gòu)如圖6所示時,如果可信計(jì)算系統(tǒng)的雜湊算法發(fā) 生變化,只需改動雜湊算法運(yùn)算模塊605即可,進(jìn)一步減小了對可信計(jì)算系 統(tǒng)進(jìn)行修改的工作量。
當(dāng)密鑰對象管理模塊的結(jié)構(gòu)如圖4所示時,如果可信計(jì)算系統(tǒng)的密碼算 法發(fā)生變化,只需改動密鑰對象模塊402和密碼算法模塊403即可,進(jìn)一步 減小了對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。
本發(fā)明所述提供接口數(shù)據(jù)的方法由于單獨(dú)設(shè)置了進(jìn)行雜湊算法處理的 步驟和進(jìn)行密碼算法處理的步驟,因此,在可信計(jì)算系統(tǒng)應(yīng)用本方法在其內(nèi) 部各層之間提供接口數(shù)據(jù)時,如果可信計(jì)算系統(tǒng)的雜湊算法或密碼算法發(fā)生 變化,只需改動執(zhí)行雜湊算法處理步驟的模塊或者執(zhí)行密碼算法處理步驟的 模塊,可以減小對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種提供接口數(shù)據(jù)的裝置,其特征在于,該裝置包括雜湊算法模塊和密鑰對象管理模塊;所述雜湊算法模塊用于接收其外部傳送過來的數(shù)據(jù),并按照所述裝置選定的雜湊算法對所述數(shù)據(jù)進(jìn)行雜湊算法處理,根據(jù)所述雜湊算法處理的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù);所述密鑰對象管理模塊用于接收其外部傳送過來的數(shù)據(jù),并按照所述裝置選定的密碼算法對所述數(shù)據(jù)進(jìn)行密碼算法處理,根據(jù)所述密碼算法處理的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù)。
2、 如權(quán)利要求l所述的裝置,其特征在于,所述雜湊算法模塊進(jìn)一步包含 雜湊算法運(yùn)算模塊;所述雜湊算法運(yùn)算模塊用于接收所述雜湊算法模塊內(nèi)部其它部分的數(shù)據(jù)或 者所述雜湊算法it塊外部傳送過來的數(shù)據(jù),并對所述數(shù)據(jù)進(jìn)行雜湊運(yùn)算,將所 述雜湊運(yùn)算的結(jié)果返回所述雜湊算法模塊內(nèi)部其它部分或者所述雜湊算法模塊 外部。
3、 如權(quán)利要求l所述的裝置,其特征在于,所述密鑰對象管理模塊進(jìn)一步包含密碼算法模塊;所述密碼算法模塊用于接收所述密鑰對象管理模塊內(nèi)部其它部分或者所述 密鑰對象管理模塊外部的數(shù)據(jù),并對所述數(shù)據(jù)進(jìn)行密碼算法處理,將所述密碼 算法處理的結(jié)果返回所述密鑰對象管理模塊內(nèi)部其它部分或者所述密鑰對象管 理模塊外部。
4、 如權(quán)利要求3所述的裝置,其特征在于,所述密碼算法模塊進(jìn)一步包含 加密算法模塊和解密算法模塊;所述加密算法模塊用于接收所述密碼算法模塊外部傳送過來的數(shù)據(jù),并根 據(jù)所述數(shù)據(jù)完成加密運(yùn)算的實(shí)現(xiàn),將所述加密運(yùn)算的結(jié)果返回給所述密碼算法 模塊外部;所述解密算法模塊用于接收所述密碼算法模塊外部傳送過來的數(shù)據(jù),并根 據(jù)所述數(shù)據(jù)完成解密運(yùn)算的實(shí)現(xiàn),將所述解密運(yùn)算的結(jié)果返回給所述密碼算法 模塊外部。
5、 如權(quán)利要求4所迷的裝置,其特征在于,所述密碼算法模塊進(jìn)一步包含 對稱加密算法模塊和對稱解密算法模塊,或者包含非對稱加密算法模塊和非對 稱解密算法模塊,或者包含對稱加密算法模塊、對稱解密算法模塊、非對稱加 密算法模塊和非對稱解密算法模塊;所述對稱加密算法模塊用于接收所述密碼算法模塊的外部傳送過來的數(shù) 據(jù),并根據(jù)所述數(shù)據(jù)完成對稱加密運(yùn)算的實(shí)現(xiàn),將所述對稱加密運(yùn)算的結(jié)果返 回給所述外部;所述對稱解密算法模塊用于接收所述密碼算法模塊的外部傳送過來的數(shù) 據(jù),并根據(jù)所述數(shù)據(jù)完成對稱解密運(yùn)算的實(shí)現(xiàn),將所述對稱解密運(yùn)算的結(jié)果返 回給所述外部;所述非對稱加密算法模塊用于接收所述密碼算法模塊的外部傳送過來的數(shù) 據(jù),并根據(jù)所述數(shù)據(jù)完成非對稱加密運(yùn)算的實(shí)現(xiàn),將所述非對稱加密運(yùn)算的結(jié) 果返回給所述外部;所述非對稱解密算法模塊用于接收所述密碼算法模塊的外部傳送過來的數(shù) 據(jù),并才艮據(jù)所述數(shù)據(jù)完成非對稱解密運(yùn)算的實(shí)現(xiàn),將所述非對稱解密運(yùn)算的結(jié) 果返回給所述外部。
6、 如權(quán)利要求3所述的裝置,其特征在于,所述密鑰對象管理模塊進(jìn)一步 包含密鑰對象管理器和密鑰對象模塊;所述密鑰對象管理器用于接收所述密鑰對象管理模塊的外部傳送過來的數(shù) 據(jù),并根據(jù)所述數(shù)據(jù)以及所述裝置選定的密碼協(xié)議對所述密鑰對象模塊中的各 密鑰對象子模塊進(jìn)行管理。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述密碼算法模塊用于被密鑰 對象模塊調(diào)用,并根據(jù)調(diào)用命令完成密碼運(yùn)算,將所述密碼運(yùn)算的結(jié)果返回給 密鑰對象模塊。
8、 如權(quán)利要求1至權(quán)利要求7中任一權(quán)利要求所述的裝置,其特征在于, 所述雜湊算法模塊、雜湊算法運(yùn)算模塊、密鑰對象管理模塊、密碼算法模塊、 加密算法模塊、解密算法模塊、對稱加密算法模塊、對稱解密算法模塊、非對 稱加密算法模塊、非對稱解密算法模塊、密鑰對象管理器、密鑰對象模塊或者 密鑰對象子模塊由類或者類的等價物實(shí)現(xiàn)。
9、 如權(quán)利要求2所述的裝置,其特征在于,所述雜湊算法運(yùn)算模塊由單體 類實(shí)現(xiàn)。
10、 如權(quán)利要求6或權(quán)利要求7所述的裝置,其特征在于,所述密鑰對象 管理器進(jìn)一步包含密鑰對象管理器父類和密鑰對象管理器子類;所述密鑰對象管理器父類用于實(shí)現(xiàn)普通密鑰管理操作; 所述密鑰對象管理器子類用于實(shí)現(xiàn)特定密鑰管理梯:作。
11、 如權(quán)利要求6所述的裝置,其特征在于,所述密鑰對象模塊包括密鑰 對象父類和密鑰對象子類;所述密鑰對象父類用于接收密鑰對象管理器傳送過來的數(shù)據(jù)并根據(jù)所 述數(shù)據(jù)提供對密鑰對象的屬性進(jìn)行設(shè)置的數(shù)據(jù)接口 ;所述密鑰對象子類根據(jù)所述密鑰對象父類的數(shù)據(jù)接口提供的數(shù)據(jù)實(shí)現(xiàn) 對各密鑰對象的屬性進(jìn)行設(shè)置的具體操作。
12、 如權(quán)利要求11所述的裝置,其特征在于,所述密鑰對象父類進(jìn)一 步包括第一級密鑰對象父類和第二級密鑰對象父類;所述第一級密鑰對象父類用于提供所有的密鑰對象都需要的數(shù)據(jù)接口; 所述第二級密鑰對象父類用于提供并不是所有的密鑰對象都需要的數(shù)據(jù)接tJ 。
13、 一種可信計(jì)算系統(tǒng),包括應(yīng)用層、可信軟件棧核心服務(wù)層TCS和可信 平臺模塊TPM,其特征在于,該系統(tǒng)還包括提供接口數(shù)據(jù)的裝置;所述應(yīng)用層用于發(fā)送所述可信計(jì)算系統(tǒng)的使用者對所述可信計(jì)算系統(tǒng)的要求;所述提供接口數(shù)據(jù)的裝置位于應(yīng)用層和TCS層之間,用于接收所述要求和TPM對所述要求的處理結(jié)果并對所述裝置接收到的內(nèi)容進(jìn)行模塊化雜湊算法 處理或模塊化密碼算法處理,向TCS層發(fā)送經(jīng)過^t塊化雜湊算法處理或^^塊化 密碼算法處理后的所述要求,將經(jīng)過雜湊算法處理或密碼算法處理后的TPM對 所述要求的處理結(jié)果發(fā)送至應(yīng)用層;所述TCS層用于接收、存儲并發(fā)送TPM模塊對所述要求的處理結(jié)果和經(jīng) 過模塊化雜湊算法處理或模塊化密碼算法處理的所述要求。
14、 如權(quán)利要求13所述的系統(tǒng),其特征在于,所述提供接口數(shù)據(jù)的裝置包 括雜湊算法模塊和密鑰對象管理模塊;所述雜湊算法模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或密鑰 對象管理模塊傳送過來的數(shù)據(jù),并對雜湊算法模塊接收到的內(nèi)容的部分或全部 進(jìn)行模塊化雜湊算法處理,存儲或發(fā)送所述沖莫塊化雜湊算法處理的結(jié)果;所述密鑰對象管理模塊用于接收所述要求、TPM對所述要求的處理結(jié)果或 雜湊算法^^塊傳送過來的數(shù)據(jù),并對密鑰對象管理才莫塊接收到的內(nèi)容的部分或 全部進(jìn)行模塊化密碼算法處理,存儲或發(fā)送所述^^塊化密碼算法處理的結(jié)果。
15、 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述雜湊算法模塊進(jìn)一步包 含平臺配置寄存器PCR對象管理模塊、PCR對象模塊、策略對象管理模塊和策 略對象模塊;所述PCR對象管理模塊用于接收雜湊算法模塊外部的數(shù)據(jù)并根據(jù)所述數(shù) 據(jù)管理所迷PCR對象模塊中的PCR對象,或者用于獲取PCR對象模塊中的數(shù) 據(jù)并將所述數(shù)據(jù)的一部分或全部返回給所述雜湊算法模塊外部;所述策略對象管理模塊用于接收雜湊算法模塊外部的數(shù)據(jù)并根據(jù)所述數(shù)據(jù) 管理所述策略對象模塊中的策略對象,或者用于獲取策略對象模塊中的數(shù)據(jù)并 將所述數(shù)據(jù)的一部分或全部返回給所述雜湊算法才莫塊外部。
16、 如權(quán)利要求15所述的裝置,其特征在于,所述雜湊算法運(yùn)算模塊用于 被PCR對象模塊或者策略對象模塊調(diào)用,并根據(jù)調(diào)用命令完成雜湊運(yùn)算,將所 述雜湊運(yùn)算的結(jié)果返回給PCR對象模塊或者策略對象模塊。
17、 一種提供接口數(shù)據(jù)的方法,其特征在于,包括步驟A、 接收數(shù)據(jù);B、 判斷需要對所述數(shù)據(jù)進(jìn)行雜湊算法處理還是進(jìn)行密碼算法處理,若需 要進(jìn)行雜湊算法處理則執(zhí)行步驟C,若需要進(jìn)行密碼算法處理則執(zhí)行步驟D, 若既不需要進(jìn)行雜湊算法處理也不需要進(jìn)行密碼算法處理則執(zhí)行步驟E;C、 對所述數(shù)據(jù)進(jìn)行雜湊算法處理,并判斷是否需要對所述雜湊算法處理 的結(jié)果進(jìn)行密碼算法處理,若需要則執(zhí)行步驟D,否則執(zhí)行步驟F;D、 對所述數(shù)據(jù)進(jìn)行密碼算法處理,并判斷是否需要對所述密碼算法處理 的結(jié)果進(jìn)行雜湊算法處理,若需要則執(zhí)行步驟C,否則執(zhí)行步驟F;E、 對所述數(shù)據(jù)進(jìn)行除雜湊算法處理和密碼算法處理以外的操作;F、 發(fā)送所述步驟C的結(jié)果、步驟D的結(jié)果或者步驟E的結(jié)果。
全文摘要
本發(fā)明公開了一種提供接口數(shù)據(jù)的裝置,該裝置包括雜湊算法模塊和密鑰對象管理模塊;所述雜湊算法模塊用于接收其外部傳送過來的數(shù)據(jù),并按照所述裝置選定的雜湊算法對所述數(shù)據(jù)進(jìn)行雜湊算法處理,根據(jù)所述雜湊算法處理的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù);所述密鑰對象管理模塊用于接收其外部傳送過來的數(shù)據(jù),并按照所述裝置選定的密碼算法對所述數(shù)據(jù)進(jìn)行密碼算法處理,根據(jù)所述密碼算法處理的結(jié)果提供所述裝置與其外部的接口數(shù)據(jù)。本發(fā)明同時公開了一種提供接口數(shù)據(jù)的方法以及一種可信計(jì)算系統(tǒng)。應(yīng)用本發(fā)明所述裝置、方法及可信計(jì)算系統(tǒng)可以在雜湊算法或密碼算法變化時減小對可信計(jì)算系統(tǒng)進(jìn)行修改的工作量,并提高可信計(jì)算系統(tǒng)的可靠性。
文檔編號H04L9/00GK101431403SQ20071017701
公開日2009年5月13日 申請日期2007年11月8日 優(yōu)先權(quán)日2007年11月8日
發(fā)明者莊俊璽, 興 張, 葉 張, 健 李, 李瑞華, 蔣敏慧, 黃寧玉 申請人:北京工業(yè)大學(xué)