專利名稱:一種tcm的用戶密鑰備份與恢復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可信計(jì)算領(lǐng)域,主要涉及一種TCM (Trusted Cryptography Module)的用戶密鑰備份與恢復(fù)方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)及可信計(jì)算的發(fā)展,越來越多的計(jì)算機(jī)已經(jīng)帶有可信計(jì)算的安全芯片,并且基于可信計(jì)算的應(yīng)用也越來越多,如基于可信計(jì)算的硬盤保護(hù)、硬盤數(shù)據(jù)保護(hù)、 移動(dòng)存儲(chǔ)設(shè)備保護(hù)、移動(dòng)存儲(chǔ)設(shè)備數(shù)據(jù)保護(hù)等。目前市場(chǎng)上基于可信計(jì)算安全芯片的數(shù)據(jù)加密應(yīng)用越來越多,但由于操作系統(tǒng)的破壞、可信安全芯片中的數(shù)據(jù)被人為強(qiáng)制清除等會(huì)導(dǎo)致用戶密鑰丟失,從而使加密的數(shù)據(jù)無法解密,可能給用戶帶來無法估量的損失。
發(fā)明內(nèi)容
本發(fā)明公開了一種TCM的用戶密鑰備份與恢復(fù)方法,對(duì)可遷移或者可導(dǎo)出的用于對(duì)加密數(shù)據(jù)進(jìn)行解密的用戶密鑰進(jìn)行備份,解決當(dāng)操作系統(tǒng)被破壞、用戶密鑰丟失時(shí)將用戶密鑰進(jìn)行恢復(fù),便于用戶將文件進(jìn)行解密。為了解決上述技術(shù)問題,本發(fā)明提供了一種TCM的用戶密鑰備份方法,所述方法包括如下步驟
獲取TCM芯片產(chǎn)生的備份密鑰;
通過TSM密鑰遷移接口,以獲取需要備份的用戶密鑰;
使用備份密鑰將用戶密鑰進(jìn)行加密;
將已加密的密鑰文件保存在存儲(chǔ)介質(zhì)中。進(jìn)一步,所述用戶密鑰為TCM芯片產(chǎn)生的可遷移或者可導(dǎo)出的密鑰,用于對(duì)加密的數(shù)據(jù)進(jìn)行解密。進(jìn)一步,所述獲取TCM芯片產(chǎn)生的備份密鑰的步驟包括獲取非對(duì)稱加密算法的備份密鑰對(duì)和對(duì)稱加密算法的備份密鑰,其中
所述對(duì)稱加密算法的備份密鑰由TCM芯片通過軟算法生成;
所述非對(duì)稱加密算法的備份密鑰對(duì)由TCM芯片生成,包括公鑰和私鑰,公鑰用于加密,私鑰用于解密。進(jìn)一步,所述使用備份密鑰將用戶密鑰進(jìn)行加密的步驟包括
TCM芯片使用對(duì)稱加密算法的備份密鑰對(duì)需要備份的用戶密鑰進(jìn)行加密;
將對(duì)稱加密算法的備份密鑰使用非對(duì)稱加密算法備份密鑰對(duì)的公鑰進(jìn)行加密;
使用用戶口令對(duì)非對(duì)稱加密算法備份密鑰對(duì)的私鑰進(jìn)行加密;
將接收到的加密后的密鑰內(nèi)容保存在密鑰文件中。進(jìn)一步,所述存儲(chǔ)介質(zhì)為非易失性存儲(chǔ)設(shè)備或者是能夠保存數(shù)據(jù)的磁、電存儲(chǔ)介質(zhì)。本發(fā)明還提供了一種TCM的用戶密鑰恢復(fù)方法,所述方法包括如下步驟獲取保存的密鑰文件,并對(duì)密鑰文件進(jìn)行解密;
獲取TCM芯片產(chǎn)生的恢復(fù)密鑰,并對(duì)解密出的用戶密鑰進(jìn)行加密;
將加密的用戶密鑰加載到TCM芯片并進(jìn)行恢復(fù)。進(jìn)一步,所述獲取保存的密鑰文件并對(duì)密鑰文件進(jìn)行解密的步驟包括
獲取保存的密鑰文件;
使用用戶口令對(duì)加密的非對(duì)稱加密算法備份密鑰對(duì)的私鑰進(jìn)行解密,獲取非對(duì)稱加密算法備份密鑰對(duì)的私鑰內(nèi)容;
通過解密出的非對(duì)稱加密算法備份密鑰對(duì)的私鑰將加密的對(duì)稱加密算法的備份密鑰進(jìn)行解密,獲取對(duì)稱加密算法的備份密鑰內(nèi)容; 根據(jù)解密出的對(duì)稱加密算法的備份密鑰將加密的用戶密鑰進(jìn)行解密,獲取用戶密鑰內(nèi)容。進(jìn)一步,所述TCM芯片產(chǎn)生的恢復(fù)密鑰為非對(duì)稱加密算法的恢復(fù)密鑰對(duì),包括公鑰和私鑰,其中公鑰用于加密,私鑰用于解密。進(jìn)一步,所述將加密的用戶密鑰加載到TCM芯片并進(jìn)行恢復(fù)的步驟包括
通過TSM密鑰遷移接口,將加密的用戶密鑰加載到TCM芯片;
TCM芯片使用非對(duì)稱加密算法恢復(fù)密鑰對(duì)的私鑰對(duì)加密的用戶密鑰進(jìn)行解密;
將接收到已解密的用戶密鑰在TCM芯片進(jìn)行恢復(fù)。在本發(fā)明的技術(shù)方案中,將可遷移或者可導(dǎo)出的用戶密鑰進(jìn)行備份,解決在操作系統(tǒng)破壞、密鑰丟失的情況下將密鑰進(jìn)行恢復(fù)以便進(jìn)行文件解密;同時(shí)也適用于將備份的密鑰在其他電腦上進(jìn)行恢復(fù),為防止惡意進(jìn)行恢復(fù)或者被他人利用,備份的信息是以密文的形式保存在存儲(chǔ)介質(zhì)中,恢復(fù)工作則在TCM芯片完成,確保了用戶密鑰的安全性;在對(duì)用戶密鑰進(jìn)行備份或恢復(fù)時(shí)還需要輸入用戶口令,以進(jìn)一步提高了操作的安全性。
圖I為本發(fā)明實(shí)施例的用戶密鑰備份方法的邏輯流程 圖2為本發(fā)明實(shí)施例的用戶密鑰恢復(fù)方法的邏輯流程具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。需要說明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本發(fā)明一實(shí)施例公開了一種TCM的用戶密鑰備份方法,圖I為本發(fā)明實(shí)施例的用戶密鑰備份方法的邏輯流程圖。如圖I所示,該方法包括如下步驟
步驟101 :獲取TCM芯片產(chǎn)生的備份密鑰;
其中,TCM芯片產(chǎn)生的備份密鑰包括非對(duì)稱加密算法的備份密鑰對(duì)和對(duì)稱加密算法的備份密鑰。所述非對(duì)稱加密算法的備份密鑰對(duì)包括公鑰和私鑰,其中公鑰用于加密,私鑰用于解密;所述對(duì)稱加密算法的備份密鑰由TCM芯片通過軟算法產(chǎn)生。所述獲取TCM芯片產(chǎn)生的備份密鑰通過調(diào)用TSM(TCM Service Module)底層功能函數(shù)實(shí)現(xiàn),所 述TSM為TCM芯片和用戶應(yīng)用層之間的平臺(tái)軟件,在TSM內(nèi)部包括支持TCM芯片向上提供平臺(tái)認(rèn)證、密碼學(xué)服務(wù)和應(yīng)用層軟件對(duì)TCM芯片進(jìn)行管理等功能的函數(shù)接口。在本實(shí)施例中,通過調(diào)用Tspi_Context_GetKeyByPublicInfo函數(shù)獲取非對(duì)稱加密算法的備份密鑰對(duì),并通過該非對(duì)稱加密算法備份密鑰對(duì)的公鑰調(diào)用Tspi_GetAttribData函數(shù)來獲取TCM芯片的唯一硬件標(biāo)識(shí)UUID,獲取成功后,TCM芯片根據(jù)軟算法生成對(duì)稱加密算法的備份密鑰。步驟102 :通過TSM密鑰遷移接口,以獲取需要備份的用戶密鑰;
該實(shí)施方式中,所述TSM密鑰遷移接口是指連接TCM芯片與應(yīng)用層之間的TSM底層功能函數(shù);所述用戶密鑰是指對(duì)TCM用戶重要數(shù)據(jù)進(jìn)行加密的密鑰,此密鑰由TCM芯片生成,且只有可遷移或者可導(dǎo)出的用戶密鑰才能進(jìn)行備份。所述獲取需要備份的用戶密鑰的具體過程為,根據(jù)獲取的TCM芯片的唯一硬件標(biāo)識(shí)UUID調(diào)用Tspi_Context_GetRegisteredKeysByUUID函數(shù)查找要備份的密鑰節(jié)點(diǎn),進(jìn)一步調(diào)用Tspi_Key_LoadKey函數(shù)獲取該節(jié)點(diǎn)上的用戶密鑰,并通過TSM密鑰遷移接口函數(shù)Tspi_Context_CreateObject 和 TSM_Tspi_SetAttribData 將獲取的用戶密鑰加載到備份文件中。步驟103 :使用備份密鑰將用戶密鑰進(jìn)行加密;
本實(shí)施例中,所述使用備份密鑰將用戶密鑰進(jìn)行加密的過程為首先使用TCM芯片生成的對(duì)稱加密算法的備份密鑰將獲取的需要備份的用戶密鑰進(jìn)行加密;再將對(duì)稱加密算法的備份密鑰使用非對(duì)稱加密算法備份密鑰對(duì)的公鑰進(jìn)行加密;然后使用用戶口令對(duì)非對(duì)稱加密算法備份密鑰的私鑰進(jìn)行加密;最后將加密后的內(nèi)容以密文的形式保存在密鑰文件中。步驟104 :將已加密的密鑰文件保存在存儲(chǔ)介質(zhì)中;
所述存儲(chǔ)介質(zhì)為非易失性存儲(chǔ)設(shè)備或者其他能保存數(shù)據(jù)的磁、電存儲(chǔ)介質(zhì),如目前常用的硬盤、USB存儲(chǔ)設(shè)備、Flash閃存等。在本實(shí)施例中,通過上述步驟將已加密的密鑰文件保存在存儲(chǔ)介質(zhì)中,當(dāng)操作系統(tǒng)被破壞、可信安全芯片中數(shù)據(jù)人為強(qiáng)制清除等導(dǎo)致密鑰丟失時(shí),可以使用保存的密鑰文件在系統(tǒng)進(jìn)行恢復(fù)、對(duì)數(shù)據(jù)進(jìn)行解密,避免因用戶密鑰丟失而帶來的損失。本發(fā)明另一實(shí)施例公開了一種TCM的用戶密鑰恢復(fù)方法,圖2為本發(fā)明實(shí)施例的用戶密鑰恢復(fù)方法的邏輯流程圖。如圖2所示,該方法包括如下步驟
步驟201 :獲取保存的密鑰文件,并對(duì)密鑰文件進(jìn)行解密;
當(dāng)操作系統(tǒng)被破壞、可信安全芯片中數(shù)據(jù)人為強(qiáng)制清除等導(dǎo)致密鑰丟失時(shí),可以對(duì)保存的用戶密鑰進(jìn)行恢復(fù)以便對(duì)文件進(jìn)行解密,同時(shí)也適用于將保存的用戶密鑰在其他可信計(jì)算機(jī)上進(jìn)行恢復(fù)。在本實(shí)施例中,當(dāng)需要對(duì)用戶密鑰進(jìn)行恢復(fù)時(shí),使用用戶口令對(duì)保存的密鑰文件內(nèi)容進(jìn)行解密,獲取保存在密鑰文件中的非對(duì)稱加密算法的備份密鑰對(duì)的私鑰內(nèi)容;通過解密出的非對(duì)稱加密算法的備份密鑰對(duì)的私鑰內(nèi)容對(duì)備份的對(duì)稱加密算法的備份密鑰進(jìn)行解密,獲取對(duì)稱加密算法的備份密鑰內(nèi)容;根據(jù)解密出的對(duì)稱加密算法的備份密鑰內(nèi)容對(duì)備份的用戶密鑰進(jìn)行解密,獲取用戶密鑰的內(nèi)容。步驟202 :獲取TCM芯片產(chǎn)生的恢復(fù)密鑰,并對(duì)解密出的用戶密鑰進(jìn)行加密; 在本實(shí)施例中,當(dāng)接收到用戶密鑰恢復(fù)請(qǐng)求時(shí),TCM芯片會(huì)生成用于對(duì)用戶密鑰在TCM
芯片恢復(fù)的恢復(fù)密鑰。所述恢復(fù)密鑰為非對(duì)稱加密算法的恢復(fù)密鑰對(duì),所述恢復(fù)密鑰對(duì)包括公鑰和私鑰,其中公鑰用于加密,私鑰用于解密。本實(shí)施例中,使用非對(duì)稱加密算法恢復(fù)密鑰對(duì)的公鑰對(duì)上述解密出的用戶密鑰內(nèi)容進(jìn)行加密。步驟203 :將加密的用戶密鑰加載到TCM芯片并進(jìn)行恢復(fù);
通過調(diào)用 TSM 底層功能函數(shù) Tspi_Context_CreateObjectt 和 Tspi_SetAttribData將已加密的用戶密鑰數(shù)據(jù)加載到TCM芯片的緩沖區(qū)內(nèi),并通過調(diào)用Tspi_Context_CreateObject> Tspi_Policy_SetSecret 和 Tspi_Policy_AssignToObject 函數(shù)將加載的用戶密鑰與TCM芯片所有者口令進(jìn)行綁定;然后調(diào)用Tspi_Context_CreateObject、Tspi_ Context_CreateObject、Tspi_Policy_SetSecre為加載到緩沖區(qū)內(nèi)的的用戶密鑰數(shù)據(jù)分配存儲(chǔ)空間,使用非對(duì)稱加密算法恢復(fù)密鑰對(duì)的私鑰對(duì)加密的用戶密鑰數(shù)據(jù)進(jìn)行解密,最后調(diào)用Tspi_Context_RegisterKey函數(shù)將解密后的用戶密鑰保存在分配的存儲(chǔ)空間進(jìn)行恢復(fù)。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種TCM的用戶密鑰備份方法,其特征在于,所述方法包括如下步驟 獲取TCM芯片產(chǎn)生的備份密鑰; 通過TSM密鑰遷移接口,以獲取需要備份的用戶密鑰; 使用備份密鑰將用戶密鑰進(jìn)行加密; 將已加密的密鑰文件保存在存儲(chǔ)介質(zhì)中。
2.根據(jù)權(quán)利要求I所述的備份方法,其特征在于,所述用戶密鑰為TCM芯片產(chǎn)生的可遷移或者可導(dǎo)出的密鑰,用于對(duì)加密的數(shù)據(jù)進(jìn)行解密。
3.根據(jù)權(quán)利要求I所述的備份方法,其特征在于,所述獲取TCM芯片產(chǎn)生的備份密鑰的 步驟包括獲取非對(duì)稱加密算法的備份密鑰對(duì)和對(duì)稱加密算法的備份密鑰,其中 所述對(duì)稱加密算法的備份密鑰由TCM芯片通過軟算法生成; 所述非對(duì)稱加密算法的備份密鑰對(duì)由TCM芯片生成,包括公鑰和私鑰,公鑰用于加密,私鑰用于解密。
4.根據(jù)權(quán)利要求3所述的備份方法,其特征在于,所述使用備份密鑰將用戶密鑰進(jìn)行加密的步驟包括 TCM芯片使用對(duì)稱加密算法的備份密鑰對(duì)需要備份的用戶密鑰進(jìn)行加密; 將對(duì)稱加密算法的備份密鑰使用非對(duì)稱加密算法備份密鑰對(duì)的公鑰進(jìn)行加密; 使用用戶口令對(duì)非對(duì)稱加密算法備份密鑰對(duì)的私鑰進(jìn)行加密; 將接收到的加密后的密鑰內(nèi)容保存在密鑰文件中。
5.根據(jù)權(quán)利要求I所述的備份方法,其特征在于,所述存儲(chǔ)介質(zhì)為非易失性存儲(chǔ)設(shè)備或者是能夠保存數(shù)據(jù)的磁、電存儲(chǔ)介質(zhì)。
6.一種TCM的用戶密鑰恢復(fù)方法,其特征在于,所述方法包括如下步驟 獲取保存的密鑰文件,并對(duì)密鑰文件進(jìn)行解密; 獲取TCM芯片產(chǎn)生的恢復(fù)密鑰,并對(duì)解密出的用戶密鑰進(jìn)行加密; 將加密的用戶密鑰加載到TCM芯片并進(jìn)行恢復(fù)。
7.根據(jù)權(quán)利要求6所述的恢復(fù)方法,其特征在于,所述獲取保存的密鑰文件并對(duì)密鑰文件進(jìn)行解密的步驟包括 獲取保存的密鑰文件; 使用用戶口令對(duì)加密的非對(duì)稱加密算法備份密鑰對(duì)的私鑰進(jìn)行解密,獲取非對(duì)稱加密算法的備份密鑰對(duì)的私鑰內(nèi)容; 通過解密出的非對(duì)稱加密算法備份密鑰對(duì)的私鑰將加密的對(duì)稱加密算法的備份密鑰進(jìn)行解密,獲取對(duì)稱加密算法的備份密鑰內(nèi)容; 根據(jù)解密出的對(duì)稱加密算法的備份密鑰將加密的用戶密鑰進(jìn)行解密,獲取用戶密鑰內(nèi)容。
8.根據(jù)權(quán)利要求6或7所述的恢復(fù)方法,其特征在于,所述TCM芯片產(chǎn)生的恢復(fù)密鑰為非對(duì)稱加密算法的恢復(fù)密鑰對(duì),包括公鑰和私鑰,其中公鑰用于加密,私鑰用于解密。
9.根據(jù)權(quán)利要求8所述的恢復(fù)方法,其特征在于,所述將加密的用戶密鑰加載到TCM芯片并進(jìn)行恢復(fù)的步驟包括 通過TSM密鑰遷移接口,將加密的用戶密鑰加載到TCM芯片; TCM芯片使用非對(duì)稱加密算法恢復(fù)密鑰對(duì)的私鑰對(duì)加密的用戶密鑰進(jìn)行解密;將接收到已解密的 用戶密鑰在TCM芯片進(jìn)行恢復(fù)。
全文摘要
本發(fā)明涉及一種TCM(TrustedCryptographyModule)的用戶密鑰備份與恢復(fù)方法,所述用戶密鑰備份方法的步驟包括獲取TCM芯片產(chǎn)生的備份密鑰;通過TSM(TCMServiceModule)密鑰遷移接口,以獲取需要備份的用戶密鑰;使用備份密鑰將用戶密鑰進(jìn)行加密;將已加密的密鑰文件保存在存儲(chǔ)介質(zhì)中。本發(fā)明的技術(shù)方案將可遷移或者可導(dǎo)出的用于對(duì)加密數(shù)據(jù)進(jìn)行解密的用戶密鑰進(jìn)行備份,便于在操作系統(tǒng)被破壞、密鑰丟失的情況下將用戶密鑰進(jìn)行恢復(fù)并對(duì)加密數(shù)據(jù)進(jìn)行解密,同時(shí)也適用于將備份的用戶密鑰在其他電腦上進(jìn)行恢復(fù)。
文檔編號(hào)H04L9/08GK102769525SQ201110113950
公開日2012年11月7日 申請(qǐng)日期2011年5月4日 優(yōu)先權(quán)日2011年5月4日
發(fā)明者付月朋 申請(qǐng)人:國民技術(shù)股份有限公司