專利名稱:一種硬盤ata指令的加密傳輸?shù)姆椒?br>
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機安全領(lǐng)域,尤其涉及一種硬盤ATA指令的加密傳輸方法。
背景技術(shù):
近年來隨著"可信計算"概念的迅速發(fā)展以及在國內(nèi)的蔓延,傳統(tǒng)的計算 機體系結(jié)構(gòu)受到了嚴重的安全挑戰(zhàn),新一代能提供可信計算服務(wù)的計算機軟硬 件平臺即可信計算平臺業(yè)已開始研制,并逐步走向成熟和規(guī)范化,它是基于可 信平臺模塊(Trusted Platform Module, TPM),以密碼技術(shù)為支持,以安全操 作系統(tǒng)為核心,從TPM、計算機主板等硬件結(jié)構(gòu)以及基本輸入輸出系統(tǒng)(Basic Input Output System, BIOS)和操作系統(tǒng)等底層軟件啦支起,為整個計算機系統(tǒng) 增加了一臺獨立的監(jiān)控計算機,保證計算機的運行行為可控,從而保證了計算 機系統(tǒng)的完整性、可用性和數(shù)據(jù)安全性。
可信存儲是可信計算的一個重要方面,即如何實現(xiàn)計算機主機系統(tǒng)和硬盤 之間的安全通訊。現(xiàn)有技術(shù)中,信息在計算機系統(tǒng)中的存儲過程中,仍然存在 安全漏洞,計算機主機系統(tǒng)和硬盤通訊時,其調(diào)用ATA指令是以明文的方式傳 輸?shù)模鯝TA指令在傳輸過程中有可能被惡意破壞和篡改,從而無法保證計 算機主機系統(tǒng)和硬盤之間的安全通訊。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種硬盤ATA指令的加密傳輸?shù)姆椒?,旨?解決現(xiàn)有技術(shù)中計算機主機系統(tǒng)和硬盤之間的ATA指令在傳輸過程中有可能 4皮攔截解析后惡意破壞和篡改,從而無法保證計算機主機系統(tǒng)和硬盤之間的安全通訊的問題。
本發(fā)明實施例是這樣實現(xiàn)的, 一種硬盤ATA指令的加密傳輸?shù)姆椒ǎ?方法包括如下步驟
對特殊ATA指令進行加密,并由TPM對所述加密密鑰再次加密,將產(chǎn)生 的密文存儲在硬盤保護分區(qū)中,所述特殊ATA指令為主機系統(tǒng)與硬盤保護分區(qū) 通訊的ATA指令;
當(dāng)有通訊請求時BIOS發(fā)送特殊ATA指令給硬盤內(nèi)硬盤管理系統(tǒng);
BIOS調(diào)用TPM并通過所述TPM對調(diào)用特殊ATA指令的普通ATA指令及 BIOS與TPM之間的通訊指令進行完整性校驗;
如果完整則由BIOS從硬盤保護分區(qū)中取出密鑰的加密密文,并調(diào)用TPM 對加密密文進行解密得到密鑰;
TPM發(fā)送數(shù)字簽名證書及密鑰給硬盤加密系統(tǒng),由硬盤加密系統(tǒng)對特殊 ATA指令解密,然后打開硬盤保護分區(qū)執(zhí)行通訊請求。
本發(fā)明實施例的另 一 目的在于提供一種硬盤ATA指令的加密傳輸?shù)南到y(tǒng), 所述裝置包括
加密裝置,用于對特殊ATA指令進行加密,并產(chǎn)生加密密鑰,所述特殊 ATA指令為主機系統(tǒng)與硬盤保護分區(qū)通訊的ATA指令;
TPM,用于對所述特殊ATA指令加密的密鑰進行加密或解密,并對傳輸 過程中的ATA指令進行完整性校驗以及發(fā)送數(shù)字簽名證書給硬盤內(nèi)硬盤管理 系統(tǒng);
BIOS,用于管理加密的特殊ATA指令庫,發(fā)送調(diào)用所述特殊ATA指令的 指令,并發(fā)送調(diào)用TPM進行完整性校驗相關(guān)指令; 硬盤,包括
硬盤管理系統(tǒng),用于接收特殊ATA指令請求,并管理控制硬盤保護 分區(qū)的打開與關(guān)閉;及
加密系統(tǒng)模塊,用于對特殊ATA指令進行解密。在本發(fā)明實施例中,通過對通訊時計算機主機系統(tǒng)和硬盤之間ATA指令進 行加密傳輸,利用TPM對傳輸過程中的通訊指令進行完整性校驗,加解密過程 全部在TPM內(nèi)部進行,并且結(jié)合數(shù)字簽名的方式,從而保證了計算機主機系統(tǒng) 和石更盤之間的安全通訊。
圖1是本發(fā)明實施例提供的硬盤ATA指令的加密傳輸?shù)南到y(tǒng)構(gòu)架圖; 圖2是本發(fā)明實施例提供的硬盤ATA指令的加密傳輸?shù)牧鞒虉D; 圖3是本發(fā)明實施例提供的訪問硬盤保護分區(qū)的實現(xiàn)流程圖; 圖4是本發(fā)明實施例提供的硬盤特殊ATA指令的加密及密鑰存儲流程圖; 圖5是本發(fā)明實施例提供的硬盤ATA指令加密傳輸?shù)耐暾孕r灱皵?shù)字簽 名i/U正流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實施例中,計算機系統(tǒng)對訪問硬盤保護分區(qū)的特殊ATA指令進行 加密,并通過TPM對加密密鑰再次加密,當(dāng)計算機主才幾系統(tǒng)和硬盤保護分區(qū)之 間有通訊請求時,BIOS將所述的特殊ATA指令發(fā)送給硬盤,利用TPM對傳 輸過程中調(diào)用訪問硬盤保護分區(qū)的指令及BIOS與TPM間的通訊指令進行完整 性校驗,如果完整則取出密鑰并發(fā)送數(shù)字簽名及解密密鑰給硬盤,由硬盤加密 系統(tǒng)模塊解密訪問硬盤保護分區(qū)的特殊ATA指令,然后才執(zhí)行通訊請求。
高級4支術(shù)附力口裝置(Advanced Technology Attachment, ATA),通常所i兌的 集成驅(qū)動器電子(Integrated Drive Electronics, IDE ) 4姿口也叫ATA接口 。 ATA 是一種硬盤驅(qū)動器與計算機的連接規(guī)范,用以實現(xiàn)存儲裝置的緩存和主機內(nèi)存
7之間的數(shù)據(jù)傳輸。具體來說就是通過ATA接口用電纜線(數(shù)據(jù)線)將存儲器或 者磁盤控制器與計算機主板相連接,再通過調(diào)用存儲裝置外部控制系統(tǒng),例如 統(tǒng)一可擴展固件接口 ( Unified Extensible Firmware Interface, UEFI) BIOS或者 傳統(tǒng)BIOS中的ATA指令集的指令完成存儲器同主機系統(tǒng)間的通訊。
UEFI是一種開放的(即不依賴于特定的BIOS和平臺)用于定義平臺固件 與操作系統(tǒng)之間的接口規(guī)范,為操作系統(tǒng)以及啟動前的.運行狀態(tài)提供一個標準 環(huán)境,系統(tǒng)地規(guī)定了計算機系統(tǒng)的控制權(quán)如何從啟動前的環(huán)境傳遞給操作系統(tǒng)。 遵守該規(guī)范而進行開發(fā)的BIOS即稱為UEFI BIOS,它是一種高安全的BIOS, 支持安全啟動、驅(qū)動簽名和散列(Hash)技術(shù)。
圖1示出了本發(fā)明實施例提供的計算機主機系統(tǒng)與硬盤通訊的系統(tǒng)結(jié)構(gòu), 包括TPM、 BIOS(UEFI BIOS或傳統(tǒng)BIOS)以及硬盤。
.作為本發(fā)明的一個實施例,硬盤初始化(出廠)的時候,在硬盤中辟出一 塊空間,創(chuàng)建一個硬盤保護分區(qū),用于存儲上述用戶重要數(shù)據(jù)信息。由于工藝 的成熟,現(xiàn)在的硬盤容量已經(jīng)足夠大,相應(yīng)地,保護分區(qū)的容量也可以做到充 分大,而且,硬盤保護分區(qū)與硬盤其余空間絕對隔離,現(xiàn)有的硬盤分區(qū)工具、 磁盤管理工具都不能訪問這部分的空間,只能由底層BIOS通過特殊ATA指令 才可以對它進行操作。因此,硬盤保護分區(qū)設(shè)置一定的訪問權(quán)限后成為安全存 儲空間,能夠安全地存儲更多的用戶重要數(shù)據(jù)信息。
硬盤的保護分區(qū)初始狀態(tài)是關(guān)閉的,它不受一般的指令控制,需要一些特 殊的指令和TPM的授權(quán)證書才能完成權(quán)限的開放動作。這個特殊ATA指令由 BIOS發(fā)出,指令同時發(fā)給硬盤管理工具和TPM,由于指令是加密的,而加密 的密鑰又由TPM加密,所以,硬盤管理工具在接收到指令后只能先等待,需要 等待TPM發(fā)送解密后的密鑰和比對授權(quán)證書后,才能判斷是否打開硬盤保護分 區(qū),使計算機主機系統(tǒng)可以訪問硬盤保護分區(qū)。
作為本發(fā)明的一個實施例,所述的特殊ATA指令不用于計算機主機同硬盤 間通訊時普通的ATA指令,所述特殊ATA指令用于訪問硬盤安全分區(qū),并且所述指令在初始化(出廠)時通過加密系統(tǒng)進行加密,形成一個加密的ATA指 令庫,由BIOS進行管理,存儲在存儲設(shè)備中。所以所述的特殊ATA指令相對 于普通的ATA指令,安全性更高。
作為本發(fā)明的一個實施例,所述的存儲設(shè)備可以為硬盤保護分區(qū)、BIOS只 讀存儲器(ReadOniy Memory, ROM)、 BIOS Flash (閃存)、外接非易失性存 儲設(shè)備等安全存儲設(shè)備中。所述的外接非易失性存儲設(shè)備可以為外部USB存儲 設(shè)備等。
TPM是集成于計算機主機系統(tǒng)最底層的一個安全可信的硬件平臺,可以獨 立進行密鑰生成、加解密的裝置,內(nèi)部擁有獨立的處理器和存儲單元,可存儲 密鑰和特征數(shù)據(jù),為計算機提供加密和安全認證服務(wù),用TPM進行加密,密鑰 被存儲在硬件('即TPM或是硬盤的安全保護分區(qū))中,被竊的數(shù)據(jù)無法解密, 從而使計算機平臺可信并保護了數(shù)據(jù)安全。
在本發(fā)明實施例中,TPM主要用來對訪問硬盤保護分區(qū)的ATA指令的加 密密鑰進行加密,并將產(chǎn)生的加密密文轉(zhuǎn)存到硬盤的安全分區(qū)。同時TPM對調(diào) 用訪問硬盤保護分區(qū)的特殊ATA指令的指令及BIOS與TPM進行通訊指令進 行完整性校驗。在解密時從硬盤安全分區(qū)取出加密密文,對加密密文進行解密 并發(fā)送數(shù)字簽名證書給硬盤管理系統(tǒng)及加密系統(tǒng)。硬盤管理系統(tǒng)和加密系統(tǒng)在 得到數(shù)字簽名證書后解密訪問硬盤安全分區(qū)的ATA指令,然后執(zhí)行通訊請求。
在本發(fā)明實施例中,計算機的硬盤上內(nèi)嵌一個硬盤管理系統(tǒng),該硬盤管理 系統(tǒng)可以視為一個孩i機系統(tǒng),其CPU、內(nèi)存可以在UEFI架構(gòu)下不依賴于安全 計算機主板上的CPU、內(nèi)存而進行獨立運算。硬盤微嵌入管理系統(tǒng)負責(zé)建立硬 盤用戶分區(qū),隔離各個硬盤用戶分區(qū)中的數(shù)據(jù),并對各個硬盤用戶分區(qū)中的數(shù) 據(jù)或硬盤保護分區(qū)的用戶重要數(shù)據(jù)加密。通過上述一系列方法,硬盤微嵌入管 理系統(tǒng)實現(xiàn)了對硬盤保護分區(qū)訪問權(quán)限的控制,防止非法用戶訪問該部分存儲 空間。
作為本發(fā)明的一個實施例,硬盤中的加密系統(tǒng)模塊是一個軟件模塊,主要用來進行指令密碼的運算與解析。
圖2示出了本發(fā)明實施例提供的硬盤ATA指令的加密傳輸流程,詳述如下
在步驟S201中,對特殊ATA指令進行加密,并由TPM對所述產(chǎn)生的加密 密鑰再次加密,將產(chǎn)生的密文存儲在硬盤保護分區(qū)中。
在該步驟中,所述特殊的ATA指令在計算機系統(tǒng)初始化(出廠)時通過加 密裝置進行加密,形成一個加密的特殊ATA指令庫,由BIOS進行管理,存儲 在存儲設(shè)備中,所述的特殊的ATA指令相對于普通的ATA指令,安全性更高。
作為本發(fā)明的一個實施例,所述的加密裝置為BIOS中的軟加密系統(tǒng),通 過所述BIOS中的軟加密系統(tǒng)對特殊的ATA指令進行加密,利用BIOS中的軟 加密系統(tǒng)來實現(xiàn)特殊的ATA指令加密速度快。
作為本發(fā)明的一個實施例,所述的加密系統(tǒng)還可以是硬盤自身的加密系統(tǒng) 模塊,還可以是外接的加密卡等。
作為本發(fā)明的一個實施例,所述的存儲設(shè)備可以為硬盤保護分區(qū)、BIOS ROM、 BIOSFlash、外接非易失性存儲設(shè)備等安全存儲設(shè)備中。所述的外接非 易失性存儲設(shè)備可以為外部USB存儲設(shè)備等。
在步驟S202中,當(dāng)有通訊請求時BIOS發(fā)送特殊ATA指令給硬盤內(nèi)硬盤 管理系統(tǒng)。
在該步驟中,當(dāng)計算機主機系統(tǒng)同硬盤保護分區(qū)有通訊請求時,BIOS將特 殊ATA指令直接發(fā)送到硬盤內(nèi)硬盤管理系統(tǒng)。由于所述特殊ATA指令是加密 的,硬盤需要的到數(shù)字簽名證書并通過密鑰才可以對所述特殊ATA指令進行解 密,這時硬盤管理系統(tǒng)處于等待狀態(tài),等待TPM發(fā)送數(shù)字簽名證書及解密密鑰。
作為本發(fā)明的一個實施例,所述的BIOS為UEFI BIOS或傳統(tǒng)BIOS。
在步驟S203中,BIOS調(diào)用TPM并通過TPM對所述調(diào)用特殊ATA指令的 普通ATA指令及BIOS與TPM之間的通訊指令進行完整性校驗。
在該步驟中,通過所述普通ATA指令調(diào)用特殊ATA指令庫中的特殊ATA 指令。作為本發(fā)明的一個實施例,所述的完整性校驗通過TPM對所述的指令Hash 比對來校驗指令的完整性。先通過SHA-1算法對指令進行一次哈希運算,生成 一個哈希值。由于初始化機器的時候,在TPM中已經(jīng)存放了一批指令集的指令 的哈希值,所以,只要將生成的哈希值與存放在TPM中對應(yīng)指令的哈希值進行 對比即可辨別指令的完整性。
作為本發(fā)明的一個實施例,所述的BIOS與TPM通訊指令為BIOS需要調(diào) 用TPM進行相關(guān)的操作的指令,包括BIOS調(diào)用TPM對指令進行完整性校驗 的指令等。
在步驟S204中,如果完整則由BIOS從硬盤保護分區(qū)中取出密鑰的加密密 文,并調(diào)用TPM對密鑰的加密密文進行解密得到密鑰。
在該步驟中,硬盤管理系統(tǒng)需要先打開硬盤保護分區(qū),才能取出密鑰的加 密密文。取出密鑰的加密密文后BIOS發(fā)送關(guān)閉硬盤保護分區(qū)的指令,關(guān)閉硬 盤保護分區(qū),確保^哽盤保護分區(qū)的安全。
作為本發(fā)明的一個實施例,當(dāng)取出所述的加密密文后,BIOS調(diào)用TPM對 所述的密鑰的加密密文進行解密。TPM首先對所述的BIOS發(fā)出的調(diào)用解密指 令進行完整性校驗。如果完整則由TPM利用其私鑰對所述的加密密文進行解 密,得到密鑰。并且這個解密的過程在全部在TPM內(nèi)部進行,保證解密過程中 不會被篡改或破壞。否則當(dāng)校驗結(jié)果為不完整時,計算機系統(tǒng)掛起,給出提示 信息,等待用戶的操作或重新啟動系統(tǒng)。
在步驟S205中,TPM發(fā)送數(shù)字簽名證書及密鑰給硬盤加密系統(tǒng),由硬盤 加密系統(tǒng)對特殊ATA指令解密,然后打開硬盤保護分區(qū)執(zhí)行通訊請求。
作為本發(fā)明的一個實施例,所述的數(shù)字簽名證書為解密特殊ATA指令的授 權(quán)證書。
作為本發(fā)明的一個實施例,當(dāng)需要打開(訪問)硬盤保護分區(qū)或?qū)τ脖P保 護分區(qū)進行操作時,需要硬盤管理系統(tǒng)先打開硬盤保護分區(qū),才能執(zhí)行相關(guān)的 操作。圖3是本發(fā)明實施例提供的訪問硬盤保護分區(qū)的實現(xiàn)流程圖,詳述如下 在步驟S301中,BIOS發(fā)送加密的指令以及調(diào)用硬盤加密系統(tǒng)對所述加密
的指令進行解密的指令給硬盤加密系統(tǒng)。
作為本發(fā)明的 一個實施例,所述加密的指令是用于打開硬盤保護分區(qū)的指
令,所以將所述指令存儲在BIOS或TPM中,并且將所述加密的指令的加密密
鑰保存在TPM中。
在步驟S302中,TPM對BIOS調(diào)用加密系統(tǒng)進行解密的指令進行完整性 校驗,檢測其完整性。
在步驟S303中,判斷所述的指令是否完整,是則執(zhí)行步驟S305,否則執(zhí) 行步驟S3 04。
在步驟S304中,當(dāng)校驗結(jié)果為不完整時,表明所述的ATA指令被篡改或 破壞,計算機系統(tǒng)掛起,給出提示信息,等待用戶的操作或重新啟動系統(tǒng)。
在步驟S305中,TPM發(fā)送解密所述加密的指令的授權(quán)證書及密鑰給硬盤 力口密系統(tǒng)。
作為本發(fā)明的一個實施例,所述解密加密的指令的密鑰是保存在TPM中的。
在步驟S306中,加密系統(tǒng)還原加密的指令,并發(fā)送完成解密應(yīng)答給BIOS。
在該步驟中,硬盤加密系統(tǒng)在解密還原加密的指令后,需要給BIOS—個 應(yīng)答,告知BIOS已經(jīng)完成解密。
在步驟S307中,BIOS將解密后的指令發(fā)送給硬盤管理系統(tǒng),并調(diào)用TPM 對完成解密的應(yīng)答進行完整性校驗。
在步驟S308中,判斷所述的應(yīng)答指令是否完整,是則執(zhí)行步驟S309,否 則執(zhí)行步驟S3 04。
在步驟S309中,TPM發(fā)送硬盤管理系統(tǒng)打開保護分區(qū)的授權(quán)證書給硬盤 管理系統(tǒng)。
在步驟S310中,硬盤管理系統(tǒng)拿到打開硬盤保護分區(qū)的授權(quán)證書及指令后
12打開保護分區(qū),BIOS取出數(shù)據(jù),并關(guān)閉保護分區(qū)。
在該步驟中,當(dāng)BIOS從硬盤保護分區(qū)中取出數(shù)據(jù)后,為了保證硬盤保護 分區(qū)數(shù)據(jù)的安全,BIOS發(fā)出指令關(guān)閉硬盤保護分區(qū)。
圖4示出了本發(fā)明實施例提供的硬盤ATA指令的加密及密鑰存儲流程,詳 述如下
在步驟S401中,加密裝置對特殊ATA指令加密產(chǎn)生第一密鑰Kl。
在該步驟中,所述特殊ATA指令在計算機系統(tǒng)初始化(出廠)時通過加密 裝置進行加密,形成一個加密的特殊ATA指令庫,由BIOS進行管理,存儲在 存儲設(shè)備中,所述的特殊ATA指令相對于普通的ATA指令,安全性更高。
作為本發(fā)明的一個實施例,所述的加密裝置是BIOS中的軟加密系統(tǒng),通 過所述BIOS中的軟加密系統(tǒng)對特殊ATA指令進行加密,利用BIOS中的軟加 密系統(tǒng)來實現(xiàn)特殊ATA指令加密速度快。
作為本發(fā)明的一個實施例,所述的加密裝置還可以是安全硬盤自身的加密 系統(tǒng),還可以是外接的加密卡等。
作為本發(fā)明的一個實施例,所述用于存儲加密的ATA指令庫的存儲設(shè)備可 以為硬盤保護分區(qū)、BIOSROM、 BIOSFlash、外接非易失性存儲設(shè)備等安全存 儲設(shè)備中。所述的外接非易失性存儲設(shè)備可以為外部USB存儲設(shè)備等。
在步驟S402中,TPM利用公鑰對加密過的特殊ATA指令的第一密鑰Kl 再次進行加密得到加密密文K2。
作為本發(fā)明的一個實施例,TPM在對特殊ATA指令進行加密時采用非對 稱算法,利用公鑰對加密過的特殊ATA指令的第一密鑰Kl再次進行加密得到 加密密文K2。私鑰用于解密時解密加密密文,保存在TPM中,不可以^皮訪問, 所以保證了加密密文的安全。
在步驟S403中,將加密密文K2存儲到硬盤保護分區(qū)。 作為本發(fā)明的一個實施例,由于TPM自身的容量有限,將所述的加密密文 K2轉(zhuǎn)存到硬盤的保護分區(qū),由硬盤的保護分區(qū)對加密密文K2進行存儲。在需要對特殊ATA指令進行解密時,需要先得到所述特殊ATA指令的加密密鑰Kl, 而要得到加密密鑰Kl需要得到密鑰Kl的加密密文K2。這時TPM需要從硬盤 保護分區(qū)中^L出密鑰Kl的加密密文K2。
在本發(fā)明實施例中,TPM的密鑰存儲機制是釆用密鑰樹的形式存在、分級 進行管理的,TPM內(nèi)預(yù)先在非易失性存儲單元中存儲了密鑰樹的根密鑰,永久 保存。并把根密鑰的私鑰存放在TPM中,TPM利用其公鑰對其保護的下一級 密鑰加密,并把加密后的密文存儲在安全硬盤的保護分區(qū)里,解密時將加密密 文加載到TPM內(nèi),利用TPM內(nèi)的根密鑰的私鑰對其解密,密鑰加解密操作在 TPM內(nèi)進行,任何企圖對集成了 TPM的計算機系統(tǒng)進行未經(jīng)授權(quán)的拷貝操作 都是無效的,所獲取的數(shù)據(jù)只能是一堆亂碼。
圖5示出本發(fā)明實施例提供的硬盤ATA指令加密傳輸?shù)耐暾孕r灱皵?shù)字 簽名認證流程,詳述如下
在步驟S501中,主機系統(tǒng)和硬盤保護分區(qū)通訊請求。
在該步驟中,在計算機的運行過程中,當(dāng)需要對硬盤保護分區(qū)執(zhí)行操作時, BIOS調(diào)用硬盤特殊ATA指令。
作為本發(fā)明一個實施例,硬盤初始化(出廠)的時候,在硬盤中辟出一塊 空間,創(chuàng)建一個硬盤保護分區(qū)和若干用戶分區(qū),硬盤保護分區(qū)用于存儲各用戶 的重要數(shù)據(jù)信息(比如,用戶的口令信息、用戶指纟文信息、用戶ID、安全日志 和管理員口令信息等等)。硬盤保護分區(qū)的訪問權(quán)限受硬盤管理系統(tǒng)控制,形成
安全存儲空間。
作為本發(fā)明的一個實施例,特殊ATA指令包括對硬盤保護分區(qū)進行讀寫操 作功能的開、關(guān)指令,對硬盤保護分區(qū)進行讀寫操作的指令。
作為本發(fā)明的一個實施例,所述特殊的ATA指令在計算機系統(tǒng)初始化(出 廠)時通過加密裝置進行加密,并且得到的加密密鑰Kl由TPM再次進行加密 得到加密密文K2,所述的加密密文K2被保存在硬盤的保護分區(qū)中。
在步驟S502中,BIOS發(fā)送特殊ATA指令給硬盤管理系統(tǒng)。在該步驟中,BIOS將特殊的ATA指令直接發(fā)送到硬盤管理系統(tǒng)。由于所 述特殊的ATA指令是加密的,硬盤管理系統(tǒng)需要拿到數(shù)字簽名證書并通過密鑰 才可以對所述特殊的ATA指令進行解密,這時硬盤管理系統(tǒng)處于等待狀態(tài),等 待TPM發(fā)送數(shù)字簽名證書及解密密鑰Kl。
作為本發(fā)明的一個實施例,所述的BIOS為UEFI BIOS或傳統(tǒng)BIOS。
在步驟S503中,BIOS調(diào)用TPM并通過所述TPM對所述調(diào)用特殊ATA 指令的普通ATA指令及BIOS與TPM通訊指令進行完整性校驗。
在該步驟中,通過所述普通ATA指令調(diào)用特殊ATA指令庫中的特殊ATA 指令。
在該步驟中,所述需要TPM進行完整性校驗的指令包括BIOS與TPM通 訊指令,和BIOS調(diào)用TPM進行相關(guān)的操作的指令,'包括BIOS調(diào)用TPM對 指令進行完整性校驗的指令等。
作為本發(fā)明的一個實施例,所述的完整性校驗通過TPM對所述的指令Hash 比對來校驗指令的完整性。先通過SHA-1算法對指令進行一次哈希運算,生成 一個哈希值。由于初始化機器的時候,在TPM中已經(jīng)存放了一批指令集的指令 的哈希值,所以,只要將生成的哈希值與存放在TPM中對應(yīng)指令的哈希值進行 對比即可辨別指令的完整性。
在步驟S504中,判斷所述的校驗結(jié)果是否完整,是則執(zhí)行步驟S506,否 則執(zhí)行步驟S505。
在步驟S505中,當(dāng)校驗結(jié)果為不完整時,表明所述的ATA指令被篡改或 破壞,計算機系統(tǒng)掛起,給出提示信息,等待用戶的操作或重新啟動系統(tǒng)。
在步驟S506中,打開硬盤保護分區(qū),取出密鑰的加密密文K2。
在該步驟中,如果完整則由BIOS從硬盤保護分區(qū)中取出密鑰的加密密文 K2,并調(diào)用TPM對加密密文進行解密。
作為本發(fā)明的一個實施例,當(dāng)需要打開(訪問)硬盤保護分區(qū)或?qū)τ脖P保 護分區(qū)進行操作時,需要硬盤管理系統(tǒng)先打開硬盤保護分區(qū),才能執(zhí)行相關(guān)的操作,實現(xiàn)方法如圖3所示,在此不再贅述。
在步驟S507中,TPM對加密密文K2進行解密得到密鑰Kl 。
在該步驟中,TPM首先對所述BIOS發(fā)出的調(diào)用解密指令進行完整性校驗。 如果完整則由TPM利用其私鑰對所述的加密密文K2進行解密,得到密鑰K1。 這個解密的過程在全部在TPM內(nèi)部進行,保證解密過程中不會被篡改或破壞。 否則當(dāng)校驗結(jié)果為不完整時,計算機系統(tǒng)掛起,給出提示信息,等待用戶的操 作或重新啟動系統(tǒng)。
在步驟S508中,TPM將確保特殊ATA指令安全的數(shù)字簽名證書及解密密 鑰Kl發(fā)送給硬盤加密系統(tǒng)。
在步驟S509中,硬盤加密系統(tǒng)得到數(shù)字簽名證書后,利用密鑰K1,通過 加密系統(tǒng)模塊對特殊的加密ATA指令進行解密,得到特殊ATA指令原文。
在步驟S510中,硬盤管理系統(tǒng)打開硬盤保護分區(qū),并執(zhí)行通訊請求,允許 計算機主機系統(tǒng)和石更盤保護分區(qū)的通訊。
作為本發(fā)明的一個實施例,當(dāng)需要打開(訪問)硬盤保護分區(qū)或?qū)τ脖P保 護分區(qū)進行操作時,需要硬盤管理系統(tǒng)先打開硬盤保護分區(qū),才能執(zhí)行相關(guān)的 操作,實現(xiàn)方法如圖3所示,在此不再贅述。
作為本發(fā)明的一個實施例,主機系統(tǒng)與硬盤之間的安全傳輸實際上就是實 現(xiàn)了外部實體設(shè)備與TPM主機的訪問協(xié)議,它包含了 二者之間的認證以及信息 的完整性驗證,通過在主機的TPM和硬盤之間建立的安全通道來實現(xiàn)。外部實 體設(shè)備與主機的-瞼i正就是硬盤對包含了 TPM的主才幾系統(tǒng)的一驗證和主機系統(tǒng)對 硬盤的驗證,這一雙向驗證保證了平臺的可信性。數(shù)據(jù)完整性驗證保證了進行 通訊的實體間的消息(包括單個消息或多個消息以及消息的某一部分),不被 執(zhí)行非法篡改、插入或重放等操作,這一過程主要是通過Hash函數(shù)的數(shù)字簽名 機制來實現(xiàn)。通過所述機制,保證了主機系統(tǒng)和硬盤ATA指令的安全傳輸。
在本發(fā)明實施例中,通過對通訊時計算機主機系統(tǒng)和石更盤保護分區(qū)之間特 殊ATA指令進行加密傳輸,利用TPM對傳輸過程中的調(diào)用特殊ATA指令的普
16通ATA指令及BOIS與TPM之間的通訊指令進行完整性校驗,加解密過程及 密鑰的調(diào)用和存儲全部在TPM內(nèi)部進行,并且結(jié)合數(shù)字簽名的方式,保證了數(shù) 據(jù)的安全和不被泄漏,從而確保了計算機主機系統(tǒng)和硬盤之間的安全通訊。
以上所述僅為本發(fā)明的較佳實施例'而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明 的保護范圍之內(nèi)。
權(quán)利要求
1、一種硬盤ATA指令的加密傳輸?shù)姆椒?,其特征在于,所述方法包括如下步驟對特殊ATA指令進行加密,并由TPM對所述加密密鑰再次加密,將產(chǎn)生的密文存儲在硬盤保護分區(qū)中,所述特殊ATA指令為主機系統(tǒng)與硬盤保護分區(qū)通訊的ATA指令;當(dāng)有通訊請求時BIOS發(fā)送特殊ATA指令給硬盤內(nèi)硬盤管理系統(tǒng);BIOS調(diào)用TPM并通過所述TPM對調(diào)用特殊ATA指令的普通ATA指令及BIOS與TPM之間的通訊指令進行完整性校驗;如果完整則由BIOS從硬盤保護分區(qū)中取出密鑰的加密密文,并調(diào)用TPM對加密密文進行解密得到密鑰;TPM發(fā)送數(shù)字簽名證書及密鑰給硬盤加密系統(tǒng),由硬盤加密系統(tǒng)對特殊ATA指令解密,然后打開硬盤保護分區(qū)執(zhí)行通訊請求。
2、 如權(quán)利要求l所述的方法,其特征在于,所述特殊的ATA指令在計算 機系統(tǒng)初始化時通過加密裝置進行加密,形成一個加密的特殊ATA指令庫,由 BIOS進行管理,存儲在存儲設(shè)備中。
3、 如權(quán)利要求2所述的方法,其特征在于,所述加密裝置為BIOS中的軟 加密系統(tǒng)、硬盤內(nèi)的加密系統(tǒng)模塊或外接的加密卡。
4、 如權(quán)利要求2所述的方法,其特征在于,所述存儲設(shè)備為硬盤保護分區(qū)、 BIOS ROM、 BIOS Flash或外接非易失性存儲設(shè)備。
5、 如權(quán)利要求1所述的方法,其特征在于,所述BIOS為UEFIBIOS或傳 統(tǒng)BIOS。
6、 如權(quán)利要求1所述的方法,其特征在于,所述完整性校驗是通過TPM 對所述調(diào)用特殊ATA指令的普通ATA指令及BIOS與TPM之間的通訊指令 Hash比對來校驗指令的完整性。
7、 如權(quán)利要求l所述的方法,其特征在于,在所述BIOS調(diào)用TPM并通過所述TPM對調(diào)用特殊ATA指令的普通ATA指令及BIOS與TPM之間的通 訊指令進行完整性校驗步驟后進一步包括步驟如果校驗不完整則系統(tǒng)掛起, 等待用戶操作或重新啟動系統(tǒng)。
8、 如權(quán)利要求1所述的方法,其特征在于,所述打開硬盤保護分區(qū)進一步 包括如下步驟BIOS發(fā)送加密的指令及調(diào)用硬盤加密系統(tǒng)對所述加密的指令進行解密的 指令給硬盤加密系統(tǒng);TPM對BIOS調(diào)用加密系統(tǒng)進行解密的指令進行完整性校驗;如果完整TPM發(fā)送授權(quán)證書及密鑰給硬盤加密系統(tǒng);加密系統(tǒng)還原加密的指令,并發(fā)送完成解密應(yīng)答給BIOS;BIOS將解密后的指令發(fā)送給硬盤管理系統(tǒng),并調(diào)用TPM對完成解密的應(yīng) 答進行完整性校驗;如果完整TPM發(fā)送硬盤管理系統(tǒng)打開保護分區(qū)的授權(quán)證書給硬盤管理系統(tǒng);硬盤管理系統(tǒng)打開保護分區(qū),BIOS取出數(shù)據(jù),并關(guān)閉保護分區(qū)。
9、 如權(quán)利要求8所述的方法,其特征在于,所迷TPM對BIOS調(diào)用加密 系統(tǒng)進行解密的指令進行完整性校驗步驟和BIOS將解密的指令發(fā)送給硬盤管 理系統(tǒng),并調(diào)用TPM對完成解密的應(yīng)答進行完整性校驗步驟進一步包括步驟 如果校驗不完整則系統(tǒng)掛起,等待用戶操作或重新啟動系統(tǒng)。
10、 一種硬盤ATA指令的加密傳輸?shù)南到y(tǒng),其特征在于,所述裝置包括 加密裝置,用于對特殊ATA指令進行加密,并產(chǎn)生加密密鑰,所述特殊ATA指令為主機系統(tǒng)與硬盤保護分區(qū)通訊的ATA指令;TPM,用于對所述特殊ATA指令加密的密鑰進行加密或解密,并對傳輸 過程中的ATA指令進行完整性校驗以及發(fā)送數(shù)字簽名證書給硬盤內(nèi)硬盤管理 系統(tǒng);BIOS,用于管理加密的特殊ATA指令庫,發(fā)送調(diào)用所述特殊ATA指令的指令,并發(fā)送調(diào)用TPM進行完整性校驗相關(guān)指令; 硬盤,包括硬盤管理系統(tǒng),用于接收特殊ATA指令請求,并管理控制硬盤保護 分區(qū)的打開與關(guān)閉;及加密系統(tǒng)模塊,用于對特殊ATA指令進行解密。
11、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述加密裝置可以為硬盤內(nèi) 加密系統(tǒng)模塊。
12、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述加密裝置還可以為BIOS 中的軟加密系統(tǒng)或外4妄的加密卡。
13、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述特殊的ATA指令在計算 機系統(tǒng)初始化時通過加密裝置進行加密,形成一個加密的特殊ATA指令庫,由 BIOS進行管理,存儲在存儲設(shè)備中。
14、 如權(quán)利要求13所述的系統(tǒng),其特征在于,所述存儲設(shè)備為硬盤保護分 區(qū)、BIOSROM、 BIOS Flash或外接非易失性存儲設(shè)備。
15、 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述BIOS為UEFI BIOS 或傳統(tǒng)BIOS。
16、 如權(quán)利要求IO所述的系統(tǒng),其特征在于,所述完整性校驗是通過TPM 對所述調(diào)用特殊ATA指令的普通ATA指令及BIOS與TPM之間的通訊指令 Hash比對來校驗指令的完整性。
全文摘要
本發(fā)明適用于計算機領(lǐng)域,提供了一種硬盤ATA指令的加密傳輸?shù)姆椒ǎㄏ率霾襟E對特殊ATA指令進行加密,并由TPM對所述加密密鑰再次加密,將產(chǎn)生的密文存儲在硬盤保護分區(qū)中,所述特殊ATA指令為主機系統(tǒng)與硬盤保護分區(qū)通訊的ATA指令;當(dāng)有通訊請求時BIOS發(fā)送特殊ATA指令給硬盤內(nèi)硬盤管理系統(tǒng);BIOS調(diào)用TPM并通過所述TPM對調(diào)用特殊ATA指令的普通ATA指令及BIOS與TPM之間的通訊指令進行完整性校驗;如果完整則由BIOS從硬盤保護分區(qū)中取出密鑰的加密密文,并調(diào)用TPM對加密密文進行解密得到密鑰;TPM發(fā)送數(shù)字簽名證書及密鑰給硬盤加密系統(tǒng),由硬盤加密系統(tǒng)對特殊ATA指令解密,然后打開硬盤保護分區(qū)執(zhí)行通訊請求。
文檔編號G06F12/14GK101441601SQ20071007741
公開日2009年5月27日 申請日期2007年11月22日 優(yōu)先權(quán)日2007年11月22日
發(fā)明者姚文澤, 靖 宋, 張擁軍, 林詩達, 明 石, 兵 賈 申請人:中國長城計算機深圳股份有限公司