專利名稱:一種數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)安全領(lǐng)域,特別是涉及一種可信的數(shù)據(jù)的加解密安全存儲的系統(tǒng)和裝置及方法。
背景技術(shù):
隨著現(xiàn)代通訊技術(shù)的快速發(fā)展,在通訊設備中對數(shù)據(jù)的處理量也越來越大,通訊設備中的很多數(shù)據(jù)也需要在運行過程中,或者在運行結(jié)束后存儲到不同的存儲設備中,如隨機讀取存儲器(RAM),硬盤,或者閃存(Flash)等。這樣的通訊設備既有微型計算機(PC),也有小、中、大型服務器,以及筆記本電腦,還有手機、PDA、U盤,MP3、MP4等各種新型的移動通訊設備。
通訊設備中存儲的數(shù)據(jù),如計算機中的數(shù)據(jù),常常存儲在硬盤上,而如果用硬盤來存儲一些安全性較高的數(shù)據(jù),如商業(yè)秘密,國家安全秘密,國防安全數(shù)據(jù)等等,如果該硬盤丟失或者失竊將會帶來很大的危險,尤其是對于便攜式設備和移動設備,它們通常會更方便攜帶,也就更危險,安全保護方面的要求更高,安全威脅會更大。
一般地,為了數(shù)據(jù)在存儲中的安全,通訊設備的用戶可能會利用一些加解密方法對數(shù)據(jù)進行加密,然后才存儲到相應的存儲設備中。
對臨時或永久存儲在存儲設備中的數(shù)據(jù),以及通訊傳輸數(shù)據(jù)的加密和解密的方法,在本領(lǐng)域普通技術(shù)人員中都已經(jīng)有實現(xiàn)的產(chǎn)品。大多數(shù)技術(shù)人員采用加解密方法是用一個密鑰來加密數(shù)據(jù),同時,通常要求接收加密傳輸?shù)臄?shù)據(jù)或者從存儲在存儲設備讀取加密數(shù)據(jù)的一方擁有跟加密一方相同或者配對的密鑰才能解密。因此,任何一方未經(jīng)授權(quán)的人員都不應當知道或者獲得密鑰,不得加解密數(shù)據(jù),不能獲得相關(guān)的數(shù)據(jù),從而達到對存儲數(shù)據(jù)的安全保護。
中國專利申請?zhí)?00610000047.3公開了一種移動存儲設備的數(shù)據(jù)安全存儲和處理方法,它涉及移動存儲設備的數(shù)據(jù)保護技術(shù),特別涉及獨立于智能密碼鑰匙而獨立使用的專用移動存儲設備的數(shù)據(jù)存儲、處理方法。它用移動保險柜系統(tǒng)工具為移動存儲設備中需要加密保護的數(shù)據(jù)創(chuàng)建專屬于合法用戶的虛擬加密文件目錄。合法用戶可以在其中創(chuàng)建、修改和刪除文件,可以把移動存儲設備中未加密保護的數(shù)據(jù)拖放到移動保險柜中實施加密,也可以把移動保險柜中被加密保護的數(shù)據(jù)拖放到移動存儲設備中未加密保護的公共區(qū)域,以實施解密。對于非法用戶,移動保險柜永遠是一個加密的磁盤文件,不能打開,也不能獲取其中的內(nèi)容。
中國專利申請?zhí)?00510124652.7也公開了一種用于存儲數(shù)據(jù)的透明端到端安全的設備、系統(tǒng)和方法。該發(fā)明包括與服務器進行通信的一個或多個客戶機??蛻魴C期望將存儲結(jié)構(gòu)發(fā)送到存儲服務器??蛻魴C與服務器關(guān)于傳輸密鑰進行協(xié)商??蛻魴C產(chǎn)生專門與存儲結(jié)構(gòu)相關(guān)聯(lián)的存儲密鑰。客戶機使用存儲密鑰將存儲結(jié)構(gòu)加密,使用傳輸密鑰將存儲密鑰加密。將加密的存儲結(jié)構(gòu)和加密的存儲密鑰發(fā)送到服務器。服務器使用傳輸密鑰將存儲密鑰解密。服務器在與用于存儲密鑰的存儲設備不同的存儲設備上存儲結(jié)構(gòu)。最好是,跟蹤關(guān)于存儲結(jié)構(gòu)位置、存儲密鑰位置,或存儲結(jié)構(gòu)名的任何變化,并對關(guān)于存儲結(jié)構(gòu)的位置和對應存儲密鑰的位置的關(guān)聯(lián)進行適當修改。
但是,現(xiàn)有的加解密被存儲數(shù)據(jù)的安全保護方法,對用戶要求過高,使用過程較為復雜,不能適應用戶的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法,其對用戶操作要求低,使用過程簡單,適應用戶的要求。
為實現(xiàn)本發(fā)明目的而提供的一種數(shù)據(jù)安全存儲系統(tǒng),包括操作平臺,存儲設備,還包括可信計算單元,加解密單元,其中所述可信計算單元,用于保護對操作平臺和存儲設備間讀寫的數(shù)據(jù)進行加解密的密鑰;所述加解密單元,用于從可信計算單元讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
所述的數(shù)據(jù)安全存儲系統(tǒng),還可以包括控制單元,用于對可信計算單元和加解密單元進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
所述可信計算單元的保護,為通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫。
所述密鑰存儲于可信計算單元。
所述可信計算單元還存儲用于匹配判斷的操作平臺的第一唯一性標識。
所述控制單元可以包括密鑰判斷子單元,讀寫控制子單元,其中密鑰判斷子單元,用于判斷可信計算單元中是否有密鑰,是否需要對操作平臺與存儲設備間的讀寫數(shù)據(jù)進行加解密,并根據(jù)判斷結(jié)果讀取操作平臺的第二唯一性標識;讀寫控制子單元,用于在操作平臺讀取存儲設備中的數(shù)據(jù)時,控制加解密單元對操作平臺和存儲設備之間的讀寫數(shù)據(jù)進行加解密。
所述控制單元還可以包括初始化子單元,用于操作平臺硬件加電,對初始化軟件進行初始化時,加載可信計算環(huán)境,并初始化可信計算環(huán)境。
所述加解密單元可以包括讀取數(shù)據(jù)解密子單元和寫入數(shù)據(jù)加密子單元,其中讀取數(shù)據(jù)解密子單元,用于在操作平臺向存儲設備讀取數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;寫入數(shù)據(jù)加密子單元,用于在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
所述可信計算單元可以包括匹配控制子單元,用于讀取第一唯一性標識,并將該第一唯一性標識與密鑰判斷子單元讀取的第二唯一性標識匹配檢查。
所述可信計算單元還可以包括密鑰存儲子單元,用于存儲加解密密鑰和第一唯一性標識。
所述可信計算單元還可以更進一步包括密鑰生成子單元,用于根據(jù)操作平臺第一唯一性標識,生成相應的加解密密鑰。
所述操作平臺的計算機系統(tǒng)平臺,或者單片機系統(tǒng)平臺,或者手機、PDA、U盤、MP3、MP4和操作所述手機、PDA、U盤、MP3、MP4的網(wǎng)絡共同組成的主從架構(gòu)的網(wǎng)絡平臺。
所述存儲設備是RAM,或者硬盤,或者閃存中的一種或者一種以上的組合。
所述唯一性標識,對計算機系統(tǒng)而言,包括計算機主板的系列號;或者中央處理器序列號;或者設備序列號;或者操作系統(tǒng)序列號;或者應用軟件序列號中的一種或者一種以上的組合。
所述唯一性標識,對通信網(wǎng)絡系統(tǒng)而言,包括手機的SIM卡號;或者手機的國際移動電話識別碼中的一種或者兩者組合。
所述唯一性標識為對操作平臺中表示軟件平臺、硬件平臺的特征數(shù)據(jù)進行哈希運算,所得計算結(jié)果的完整性度量值。
所述密鑰生成子單元可以是通過哈希函數(shù)生成加解密密鑰。
所述加解密算法為DES算法,或者IDEA算法,或者AES算法,或者RSA算法,或者Diffie-Hellman算法,ECC算法中的一種或者一種以上的組合。
為實現(xiàn)本發(fā)明目的還提供一種數(shù)據(jù)安全存儲裝置,與操作平臺和存儲設備電連接,包括可信計算單元,加解密單元,其中所述可信計算單元,用于保護對操作平臺和存儲設備間讀寫的數(shù)據(jù)進行加解密的密鑰;所述加解密單元,用于從可信計算單元讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
所述的數(shù)據(jù)安全存儲系統(tǒng),還可以包括控制單元,用于對可信計算單元和加解密單元進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
所述可信計算單元的保護,為通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫。
所述密鑰存儲于可信計算單元。
所述可信計算單元還存儲用于匹配判斷的操作平臺的第一唯一性標識。
所述控制單元可以包括密鑰判斷子單元,讀寫控制子單元,其中密鑰判斷子單元,用于判斷可信計算單元中是否有密鑰,是否需要對操作平臺與存儲設備間的讀寫數(shù)據(jù)進行加解密,并根據(jù)判斷結(jié)果讀取操作平臺的第二唯一性標識;讀寫控制子單元,用于在操作平臺讀取存儲設備中的數(shù)據(jù)時,控制加解密單元對操作平臺和存儲設備之間的讀寫數(shù)據(jù)進行加解密。
所述控制單元還可以包括初始化子單元,用于操作平臺硬件加電,對初始化軟件進行初始化時,加載可信計算環(huán)境,并初始化可信計算環(huán)境。
所述加解密單元可以包括讀取數(shù)據(jù)解密子單元和寫入數(shù)據(jù)加密子單元,其中讀取數(shù)據(jù)解密子單元,用于在操作平臺向存儲設備讀取數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;寫入數(shù)據(jù)加密子單元,用于在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
所述可信計算單元可以包括匹配控制子單元,用于讀取第一唯一性標識,并將該第一唯一性標識與密鑰判斷子單元讀取的第二唯一性標識匹配檢查。
所述可信計算單元還可以包括密鑰存儲子單元,用于存儲加解密密鑰和唯一性標識。
所述可信計算單元還可以進一步包括密鑰生成子單元,用于根據(jù)操作平臺唯一性標識,生成相應的加解密密鑰。
所述數(shù)據(jù)安全存儲裝置,或者是一種獨立于操作平臺和存儲設備的硬件設備,或者是存儲設備控制裝置的一部分,或者是操作平臺中的硬件平臺的一部分,或者是BIOS芯片加載的一段軟件,或者是EFI芯片加載的一段軟件。
為實現(xiàn)本發(fā)明目的還提供一種數(shù)據(jù)安全存儲方法,包括下列步驟步驟A,在需要處理存儲設備中的數(shù)據(jù)時,對操作平臺上電并初始化,并初始化可信計算環(huán)境,通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫;步驟B,在確認需要對存儲設備進行數(shù)據(jù)安全存儲讀寫后,讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
所述步驟A中,通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫,具體包括下列步驟步驟A1,判斷可信計算環(huán)境中是否有密鑰,如果沒有則轉(zhuǎn)步驟A2;否則轉(zhuǎn)步驟A4;步驟A2,判斷該操作平臺與存儲設備間讀寫數(shù)據(jù)是否需要進行加解密;如果否,則正常啟動,不對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行任何處理,用戶正常使用后結(jié)束;否則轉(zhuǎn)步驟A3;步驟A3,生成相應的加解密密鑰,轉(zhuǎn)到步驟B;步驟A4,如果可信計算單元中已經(jīng)有密鑰存在,則讀取第一唯一性標識,將該第一唯一性標識與從本操作平臺上讀取的第二唯一性標識進行匹配檢查;步驟A5,如果匹配通過,則檢查通過,得到密鑰,轉(zhuǎn)到步驟B;否則,給出信息后,結(jié)束返回。
所述步驟A4還包括下列步驟在讀取第一唯一性標識時指定要求用戶核對口令,如果用戶輸入口令與該第一唯一性標識的口令不同,則不允許用戶得到該第一唯一性標識。
所述步驟B中對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密,具體包括下列步驟步驟B1,在操作平臺讀取存儲設備中的數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;步驟B2,在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
所述唯一性標識,對計算機系統(tǒng)而言,包括計算機主板的系列號;或者中央處理器序列號;或者設備序列號;或者操作系統(tǒng)序列號;或者應用軟件序列號中的一種或者一種以上的組合。
所述唯一性標識,對通信網(wǎng)絡系統(tǒng)而言,包括
手機的SIM卡號;或者手機的國際移動電話識別碼中的一種或者兩者組合。
所述唯一性標識為對操作平臺中表示軟件平臺、硬件平臺的特征數(shù)據(jù)進行哈希運算,所得計算結(jié)果的完整性度量值。
所述密鑰生成可以為根據(jù)唯一性標識由哈希函數(shù)生成加解密密鑰。
所述加解密算法為DES算法,或者IDEA算法,或者AES算法,或者RSA算法,或者Diffie-Hellman算法,ECC算法中的一種或者一種以上的組合。
本發(fā)明的有益效果是本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法,對操作平臺(如計算機系統(tǒng),或者移動通信數(shù)據(jù)傳輸系統(tǒng)等)在存儲設備中讀寫的數(shù)據(jù)進行加密和解密,并且加密和解密密鑰由系統(tǒng)中的具有平臺綁定特性的可信計算單元保護和管理,使得對于平臺的操作系統(tǒng)和應用軟件而言,數(shù)據(jù)的讀寫過程是透明的,而且是安全的;進一步地,構(gòu)造和管理密鑰是由可信計算單元保證的,即具有硬件級別的安全性,該可信計算單元與操作平臺綁定,不訪問該操作平臺就無法對所加密數(shù)據(jù)進行解密,從而更加保證其安全性,即如果這一存儲設備重新裝入其他的操作平臺中,存儲在該存儲設備中的數(shù)據(jù)將不能被解密讀寫,這對于便攜設備用戶、軍方用戶或者有敏感數(shù)據(jù)需要保護的用戶來說具有重要意義。
圖1為本發(fā)明數(shù)據(jù)安全存儲系統(tǒng)結(jié)構(gòu)示意圖;圖2為圖1中可信計算單元結(jié)構(gòu)示意圖;圖3為圖1中加解密單元結(jié)構(gòu)示意圖;圖4為圖1中控制單元結(jié)構(gòu)示意圖;圖5為本發(fā)明數(shù)據(jù)安全存儲方法流程圖;圖6為圖5中判斷控制讀寫數(shù)據(jù)過程方法流程圖;圖7為本發(fā)明透明的數(shù)據(jù)安全存儲系統(tǒng)示例圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明的一種數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng),包括操作平臺11,存儲設備13,可信計算單元121,加解密單元122和控制單元123。
操作平臺11,用于對操作數(shù)據(jù)進行處理,其既可以是計算機系統(tǒng)平臺,也可以是其他的主從架構(gòu)的類似計算機系統(tǒng)平臺的系統(tǒng)平臺,如單片機系統(tǒng)平臺;一種移動通訊設備,如手機、PDA、U盤、MP3、MP4和操作其通訊讀寫數(shù)據(jù)的網(wǎng)絡,如手機的移動通信網(wǎng)絡等組成的主從架構(gòu)的網(wǎng)絡平臺。
該操作平臺11包括硬件平臺72和軟件平臺71。對計算機系統(tǒng)平臺而言,該操作平臺11既包括對操作數(shù)據(jù)進行處理的所必需具備的硬件平臺72,即中央處理器(CPU),控制總線,輸入輸出設備,以及其他的外圍設備等;也包括在硬件平臺72上運行的軟件平臺71,即初始化系統(tǒng)軟件(BIOS軟件、EFI軟件等),操作系統(tǒng)712(Windows操作系統(tǒng)、Unix操作系統(tǒng)、Linux操作系統(tǒng)等),設備驅(qū)動程序713,應用軟件711(如辦公自動化軟件等)。以及其他的軟件(如查殺毒軟件等)。
對通信網(wǎng)絡平臺而言,該操作平臺11既包括硬件平臺72,即手機,以及通信網(wǎng)絡中的其他硬件,如路由器,服務器實體設備等;也包括軟件平臺71,即服務器控制軟件,路由器控制軟件,手機控制軟件等。
存儲設備13用于存儲加密數(shù)據(jù),其可以是隨機讀寫存儲器(RAM)、硬盤、閃存(Flash)等存儲設備13中的一種或者一種以上的組合。當然,本領(lǐng)域的普通技術(shù)人員可以理解,在一般的理解中,本發(fā)明所述的存儲設備13也可以是操作平臺11中硬件平臺72的一部分。
本領(lǐng)域的普通技術(shù)人員也可以理解,在本發(fā)明這樣的系統(tǒng)結(jié)構(gòu)下,該存儲設備13還包括一個設備驅(qū)動器和一個驅(qū)動控制器,用于讀寫存儲設備13中的在存儲扇區(qū)中的數(shù)據(jù)。
可信計算單元121,用于保護對操作平臺11和存儲設備13間讀寫的數(shù)據(jù)進行加解密的密鑰。其通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫,從而保護對操作平臺11和存儲設備13間讀寫的數(shù)據(jù)進行加解密的密鑰。該密鑰和唯一性標識可以保存在可信計算單元中,也可以保存在用戶預設的其他存儲單元中。
該操作平臺11的唯一性標識,可以包括以下唯一性標識該操作平臺11的硬件平臺72唯一性標識和軟件平臺71唯一性標識。
對計算機系統(tǒng)而言,包括1)計算機主板的系列號;或者2)中央處理器(CPU)序列號;或者3)設備(如網(wǎng)卡)序列號;或者4)操作系統(tǒng)712序列號;或者5)應用軟件711序列號等。
對通信網(wǎng)絡系統(tǒng)而言,包括1)手機的SIM卡號;或者2)手機的國際移動電話識別碼(International Mobile EquipmentIdentity,IMEI)等。
這些能夠唯一標識操作平臺11的硬件平臺72和軟件平臺71唯一性標識,一般由生產(chǎn)商在出廠時為標識該產(chǎn)品的唯一性而隨機生成,具有唯一性。例如,主板系列號能夠標識整臺計算機的來源;手機SIM卡號可以標識該用戶等。并且,這些唯一性標識都可以被讀取。因此,在本發(fā)明中,通過讀取這些唯一性標識中的一個或者多個,然后利用唯一性標識進行匹配檢查,從而使得利用密鑰的加解密操作與操作平臺11綁定。
該唯一性標識也可以是一個完整性度量值,該完整性度量值是對操作平臺11中軟件平臺71、硬件平臺72的特征數(shù)據(jù)進行HASH運算(也就是雜湊運算)所得計算結(jié)果。該結(jié)果為操作平臺11的完整性度量值。這些完整性度量值被視為操作平臺的唯一性標識,標識操作平臺11的配置信息或者平臺特征。
作為一種可實施方式,該對操作平臺11和存儲設備13間讀定的數(shù)據(jù)進行加解密的密鑰,由操作平臺的唯一性標識生成。
可信計算單元121從指定操作平臺11(一般為與可信計算單元121電連接的操作平臺)讀取該操作平臺11的唯一性標識,利用唯一性標識通過密鑰生成方法(或稱算法、函數(shù))與加解密算法相對應的密鑰。
利用唯一性標識,通過密鑰生成方法,生成與加解密算法相對應的密鑰。
在本發(fā)明實施例中,作為一種可實施的方法,利用唯一性標識,通過哈希(HASH)函數(shù)生成密鑰。
哈希函數(shù),也叫散列函數(shù)或者雜湊函數(shù),就是把任意長度的輸入(又叫做預映射,pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數(shù)。利用一個或者多個唯一性標識,通過哈希函數(shù),生成唯一的散列值。
即利用哈希函數(shù)計算標識的密鑰HASH(標識)=mac;其中mac是用哈希函數(shù)HASH計算的唯一的散列值。
較佳地,利用該唯一的散列值,根據(jù)不同的加解密算法,由該加解密算法的密鑰生成中心,再生成相應的唯一的加解密密鑰。
對于一般的加解密算法,如對稱加解密算法,由于其密鑰唯一性,因此可以再次利用哈希函數(shù),再次生成唯一的散列值,作為加解密密鑰。
但對于非對稱加密算法,由于其密鑰為密鑰對,即公鑰和私鑰。因此,只能由該非對稱加密算法相應的密鑰中心,利用該唯一的散列值,生成公鑰和私鑰,得到密鑰對。
作為本發(fā)明的較佳實施例,該加解密算法為對稱加解密算法,這樣,密鑰生成過程可以由哈希函數(shù)一次生成,也可以兩次生成。而對稱加解密算法較為安全,加解密速度很快,使得存儲設備13的讀寫運行效率不會受到損失。
在本發(fā)明實施例中,需要特別說明的是,該對操作平臺11和存儲設備13間讀定的數(shù)據(jù)進行加解密的密鑰,并不一定由操作平臺的唯一性標識生成。其也可以用其他方法而生成,例如利用隨機數(shù)生成,然后存儲到可信計算單元中。
加解密單元122,用于從可信計算單元121讀取密鑰,利用相應的設定的加解密算法,對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行加解密。
也就是說,利用從可信計算單元121讀取的密鑰,加密操作平臺11寫入到該存儲設備13的數(shù)據(jù),同時,對操作平臺11從存儲設備13讀取的數(shù)據(jù),進行解密后發(fā)送給操作平臺11處理。
在加解密單元122中設定的加解密算法,可以是各種與密鑰相應的現(xiàn)有的加解密算法,可以是對稱加解密算法或者非對稱加解密算法中的一種或者多種。
對稱加解密算法,包括出自IBM公司而被美國政府正式采納的數(shù)據(jù)加密算法(Data Encryption Standard,DES)算法、由中國學者Xuejia Lai和JamesL.Massey在蘇黎世的ETH開發(fā)的國際數(shù)據(jù)加密算法IDEA(International DataEncryption Algorithm)算法、比利時Joan Daemen和Vincent Rijmen提交,被美國國家標準和技術(shù)研究所(US National Institute of Standards andTechnology,NIST)選為美國高級加密標準的AES(Advanced EncryptionStandard)算法等。
其中,DES是Data Encryption Standard(數(shù)據(jù)加密標準)的縮寫。它是由IBM公司研制的一種加密算法,美國國家標準局于1977年公布把它作為非機要部門使用的數(shù)據(jù)加密標準,二十年來,它一直活躍在國際保密通信的舞臺上,扮演了十分重要的角色。
DES是一個分組加密算法,他以64位為分組對數(shù)據(jù)加密。同時DES也是一個對稱算法加密和解密用的是同一個算法。它的密匙長度是56位(因為每個第8位都用作奇偶校驗)。
非對稱加解密算法,包括有RSA(Rivest,Shamir和Adleman)算法、Diffie-Hellman算法、ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學)算法等。
在本實施例中,以支持IDE/SATA控制器712的存儲設備13為例,將加解密單元122連接在IDE/SATA控制器712上,這樣就可以支持不同種類的支持IDE/SATA控制器712接口的硬盤,對于這些不同的存儲設備13不需要因為本發(fā)明而對存儲設備13做任何改變就能實現(xiàn)數(shù)據(jù)的加解密。
控制單元123,用于對可信計算單元121和加解密單元122進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
當操作平臺11需要使用可信計算單元121確保讀寫到存儲設備13中的數(shù)據(jù)安全時,操作平臺11首先需要對處理數(shù)據(jù)的硬件加電,對初始化軟件如BIOS軟件或者EFI軟件進行初始化,這時,在BIOS軟件或者EFI軟件中,加載可信計算單元121,初始化可信計算環(huán)境,設定從操作平臺11讀寫到存儲設備13(如硬盤)中的數(shù)據(jù)是否利用可信計算單元121中的密鑰,通過加解密單元122加/解密。
本領(lǐng)域的普通技術(shù)人員也可以理解,可信計算單元121中可以產(chǎn)生和存儲多個不同的密鑰,讀寫存儲設備13中的不同的區(qū)域,例如密鑰A讀寫硬盤中的C盤且對其它區(qū)域不可見,密鑰B讀寫D盤且對其他區(qū)域不可見,依此類推;而對可信計算單元121中的密鑰,也可以根據(jù)不同的級別進行管理,如一般操作人員不能讀寫修改密鑰,而超級管理員可以讀取密鑰并修改原來的密鑰,例如,原密鑰只是由主板唯一性標識生成,現(xiàn)在需要增加一個應用軟件711唯一性標識生成的密鑰,則超級管理員讀取密鑰,并利用新的唯一性標識(主板標識+應用軟件標識),生成新的密鑰,然后利用原密鑰讀取存儲設備13中的寫入數(shù)據(jù),解密后利用新的密鑰加密再寫入存儲設備13,最后,把新的密鑰覆蓋刪除原密鑰。
本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng)中的控制單元,可以是獨立的控制模塊芯片,也可以是合成到可信計算單元中的一個控制功能電路單元。
本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng),對操作平臺11(如計算機系統(tǒng),或者移動通信數(shù)據(jù)傳輸系統(tǒng)等)在存儲設備13中讀寫的數(shù)據(jù)進行加密和解密,并且加密和解密密鑰由具有平臺綁定特性的可信計算單元121保護和管理,使得對于平臺的操作系統(tǒng)712和應用軟件711而言,數(shù)據(jù)的讀寫過程是透明的,而且是安全的。
相應地,本發(fā)明還提供一種數(shù)據(jù)安全存儲裝置12,與操作平臺11和存儲設備13電連接,其包括可信計算單元121,加解密單元122和控制單元123。其中可信計算單元121,用于保護與指定操作平臺11綁定的對操作平臺11和存儲設備13間讀寫的數(shù)據(jù)進行加解密的密鑰。其通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫,從而保護對操作平臺11和存儲設備13間讀寫的數(shù)據(jù)進行加解密的密鑰。該密鑰和唯一性標識可以保存在可信計算單元中,也可以保存在用戶預設的其他存儲單元中。
如圖2所示,可信計算單元121,包括密鑰生成子單元1211,密鑰存儲子單元1212,匹配控制子單元1213,其中匹配控制子單元1213,用于讀取原來存儲的唯一性標識,并將該唯一性標識與初始化時讀取的操作平臺的唯一性標識匹配檢查。
作為一種可實施的方法,匹配控制子單元1213在利用加解密密鑰進行存儲設備密鑰保護,開始釋放加解密密鑰進行數(shù)據(jù)加解密時,可信計算單元121利用本次運算生成的完整性度量值與平臺配置寄存器中保存的完整性度量值進行匹配檢查。只有在完整性度量值匹配的情況下,才釋放密鑰,否則,拒絕釋放密鑰。
作為另一種可實施的方法,匹配控制子單元1213在確認可信計算單元121中已經(jīng)有密鑰存在,則從可信計算單元121中讀取唯一性標識,并將唯一性標識與從本操作平臺11上讀取的相應唯一性標識進行匹配檢查,如果匹配通過,則檢查通過,利用該密鑰對讀寫數(shù)據(jù)進行加/解密;否則,給出信息(如“抱歉,你無權(quán)讀取硬盤!”)后,結(jié)束返回。
更進一步,作為另外一種可實施的方法,如果密鑰由唯一性標識生成,則在可信計算單元中只保存密鑰,匹配控制子單元1213在確認可信計算單元121中已經(jīng)有密鑰存在,則從可信計算單元121中讀取該密鑰,然后控制可信計算單元121將該密鑰解密,還原得到操作平臺11的唯一性標識,并由匹配控制子單元1213將解密出來的唯一性標識與從本操作平臺11上讀取的相應唯一性標識進行匹配檢查,如果匹配通過,則檢查通過,利用該密鑰對讀寫數(shù)據(jù)進行加/解密;否則,給出信息后結(jié)束返回。
從密鑰中通過利用與生成密鑰相反的過程,即逆過程,即可以得到相應的生成該密鑰的一個或者多個唯一性標識,如上述哈希函數(shù)生成的密鑰,利用哈希函數(shù)的逆過程和該密鑰,就能得到原唯一性標識。
對具有多個唯一性標識的密鑰,因為計算機系統(tǒng)平臺啟動過程有先后順序,因此,可以先后多次核對多個序列號,每核對正確一部分序列號后,可以對某一部分數(shù)據(jù)進行讀寫,這樣,既能保證操作平臺11能夠啟動,也能夠保證數(shù)據(jù)的安全。
當這些過程完成后,用戶可以如同使用普通的操作平臺11一樣使用本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng),可以安裝操作系統(tǒng)712、應用軟件711等等。
密鑰生成子單元1211,用于生成相應的加解密密鑰。
作為一種可實施的方式,控制單元123從操作平臺11中讀取相應的一個或者多個操作平臺11唯一性標識,由可信計算單元121根據(jù)所述的一個或者多個操作平臺11唯一性標識生成密鑰,例如,如果用戶欲將對硬盤的讀寫限制在本臺計算機上,則讀取主板序列號生成密鑰,利用加解密單元122中的加解密算法加/解密該計算機對該存儲設備13的數(shù)據(jù)讀寫;如果用戶不但將對硬盤的讀寫限制在本臺計算機上,而且限制在Windows XP操作系統(tǒng)和應用軟件711(例如本公司的辦公軟件上),則讀取主機主板系列號,Windows XP操作系統(tǒng)序列號,應用軟件711序列號,由可信計算單元121生成密鑰并保存,然后加解密單元122從可信計算單元121中讀取密鑰,利用相應的加解密算法加/解密該計算機在Windows XP操作系統(tǒng)上的應用軟件711,對該存儲設備13的數(shù)據(jù)讀寫。
密鑰存儲子單元1212,用于存儲加解密密鑰和唯一性標識。
作為本發(fā)明的一個可實施方式,密鑰存儲子單元是在可信計算單元121內(nèi)部設置的一組平臺配置寄存器,其存儲操作平臺11的唯一性標識和密鑰。
作為本發(fā)明的另一個可實施方式,如果密鑰由唯一性標識生成,則也可以不存儲該唯一性標識,而通過生成密鑰的逆過程,從密鑰得到該唯一性標識。
從密鑰中通過利用與生成密鑰相反的過程,即逆過程,即可以得到相應的生成該密鑰的一個或者多個唯一性標識,如上述哈希函數(shù)生成的密鑰,利用哈希函數(shù)的逆過程和該密鑰,就能得到原唯一性標識。
加解密單元122,用于從可信計算單元121讀取密鑰,利用相應的設定的加解密算法,對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行加解密。
如圖3所示,所述加解密單元122,包括讀取數(shù)據(jù)解密子單元1221和寫入數(shù)據(jù)加密子單元1222,其中讀取數(shù)據(jù)解密子單元1221,用于在操作平臺11向存儲設備13讀取數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺11。
寫入數(shù)據(jù)加密子單元1222,用于在操作平臺11對存儲設備13寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備13中去。
控制單元123,用于對可信計算單元121進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
如圖4所示,所述控制單元123,包括初始化子單元1231,密鑰判斷子單元1232,讀寫控制子單元1233,其中初始化子單元1231,用于操作平臺11硬件加電,對初始化軟件進行初始化時,加載可信計算環(huán)境,并初始化可信計算環(huán)境,設定從操作平臺11讀寫到存儲設備13中的數(shù)據(jù)利用密鑰通過加解密單元122加解密。
由于本發(fā)明中的加解密單元122和可信計算單元121,這兩個單元都是被動設備,因此要使系統(tǒng)能夠正確的實施,還必須有控制單元123來支持運行,控制單元123可以被引導運行,能完成可信計算單元121的初始化工作并協(xié)調(diào)可信計算單元121和加解密單元122。具體而言,由于在有操作系統(tǒng)712的環(huán)境下實現(xiàn)這樣的控制不能實現(xiàn)對操作系統(tǒng)712本身處理數(shù)據(jù)的保護,因此,該控制單元123可以運行在無操作系統(tǒng)712的環(huán)境下。以個人計算機為例,現(xiàn)有計算在啟動時,需要先于操作系統(tǒng)712運行BIOS或者EFI,這時,加載可信計算單元121,初始化可信計算環(huán)境,即將可信計算環(huán)境加載到BIOS或者EFI環(huán)境中,初始化可信計算環(huán)境的參數(shù),可載程序代碼等。
密鑰判斷子單元1232,用于判斷可信計算單元121中是否有密鑰,是否需要對操作平臺11與存儲設備13間的讀寫數(shù)據(jù)進行加解密,并根據(jù)判斷結(jié)果讀取操作平臺11的唯一性標識。
密鑰判斷子單元1232判斷可信計算單元121中是否有密鑰,如果沒有密鑰,則判斷該操作平臺11與存儲設備13間讀寫數(shù)據(jù)是否需要進行加/解密,如果否,則正常啟動,不對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行任何處理,用戶正常使用后結(jié)束;否則,可信計算單元121中的密鑰生成子單元生成相應的加解密密鑰。
讀寫控制子單元1233,用于在操作平臺11讀取存儲設備13中的數(shù)據(jù)時,控制加解密單元122對操作平臺11和存儲設備13之間的讀寫數(shù)據(jù)進行加解密。
在操作平臺11向存儲設備13讀取數(shù)據(jù)時,讀寫控制子單元1233控制加解密單元122將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺11;在操作平臺11對存儲設備13寫入數(shù)據(jù)時,讀寫控制子單元1233控制加解密單元122將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備13中去。
這樣,在操作平臺11和存儲設備13的兩端,都只要以與原來相當?shù)姆奖愦鎯?shù)據(jù),即操作平臺11與存儲設備13之間讀寫數(shù)據(jù)是透明的,用戶既不用關(guān)心數(shù)據(jù)如何加密和解密,也不用擔心數(shù)據(jù)的安全性。
這里需要說明的是,將數(shù)據(jù)截獲并解析,以及將數(shù)據(jù)按原格式打包,都是本領(lǐng)域的公知常識,因此,在本發(fā)明實施例中不再一一詳細描述。
較佳地,對操作平臺11與存儲設備13讀寫數(shù)據(jù)時,對傳輸中的控制信令,加解密單元122不作任何處理,而只對讀寫數(shù)據(jù)本身進行加解密。
該數(shù)據(jù)安全存儲裝置12,或者是一種獨立于操作平臺11和存儲設備13的硬件設備,或者是存儲設備13控制裝置的一部分,或者是操作平臺11中的硬件平臺72的一部分,例如連接到計算機主板控制總線上的芯片,或者是連接在操作平臺11與存儲設備13間的芯片,或者是BIOS芯片加載的一段軟件,或者是EFI芯片加載的一段軟件。
就本發(fā)明而言,對于不同種類的存儲設備13,只需要將該安全存儲裝置連接在不同的總線控制設備上就能實現(xiàn)數(shù)據(jù)加密和解密。因此,本發(fā)明對于操作平臺11和存儲設備13而言是透明的,也就是說實現(xiàn)此數(shù)據(jù)安全存儲的操作平臺11和存儲設備13不需要進行任何改變。
這里說的一種透明的技術(shù)包括兩種涵義,其一是指這種技術(shù)對于操作平臺11上運行的操作系統(tǒng)712或者應用軟件711而言是透明的,操作系統(tǒng)712和應用軟件711并不知道數(shù)據(jù)的加密/解密過程,因此操作系統(tǒng)712或者應用軟件也不用對加/解密過程做出任何額外的修改。其二是指這種技術(shù)對于不同的存儲設備13而言是透明的,對于不同的存儲介質(zhì)或者設備,其操作的基本原理并不發(fā)生變化,只需要在寫入數(shù)據(jù)前加入加解密單元122對數(shù)據(jù)進行加解密,而現(xiàn)有的存儲設備13本身不需要進行額外改變。
本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng)和裝置,密鑰創(chuàng)建和管理根據(jù)操作平臺11而設計,使得密鑰的存儲和使用方式的安全性都得到顯著提升。
如圖5所示,下面進一步詳細描述本發(fā)明的數(shù)據(jù)安全存儲方法,其包括下列步驟步驟S100,在需要處理存儲設備13中的數(shù)據(jù)時,對操作平臺11上電并初始化,并初始化可信計算環(huán)境,通過唯一性標識匹配判斷并控制操作平臺11對存儲設備13的數(shù)據(jù)安全存儲讀寫;當操作平臺11需要處理存儲設備13中數(shù)據(jù)時,它首先上電并進行初始化,首先對可信計算環(huán)境進行初始化,然后再對整個操作平臺11進行初始化??尚庞嬎悱h(huán)境初始化包括對可信計算單元121的初始化,以及判斷確認是否需要加解密,是否有密鑰進行加解密等。
步驟S200,在確認需要對存儲設備13進行數(shù)據(jù)安全存儲讀寫后,讀取密鑰,利用相應的設定的加解密算法,對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行加解密。
所述的加解密算法,包括但不限于對稱加解密算法或者非對稱加解密算法中的一種或者多種。
所述的對稱加解密算法,包括DES算法,IDEA算法,AES算法等。
所述的非對稱加解密算法,包括RSA算法、Diffie-Hellman算法、ECC算法等。
如圖6所示,在步驟S100中,通過唯一性標識匹配判斷并控制操作平臺11對存儲設備13的數(shù)據(jù)安全存儲讀寫,具體包括下列步驟步驟S110,判斷可信計算環(huán)境中是否有密鑰,如果沒有則轉(zhuǎn)步驟S120;否則轉(zhuǎn)步驟S140;步驟S120,判斷該操作平臺11與存儲設備13間讀寫數(shù)據(jù)是否需要進行加/解密;如果否,則正常啟動,不對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行任何處理,用戶正常使用后結(jié)束;否則轉(zhuǎn)步驟S130;步驟S130,生成相應的加解密密鑰,轉(zhuǎn)到步驟S200;作為一種可實施的方式,利用從操作平臺11中讀取相應的一個或者多個操作平臺11唯一性標識,由可信計算單元121根據(jù)所述的一個或者多個操作平臺11唯一性標識可以生成密鑰。
步驟S140,如果可信計算單元121中已經(jīng)有密鑰存在,則讀取唯一性標識,將該唯一性標識與從本操作平臺11上讀取的相應唯一性標識進行匹配檢查;作為一種可實施的方法,匹配控制子單元1233在利用加解密密鑰進行存儲設備密鑰保護,開始釋放加解密密鑰進行數(shù)據(jù)加解密時,可信計算單元121利用本次運算生成的完整性度量值與平臺配置寄存器中保存的完整性度量值進行匹配檢查。只有在完整性度量值匹配的情況下,才釋放密鑰,否則,拒絕釋放密鑰。
作為另一種實施方式,如果可信計算單元121中已經(jīng)有密鑰存在,而密鑰由唯一性標識生成,則從密鑰中通過利用與生成密鑰相反的過程,即逆過程,即可以得到相應的生成該密鑰的一個或者多個唯一性標識,將唯一性標識與從本操作平臺11上讀取的相應唯一性標識進行匹配檢查。
更進一步,作為另外一種可實施的方法,在可信計算單元中只保存密鑰,匹配控制子單元1233在確認可信計算單元121中已經(jīng)有密鑰存在,則從可信計算單元121中讀取該密鑰,然后控制可信計算單元121將該密鑰解密,還原得到操作平臺11的唯一性標識,并由匹配控制子單元1233將解密出來的唯一性標識與從本操作平臺11上讀取的相應唯一性標識進行匹配檢查,如果匹配通過,則檢查通過,利用該密鑰對讀寫數(shù)據(jù)進行加/解密;否則,給出信息后結(jié)束返回。
更佳地,可以對可信計算環(huán)境中的唯一性標識進行保護,即可以指定使用該唯一性標識的口令。換句話說,用戶在讀取唯一性標識時可以指定使用該唯一性標識時用戶的口令,如果用戶輸入口令與讀取該唯一性標識的口令不同,則不允許用戶得到該唯一性標識。
如果用戶使用口令保護唯一性標識,那么在啟動過程中,要求用戶輸入正確的口令,如果口令正確才能得到唯一性標識。
對具有多個唯一性標識,因為計算機系統(tǒng)平臺啟動過程有先后順序,因此,可以先后多次核對多個序列號,每核對正確一部分序列號后,可以對某一部分數(shù)據(jù)進行讀寫,這樣,既能保證操作平臺11能夠啟動,也能夠保證數(shù)據(jù)的安全。
步驟S150,如果匹配通過,則檢查通過,得到密鑰,轉(zhuǎn)到步驟S200;否則,給出信息后,結(jié)束返回。
當這些過程完成后,用戶可以如同使用普通的操作平臺11一樣使用本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng),可以安裝操作系統(tǒng)712、應用軟件711等等。
所述步驟S200中對操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)進行加解密。具體包括下列步驟在操作平臺11讀取存儲設備13中的數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺11;在操作平臺11對存儲設備13寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備13中去。
如圖7所示,為本發(fā)明透明的數(shù)據(jù)安全存儲系統(tǒng)示例圖,由于所有的對讀寫的數(shù)據(jù)加/解密讀寫操作(包括軟件控制與硬件處理)都不需要與操作系統(tǒng)712直接進行交互,因此,對操作系統(tǒng)712而言,它并不知道讀寫的數(shù)據(jù)被加解密保護;控制單元123運行在BIOS環(huán)境或者EFI環(huán)境下,在操作系統(tǒng)712裝載之前就已經(jīng)完成了對加解密單元122的密鑰裝載,并且在操作系統(tǒng)712向存儲設備13讀寫數(shù)據(jù)時,加解密單元122會自動完成對數(shù)據(jù)的加解密處理。因此,對存儲設備13而言,其也并不知道讀寫數(shù)據(jù)被加解密保護,其只是象未加密以前那樣將加密數(shù)據(jù)存儲到存儲扇區(qū)中去,是透明的。
這樣,在操作平臺11和存儲設備13的兩端,都只要以與原來相當?shù)姆奖愦鎯?shù)據(jù),即操作平臺11與存儲設備13之間讀寫數(shù)據(jù)是透明的,用戶既不用關(guān)心數(shù)據(jù)如何加密和解密,也不用擔心數(shù)據(jù)的安全性。
換言之,本發(fā)明的數(shù)據(jù)安全存儲方法,提供了一種透明的技術(shù)方法,用于加密和解密操作平臺11與存儲設備13之間讀寫的數(shù)據(jù)。這一加密/解密方法,通過采用可信計算單元121對與操作平臺11綁定的加密/解密密鑰,采用加解密單元122對數(shù)據(jù)進行加密/解密操作。
通過以上結(jié)合附圖對本發(fā)明具體實施例的描述,本發(fā)明的其它方面及特征對本領(lǐng)域的技術(shù)人員而言是顯而易見的,因而不再一一詳細描述。
本發(fā)明的數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法,對操作平臺(如計算機系統(tǒng),或者移動通信數(shù)據(jù)傳輸系統(tǒng)等)在存儲設備中讀寫的數(shù)據(jù)進行加密和解密,并且加密和解密密鑰由系統(tǒng)中的具有平臺綁定特性的可信計算單元保護和管理,使得對于平臺的操作系統(tǒng)和應用軟件而言,數(shù)據(jù)的讀寫過程是透明的,而且是安全的;進一步地,構(gòu)造和管理密鑰是由可信計算單元保證的,即具有硬件級別的安全性,該可信計算單元與操作平臺綁定,不訪問該操作平臺就無法對所加密數(shù)據(jù)進行解密,從而更加保證其安全性,即如果這一存儲設備重新裝入其他的操作平臺中,存儲在該存儲設備中的數(shù)據(jù)將不能被解密讀寫,這對于便攜設備用戶、軍方用戶或者有敏感數(shù)據(jù)需要保護的用戶來說具有重要意義。
以上對本發(fā)明的具體實施例進行了描述和說明,這些實施例應被認為其只是示例性的,并不用于對本發(fā)明進行限制,本發(fā)明應根據(jù)所附的權(quán)利要求進行解釋。
權(quán)利要求
1.一種數(shù)據(jù)安全存儲系統(tǒng),包括操作平臺,存儲設備,其特征在于,還包括可信計算單元,加解密單元,其中所述可信計算單元,用于保護對操作平臺和存儲設備間讀寫的數(shù)據(jù)進行加解密的密鑰;所述加解密單元,用于從可信計算單元讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,還包括控制單元,用于對可信計算單元和加解密單元進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元的保護,為通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述密鑰存儲于可信計算單元。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元還存儲用于匹配判斷的操作平臺的第一唯一性標識。
6.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述控制單元包括密鑰判斷子單元,讀寫控制子單元,其中密鑰判斷子單元,用于判斷可信計算單元中是否有密鑰,是否需要對操作平臺與存儲設備間的讀寫數(shù)據(jù)進行加解密,并根據(jù)判斷結(jié)果讀取操作平臺的第二唯一性標識;讀寫控制子單元,用于在操作平臺讀取存儲設備中的數(shù)據(jù)時,控制加解密單元對操作平臺和存儲設備之間的讀寫數(shù)據(jù)進行加解密。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述控制單元還包括初始化子單元,用于操作平臺硬件加電,對初始化軟件進行初始化時,加載可信計算環(huán)境,并初始化可信計算環(huán)境。
8.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述加解密單元包括讀取數(shù)據(jù)解密子單元和寫入數(shù)據(jù)加密子單元,其中讀取數(shù)據(jù)解密子單元,用于在操作平臺向存儲設備讀取數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;寫入數(shù)據(jù)加密子單元,用于在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
9.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元包括匹配控制子單元,用于讀取第一唯一性標識,并將該第一唯一性標識與密鑰判斷子單元讀取的第二唯一性標識匹配檢查。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元還包括密鑰存儲子單元,用于存儲加解密密鑰和第一唯一性標識。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元還包括密鑰生成子單元,用于根據(jù)操作平臺第一唯一性標識,生成相應的加解密密鑰。
12.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述操作平臺的計算機系統(tǒng)平臺,或者單片機系統(tǒng)平臺,或者手機、PDA、U盤、MP3、MP4和操作所述手機、PDA、U盤、MP3、MP4的網(wǎng)絡共同組成的主從架構(gòu)的網(wǎng)絡平臺。
13.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述存儲設備是RAM,或者硬盤,或者閃存中的一種或者一種以上的組合。
14.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述唯一性標識,對計算機系統(tǒng)而言,包括計算機主板的系列號;或者中央處理器序列號;或者設備序列號;或者操作系統(tǒng)序列號;或者應用軟件序列號中的一種或者一種以上的組合。
15.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述唯一性標識,對通信網(wǎng)絡系統(tǒng)而言,包括手機的SIM卡號;或者手機的國際移動電話識別碼中的一種或者兩者組合。
16.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述唯一性標識為對操作平臺中表示軟件平臺、硬件平臺的特征數(shù)據(jù)進行哈希運算,所得計算結(jié)果的完整性度量值。
17.根據(jù)權(quán)利要求11所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述密鑰生成子單元是通過哈希函數(shù)生成加解密密鑰。
18.根據(jù)權(quán)利要求3所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述加解密算法為DES算法,或者IDEA算法,或者AES算法,或者RSA算法,或者Diffie-Hellman算法,ECC算法中的一種或者一種以上的組合。
19.一種數(shù)據(jù)安全存儲裝置,與操作平臺和存儲設備電連接,其特征在于,包括可信計算單元,加解密單元,其中所述可信計算單元,用于保護對操作平臺和存儲設備間讀寫的數(shù)據(jù)進行加解密的密鑰;所述加解密單元,用于從可信計算單元讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,還包括控制單元,用于對可信計算單元和加解密單元進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。
21.根據(jù)權(quán)利要求19或20所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元的保護,為通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫。
22.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述密鑰存儲于可信計算單元。
23.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元還存儲用于匹配判斷的操作平臺的第一唯一性標識。
24.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲裝置,其特征在于,所述控制單元包括密鑰判斷子單元,讀寫控制子單元,其中密鑰判斷子單元,用于判斷可信計算單元中是否有密鑰,是否需要對操作平臺與存儲設備間的讀寫數(shù)據(jù)進行加解密,并根據(jù)判斷結(jié)果讀取操作平臺的第二唯一性標識;讀寫控制子單元,用于在操作平臺讀取存儲設備中的數(shù)據(jù)時,控制加解密單元對操作平臺和存儲設備之間的讀寫數(shù)據(jù)進行加解密。
25.根據(jù)權(quán)利要求24所述的數(shù)據(jù)安全存儲裝置,其特征在于,所述控制單元還包括初始化子單元,用于操作平臺硬件加電,對初始化軟件進行初始化時,加載可信計算環(huán)境,并初始化可信計算環(huán)境。
26.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲裝置,其特征在于,所述加解密單元包括讀取數(shù)據(jù)解密子單元和寫入數(shù)據(jù)加密子單元,其中讀取數(shù)據(jù)解密子單元,用于在操作平臺向存儲設備讀取數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;寫入數(shù)據(jù)加密子單元,用于在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
27.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元包括匹配控制子單元,用于讀取第一唯一性標識,并將該第一唯一性標識與密鑰判斷子單元讀取的第二唯一性標識匹配檢查。
28.根據(jù)權(quán)利要求27所述的數(shù)據(jù)安全存儲裝置,其特征在于,所述可信計算單元還包括密鑰存儲子單元,用于存儲加解密密鑰和唯一性標識。
29.根據(jù)權(quán)利要求28所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述可信計算單元還包括密鑰生成子單元,用于根據(jù)操作平臺唯一性標識,生成相應的加解密密鑰。
30.根據(jù)權(quán)利要求21所述的數(shù)據(jù)安全存儲裝置,其特征在于,所述數(shù)據(jù)安全存儲裝置,或者是一種獨立于操作平臺和存儲設備的硬件設備,或者是存儲設備控制裝置的一部分,或者是操作平臺中的硬件平臺的一部分,或者是BIOS芯片加載的一段軟件,或者是EFI芯片加載的一段軟件。
31.一種數(shù)據(jù)安全存儲方法,其特征在于,包括下列步驟步驟A,在需要處理存儲設備中的數(shù)據(jù)時,對操作平臺上電并初始化,并初始化可信計算環(huán)境,通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫;步驟B,在確認需要對存儲設備進行數(shù)據(jù)安全存儲讀寫后,讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密。
32.根據(jù)權(quán)利要求31所述的數(shù)據(jù)安全存儲方法,其特征在于,所述步驟A中,通過唯一性標識匹配判斷并控制操作平臺對存儲設備的數(shù)據(jù)安全存儲讀寫,具體包括下列步驟步驟A1,判斷可信計算環(huán)境中是否有密鑰,如果沒有則轉(zhuǎn)步驟A2;否則轉(zhuǎn)步驟A4;步驟A2,判斷該操作平臺與存儲設備間讀寫數(shù)據(jù)是否需要進行加解密;如果否,則正常啟動,不對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行任何處理,用戶正常使用后結(jié)束;否則轉(zhuǎn)步驟A3;步驟A3,生成相應的加解密密鑰,轉(zhuǎn)到步驟B;步驟A4,如果可信計算單元中已經(jīng)有密鑰存在,則讀取第一唯一性標識,將該第一唯一性標識與從本操作平臺上讀取的第二唯一性標識進行匹配檢查;步驟A5,如果匹配通過,則檢查通過,得到密鑰,轉(zhuǎn)到步驟B;否則,給出信息后,結(jié)束返回。
33.根據(jù)權(quán)利要求32所述的數(shù)據(jù)安全存儲方法,其特征在于,所述步驟A4還包括下列步驟在讀取第一唯一性標識時指定要求用戶核對口令,如果用戶輸入口令與該第一唯一性標識的口令不同,則不允許用戶得到該第一唯一性標識。
34.根據(jù)權(quán)利要求31至33任一項所述的數(shù)據(jù)安全存儲方法,其特征在于,所述步驟B中對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密,具體包括下列步驟步驟B1,在操作平臺讀取存儲設備中的數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的加密數(shù)據(jù),將該數(shù)據(jù)解密,得到未加密數(shù)據(jù),然后按原傳輸格式將未加密數(shù)據(jù)打包,傳輸給操作平臺;步驟B2,在操作平臺對存儲設備寫入數(shù)據(jù)時,將該數(shù)據(jù)截獲并解析,得到原始的未加密數(shù)據(jù),將該數(shù)據(jù)加密,得到加密數(shù)據(jù),然后按原傳輸格式將加密數(shù)據(jù)打包,寫入到存儲設備中去。
35.根據(jù)權(quán)利要求31至33任一項所述的數(shù)據(jù)安全存儲方法,其特征在于,所述唯一性標識,對計算機系統(tǒng)而言,包括計算機主板的系列號;或者中央處理器序列號;或者設備序列號;或者操作系統(tǒng)序列號;或者應用軟件序列號中的一種或者一種以上的組合。
36.根據(jù)權(quán)利要求31至33任一項所述的數(shù)據(jù)安全存儲方法,其特征在于,所述唯一性標識,對通信網(wǎng)絡系統(tǒng)而言,包括手機的SIM卡號;或者手機的國際移動電話識別碼中的一種或者兩者組合。
37.根據(jù)權(quán)利要求31至33任一項所述的數(shù)據(jù)安全存儲方法,其特征在于,所述唯一性標識為對操作平臺中表示軟件平臺、硬件平臺的特征數(shù)據(jù)進行哈希運算,所得計算結(jié)果的完整性度量值。
38.根據(jù)權(quán)利要求32所述的數(shù)據(jù)安全存儲方法,其特征在于,所述密鑰生成為根據(jù)唯一性標識由哈希函數(shù)生成加解密密鑰。
39.根據(jù)權(quán)利要求38所述的數(shù)據(jù)安全存儲系統(tǒng),其特征在于,所述加解密算法為DES算法,或者IDEA算法,或者AES算法,或者RSA算法,或者Diffie-Hellman算法,ECC算法中的一種或者一種以上的組合。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)安全存儲系統(tǒng)和裝置及方法,包括操作平臺,存儲設備,還包括可信計算單元,用于保護對操作平臺和存儲設備間讀寫的數(shù)據(jù)進行加解密的密鑰;加解密單元,用于從可信計算單元讀取密鑰,利用相應的設定的加解密算法,對操作平臺與存儲設備之間讀寫的數(shù)據(jù)進行加解密;控制單元,用于對可信計算單元和加解密單元進行初始化,并控制加解密單元利用密鑰加解密在操作平臺和存儲設備間讀寫的數(shù)據(jù)。其對用戶操作要求低,使用過程簡單,適應用戶的要求。
文檔編號G06F12/14GK101034424SQ20071006269
公開日2007年9月12日 申請日期2007年1月12日 優(yōu)先權(quán)日2007年1月12日
發(fā)明者喬椿, 劉長生, 王梓, 王慶軍, 張璐 申請人:深圳兆日技術(shù)有限公司