專利名稱:基于可信嵌入式平臺的移動設(shè)備及其安全存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機信息安全技術(shù)領(lǐng)域,特別是涉及一種基于可信嵌入式平臺的移動設(shè)備 的數(shù)據(jù)安全存儲。
背景技術(shù):
移動設(shè)備PDA (個人數(shù)字助理)是個人的數(shù)字助理,其內(nèi)部包含有大量的私人信息和關(guān)鍵 數(shù)據(jù)。移動設(shè)備可能遺失和被竊,如果數(shù)據(jù)在其存儲介質(zhì)中以明文方式保存,則易導(dǎo)致信息 泄露。移動設(shè)備使用的嵌入式系統(tǒng)對重要機密數(shù)據(jù)的保護多以PIN碼的形式實現(xiàn),目前推出 的加密存儲保護也存在密鑰存儲和加解密操作環(huán)境不安全等問題。且嵌入式系統(tǒng)的資源有限, 加解密操作會對系統(tǒng)的性能有所損耗。如何針對嵌入式系統(tǒng)的特點,提高加解密速度,同時 在保證密鑰的安全存儲環(huán)境下進行加解密操作,這是數(shù)據(jù)安全存儲所面臨的一個主要難題。
可信計算平臺是一種可以考慮的解決方案,可信計算平臺的核心是可信平臺模塊 (Trusted Platform Module, TPM) [1],是一個含有密碼運算部件和存儲部件的小型SoC片上 系統(tǒng)。目前市場上尚未出現(xiàn)基于TPM芯片的可信PDA等移動設(shè)備。
TPM的安全存儲功能是利用一種樹形密鑰結(jié)構(gòu)實現(xiàn)的。其樹的根節(jié)點是永遠(yuǎn)儲存在TPM中 的存儲根密鑰(Storage Root Key, SRK)。包含TPM的系統(tǒng)可以通過SRK創(chuàng)建密鑰并對其進 行加密,使其只能通過TPM解密。這一過程通常稱為打包或綁定密鑰,有助于防止密鑰泄露。 TPM中創(chuàng)建的密鑰對的私鑰部分決不會暴露給任何其他組件、軟件、進程或個人。
在TPM規(guī)范中,TPM提供平臺綁定功能,即將秘密信息綁定到特定平臺。TPM可將這些秘 密數(shù)據(jù)連同一個或幾個PCR值封裝在一起作為一個整體進行加密處理。加密密鑰作為需要TPM 保護的秘密信息,也可以與PCR值綁定。當(dāng)前的身份驗證一般使用PIN碼或是USBKey設(shè)備, 前者容易被暴力破解或由于用戶的安全意識不足而泄露,后者是單獨的物理身份驗證元素, 難以緩解用戶同時丟失PDA和USB設(shè)備的風(fēng)險。而指紋識別等用戶生物信息基于人體生物信 息的唯一性與特定性進行身份確認(rèn),在一定程度上杜絕了身份信息泄漏和遺失。而現(xiàn)在尚未 有將用戶生物信息綁定到特定平臺的應(yīng)用。
TPM將數(shù)據(jù)與特定的密鑰及平臺狀態(tài)綁定在一起,只有被授權(quán)的用戶,使用該密鑰在相 同的平臺狀態(tài)下才可以解密被加密的數(shù)據(jù)。有關(guān)平臺特定的硬件或軟件配置信息可以實現(xiàn)這 種邏輯綁定,這些配置信息通過TPM軟件棧來收集,然后被存儲到TPM內(nèi)部的PCR (Platform Configuration Registers,平臺配置寄存器)中。TPM將密鑰數(shù)據(jù)連同一個或幾個PCR值合 在一起,作為一個整體進行加密處理。當(dāng)存取被保護的密鑰數(shù)據(jù)時,TPM需要首先計算對應(yīng) 的平臺配置信息,如果一致則允許訪問。對于加密文件系統(tǒng)中被加密的文件密鑰,當(dāng)只有在 此平臺上且平臺當(dāng)前的配置信息與加密時指定的配置信息相符時才能夠解密此數(shù)據(jù)。
4由于嵌入式系統(tǒng)專用性強,資源有限,要對大批量數(shù)據(jù)進行加解密操作勢必影響其執(zhí)行 效率。如果使用硬件加解密芯片實現(xiàn)密碼算法,由于硬件實現(xiàn)的高速及高效的處理能力,可 以大大減輕處理器的負(fù)擔(dān),較之軟件加密速度快100多倍,極大提高了系統(tǒng)的性能。但目前 的嵌入式系統(tǒng)與加密引擎的傳輸速度存在瓶頸,也不能保證加解密操作的可靠環(huán)境。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于可信嵌入式平臺的移動設(shè)備及其數(shù)據(jù)安全
存儲方法。該設(shè)備及其存儲方法根據(jù)嵌入式系統(tǒng)的特點,將嵌入式平臺、TPM可信平臺模塊
和硬件加密芯片結(jié)合在一起,有效地解決密鑰安全存儲的問題,突破了嵌入式系統(tǒng)與加密引 擎的傳輸速度瓶頸,能夠保證加解密操作的可靠環(huán)境。
本發(fā)明所采用的技術(shù)方案是基于可信嵌入式平臺的移動設(shè)備,包括嵌入式平臺和加解 密芯片,還包括TPM模塊。嵌入式平臺、TPM模塊、加解密芯片通過高速總線相連。
基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,包括用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng) 層、頁高速緩沖層、通用塊層、IO調(diào)度層、塊設(shè)備驅(qū)動層、物理塊設(shè)備層。用戶層、系統(tǒng)調(diào) 用層、文件系統(tǒng)層、頁高速緩沖層依次雙向傳遞信息,通用塊層、IO調(diào)度層、塊設(shè)備驅(qū)動層、 物理塊設(shè)備層依次雙向傳遞信息。本移動設(shè)備還包括加解密模塊和密鑰管理模塊。加解密模 塊從密鑰管理模塊獲取密鑰,加解密模塊還通過加解密芯片驅(qū)動向加解密芯片傳遞數(shù)據(jù)。密 鑰管理模塊依次通過TSS密鑰安全存儲接口 、可信設(shè)備驅(qū)動庫函數(shù)TDDL和B/信設(shè)備驅(qū)動TDD, 從TPM模塊獲取文件級密鑰FEK。頁高速緩沖層和通用塊層都和加解密模塊雙向通信。
本發(fā)明提供的方法與現(xiàn)有技術(shù)相比具有以下的主要優(yōu)點
1. 在密鑰管理方面,實現(xiàn)三層密鑰管理體系,上層密鑰加密下層密鑰,綁定了可信平臺 環(huán)境,實現(xiàn)了更高的安全性。
2. 在密鑰保護措施方面,將密鑰和存儲在TPM內(nèi)部的用戶身份驗證授權(quán)信息進行綁定, 提高了系統(tǒng)的安全強度。
3. 硬件加密芯片通過國家商務(wù)密碼算法SMS4[2]實現(xiàn)加解密操作,且加密芯片連接在高 速總線卜.,解決了嵌入式系統(tǒng)與加密引擎的傳輸速度瓶頸問題,可在物理上保證高度安全的 數(shù)據(jù)存儲。
圖l是本發(fā)明的功能結(jié)構(gòu)
圖2是TPM模塊密鑰管理的體系結(jié)構(gòu)。
圖3是密鑰管理模塊獲取文件級密鑰的流程。
圖4是基于可信嵌入式平臺的移動設(shè)備的體系結(jié)構(gòu)。
圖5是加密流程框圖。
圖6是解密流程框圖。
具體實施例方式
本發(fā)明提出了基于可信嵌入式平臺的移動設(shè)備及其安全存儲方法。本發(fā)明的原理是根據(jù) 嵌入式系統(tǒng)的特點,將嵌入式平臺、TPM硬件模塊和由現(xiàn)場可編程門陣列(Field ProgrammableGate Array, FPGA)制得的硬件加密芯片結(jié)合在一起,改寫嵌入式操作系統(tǒng)Linux內(nèi)核代碼, 在Linux訪問文件的流程中,密鑰模塊使用TSS密鑰安全存儲接口訪問TPM芯片,利用其硬 件安全存儲以及平臺綁定功能安全獲取文件級密鑰FEK,加解密模塊調(diào)用硬件加密芯片通過 FEK完成對數(shù)據(jù)的加解密操作,從而實現(xiàn)對數(shù)據(jù)的機密性保護。
在嵌入式系統(tǒng)中,內(nèi)部總線的傳輸速度最高,而且其時鐘頻率也不高,普通FPGA都可以 在該頻率下穩(wěn)定工作,因此,可將FPGA加解密引擎設(shè)計為嵌入式系統(tǒng)的高速設(shè)備,接在其系 統(tǒng)總線上。體系結(jié)構(gòu)如圖4所示,本發(fā)明的移動設(shè)備包括嵌入式平臺和加解密芯片(如FPGA), 還包括TPM模塊。嵌入式平臺、TPM模塊、加解密芯片通過內(nèi)部高速總線相連。如圖4所示, 嵌入式平臺可包括處理器CPU、作為內(nèi)存的非易失性存儲器(如Nand Flash)。 TPM模塊和加 解密芯片構(gòu)成加密引擎。內(nèi)部總線通過橋接器(Bridge)和外部總線相連。IIC總線和USB等 外接設(shè)備接在外部總線上。
本移動設(shè)備的功能體系結(jié)構(gòu)如圖l所示。基于可信嵌入式平臺的移動設(shè)備的安全存儲方 法,包括用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層、通用塊層、IO調(diào)度層、塊設(shè)備 驅(qū)動層、物理塊設(shè)備層。用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層依次雙向傳遞信 息,通用塊層、工0調(diào)度層、塊設(shè)備驅(qū)動層、物理塊設(shè)備層依次雙向傳遞信息。本移動設(shè)備還 包括加解密模塊和密鑰管理模塊。加解密模塊從密鑰管理模塊獲取密鑰,加解密模塊還通過 加解密芯片驅(qū)動向加解密芯片傳遞數(shù)據(jù)。密鑰管理模塊依次通過TSS密鑰安全存儲接口、可 信設(shè)備驅(qū)動庫函數(shù)TDDL和可信設(shè)備驅(qū)動TDD,從TPM模塊獲取文件級密鑰FEK。頁高速緩沖 層和通用塊層都和加解密模塊雙向通信。
基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,包括加密和解密流程。
如圖5所示,加密流程包括以下步驟
al)用戶進程發(fā)出寫請求。
a2)根據(jù)步驟al)的寫請求,塊設(shè)備驅(qū)動層請求處理函數(shù)將數(shù)據(jù)寫入通用塊層,同時頁 高速緩沖層捕獲對通用塊層的訪問。
a3)密鑰管理模塊通過TPM模塊進行驗證,若驗證通過則獲取文件級密鑰FEK,若驗證未 通過則轉(zhuǎn)至步驟a6)。
a4)加解密模塊調(diào)用加解密芯片,使用步驟a3)所得FEK對頁高速緩沖層中明文進行加密。
a5)頁高速緩沖層將加密的緩沖區(qū)塊提交給塊設(shè)備驅(qū)動層,然后寫入設(shè)備,結(jié)束加密流程。
a6)加密失敗,結(jié)束加密流程。
如圖6所示,解密流程包括以下步驟
bl)用戶進程發(fā)出讀請求。
b2)根據(jù)步驟bl)的讀請求,通用塊層從物理塊設(shè)備層讀取密文數(shù)據(jù)到緩沖區(qū),通用塊 層在I/O完成方法中截獲對頁高速緩沖層的讀取。
b3)密鑰管理模塊通過TPM模塊進行驗證,若驗證通過則獲取文件級密鑰FEK,若驗證未通過則轉(zhuǎn)至步驟b6)。
b4)加解密模塊調(diào)用加解密芯片,使用步驟b3)所得FEK對頁高速緩沖層中密文進行解密。
b5)歩驟b4)完成后,通過系統(tǒng)調(diào)用層將頁高速緩沖層狀態(tài)設(shè)置成刷新、解鎖后,使明 文數(shù)據(jù)被用戶可讀。然后結(jié)束解密流程。 b6)解密失敗,結(jié)朿加密流程。
密鑰管理如圖2示。對于密碼體制,加密密鑰的安全件是整個系統(tǒng)安全性的關(guān)鍵,其主要 體現(xiàn)在密鑰生成、存儲和密鑰粒度等方面。所以加密系統(tǒng)需要一個可信的根,而其他應(yīng)用密 鑰都以此可信密鑰根加密存儲。木發(fā)明中實現(xiàn)三層密鑰管理體系,各級密鑰層層加密,綁定 了可信平臺環(huán)境,實現(xiàn)了更高的安全性。
TPM芯片內(nèi)部的加密過程與操作系統(tǒng)是隔離的,與系統(tǒng)軟件實現(xiàn)的加密函數(shù)相比,硬件級 的保護,傳統(tǒng)的攻擊方法將難以竊取敏感數(shù)據(jù),TPM加密具有更高的安全性。且加解密操作的 環(huán)境受到了平臺綁定的保護,更加安全可靠。
本系統(tǒng)采用鏈?zhǔn)郊用芊椒▉肀Wo密鑰和文件。如圖3所示,使用的各參數(shù)說明
VEKAuth:被SRK加密的用戶級密鑰的授權(quán)。
VEKHandle: VEK加載后返回的句柄。
DataAuth: FEK作為一個加密數(shù)據(jù)的使用授權(quán)。
PcrSelect:所選擇的PCR標(biāo)記,即平臺配置。
PcrValue:所選擇的PCR的值。
Pcrlnfo: PcrSelect和PcrValue的封裝。
FEK:文件級密鑰。
SealedData: FEK和Pcrlnfo被TPM—Seal命令密封后生成的數(shù)據(jù)塊。 具體時言,在加密和解密流程之前還包括以下密鑰生成步驟 cl)通過廠商的配置得到TPM模塊的所有者(owner)權(quán)限,生成存儲根密鑰SRK。 c2)由TPM模塊通過SRK創(chuàng)建一個密鑰作為用戶級密鑰VEK, VEK被以SRK作為父密鑰的 密鑰樹加密存儲在TPM模塊內(nèi)部。
c3)通過內(nèi)核函數(shù)初始化生成文件級密鑰FEK。為提高安全性,生成文件級密鑰FEK的算 法可使用快速而安全的對稱加密算法——商用密碼標(biāo)準(zhǔn)SMS4,相應(yīng)的生成FEK的內(nèi)核函數(shù) 為get—sms4key ()。然后將FEK和平臺配置信息Pcrlnfo封裝在一起,其中Per Info又包括 PcrSelect和PcrValue。最后由TPM一Seal命令,將封裝后的數(shù)據(jù)通過相應(yīng)對稱加密算法,使 用VEK加密為封裝數(shù)據(jù)SealedData。 SealedData存貯在非易失性存儲器中。 且步驟a3)和b3)的具體步驟包括
dl)根據(jù)操作系統(tǒng)的命令,密鑰安全存儲模塊上的TSS密鑰安全存儲接口發(fā)出TPM啟封 指令TPM—Unseal ,將驗證參數(shù)通過傳輸模塊傳入TPM模塊。其中驗證參數(shù)包括VEKAuth、 VEKH肌dle、 DataAuth禾口 SealedDerta。
d2)根據(jù)VEK句柄VEKHandle,在以SRK為父密鑰的密鑰樹中找出加密存儲的VEK節(jié)點,然后驗證VEK使用授權(quán)VEKAuth,若驗證成功,解密得到VEK,若驗證不成功,轉(zhuǎn)至步驟d5)。 d3)驗證FEK使用授權(quán)DataAuth,若驗證成功,通過VEK解密dl)所得封裝數(shù)據(jù),得到
FEK和平臺配置信息Pcrlnfo,若驗證不成功,轉(zhuǎn)至步驟d5)。
d4)驗證步驟d3)所得平臺配置信息Pcrlnfo (包括PcrSelect和PcrValue)的正確性,
若驗證成功,將結(jié)果FEK傳出,若驗證不成功,轉(zhuǎn)至步驟d5)。 d5)驗證未通過,轉(zhuǎn)相應(yīng)處理。
加密密鑰是加密解決方案的依據(jù),為了增強密鑰的保護力度,本發(fā)明中將密鑰和存儲在 TPM內(nèi)部的用戶身份驗證授權(quán)信息進行綁定,提高了系統(tǒng)的安全強度,即前述步驟c3)中, 平臺配置信息包含用戶生物信息。
本發(fā)明可將用戶身份驗證信息——指紋特征碼的HASH值保存在TPM的平臺配置注冊表PCR 中,由TPM校驗其完整性從而保證了指紋校驗?zāi)K的安全性,防止了對指紋驗證模塊的惡意攻 擊或?qū)χ讣y特征碼的篡改導(dǎo)致的身份信息泄露。同時將用戶唯一的生物特征指紋特征碼和密 鑰緊密地綁定起來,從而使用戶身份與其加密密鑰之間的聯(lián)系大大增強,只有被授權(quán)的用戶, 當(dāng)只有在此平臺上且平臺當(dāng)前的配置信息與加密時指定的配置信息相符時才能夠解密得出加 密密鑰。
加密的介質(zhì)存儲容量相對于普通PC的硬盤來說較小,所以可采用加密整個介質(zhì)的方式, 即在前述加密流程的步驟a4)中對明文所在的整個存儲介質(zhì)進行加密,加密內(nèi)容包括分區(qū)表、 文件分配表和文件內(nèi)容。這樣即可防止攻擊者通過分析磁盤介質(zhì)的任何部分來恢復(fù)有用信息, 而不用恢復(fù)密鑰。
實施例
如圖4所示,本發(fā)明的移動設(shè)備包括嵌入式平臺和由FPGA制得的加解密芯片,還包括TPM 模塊。嵌入式平臺、TPM模塊、加解密芯片通過內(nèi)部高速總線相連。嵌入式平臺包括CPU、非 易失性存儲器Nand Flash。TPM模塊和加解密芯片構(gòu)成加密引擎。內(nèi)部總線通過橋接器Bridge 和外部總線相連。IIC總線和USB等外接設(shè)備接在外部總線上。
本移動設(shè)備的功能體系結(jié)構(gòu)如圖1所示?;】尚徘度胧狡脚_的移動設(shè)備的安全存儲方 法,包括用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層、通用塊層、IO調(diào)度層、塊設(shè)備 驅(qū)動層、物理塊設(shè)備層。用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層依次雙向傳遞信 息,通用塊層、IO調(diào)度層、塊設(shè)備驅(qū)動層、物理塊設(shè)備層依次雙向傳遞信息。本移動設(shè)備還 包括加解密模塊和密鑰管理模塊。加解密模塊從密鑰管理模塊獲取密鑰,加解密模塊還通過 加解密芯片驅(qū)動向加解密芯片傳遞數(shù)據(jù)。密鑰管理模塊依次通過TSS密鑰安全存儲接口、可 信設(shè)備驅(qū)動庫函數(shù)TDDL和可信設(shè)備驅(qū)動TDD,從TPM模塊獲取文件級密鑰FEK。頁高速緩沖 層和通用塊層都和加解密模塊雙向通信。
基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,包括密鑰生成、加密和解密流程,如 圖2、 3所示。
密鑰生成流程包括以下步驟
Al)在TPM模塊中,通過廠商的配置得到TPM模塊的所有者(owner)權(quán)限,生成存儲根
8密鑰SRK。
A2)由TPM模塊通過步驟Al)所得SRK創(chuàng)建一個密鑰作為用戶級密鑰VEK, VEK被以SRK 作為父密鑰的密鑰樹加密存儲在TPM模塊內(nèi)部。
A3)通過內(nèi)核函數(shù)get—sms4key(),使用商用密碼標(biāo)準(zhǔn)SMS4生成文件級密鑰FEK。然后 將FEK和TPM模塊的平臺配置信息Pcrlnfo封裝在一起,其中Pcrlnfo包括PcrSelect和 PcrValue,含有用戶指紋特征碼的HASH值。封裝后的數(shù)據(jù)再由TPM—Seal命令,通過步驟2) 所得VEK加密生成SealedData。 SealedData存貯在內(nèi)存Nand Flash中。
加密流程包括以下步驟
Bl)用戶通過指紋登錄,由用戶進程發(fā)出寫請求。
B2)根據(jù)步驟B1)的寫請求,塊設(shè)備驅(qū)動層請求處理函數(shù)將數(shù)據(jù)寫入通用塊層,同時頁 高速緩沖層捕獲對通用塊層的訪問,得到需要加密的明文數(shù)據(jù)和驗證參數(shù)。其中驗證參數(shù)包 括VEKAuth、 VEKHandle、 DataAuth、密鑰牛成的步驟A3)所得封裝數(shù)據(jù)SealedData。
B3) TSS密鑰安全存儲接口發(fā)出TPM啟封指令TPM一Unseal,將步驟B2)所得驗證參數(shù)傳 入TPM模塊。
B4)TPM模塊根據(jù)VEK句柄VEKHandle,在以SRK為父密鑰的密鑰樹中找出加密存儲的VEK 節(jié)點,然后驗證VEK使用授權(quán)VEKAuth,若驗證成功,解密得到VEK,然后轉(zhuǎn)至步驟B5),若 驗證不成功,轉(zhuǎn)至步驟B9)。
B5) TPM模塊驗證FEK使用授權(quán)DataAuth,若驗證成功,通過步驟B4)所得VEK解密步 驟B2)的封裝數(shù)據(jù)SealedData,得到FEK和平臺配置信息Pcrlnfo,然后轉(zhuǎn)至步驟B6),若 驗證不成功,轉(zhuǎn)至步驟B9)。
B6) TPM模塊驗證步驟B5)所得平臺配置信息Pcrlnfo的正確性,并進行用戶指紋HASH 比對。若驗證成功,TPM模塊通過密鑰管理模塊將B5)所得FEK傳至加解密模塊,然后轉(zhuǎn)至 步驟B7),若驗證不成功,轉(zhuǎn)至步驟B9)。
B7)加解密模塊調(diào)用加解密芯片,使用步驟B6)所得FEK對步驟B2)的明文加密為緩沖 區(qū)塊。
B8)頁高速緩沖層將加密的緩沖區(qū)塊提交給塊設(shè)備驅(qū)動層,然后寫入存貯設(shè)備SD卡。寫 入過程中,對SD卡的整個存儲介質(zhì)進行加密,加密內(nèi)容包括分區(qū)表、文件分配表和文件內(nèi)容。 B9)加密失敗,結(jié)束加密流程。 解密流程包括以下步驟
Cl)用戶通過指紋登錄,由用戶進程發(fā)出讀請求。
C2)根據(jù)步驟C1)的讀請求,通用塊層從物理塊設(shè)備層(SD卡)讀取密文數(shù)據(jù)和驗證參
數(shù)到緩沖區(qū),通用塊層在i/o完成方法中截獲對頁高速緩沖層的讀取。其中驗證參數(shù)包括
VEKAuth、 VEKHandle、 DataAuth、密鑰生成的步驟A3)所得封裝數(shù)據(jù)SealedData。
C3) TSS密鑰安全存儲接U發(fā)出TPM啟封指令TPM—Unseal,將步驟C2)所得驗證參數(shù)傳 入TPM模塊。
C4)TPM模塊根據(jù)VEK句柄VEKHandle,在以SRK為父密鑰的密鑰樹中找出加密存儲的VEK
9節(jié)點,然后驗證VEK使用授權(quán)VEKAuth,若驗證成功,解密得到VEK,然后轉(zhuǎn)至步驟C5),若 驗證不成功,轉(zhuǎn)至歩驟C9)。
C5) TPM模塊驗證FEK使用授權(quán)DataAuth,若驗證成功,通過步驟C4)所得VEK,解密 步驟C3)的封裝數(shù)據(jù)SealedData,得到FEK和平臺配置信息Pcrlnfo,然后轉(zhuǎn)至步驟C6), 若驗證不成功,轉(zhuǎn)至步驟C9)。
C6)驗證步驟C5)所得平臺配置信息Pcrlnfo的正確性,并進行用戶指紋HASH比對。若 驗證成功,TPM模塊通過密鑰管理模塊將C5)所得FEK傳至加解密模塊,然后轉(zhuǎn)至步驟C7), 若驗證不成功,轉(zhuǎn)至步驟C9)。
C7)加解密模塊調(diào)用加解密芯片,使用步驟C5)所得FEK對步驟C2)的密文進行解密。
C8)通過系統(tǒng)調(diào)用層將頁高速緩沖層狀態(tài)設(shè)置成刷新、解鎖后,使明文數(shù)據(jù)被用戶可讀。
C9)解密失敗,結(jié)束解密流程。
本發(fā)明在內(nèi)核合適的層次中插入加解密操作,屏蔽了具體文件系統(tǒng)的不同且充分利用 Linux的緩沖機制,使系統(tǒng)具有通用性和高性能;將國家商務(wù)密碼算法SMS4集成到硬件加密 芯片中實現(xiàn)加解密操作,速度快于軟件實現(xiàn),且可在物理上保證高度安全的數(shù)據(jù)存儲;在密 鑰管理方面,實現(xiàn)三層密鑰管理體系,各級密鑰層層加密,綁定了可信平臺環(huán)境以及用戶生 物信息,實現(xiàn)了更高的安全性。
參考文獻(xiàn)-Trusted Computing Group. TPM Main-Parti Design Principles - Specification Versionl. 2[EB/0L][2006-03-29]https://www, trustedcomputinggroup. org/specs/TPM/Mai n Parti Rev94. zip.國家密碼管理局,無線局域網(wǎng)產(chǎn)品使用的sms4密碼算法,http:〃www. oscca. gov. cn/, 2006年1月6日
權(quán)利要求
1. 基于可信嵌入式平臺的移動設(shè)備,包括嵌入式平臺和加解密芯片,其特征是還包括TPM模塊,嵌入式平臺、TPM模塊、加解密芯片通過高速總線相連。
2. 如權(quán)利要求l所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,包括用戶層、 系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層、通用塊層、IO調(diào)度層、塊設(shè)備驅(qū)動層、物理塊設(shè) 備層,用戶層、系統(tǒng)調(diào)用層、文件系統(tǒng)層、頁高速緩沖層依次雙向傳遞信息,通用塊層、10 調(diào)度層、塊設(shè)備驅(qū)動層、物理塊設(shè)備層依次雙向傳遞信息,其特征是還包括加解密模塊和 密鑰管理模塊,加解密模塊從密鑰管理模塊密鑰,加解密模塊通過加解密芯片驅(qū)動和加解密 芯片傳遞數(shù)據(jù),密鑰管理模塊依次通過密鑰安全存儲接口、可信設(shè)備驅(qū)動庫函數(shù)、可信設(shè)備 驅(qū)動從TPM模塊獲取文件級密鑰,頁高速緩沖層和通用塊層都和加解密模塊雙向通信。
3. 如權(quán)利要求2所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特祉是其包 括加密和解密流程,加密流程包括以下步驟al)用戶進程發(fā)出寫請求;a2)根據(jù)步驟al)的寫請求,塊設(shè)備驅(qū)動層請求處理函數(shù)將數(shù)據(jù)寫入通用塊層,同時頁 高速緩沖層捕獲對通用塊層的訪問;a3)密鑰管理模塊通過TPM模塊進行驗證,若驗證通過則獲取文件級密鑰,若驗證未通 過則轉(zhuǎn)至步驟a6);a4)加解密模塊調(diào)用加解密芯片,使用步驟a3)所得文件級密鑰對頁高速緩沖層中明文 進行加密;a5)頁高速緩沖層將加密的緩沖區(qū)塊提交給塊設(shè)備驅(qū)動層,然后寫入設(shè)備,完成加密流程;a6)加密失敗,結(jié)束加密流程;解密流程包括以下步驟bl)用戶進程發(fā)出讀請求;b2)根據(jù)步驟bl)的讀請求,通用塊層從物理塊設(shè)備層讀取密文數(shù)據(jù)到緩沖區(qū),通用塊 層在I/O完成方法中截獲對頁高速緩沖層的讀??;b3)密鑰管理模塊通過TPM模塊進行驗證,若驗證通過則獲取文件級密鑰,若驗證未通 過則轉(zhuǎn)至步驟b6);b4)加解密模塊調(diào)用加解密芯片,使用步驟b3)所得文件級密鑰對頁高速緩沖層中密文 進行解密;b5)步驟b4)完成后,通過系統(tǒng)調(diào)用層將頁高速緩沖層狀態(tài)設(shè)置成刷新、解鎖后,使明 文數(shù)據(jù)被用戶可讀,完成解密流程; b6)解密失敗,結(jié)束加密流程。
4. 如權(quán)利要求3所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特征是加密 流程和解密流程之前還包括以下密鑰生成步驟cl)通過廠商的配置得到TPM模塊的所有者權(quán)限,生成存儲根密鑰;c2)由TPM模塊通過存儲根創(chuàng)建一個密鑰作為用戶級密鑰,用戶級密鑰被以存儲根作為 父密鑰的密鑰樹加密存儲在TPM模塊內(nèi)部;c3)通過內(nèi)核函數(shù)初始化生成文件級密鑰,然后將文件級密鑰和平臺配置信息封裝在一 起,將封裝的數(shù)據(jù)由用戶級密鑰進行加密,存貯在密鑰管理模塊中。
5. 如權(quán)利要求4所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特征是步驟 a3)和b3)的過程均包括dl)密鑰安全存儲接口發(fā)出TPM啟封指令,將驗證參數(shù)傳入TPM模塊;d2)根據(jù)用戶級密鑰句柄,在以存儲根密鑰為父密鑰的密鑰樹中找出加密存儲的用戶級密鑰節(jié)點,然后驗證用戶級密鑰的使用授權(quán),若驗證成功,解密得到用戶級密鑰,若驗證不成功,轉(zhuǎn)至歩驟d5);d3)驗證文件加密密鑰使用授權(quán),若驗證成功,通過用戶級密鑰解密ci)所得封裝數(shù)據(jù), 得到文件級密鑰和T臺配置信息,若驗證小成功,轉(zhuǎn)至步驟d5);d4)驗證步驟d3)所得平臺配置信息的正確性,若驗證成功,將結(jié)果文件級密鑰傳出, 若驗證不成功,轉(zhuǎn)至步驟d5);d5)驗證未通過,轉(zhuǎn)相應(yīng)處理。
6. 如權(quán)利要求4或5所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特征是 步驟c3)通過內(nèi)核函數(shù)初始化生成文件級密鑰的算法為商用密碼標(biāo)準(zhǔn)SMS4。
7. 如權(quán)利要求4所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特征是步 驟c3)中的平臺配置信息包括用戶生物信息。
8. 如權(quán)利要求3所述的基于可信嵌入式平臺的移動設(shè)備的安全存儲方法,其特征是步 驟a5)在寫入設(shè)備的過程中對整個存儲設(shè)備介質(zhì)進行加密,加密內(nèi)容包括分區(qū)表、文件分配 表和文件內(nèi)容。
全文摘要
本發(fā)明提供了基于可信嵌入式平臺的移動設(shè)備及其安全存儲方法。本發(fā)明包括嵌入式平臺和加解密芯片,還包括TPM模塊,嵌入式平臺、TPM模塊、加解密芯片均和高速總線相連。該設(shè)備及其存儲方法根據(jù)嵌入式系統(tǒng)的特點,將嵌入式平臺、TPM可信平臺模塊和硬件加密芯片結(jié)合在一起,有效地解決密鑰安全存儲的問題,突破了嵌入式系統(tǒng)與加密引擎的傳輸速度瓶頸,能夠保證加解密操作的可靠環(huán)境。
文檔編號G06F21/00GK101430747SQ200810197078
公開日2009年5月13日 申請日期2008年9月26日 優(yōu)先權(quán)日2008年9月26日
發(fā)明者婷 俞, 勇 勞, 路 康, 張煥國, 波 趙, 鵬 鄭, 韓碧霞, 黃祥梨 申請人:武漢大學(xué)