專利名稱:一種基于可信計算密碼支撐平臺的數據保護方法
技術領域:
本發明涉及計算機領域,尤其涉及一種基于可信計算密碼支撐平臺的數據保護方法。
背景技術:
信息時代的重要特征之一就是大量的數據都以電子化的形式存儲在各種媒質上, 數據的安全保護逐漸成為備受關注的問題。磁盤數據的安全保護可以從硬件和軟件兩個方面進行。硬件保護是指借助于額外的硬件單元或部件對磁盤數據進行保護;軟件保護是指依賴于硬件上層的操作系統或文件系統,從應用程序級、文件系統級或操作系統級對磁盤的讀/寫、訪問等進行安全保護,現有的數據保護方案包括如下幾種1)硬盤數據加密硬盤數據加密是用磁盤中自帶的加密芯片實時的加密或者解密磁盤中的數據。其基本原理是在傳統硬盤的基礎上增加獨立的硬件加密芯片以及相應的控制芯片,在數據讀寫過程中對數據進行加密,加密、解密過程對操作系統透明,可以對整塊硬盤、或者邏輯分區進行加密。硬盤數據加密僅具有對數據的加解密功能,沒有提供完整的基于等級保護的密鑰管理機制和用戶身份認證機制,只能夠單機部署,無法適應企業級部署的需求。2)文件系統加密文件系統加密是在操作系統文件系統層對數據進行加密、解密操作。其基本原理是基于驅動分層架構,增加一層完成數據加密、解密的過濾驅動層,在應用程序讀寫過程實時的對數據進行加解密。Windows的EFS (EncryptingFile System,加密文件系統)文件加密以及某些廠商的文件加密系統均屬于此類數據保護方式。文件系統加密是純軟件的加密技術,而且加解密過程中密鑰的明文會暴露在內存之中,容易被木馬攻擊;同時數據與密鑰均存在于系統磁盤上,降低了抵抗暴力破解的能力;文件系統加密也沒有安全的密鑰管理及用戶身份認證機制,用戶與被保護的數據沒有任何的綁定關系。3)硬件加密卡硬件加密卡多為安全廠商基于PCI (Peripheral Componentlnterconnect,夕卜設部件互連標準)、USB (Universal Serial BUS,通用串行總線)接口開發的專業加密板卡,其原理也是基于獨立的加密芯片對數據進行加密,以支持移動存儲設備的數據保護。硬件加密卡同樣沒有密鑰管理體制和用戶身份認證體系,同時硬件加密卡一般是可插拔的,任何平臺均可以使用,不具備平臺綁定性,一旦丟失或者被盜都會造成很大的安 ^^^ 係急 O總的來說,現有數據保護方案的不足之處可以歸結為三個方面(1)缺乏完整的密鑰管理機制;(2)缺乏安全的用戶身份認證機制;
(3)缺乏用戶身份與用戶密鑰綁定機制。
發明內容
本發明所要解決的技術問題是提供一種基于可信計算密碼支撐平臺的數據保護方法,提高計算機數據保護的安全性。為解決上述技術問題,本發明提出了一種基于可信計算密碼支撐平臺的數據保護方法,應用于配置有可信計算密碼支撐平臺的計算機,所述可信計算密碼支撐平臺包括可信密碼模塊TCM和可信密碼服務模塊TSM,包括如下步驟步驟a,通過可信計算密碼支撐平臺為每個用戶創建一個平臺身份密鑰標識,所述平臺身份密鑰標識與用戶一一對應;步驟b,將所述平臺身份密鑰標識作為一個輸入參數,利用可信計算密碼支撐平臺生成隨機數m;步驟C,通過可信計算密碼支撐平臺生成用戶的多級密鑰,在生成所述多級密鑰的任意一級或多級密鑰時使用所述隨機數m作為參數之一,所述多級密鑰從底部向上依次包括TCM密碼模塊密鑰EK、TCM存儲主密鑰SMK和用戶存儲密鑰SK ;步驟d,在計算機的磁盤中為每個用戶建立一塊數據保護空間,存儲該用戶的受保護數據,用所述多級密鑰的最終密鑰加密所述數據保護空間中的數據。進一步地,上述方法還可具有以下特點,所述步驟a包括步驟al,獲取認證中心CA公鑰;步驟a2,調用可信計算密碼支撐平臺的接口函數Tspi_TCM_ CollateIdentityRequest生成平臺身份密鑰;步驟a3,向認證中心CA發送所述平臺身份密鑰的認證請求;步驟a4,認證中心CA對所述認證請求進行認證,認證通過后為所述平臺身份密鑰頒發認證證書;步驟a5,調用可信計算密碼支撐平臺的接口函數Tspi_TCM_ActivateIdentity激活所述平臺身份密鑰作為用戶的平臺身份密鑰標識。進一步地,上述方法還可具有以下特點,所述步驟b包括步驟bl,調用接口函數TCM_L0adKey加載所述平臺身份密鑰到TCM中;步驟b2,調用接口函數 TCM_SCHStart、TCM_SCHUpdate 和 TCM_SCHComplete 計算所述平臺身份密鑰的雜湊值h ;步驟b3,將所述雜湊值h作為隨機數m。進一步地,上述方法還可具有以下特點,所述步驟c中,TCM EK,TCM SMK的生成過程為步驟cl 1,調用接口 函數 TCM_CreateEK 生成 TCM EK ;步驟c21,調用接口 函數 TCMJakeOwnership 生成 TCM SMK。進一步地,上述方法還可具有以下特點,所述步驟c中,用戶SK的生成過程包括步驟c31,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c32,調用接口函數TCM_CreateWrapKey創建用戶SK。進一步地,上述方法還可具有以下特點,所述步驟c中,所述多級密鑰還包括以用戶SK為父密鑰的加密密鑰,所述加密密鑰的生成過程包括步驟c41,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c42,調用接口函數TCM_L0adKey加載用戶SK ;步驟c43,調用接口函數TCM_CreatefeapKey創建加密密鑰。進一步地,上述方法還可具有以下特點,所述步驟c中,所述多級密鑰進一步包括以加密密鑰為父密鑰的對稱密鑰,所述對稱密鑰的生成過程包括步驟c51,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c52,調用接口函數TCM_L0adKey加載用戶SK ;步驟c53,調用接口函數TCM_L0adKey加載加密密鑰;步驟c54,調用接口 函數 TCM_CreateWrapKey 創建 FEK。進一步地,上述方法還可具有以下特點,所述步驟d中,所述計算機的磁盤包括計算機的硬盤和與計算機相連的移動存儲設備。本發明的基于可信計算密碼支撐平臺的數據保護方法提高了計算機數據保護的安全性。
圖1為本發明實施例中平臺身份密鑰PIK的創建流程圖
圖2為本發明實施例中隨機數m的創建流程圖3為本發明實施例中密鑰體系的結構圖4為TCM EK和TCM SMK的生成過程圖5為用戶SK的生成過程圖6為加密密鑰的生成過程圖7為對稱密鑰FEK的生成過程圖8為本發明實施例中的加密流程圖9為本發明實施例中的解密流程圖。
具體實施例方式可信計算技術主要是以TCM(Trusted Cryptography Module,可信密碼模塊)為基礎,通過TSM(TCM Service Module,可信密碼服務模塊)建立一個安全可信的系統,為應用提供一個可信的支撐平臺。可信計算密碼支撐平臺是由可信密碼模塊TCM和可信密碼服務模塊TSM組成的軟硬件系統,其功能包括密碼算法、密鑰管理、證書管理、密碼協議、密碼服務等。可信密碼模塊TCM是可信計算密碼支撐平臺的硬件模塊,為可信計算平臺提供平臺度量、平臺身份認證以及密碼運算等功能,TCM芯片具有受保護的存儲空間。可信密碼服務模塊TSM、可信密碼模塊TCM的技術規范文檔定義了一個具有存儲保護和執行保護的子系統,該子系統將為計算平臺建立信任根基,并且其獨立計算資源將建立嚴格的安全保護機制受限,為防止TCM成為計算平臺的性能瓶頸,須將子系統中需執行保護的函數與無需執行保護的函數劃分開,將無需執行保護的功能函數由計算平臺主處理器執行,而這些支持函數構成了可信密碼服務模塊TSM。本發明的主要構思是,利用可信計算密碼支撐平臺提供的密碼算法、密鑰管理、證書管理、密碼協議等技術,提出完整的密鑰體系、可信的用戶身份認證體系,以及將用戶身份與用戶密鑰綁定的機制,形成一個基于可信計算密碼支撐平臺的數據保護方案。以下結合附圖和實施例對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。本發明的基于可信計算密碼支撐平臺的數據保護方法,應用于配置有可信計算密碼支撐平臺的計算機,其中,可信計算密碼支撐平臺包括可信密碼模塊TCM和可信密碼服務模塊TSM,本發明包括如下步驟步驟a,通過可信計算密碼支撐平臺為每個用戶創建一個PIK (PlatformIdentity Key,平臺身份密鑰)標識,該平臺身份密鑰標識與用戶一一對應;其中,平臺身份密鑰PIK通過可信計算密碼支撐平臺提供的接口創建。圖1為本發明實施例中平臺身份密鑰PIK的創建流程圖。如圖1所示,平臺身份密鑰PIK的創建過程包括步驟al,獲取 CA (Certificate Authority,認證中心)公鑰;步驟a2,調用可信計算密碼支撐平臺的接口函數Tspi_TCM_ CollateIdentityRequest 生成平臺身份密鑰 PIK ;步驟a3,向認證中心CA發送平臺身份密鑰PIK的認證請求,即向CA為新生成的 PIK申請證書;步驟a4,認證中心CA對步驟a3中的認證請求進行認證,認證通過后為平臺身份密鑰PIK頒發認證證書,即CA驗證請求的合法性,生成PIK證書發給應用程序;步驟a5,調用可信計算密碼支撐平臺的接口函數Tspi_TCM_ActivateIdentity激活平臺身份密鑰PIK作為用戶的平臺身份密鑰標識。步驟b,將平臺身份密鑰PIK標識作為一個輸入參數,利用可信計算密碼支撐平臺生成隨機數m;圖2為本發明實施例中隨機數m的創建流程圖,如圖2所示,本實施例中,隨機數 m的創建過程包括步驟bl,調用接口函數TCM_L0adKey加載平臺身份密鑰PIK到TCM中;步驟b2,調用接口函數 TCM_SCHStart、TCM_SCHUpdate 和 TCM_SCHComplete 計算平臺身份密鑰PIK的雜湊值h,雜湊值h也稱為PIK的哈希值;步驟b3,將雜湊值h作為隨機數m。步驟c,通過可信計算密碼支撐平臺生成用戶的多級密鑰,在生成該多級密鑰的任意一級或多級密鑰時使用步驟b生成的隨機數m作為參數之一,該多級密鑰從底部向上依次包括 TCM EK (Endorsemnet Key,密碼模塊密鑰)、TCM SMK (Storage Master Key,存儲主密鑰)和用戶SK (Storage Key,存儲密鑰);生成多級密鑰的任意一級或多級密鑰時使用步驟b生成的隨機數m作為參數之一,達到了將用戶身份標識與密鑰綁定的目的,并由此完成用戶身份與用戶數據的綁定,用戶使用過程中必須提供正確的PIK才能夠獲取自己的數據,否則無法訪問。此處,我們以一個具有五級密鑰的密鑰體系為例,說明本發明的多級密鑰,在該實例中,這五級密鑰分別為TCM EK:是平臺密鑰,它是所有密鑰的父密鑰,存儲在TCM芯片內部;
7
TCM SMK 在平臺所有者初始化時生成,存儲在TCM芯片內部;用戶SK 是用戶根密鑰,存儲在TCM芯片內部;加密密鑰為用戶應用密鑰(可以創建多個),用于加密FEK(FileEnCrypti0n Key,文件加密密鑰),存儲在TCM芯片內部;FEK 是對稱密鑰,存儲在芯片內部;以FEK加密用戶指定的數據。本例中五級密鑰組成的密鑰體系的結構如圖3所示。圖3為本發明實施例中密鑰體系的結構圖。圖3中,用戶DPS為用戶的數據保護空間,我們將在后面介紹。接著,我們來介紹這五級密鑰的生成方法及過程(1)生成 TCM EK 和 TCM SMKTCM EK、SMK均為TCM芯片的初始密鑰,TCM EK是在芯片出廠時生成,SMK是在平臺初始化時生成的,均存儲于TCM芯片內部。圖4為TCM EK和TCMSMK的生成過程圖。由圖4可知,TCM EK和TCM SMK分別通過下面的步驟生成步驟cl 1,調用接口 函數 TCM_CreateEK 生成 TCM EK ;步驟c21,調用接口 函數 TCMJakeOwnership 生成 TCM SMK。(2)生成用戶SK用戶SK以TCM SMK為父密鑰進行創建,存儲于TCM芯片內部。圖5為用戶SK的生成過程圖。如圖5所示,用戶SK的生成過程包括步驟c31,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c32,調用接口函數TCM_CreateWrapKey創建用戶SK。(3)生成加密密鑰加密密鑰以用戶SK為父密鑰,存儲在芯片內部。圖6為加密密鑰的生成過程圖。 如圖6所示,加密密鑰的生成過程包括步驟c41,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c42,調用接口函數TCM_L0adKey加載用戶SK ;步驟c43,調用接口函數TCM_CreatefeapKey創建加密密鑰。(4)生成對稱密鑰FEK加密密鑰以用戶加密密鑰為父密鑰,存儲在TCM芯片內部。圖7為對稱密鑰FEK 的生成過程圖。如圖7所示,對稱密鑰FEK的生成過程包括步驟c51,調用接口函數TCM_L0adKey加載父密鑰SMK ;步驟c52,調用接口函數TCM_L0adKey加載用戶SK ;步驟c53,調用接口函數TCM_L0adKey加載加密密鑰;步驟c54,調用接口 函數 TCM_CreateWrapKey 創建 FEK。本例中,密鑰保護關系和密鑰保護方法為密鑰保護采用基于TCM芯片的父密鑰保護子密鑰的鏈式保護機制TCM EK保護TCM SMK ;TCM SMK保護用戶SK ;用戶SK保護加密密鑰;加密密鑰保護文件加密密鑰FEK ;文件加密密鑰FEK保護數據,具體如下1)采用信任鏈的方式,以父密鑰保護子密鑰;2)每個密鑰具有自己的授權數據,密鑰使用前必須提供正確的授權數據;3)密鑰存儲于TCM內部,密鑰整個生命周期(創建、使用、銷毀)都在TCM芯片內部;
4)子密鑰的密鑰數據均使用其父密鑰加密;5)任何層次上的密鑰在能夠使用前,必須先將其父密鑰加載到TCM芯片內部。下面說明使用本例中密鑰體系的加密和解密流程。圖8為本發明實施例中的加密流程圖。如圖8所示,本發明實施例中的加密流程包括(1)依次加載密鑰樹上的密鑰;(2)調用接口函數TCM_SMS4Encrypt加密數據。圖9為本發明實施例中的解密流程圖。如圖9所示,本發明實施例中的解密流程包括(1)依次加載密鑰樹上的密鑰;(2)調用接口函數TCM_SMS4Decrypt解密數據。在本發明的其他實施例中,可以在TCM EK、TCM SMK和用戶SK這三級基礎密鑰的基礎上任意增加一級或多級密鑰來構成新的密鑰體系,當然也可以使用只由這三級基礎密鑰構成的密鑰體系。步驟d,在計算機的磁盤中為每個用戶建立一塊數據保護空間DPS (DataProtect Space),存儲該用戶的受保護數據,用步驟c中生成的多級密鑰的最終密鑰加密數據保護空間中的數據。此處,計算機的磁盤包括計算機的硬盤和與計算機相連的移動存儲設備,例如U
舟絕
ΓΤΠ 寸 οDSP可以是一個邏輯分區,整塊磁盤甚至是一個虛擬分區,目的是為用戶的敏感數據提供一個受TCM芯片保護的存儲區域。用戶可以在數據保護空間上創建文件、文件夾,其操作習慣與其它傳統磁盤沒有任何區別,而且用戶可以自由選擇文件系統格式(FAT、FAT32 或NTFQ而不影響加密的效果。數據保護空間DPS的數據通過TCM芯片加密進行保護,該操作在TCM芯片內部完成,訪問數據保護空間DPS中的數據前,用戶必須首先登錄TCM,獲得TCM密鑰的使用權,才能夠訪問DPS中的數據。用戶可以在數據保護空間DPS上創建任何類型的文件,或者將文件和文件夾從普通磁盤上拷貝到數據保護空間上,無論采用哪種方式,數據保護空間DPS內的文件都被自動的加密。同樣,如果用戶訪問數據保護空間DPS上的文件,這些文件即被自動解密。用戶無需執行任何特殊的步驟就可以完成對文件數據的保護,所有的加密和解密都是有TCM芯片自動完成,對用戶是透明的;同時本人的數據保護空間DSP上的數據對于同一主機的其他用戶是不可見的,每個用戶只能夠訪問自己的DPS空間,無法訪問別人的DPS空間。本發明基于可信計算密碼支撐平臺提供的基礎服務,解決了傳統數據保護方案中沒有完整密鑰管理機制的問題,解決了沒有安全身份認證的問題,解決了用戶身份與用戶數據綁定的問題,提供了安全性、完整性較高的數據加密方案。相對于文件系統加密,本發明的加密、解密完全在TCM芯片內部完成,避免了加密密鑰明文暴露于主機內存,抵抗了木馬攻擊;本發明密鑰完全存儲于TCM芯片內部,與用戶數據分離存儲,提高了抵抗暴力破解的能力;本發明的用戶身份與用戶數據綁定,解決了文件系統沒有身份認證的問題,限制每個用戶只能訪問自己的數據,提高了安全性。
相對于磁盤加密與硬件加密卡方案,本發明的基于可信計算密鑰支撐平臺的密鑰管理體系提供了多級的密鑰體系,不但提高了安全性,而且提供了分級控制功能,使得企業級部署變的更加容易;同時基于可信密碼支撐平臺的用戶身份與用戶數據綁定,可以解決由于硬件加密卡丟失、被盜等帶來的安全隱患。綜上所述,本發明的基于可信計算密碼支撐平臺的數據保護方法提高了計算機數據保護的安全性。以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種基于可信計算密碼支撐平臺的數據保護方法,應用于配置有可信計算密碼支撐平臺的計算機,所述可信計算密碼支撐平臺包括可信密碼模塊TCM和可信密碼服務模塊 TSM,其特征在于,包括如下步驟步驟a,通過可信計算密碼支撐平臺為每個用戶創建一個平臺身份密鑰標識,所述平臺身份密鑰標識與用戶一一對應;步驟b,將所述平臺身份密鑰標識作為一個輸入參數,利用可信計算密碼支撐平臺生成隨機數m;步驟c,通過可信計算密碼支撐平臺生成用戶的多級密鑰,在生成所述多級密鑰的任意一級或多級密鑰時使用所述隨機數m作為參數之一,所述多級密鑰從底部向上依次包括 TCM密碼模塊密鑰EK、TCM存儲主密鑰SMK和用戶存儲密鑰SK ;步驟d,在計算機的磁盤中為每個用戶建立一塊數據保護空間,存儲該用戶的受保護數據,用所述多級密鑰的最終密鑰加密所述數據保護空間中的數據。
2.根據權利要求1所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟a包括步驟al,獲取認證中心CA公鑰;步驟a2,調用可信計算密碼支撐平臺的接口函數Tspi_TCM_ColIateIdentityRequest 生成平臺身份密鑰;步驟a3,向認證中心CA發送所述平臺身份密鑰的認證請求;步驟a4,認證中心CA對所述認證請求進行認證,認證通過后為所述平臺身份密鑰頒發認證證書;步驟a5,調用可信計算密碼支撐平臺的接口函數TspijCiLActivateldentity激活所述平臺身份密鑰作為用戶的平臺身份密鑰標識。
3.根據權利要求1所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟b包括步驟bl,調用接口函數TCM_L0adKey加載所述平臺身份密鑰到TCM中; 步驟 b2,調用接口 函數 TCM_SCHStart、TCM_SCHUpdate 和 TCM_SCHComplete 計算所述平臺身份密鑰的雜湊值h;步驟b3,將所述雜湊值h作為隨機數m。
4.根據權利要求1所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟c中,TCM EK、TCM SMK的生成過程為步驟cll,調用接口函數TCM_CreateEK生成TCM EK ; 步驟 c21,調用接口 函數 TCM_TakeOwnership 生成 TCM SMK。
5.根據權利要求4所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟c中,用戶SK的生成過程包括步驟c31,調用接口函數TCM_L0adKey加載父密鑰SMK ; 步驟c32,調用接口函數TCM_CreateWrapKey創建用戶SK。
6.根據權利要求5所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟c中,所述多級密鑰還包括以用戶SK為父密鑰的加密密鑰,所述加密密鑰的生成過程包括步驟c41,調用接口函數TCM_L0adKey加載父密鑰SMK ; 步驟c42,調用接口函數TCM_L0adKey加載用戶SK ; 步驟c43,調用接口函數TCM_CreatefeapKey創建加密密鑰。
7.根據權利要求6所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟c中,所述多級密鑰進一步包括以加密密鑰為父密鑰的對稱密鑰,所述對稱密鑰的生成過程包括步驟c51,調用接口函數TCM_L0adKey加載父密鑰SMK ; 步驟c52,調用接口函數TCM_L0adKey加載用戶SK ; 步驟c53,調用接口函數TCM_L0adKey加載加密密鑰; 步驟c54,調用接口函數TCM_CreateffrapKey創建FEK。
8.根據權利要求1所述的基于可信計算密碼支撐平臺的數據保護方法,其特征在于, 所述步驟d中,所述計算機的磁盤包括計算機的硬盤和與計算機相連的移動存儲設備。
全文摘要
本發明涉及一種基于可信計算密碼支撐平臺的數據保護方法,包括通過可信計算密碼支撐平臺為每個用戶創建一個平臺身份密鑰標識,平臺身份密鑰標識與用戶一一對應;將平臺身份密鑰標識作為一個輸入參數,利用可信計算密碼支撐平臺生成隨機數m;通過可信計算密碼支撐平臺生成用戶的多級密鑰,在生成多級密鑰的任意一級或多級密鑰時使用隨機數m作為參數之一,多級密鑰從底部向上依次包括TCM EK、TCM SMK和用戶SK;在計算機的磁盤中為每個用戶建立一塊數據保護空間,存儲該用戶的受保護數據,用多級密鑰的最終密鑰加密數據保護空間中的數據。本發明的基于可信計算密碼支撐平臺的數據保護方法提高了計算機數據保護的安全性。
文檔編號H04L9/32GK102207999SQ20101013450
公開日2011年10月5日 申請日期2010年3月29日 優先權日2010年3月29日
發明者陳山 申請人:國民技術股份有限公司