專利名稱:在電子設備中安全地存儲數(shù)據(jù)的系統(tǒng)和方法
在電子設備中安全地存儲數(shù)據(jù)的系統(tǒng)和方法
背景技術:
在典型的計算機系統(tǒng)中,系統(tǒng)存儲器被用作用于各種類型數(shù)據(jù)的臨時存儲。正如這里所用,術語“數(shù)據(jù)”指計算機碼、控制信息、軟件算法、操作系統(tǒng)(OSe)、應用、安全密鑰、 證書,金融信息、個人信息或任何其他種類的有用信息。最近幾年中,黑客正利用若干新的或改進的技術獲取訪問存儲在計算機系統(tǒng)上的數(shù)據(jù)。例如,他們可能不僅是為了計算機本身,而且為了存儲在計算機系統(tǒng)上的數(shù)據(jù)而竊取操作計算機系統(tǒng),比如筆記本電腦。即使系統(tǒng)被鎖住(例如用密碼),黑客也可以重啟系統(tǒng)(例如用通用串行總線(USB)令牌)同時使系統(tǒng)存儲器的內容完整無缺。更進一步,黑客可利用任意數(shù)量的違法技術檢索存儲在計算機系統(tǒng)存儲器中的數(shù)據(jù)。因此,獲取的被盜信息可用于以未被授權的方式給數(shù)據(jù)的主人造成危害?,F(xiàn)今被黑客使用的一種更新的技術是物理地從用戶的電腦中移除存儲器模塊(系統(tǒng)存儲器、圖片存儲器或類似的),可能地凍結存儲器模塊來延遲包含在其中的信息的衰減。因為系統(tǒng)存儲器的內容以未被加密的格式存儲,黑客隨后把盜來的存儲器模塊安裝到另一臺計算機中來讀取它們的內容。
某些示例性的實施例在以下詳細描述中并參考附圖進行描述,其中圖1是根據(jù)本發(fā)明的示例性實施例的計算機系統(tǒng)的框圖。圖2是根據(jù)本發(fā)明的示例性實施例的在圖1中所示的計算機系統(tǒng)的存儲器子系統(tǒng)的框圖。圖3是根據(jù)本發(fā)明的示例性實施例示出了在電子設備中安全地存儲數(shù)據(jù)的方法的流程圖。圖4是根據(jù)本發(fā)明的示例性實施例示出了在電子設備中安全地存儲數(shù)據(jù)的替代方法的流程圖。
具體實施例方式圖1是根據(jù)本發(fā)明的示例性實施例的計算機系統(tǒng)的框圖。該計算機系統(tǒng)通常以參考標號100指代。本領域普通技術人員會意識到該計算機系統(tǒng)100可以包括包含電路的硬件元件、包含存儲在機器可讀媒介上的計算機碼的軟件元件或硬件和軟件元件的組合。另外,示于圖1的功能塊僅是可在本發(fā)明的示例性實施例中實施的功能塊的一個例子。本領域普通技術人員將能夠容易地基于特定的計算機系統(tǒng)的設計考慮定義出具體的功能塊。處理器102,比如中央處理單元或CPU,適于控制計算機系統(tǒng)100的總體運行。處理器102與存儲器控制器104相連,存儲器控制器104適于從系統(tǒng)存儲器106讀取數(shù)據(jù)和將數(shù)據(jù)寫入系統(tǒng)存儲器106。存儲器控制器104可包括包含非易失性存儲器區(qū)域和易失性存儲器區(qū)域的存儲器。正如將由本領域普通技術人員意識到的那樣,系統(tǒng)存儲器106可包括多個存儲器
4模塊。另外,系統(tǒng)存儲器106可包括非易失性和易失性部分。系統(tǒng)基本輸入-輸出系統(tǒng) (BIOS)可存儲在系統(tǒng)存儲器106的非易失性部分中。系統(tǒng)BIOS適于控制開動或啟動過程以及控制計算機系統(tǒng)100的低級操作。處理器102和至少一個系統(tǒng)總線108相連以允許處理器102和其它系統(tǒng)設備之間的通信。系統(tǒng)總線可在標準協(xié)議下操作,比如外設組件互連(PCI)總線的變型或類似的。 在圖1示出的示例性實施例中,系統(tǒng)總線108將一個或多個處理器102連接到硬盤驅動器 110、圖形控制器112和至少一個輸入設備114。硬盤驅動器110向計算機系統(tǒng)使用的數(shù)據(jù)提供非易失性存儲。圖形控制器112依次連接到顯示設備116,顯示設備116基于計算機系統(tǒng)100執(zhí)行的活動將圖像提供給用戶。正如下面詳細闡述的,本發(fā)明的示例性實施例適于通過提供計算機系統(tǒng)100中的部件之間的安全通信來防止數(shù)據(jù)偷竊。安全通信也包括存儲器中信息的加密和存儲以及信息的檢索及信息解密。在下面詳細描述的一個示例性實施例中,存儲器控制器104適于提供與系統(tǒng)存儲器106的安全加密的通信。但是本領域普通技術人員將意識到這里披露的技術可用于在計算機系統(tǒng)100中的幾乎任何部件之間提供安全的通信。例如,處理器102和 /或存儲器控制器104可適于與利用其它們有能力交換數(shù)據(jù)的任何設備進行安全地通信。 進一步,本發(fā)明的示例性實施例可提供安全的被加密數(shù)據(jù),這些數(shù)據(jù)存儲至并檢索于硬盤 110、圖形控制器112、處理器102或存儲器控制器104,且可具有計算機系統(tǒng)內的多個存儲器子系統(tǒng)(例如,對于圖形存儲器可有加密存儲器子系統(tǒng))。存儲安全的被加密數(shù)據(jù)的存儲器設備可包括高速緩沖存儲器或適用于給定應用的任何其他存儲器。圖2是根據(jù)本發(fā)明的示例性實施例在圖1中所示的計算機系統(tǒng)的存儲器子系統(tǒng)的框圖。存儲器子系統(tǒng)通常以參考標號200指代。存儲器子系統(tǒng)200包括存儲器控制器104 和系統(tǒng)存儲器106。系統(tǒng)存儲器106可分為多個存儲器區(qū)域,其可對應于存儲器的不同用途或類型。在圖2所示的本發(fā)明的典型實施例中,系統(tǒng)存儲器包含第一存儲器區(qū)域216和第二存儲器區(qū)域218。額外的存儲器區(qū)域也可存在,正如第η個存儲器區(qū)域218所示。正如下所述,本發(fā)明的示例性實施例對于不同的存儲器區(qū)域可采用不同的隨機加密密鑰和/或不同級別的加密。根據(jù)本發(fā)明的示例性實施例,數(shù)據(jù)的安全轉移可在寬范圍的情況下啟動。例如,安全的通信路徑可通過當計算機系統(tǒng)100重啟或另外接收到系統(tǒng)復位時生成隨機加密密鑰來啟動。安全通信可以通過當計算機系統(tǒng)100在休眠后恢復操作時產(chǎn)生隨機加密密鑰來啟動,而不論是否需要計算機復位來恢復操作。相似地,當計算機系統(tǒng)100在待機狀態(tài)后恢復操作時,可生成隨機加密密鑰。安全通信另外可通過強制系統(tǒng)存儲器加密更新來啟動,這可對數(shù)據(jù)正寫入的存儲器所有或一部分產(chǎn)生新的加密密鑰。隨機加密密鑰還可基于日期和/ 或時間產(chǎn)生,例如在一天的具體時間或在預置的時間段已經(jīng)終止后。在圖2所示的示例性實施例中,產(chǎn)生隨機加密密鑰,并且其被傳送至存儲器控制器104。隨機加密密鑰可存儲在加密密鑰存儲區(qū)域202中。加密密鑰存儲區(qū)域202可包括非易失性存儲器區(qū)域或易失性存儲器區(qū)域。加密密鑰存儲區(qū)域202可用于存儲多個隨機加密密鑰。例如,加密密鑰存儲區(qū)域202可存儲第一加密密鑰204和第二加密密鑰206。正如第η加密密鑰208所指示的,更多的加密密鑰可被存儲。多個加密密鑰的用途將在這里詳細解釋。
在本發(fā)明的一個示例性實施例中,加密密鑰存儲區(qū)域202包括只寫/ 一次寫寄存器,其可通過系統(tǒng)復位來復位。正如下面詳細解釋的,隨機加密密鑰用于加密被寫入系統(tǒng)存儲器106的數(shù)據(jù)。在本發(fā)明的一個示例性實施例中,存儲器控制器104被包含在第一集成電路設備中且系統(tǒng)存儲器106被包含在第二集成電路設備中。本領域普通技術人員將意識到加密密鑰可用多種方法產(chǎn)生。例如,加密密鑰可通過與計算機系統(tǒng)100相關聯(lián)的管理引擎產(chǎn)生。管理引擎的一個例子包括htel 管理引擎, 它可從加利福尼亞州的圣克拉拉的英特爾公司得到。加密密鑰另外可以基于和響應于用戶輸入產(chǎn)生,例如來自管理員的輸入、系統(tǒng)管理命令或類似的。加密密鑰可以由諸如處理器 102、存儲器控制器104、可信平臺模塊(TPM)或類似的系統(tǒng)部件產(chǎn)生。另外,可以通過企業(yè)連接接收加密密鑰。隨機加密密鑰可由系統(tǒng)BIOS產(chǎn)生,當計算機系統(tǒng)100被啟動時,系統(tǒng) BIOS執(zhí)行各種初始化功能。在本發(fā)明的一個示例性實施例中,不使用可通過對計算機系統(tǒng) 100中的任何集成電路設備進行逆向設計而發(fā)現(xiàn)的數(shù)據(jù)來產(chǎn)生隨機加密密鑰。在本發(fā)明的一個示例性實施例中,多個隨機加密密鑰由存儲器控制器104產(chǎn)生和有選擇地使用來加密數(shù)據(jù)。所述多個隨機加密密鑰可例如由存儲器控制器104產(chǎn)生。可替換地,所述多個隨機加密密鑰可由計算機系統(tǒng)100的另一部件,如系統(tǒng)BIOS提供。根據(jù)本發(fā)明的示例性實施例,系統(tǒng)存儲器106的不同區(qū)域可用不同的隨機加密密鑰來加密。不同的加密密鑰可用在系統(tǒng)存儲器106中的每一頁上。在其他示例性實施例中,多個加密密鑰可用于存儲器的每一頁。對于不同的設備或不同類型的存儲器,可使用不同的加密密鑰。另外,不同的加密密鑰可用在存儲器的不同區(qū)域,取決于存儲器的區(qū)域如何被使用。例如,存儲器的OS區(qū)域可用相對于存儲器的非OS程序區(qū)域和存儲器的用戶數(shù)據(jù)區(qū)域的不同的隨機加密密鑰來加密??蓪Ω咚倬彌_存儲器使用相對于系統(tǒng)存儲器不同的加密密鑰,且可對易失性存儲器采用相對于非易失性存儲器不同的加密密鑰。在不同的操作模式期間,可使用不同的隨機加密密鑰。使用多個隨機加密密鑰使得黑客難以使用數(shù)字產(chǎn)生器來識別所有用于加密系統(tǒng)存儲器106內容的隨機加密密鑰。在圖2所示的本發(fā)明的示例性實施例中,存儲器控制器104的加密塊210使用當前的隨機加密密鑰來加密所有被寫于系統(tǒng)存儲器106的數(shù)據(jù)。在被傳遞到加密塊204之前, 數(shù)據(jù)可被緩沖至寫緩沖器212中。本領域普通技術人員將意識到任何合適的加密方法可用來加密數(shù)據(jù),取決于系統(tǒng)設計考慮。此外,相對簡單快速的加密方法如XOR方法可用來最小化對系統(tǒng)性能的影響。更魯棒的加密方法論可用來使解碼數(shù)據(jù)對于黑客更難。本領域普通技術人員將意識到更強級別的加密會降低系統(tǒng)性能,卻具有使黑客更難以解碼數(shù)據(jù)的優(yōu)勢??筛鶕?jù)一些因素選擇不同的加密級別,比如系統(tǒng)的操作模式(起動模式、配置模式、建立時間模式、企業(yè)和/或系統(tǒng)管理模式、正常操作模式或類似的)。另外,根據(jù)用戶(例如用戶是否有管理特權)使用不同級別的加密。加密級別可依據(jù)用戶和/或在系統(tǒng)上用戶的權限而變化。例如,如果用戶在系統(tǒng)上有管理員權限,可使用更加安全的加密級別。另外,對于存儲器的不同區(qū)域或不同類型的存儲器可使用可變的加密級別。此外,本領域的普通技術人員將意識到加密塊210 使用的具體加密算法不是本發(fā)明的本質特征。在本發(fā)明的一個示例性實施例中,加密塊210可使用簡單加密算法比如XOR算法來最小化對存儲器子系統(tǒng)200吞吐量的影響。示例性XOR算法包括使用寫入系統(tǒng)存儲器的數(shù)據(jù)和隨機加密密鑰執(zhí)行XOR運算。以下的例子說明本發(fā)明的示例性實施例如何向存儲在系統(tǒng)存儲器中的數(shù)據(jù)提供增強的安全性。假設數(shù)據(jù)元素A和B在使用隨機加密密鑰R進行 XOR加密后將要寫入系統(tǒng)存儲器中。這個過程可用以下方程式描述A R = CB R = D其中C是A的加密版本且D是B的加密版本。加密數(shù)據(jù)C和D被存儲在系統(tǒng)存儲器中,而不是A或B本身。經(jīng)過一些數(shù)學操作,可得到以下結果C D = A B因此,博學的黑客可能能夠處理來自盜來的存儲器模塊的數(shù)據(jù)來重新構建某一 A、 B的結合。但是在沒有訪問隨機加密密鑰R的情況下得到A和B本身仍然是極其困難的。 本發(fā)明的示例性實施例的使用極大地增加了從系統(tǒng)存儲器中未授權地恢復數(shù)據(jù)的難度。當被加密的數(shù)據(jù)從系統(tǒng)存儲器106中讀出時,被加密的數(shù)據(jù)由存儲器控制器104 內的解密塊214解密。解密塊214利用用于由加密塊210執(zhí)行數(shù)據(jù)加密的隨機加密密鑰執(zhí)行解密。解密的數(shù)據(jù)可然后被提供給處理器102。本發(fā)明的示例性實施例通過只寫入被加密數(shù)據(jù)到系統(tǒng)存儲器106來提供增強的數(shù)據(jù)安全性。如果加密密鑰存儲區(qū)域202包括易失性存儲器,則本發(fā)明的示例性實施例減少了黑客或其他潛在數(shù)據(jù)偷竊者能夠恢復加密密鑰并獲取訪問用特定的隨機加密密鑰加密并隨后存儲在系統(tǒng)存儲器106中的數(shù)據(jù)的風險。存儲器控制器104不能被逆向設計或“拆卸(strip)”以確定密鑰,因為一旦移除存儲器控制器的電源,密鑰的數(shù)值將不存在于加密密鑰存儲區(qū)域202中。即使存儲在系統(tǒng)存儲器中的數(shù)據(jù)以某種方式,例如通過凍結包含系統(tǒng)存儲器等的存儲器模塊被保存,這也將阻止對使用特別的隨機加密密鑰加密的數(shù)據(jù)的訪問。圖3是根據(jù)本發(fā)明的示例性實施例示出操作如系統(tǒng)存儲器106(圖1)的受保護系統(tǒng)存儲器的方法的流程圖。該方法通常以參考標號300指代。在塊302中,本方法開始。在塊304中,生成了多個隨機加密密鑰。如塊306所示,這多個隨機加密密鑰被存儲在如計算機系統(tǒng)100(圖1)的電子設備的第一組件中。如塊308所示,對于電子設備的第二組件的多個存儲器區(qū)域的每一個,使用多個隨機加密密鑰的一個不同的密鑰來加密數(shù)據(jù)。如塊310所示,被加密的數(shù)據(jù)被轉移到電子設備的第二組件的存儲器中。在塊312中,該方法終止。圖4是根據(jù)本發(fā)明的示例性實施例示出一種在電子設備中安全存儲數(shù)據(jù)的替代方法的流程圖。該方法通常地以參考標號400指代。在塊402中,該方法開始。在塊404中,產(chǎn)生至少一個隨機加密密鑰。如塊406所示,該至少一個隨機加密密鑰被存儲在電子設備的第一組件的存儲器區(qū)域中。在塊408中,利用該至少一個隨機加密密鑰在多個不同加密級別上加密數(shù)據(jù)。如塊410所示,被加密的數(shù)據(jù)被轉移到電子設備的第二組件的存儲器。在塊412中,該方法終止。本發(fā)明的示例性實施例提供了在存儲器控制器和由例如多個存儲器模塊組成的系統(tǒng)存儲器之間安全的通信方法。這個示例性實施例使系統(tǒng)存儲器免遭大范圍的黑客攻擊。特別地,本發(fā)明的示例性實施例適于保護系統(tǒng)存儲器免遭物理攻擊和啟動攻擊。此外,可以使用標準存儲器組件和模塊。當引入新一代存儲器技術時,不需要額外的努力。本發(fā)明的示例性實施例在沒有顯著地影響系統(tǒng)性能和沒有影響操作系統(tǒng)和軟件應用性能的情況下提供系統(tǒng)存儲器安全性。最后,本發(fā)明的示例性實施例可在對整個系統(tǒng)成本和復雜性影響最小的情況下實施。
權利要求
1.一種在電子設備中安全地存儲數(shù)據(jù)的方法,該方法包括產(chǎn)生多個隨機加密密鑰;在該電子設備的第一組件的存儲器區(qū)域中存儲所述多個隨機加密密鑰對于該電子設備的第二組件的存儲器的多個區(qū)域中的每一個使用所述多個隨機加密密鑰中的一個不同的密鑰來加密數(shù)據(jù);以及轉移被加密的數(shù)據(jù)到該電子設備的第二組件的存儲器。
2.如權利要求1所述的方法,其中該電子設備的第二組件的存儲器的多個區(qū)域中的每一個對應存儲器頁。
3.如權利要求1所述的方法,其中該電子設備的第二組件的存儲器的多個區(qū)域中的每一個對應特定類型的存儲器。
4.如權利要求3所述的方法,其中該電子設備的第二組件的存儲器的多個區(qū)域中的至少一個對應存儲器的高速緩存區(qū)域、存儲器的非易失性區(qū)域或存儲器的易失性區(qū)域。
5.如權利要求1所述的方法,其中該電子設備的第二組件的存儲器的多個區(qū)域中的至少一個對應存儲器的操作系統(tǒng)區(qū)、存儲器的非操作系統(tǒng)程序區(qū)或存儲器的用戶數(shù)據(jù)區(qū)。
6.如權利要求1所述的方法,包括從該電子設備的第二組件讀取被加密的數(shù)據(jù);以及使用用來加密數(shù)據(jù)的多個隨機加密密鑰的其中一個密鑰來解密從該電子設備的第二組件讀取的被加密的數(shù)據(jù)。
7.如權利要求1-6中任意一個所述的方法,其中多個隨機加密密鑰中的至少一個是響應于用戶輸入,當該電子設備被啟動時,當該電子設備從休眠或暫停狀態(tài)恢復操作時,當該電子設備的系統(tǒng)復位發(fā)生時,在一天中的特定時間或在預置時間段終止后,由該電子設備的基本輸入/輸出系統(tǒng)(BIOS)、由該電子設備的處理器、由該電子設備的存儲器控制器、由該電子設備的可信平臺模塊(TPM)產(chǎn)生。
8.一種在電子設備中安全地存儲數(shù)據(jù)的方法,該方法包括產(chǎn)生至少一個隨機加密密鑰;在該電子設備的第一組件的存儲器區(qū)域中存儲所述至少一個隨機加密密鑰;使用所述至少一個隨機加密密鑰在多個不同加密級別上加密數(shù)據(jù);以及轉移被加密的數(shù)據(jù)到該電子設備的第二組件的存儲器中。
9.如權利要求8所述的方法,其中第二組件的存儲器包括多個存儲器類型,并且其中取決于其中被加密的數(shù)據(jù)將被存儲的第二組件的存儲器的類型使用多個不同加密級別中的一個不同的加密級別。
10.如權利要求9所述的方法,其中多個存儲器類型的第一類型包括存儲器的緩存區(qū)域、存儲器的非易失性區(qū)域或存儲器的易失性區(qū)域。
11.如權利要求8所述的方法,包括從該電子設備的第二組件讀取被加密的數(shù)據(jù);以及使用用來加密數(shù)據(jù)的多個不同加密級別的其中之一解密從該電子設備的第二組件讀取的被加密的數(shù)據(jù)。
12.如權利要求8所述的方法,其中取決于該電子設備的模式使用該多個不同加密級別的一個不同加密級別。
13.如權利要求8所述的方法,其中該多個不同加密級別中的第一級別包括XOR加密。
14.如權利要求8-13任意一個所述的方法,其中至少一個隨機加密密鑰是響應于用戶輸入,當該電子設備被啟動時,當該電子設備從休眠或暫停狀態(tài)恢復操作時,當該電子設備的系統(tǒng)復位發(fā)生時,在一天中的特定時間或在預置時間段終止后,由該電子設備的基本輸入/輸出系統(tǒng)(BIOS)、由該電子設備的處理器、由該電子設備的存儲器控制器、由該電子設備的可信平臺模塊(TPM)產(chǎn)生。
15.一種計算機系統(tǒng),包括適于存儲計算機系統(tǒng)使用的數(shù)據(jù)的硬盤;適于讀取存儲在該硬盤上的數(shù)據(jù)的處理器;以及第一組件,適于接收多個隨機加密密鑰、在存儲器區(qū)域中存儲所述多個隨機加密密鑰、 對于該計算機系統(tǒng)的第二組件的存儲器的多個區(qū)域的每一個使用該多個加密密鑰中的一個不同的密鑰來加密數(shù)據(jù)、使用該多個隨機加密密鑰中至少一個在多個不同加密級別上加密數(shù)據(jù)、并且轉移被加密的數(shù)據(jù)到該計算機系統(tǒng)的第二組件的存儲器。
全文摘要
這里提供了一種在電子設備中安全地存儲和檢索信息的增強方法。該方法包括產(chǎn)生多個隨機加密密鑰并在該電子設備的第一組件的存儲器區(qū)域中存儲所述多個隨機加密密鑰。該方法還可包括對于該電子設備的第二組件的存儲器的多個區(qū)域的每一個使用所述多個隨機加密密鑰的一個不同的密鑰來加密數(shù)據(jù)。該方法還可包括轉移被加密的數(shù)據(jù)到該電子設備的第二組件的存儲器。
文檔編號G06F12/14GK102362280SQ200980158342
公開日2012年2月22日 申請日期2009年3月23日 優(yōu)先權日2009年3月23日
發(fā)明者C·A·沃爾拉思 申請人:惠普開發(fā)有限公司