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