用於提供對系統存儲器的安全訪問的系統和方法
2023-09-14 19:36:05
專利名稱:用於提供對系統存儲器的安全訪問的系統和方法
用於提供對系統存儲器的安全訪問的系統和方法
背景技術:
在典型的計算機系統中,其中使用系統存儲器作為安全密鑰和證書的暫時儲存 器。近年來,黑客已經開始嘗試通過從用戶的計算機物理地移除存儲器模塊、可能地凍結存 儲器模塊以延遲其中所含數據的毀壞來獲得對安全數據的非法訪問。黑客隨後將竊取的存 儲器模塊安裝到另一計算機中以讀取它們的內容。以這樣的方式,黑客可以能夠取回存儲 器模塊中存儲的安全密鑰和證書並且使用竊取的信息以獲得對用戶的敏感數據的未授權 訪問O
在下文詳細描述中參照附圖描述某些示例實施例,在附圖中圖1是根據本發明一個示例實施例的計算機系統的框圖;圖2是根據本發明一個示例實施例的圖1中所示計算機系統的存儲器子系統的框 圖;並且圖3是示出根據本發明一個示例實施例的操作受保護的系統存儲器的方法的流 程圖。
具體實施例方式圖1是根據本發明一個示例實施例的計算機系統的框圖。計算機系統大體上由標 號100表示。本領域普通技術人員將理解計算機系統100可以包括硬體單元(包括電路)、 軟體單元(包括存儲於機器可讀介質上的計算機代碼)或者硬體和軟體單元的組合。此外, 圖1中所示功能塊僅是可以在本發明的一個示例實施例中實施的功能塊的一個例子。本領 域普通技術人員將容易能夠基於針對特定計算機系統的設計考慮來限定具體功能塊。處理器102(如中央處理單元或者CPU)適合於控制計算機系統100的整體操作。 處理器102連接到適合於從系統存儲器106讀取數據和向系統存儲器106寫入數據的存儲 器控制器104。存儲器控制器104可以包括如下存儲器,該存儲器包括非易失性存儲器區和 易失性存儲器區。如下文詳細闡述的那樣,本發明的一個示例實施例適合於通過提供在存 儲器控制器104與系統存儲器106之間的安全通信來防止數據竊取。系統存儲器106可以包括多個存儲器模塊,如本領域普通技術人員將理解的。此 外,系統存儲器106可以包括非易失性和易失性部分。系統基本輸入-輸出系統(BIOS)可 以存儲於系統存儲器106的非易失性部分中。系統BIOS適合於控制啟動或者引導過程並 且控制計算機系統100的低級操作。處理器102連接到至少一個系統總線108以允許在處理器102與其它系統設備之 間的通信。系統總線可以在諸如外圍部件互連(PCI)總線的變型等標準協議下操作。在圖 1中所示示例實施例中,系統總線108將處理器102連接到硬碟驅動器110、圖形控制器112 和至少一個輸入設備114。硬碟驅動器110為計算機系統所用的數據提供非易失性存儲。 圖形控制器112又連接到顯示設備116,該顯示設備基於由計算機系統100進行的活動來向用戶提供圖像。圖2是根據本發明一個示例實施例的圖1中所示計算機系統的存儲器子系統的框 圖。存儲器子系統大體上由標號200表示。存儲器子系統200包括存儲器控制器104和系 統存儲器106。當計算機系統100被引導或者以別的方式接收到系統復位時,存儲器控制器106 接收存儲在易失性存儲器區202中的隨機加密密鑰。在本發明的一個示例實施例中,易失 性存儲器區202包括經由系統復位來復位的只寫/ 一次性寫入寄存器。隨機加密密鑰可以 由系統BIOS生成,該系統BIOS在計算機系統被引導時執行各種初始化功能。如下文詳細 說明的那樣,隨機加密密鑰用來加密向系統存儲器106寫入的數據。在本發明的一個示例實施例中,後續隨機加密密鑰由存儲器控制器104選擇性地 用來加密數據。後續隨機加密密鑰可以例如由存儲器控制器104生成。可選地,後續隨機 加密密鑰可以由計算機系統100的另一部件如系統BIOS提供。如果使用後續隨機加密密 鑰,則系統存儲器106的不同區域將用不同的隨機加密密鑰進行加密。多個隨機加密密鑰 的使用使得黑客難以使用數字生成器來標識用來對系統存儲器106的內容進行加密的所 有隨機加密密鑰。存儲器控制器104的加密塊204使用當前隨機加密密鑰對向系統存儲器106寫入 的所有數據進行加密。在本發明的一個示例實施例中,簡單加密算法如XOR算法可以由加 密塊204使用以最小化對存儲器子系統200的吞吐量的影響。示例XOR算法包括使用向系 統存儲器寫入的數據和隨機加密密鑰執行XOR操作。以下例子說明本發明的一個示例實施 例如何針對存儲於系統存儲器中的數據提供增強的安全性。假設數據元A和B在已經使用 隨機加密密鑰R進行XOR加密之後要寫入到系統存儲器。可以使用以下等式來描述這一過 程A Φ R = CΒθ R = D其中C是A的加密版本且D是B的加密版本。加密數據C和D存儲於系統存儲器 中,而不是A或者B本身被存儲。利用一些數學操縱,獲得以下結果c D = ΑΘΒ因此,知識淵博的黑客可能能夠操縱來自竊取的存儲器模塊的數據以重建A和B 的某種聚集(conglomeration)。然而,在不能訪問隨機加密密鑰R的情況下獲得A和B本 身仍然非常困難。本發明示例實施例的使用顯著增加了對來自系統存儲器的數據進行未授 權恢復的難度。本領域普通技術人員將理解除了對隨機加密密鑰與將向系統存儲器寫入的數據 進行XOR之外的加密算法也可以用來對向系統存儲器106寫入的數據進行加密。另外,加 密塊204運用的具體加密算法並非本發明的基本特徵。當從系統存儲器106讀取加密數據時,它由存儲器控制器104內的解密塊208解 密。解密塊208使用曾由加密塊204用來執行數據加密的隨機加密密鑰來執行解密。然後 可以向處理器102提供解密數據。本發明的一個示例實施例通過向系統存儲器106僅寫入 加密數據來提供增強的數據安全。通過在存儲器控制器104內的易失性存儲器區中存儲隨機加密密鑰,本發明的一個示例實施例減小了如下風險黑客或者其他潛在數據竊取者將能夠恢復加密密鑰並且獲 得對用特定隨機加密密鑰加密並且隨後存儲於系統存儲器106中的數據的訪問。不能反工 程設計或者「剝離」存儲器控制器104以確定密鑰,因為密鑰的值在存儲器控制器斷電後不 會存在於非易失性存儲區202中。即使以某種方式(例如通過凍結構成系統存儲器的存儲 器模塊等)保存了系統存儲器中存儲的數據,這仍然將防止對已經使用特定隨機加密密鑰 加密的數據的訪問。圖3是示出了根據本發明一個示例實施例的操作受保護的系統存儲器如系統存 儲器106(圖1)的方法的流程圖。該方法大體上由標號300表示。該過程始於塊302。在塊304,每當引導計算機系統如計算機系統100(圖1)時生成隨機加密密鑰。如 在塊306所示,在存儲器控制器(如存儲器控制器104(圖1))的易失性存儲器區中存儲隨 機加密密鑰。如在塊308所示,使用隨機加密密鑰對數據進行加密。如在塊310所示,在系統存 儲器中存儲加密數據。在塊312,該過程結束。本發明的一個示例實施例提供一種在存儲器控制器與例如包括多個存儲器模塊 的系統存儲器之間的安全通信方法。這樣的示例實施例保護系統存儲器免受各種各樣的黑 客攻擊。具體而言,本發明的一個示例實施例適合於保護系統存儲器免受物理攻擊和引導 攻擊。另外,可以使用標準存儲器部件和模塊。當引入新一代存儲器技術時無需附加工作。 本發明的一個示例實施例提供系統存儲器安全而不明顯影響系統性能並且不影響操作系 統和軟體應用性能。最後,可以在對總系統成本和複雜度的影響最小的情況下實施本發明 的示例實施例。
權利要求
1.一種提供對存儲於計算機系統的系統存儲器中的數據的安全訪問的方法,所述計算 機系統包括用於向所述系統存儲器寫入數據和從所述系統存儲器讀取數據的存儲器控制 器,所述方法包括每當引導所述計算機系統時生成隨機加密密鑰;在所述存儲器控制器的易失性存儲器區中存儲所述隨機加密密鑰;使用所述隨機加密密鑰對數據進行加密以創建加密數據;並且在所述系統存儲器中存儲所述加密數據。
2.如權利要求1所述的方法,包括從所述系統存儲器讀取所述加密數據;並且使用所述隨機加密密鑰對所述加密數據進行解密。
3.如權利要求1所述的方法,其中所述存儲器控制器的所述易失性存儲器區包括只寫/ 一次性寫入寄存器。
4.如權利要求1所述的方法,包括在執行系統復位時復位所述存儲器控制器的所述易 失性存儲器區。
5.如權利要求1所述的方法,其中對所述數據進行加密包括使用所述數據和所述隨機 加密密鑰來執行XOR運算。
6.如權利要求1所述的方法,其中每當引導所述計算機系統時由系統基本輸入-輸出 系統(BIOS)生成所述隨機加密密鑰。
7.如權利要求1所述的方法,包括生成至少一個後續隨機加密密鑰;並且使用所述至少一個後續隨機加密密鑰對數據進行加密。
8.一種計算機系統的存儲器子系統,所述存儲器子系統包括存儲器控制器,其適合於每當所述計算機系統被引導時接收隨機加密密鑰、在所述存 儲器控制器中的易失性存儲器區中存儲所述隨機加密密鑰、使用所述隨機加密密鑰對數據 進行加密並且在系統存儲器中存儲加密數據。
9.如權利要求8所述的存儲器子系統,其中所述存儲器控制器適合於從所述系統存儲 器讀取所述加密數據並且使用所述隨機加密密鑰對所述加密數據進行解密。
10.如權利要求8所述的存儲器子系統,其中所述存儲器控制器的所述易失性存儲器 區包括只寫/一次性寫入寄存器。
11.如權利要求8所述的存儲器子系統,其中在執行系統復位時復位所述存儲器控制 器的所述易失性存儲器區。
12.如權利要求8所述的存儲器子系統,其中所述存儲器控制器適合於通過使用所述 數據和所述隨機加密密鑰執行XOR運算對所述數據進行加密。
13.如權利要求8所述的存儲器子系統,包括系統基本輸入-輸出系統(BIOS),其適 合於每當所述計算機系統被引導時生成所述隨機加密密鑰。
14.如權利要求8所述的存儲器子系統,其中所述存儲器控制器適合於使用至少一個 後續隨機加密密鑰對數據進行加密。
15.一種計算機系統,包括硬碟,其適合於存儲供所述計算機系統使用的數據;處理器,其適合於讀取所述硬碟上存儲的數據;存儲器控制器,其適合於每當所述計算機系統被引導時接收隨機加密密鑰、在所述存 儲器控制器中的易失性存儲器區中存儲所述隨機加密密鑰、從所述處理器接收數據、使用 所述隨機加密密鑰對所述數據進行加密並且在系統存儲器中存儲加密數據;以及系統存儲器,其適合於存儲從所述存儲器控制器接收的加密數據。
16.如權利要求15所述的計算機系統,其中所述存儲器控制器適合於從所述系統存儲 器讀取所述加密數據並且使用所述隨機加密密鑰對所述加密數據進行解密。
17.如權利要求15所述的計算機系統,其中所述存儲器控制器的所述易失性存儲器區 包括只寫/一次性寫入寄存器。
18.如權利要求15所述的計算機系統,其中在執行系統復位時復位所述存儲器控制器 的所述易失性存儲器區。
19.如權利要求15所述的計算機系統,其中所述存儲器控制器適合於通過使用所述數 據和所述隨機加密密鑰執行XOR運算對所述數據進行加密。
20.如權利要求15所述的計算機系統,包括系統基本輸入-輸出系統(BIOS),其適合 於每當所述計算機系統被引導時生成所述隨機加密密鑰。
全文摘要
提供了一種提供對存儲於計算機系統的系統存儲器中的數據的安全訪問的方法,該計算機系統包括用於向系統存儲器寫入數據和從系統存儲器讀取數據的存儲器控制器。該方法包括每當引導計算機系統時生成隨機加密密鑰並且在存儲器控制器的易失性存儲器區中存儲隨機加密密鑰。該方法還包括使用隨機加密密鑰對數據進行加密以創建加密數據並且在系統存儲器中存儲加密數據。也提供一種用於執行該方法的存儲器子系統和計算機系統。
文檔編號G06F12/14GK102150391SQ200880129100
公開日2011年8月10日 申請日期2008年5月9日 優先權日2008年5月9日
發明者V·Y·阿利, W·G·弗裡, 曼努埃爾·諾沃亞 申請人:惠普開發有限公司