本發(fā)明涉及動態(tài)預(yù)啟動存儲加密密鑰。
背景技術(shù):
由于自動柜員機(jī)(atm)處理消費(fèi)者的金融交易,因此人們通常認(rèn)為它們是一種相對安全的設(shè)備。但是,正如具有內(nèi)存和處理器功能的任何其它設(shè)備,atm也很容易受到惡意軟件、病毒和竊聽的影響。
而且,對任何具備危及atm執(zhí)行環(huán)境能力的竊聽者而言,atm尤其有利可圖。atm不僅裝有貨幣,而且處理消費(fèi)者的金融賬戶信息。再者,atm可以訪問能夠訪問眾多不同金融機(jī)構(gòu)的安全金融網(wǎng)絡(luò),并有可能訪問通過與atm核心銀行系統(tǒng)的單獨(dú)網(wǎng)絡(luò)連接而進(jìn)行聯(lián)系的分行服務(wù)器。atm還可以在銀行分行內(nèi)彼此聯(lián)網(wǎng)。因此,遭到破壞的atm很可能會給眾多的消費(fèi)者和金融機(jī)構(gòu)帶來安全問題。
一項(xiàng)確保安全的技術(shù)是,解密atm的硬盤驅(qū)動器,并將解密密鑰存儲在遠(yuǎn)程服務(wù)器上或者硬盤驅(qū)動器自身上未加密的指定的硬盤驅(qū)動器隱藏區(qū)域中。當(dāng)atm啟動時,從服務(wù)器或硬盤驅(qū)動器上的指定區(qū)域獲得解密密鑰,并使用所述解密密鑰來從硬盤驅(qū)動器解密操作系統(tǒng)(os)。然后,當(dāng)os在加載時,將解密密鑰傳遞到os,并且os在atm運(yùn)行期間按需解密硬盤驅(qū)動器。
將解密密鑰存儲在遠(yuǎn)程服務(wù)器上的問題在于,atm常常會遇到存在于保存解密密鑰的遠(yuǎn)程服務(wù)器與atm之間的網(wǎng)絡(luò)連接的帶寬和連接性問題,這意味著,不可能獲得密鑰,或者因?yàn)閹拞栴}而耗費(fèi)過多時間。但是,atm仍可以很好地連接到其金融交換網(wǎng)絡(luò)和/或本地銀行分行服務(wù)器,這意味著,除了無法從遠(yuǎn)程服務(wù)器獲得解密密鑰之外,atm依然可以運(yùn)行供消費(fèi)者使用。
將解密密鑰存儲在硬盤驅(qū)動器上指定的未加密區(qū)域中的問題在于,如果密鑰遭到破壞,那么整個atm硬盤驅(qū)動器可能需要使用新的加密密鑰進(jìn)行重新加密。加密atm的整個硬盤驅(qū)動器是一個費(fèi)時的過程,而且通常只在最初給atm安裝硬盤驅(qū)動器時執(zhí)行一次。此外,多臺atm往往共用硬盤驅(qū)動器上其解密/加密密鑰所在的同一個位置,使得如果一臺atm上的某個位置遭到破壞,則所有atm都變得很容易受損,且所有atm都將因?yàn)槊荑€的共用位置被得知而需要重新加密其硬盤驅(qū)動器。
技術(shù)實(shí)現(xiàn)要素:
在各種實(shí)施方案中,提出了進(jìn)行動態(tài)的預(yù)啟動存儲加密密鑰管理的方法和自助式終端(sst)。
根據(jù)一項(xiàng)實(shí)施方案,提出了一種用于動態(tài)的預(yù)啟動存儲加密密鑰管理的方法。具體而言,在設(shè)備的預(yù)啟動循環(huán)期間從存儲器的第一部分獲得算法。執(zhí)行所述算法以獲得密鑰。使用所述密鑰解密存儲器的第二部分,以獲得第二密鑰。將第二密鑰提供給在所述設(shè)備上執(zhí)行、使用第二密鑰解密存儲器的第三部分的程序。所述存儲器可以包括硬盤驅(qū)動器或其它計算機(jī)存儲設(shè)備。
根據(jù)本發(fā)明的第一方面,提供了一種方法,其包括:在設(shè)備的預(yù)啟動循環(huán)期間,在設(shè)備上從存儲器的第一部分獲得算法;由設(shè)備執(zhí)行所述算法,以獲得密鑰;使用所述密鑰解密存儲器的第二部分,以獲得第二密鑰;以及將第二密鑰提供給在設(shè)備上執(zhí)行、使用第二密鑰解密存儲器的第三部分的程序。
所述方法還任選地包括:隨機(jī)生成第二版算法,所述第二版算法在執(zhí)行時隨機(jī)產(chǎn)生第二版密鑰;以及將第二版算法存儲在存儲器的第一部分中。
存儲第二版算法的步驟可進(jìn)一步包括:以不連續(xù)地存儲在存儲器的第一部分中的預(yù)定義順序存儲第二版算法。
所述方法可進(jìn)一步包括:將密鑰從設(shè)備的內(nèi)存中清除。
所述獲得步驟可進(jìn)一步包括:從存儲器的第一部分獲得呈無序序列的算法部分。
所述獲得步驟可進(jìn)一步包括:以預(yù)定義順序匯編算法的無序序列部分。
所述解密步驟可進(jìn)一步包括:從存儲器的第四部分使用第二密鑰以解密程序的指令,以及將指令加載到內(nèi)存中以在設(shè)備上執(zhí)行所述程序。
所述使用步驟進(jìn)一步包括:將指令加載為設(shè)備的操作系統(tǒng)(os),其中os為所述程序。
將第二密鑰提供給在設(shè)備上執(zhí)行的程序的步驟可進(jìn)一步包括:將第二密鑰提供給設(shè)備的操作系統(tǒng)(os),其中os為所述程序。
將第二密鑰提供給在設(shè)備上執(zhí)行的程序的步驟可進(jìn)一步包括:在向所述程序提供第二密鑰之前,將需要執(zhí)行的程序從存儲器的第四部分加載到設(shè)備的內(nèi)存中。
根據(jù)本發(fā)明的第二方面,提供了一種自助式終端(sst),其包括:處理器;硬盤驅(qū)動器;和預(yù)啟動管理器,其被配置為:i)在sst啟動循環(huán)期間在處理器上執(zhí)行;ii)從硬盤驅(qū)動器的第一部分獲得算法;iii)在處理器上執(zhí)行該算法以獲得密鑰;iv)解密硬盤驅(qū)動器的第二部分以獲得第二密鑰;以及v)向sst的操作系統(tǒng)(os)提供第二密鑰,以按照os的需要動態(tài)地解密硬盤驅(qū)動器的第三部分。
預(yù)啟動管理器還被任選地配置為:vi)隨機(jī)生成新版算法,所述新版算法隨機(jī)產(chǎn)生新版密鑰,以及vii)將新版算法存儲在硬盤驅(qū)動器的第一部分中。
sst任選地為atm。
根據(jù)本發(fā)明的第三方面,提供了一種方法,其包括:隨機(jī)生成算法,所述算法在設(shè)備預(yù)啟動時及在最初給設(shè)備安裝硬盤驅(qū)動器時隨機(jī)生成密鑰;在設(shè)備上執(zhí)行所述算法以獲得密鑰;從硬盤驅(qū)動器的第一部分獲得第二密鑰;使用第二密鑰加密硬盤驅(qū)動器的第二部分;將所述算法存儲在硬盤驅(qū)動器的第三部分中;以及使用所述密鑰加密硬盤驅(qū)動器的第一部分。
所述方法還任選地包括:使用第二密鑰從硬盤驅(qū)動器的第二部分解密設(shè)備的操作系統(tǒng)(os),以及將os加載到內(nèi)存中以在設(shè)備上執(zhí)行。
解密步驟還任選地包括:向os提供第二密鑰,以在設(shè)備啟動后的運(yùn)行期間按照os的需要動態(tài)地解密硬盤驅(qū)動器的第二部分。
所述方法可進(jìn)一步包括:將密鑰從設(shè)備的內(nèi)存中移除,其中密鑰不保留在硬盤驅(qū)動器上。
所述方法可進(jìn)一步包括:在給設(shè)備安裝硬盤驅(qū)動器之后啟動設(shè)備時,從硬盤驅(qū)動器的第三部分獲得算法;執(zhí)行所述算法以獲得密鑰;使用所述密鑰解密硬盤驅(qū)動器的第一部分,以獲得第二密鑰;以及向設(shè)備的操作系統(tǒng)(os)提供第二密鑰,以按照os的需要使用第二密鑰動態(tài)地解密硬盤驅(qū)動器的第二部分。
所述方法可進(jìn)一步包括:隨機(jī)生成新版算法,所述新版算法在執(zhí)行時隨機(jī)生成新版密鑰;使用該新版密鑰加密硬盤驅(qū)動器的第一部分;以及將新版算法存儲在硬盤驅(qū)動器的第三部分中。
所述方法可進(jìn)一步包括:將新版密鑰從設(shè)備的內(nèi)存中移除,其中新版密鑰不存儲在硬盤驅(qū)動器上。
附圖說明
本發(fā)明的這些方面和其它方面將從以下通過舉例給出并參照附圖進(jìn)行的具體描述中變得顯而易見,其中:
圖1是根據(jù)一項(xiàng)示例性實(shí)施方案的為自動柜員機(jī)(atm)提供動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理的銀行系統(tǒng)的圖解;
圖2是根據(jù)一項(xiàng)示例性實(shí)施方案的動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理方法的圖解;
圖3是根據(jù)一項(xiàng)示例性實(shí)施方案的進(jìn)行動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理的另一方法的圖解;
圖4是根據(jù)一項(xiàng)示例性實(shí)施方案的自助式終端(sst)的圖解。
具體實(shí)施方式
首先參照圖1,其是根據(jù)一項(xiàng)示例性實(shí)施方案為自動柜員機(jī)(atm)提供動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理的銀行系統(tǒng)100的圖解。應(yīng)注意的是,組件是以大大簡化的形式示意性示出的,而且僅示出了與理解實(shí)施方案相關(guān)的那些組件。
此外,僅出于圖解目的,示出了各種組件(標(biāo)示于圖1中)并呈現(xiàn)了這些組件的布置。應(yīng)注意的是,在不脫離此處及下文所提出的動態(tài)的預(yù)啟動硬盤驅(qū)動器(hd)加密密鑰(ek)管理教示的情況下,可以有更多或更少的組件。
銀行系統(tǒng)100包括銀行分行110、atm主機(jī)/交換機(jī)130和核心銀行系統(tǒng)140。銀行分行110包括:atm111和分行服務(wù)器120。
atm111包括一個或多個中央處理單元(cpu)112、易失性內(nèi)存113、非易失性內(nèi)存114、加密的hd115和多個外圍設(shè)備116。非易失性內(nèi)存114包括多個新穎預(yù)啟動/啟動指令114a。加密hd115包括驅(qū)動器/應(yīng)用程序代碼/等115a、操作系統(tǒng)(os)115b、新穎密鑰加密算法115c和加密/解密(ek)密鑰115d。
在常規(guī)方案中,atm安裝有具備二進(jìn)制輸入/輸出系統(tǒng)(bios)的非易失性內(nèi)存,所述二進(jìn)制輸入/輸出系統(tǒng)從hd獲得ek(“加密密鑰(ek)”也可以是如本文所用的解密密鑰),或者從與遠(yuǎn)程服務(wù)器的網(wǎng)絡(luò)連接獲得ek。bios隨后將os從hd加載到易失性內(nèi)存中。bios或者os使用ek對hd進(jìn)行首次加密(bios將ek傳遞給os以供os按需動態(tài)地解密hd)。應(yīng)注意的是,os在首次安裝在atm上時有可能從hd獲得ek,使得bios在常規(guī)方案中并非專門用來執(zhí)行這一任務(wù)(這種方案假設(shè)os代碼不使用ek進(jìn)行加密,否則os將永遠(yuǎn)不會在隨后atm啟動時正確地加載)。在常規(guī)方案中,當(dāng)隨后atm啟動或重新啟動時,ek由os獲得(通過遠(yuǎn)程服務(wù)器或hd的指定的未加密區(qū)域)并用于按需動態(tài)地解密hd。
正如此處及下文更詳細(xì)論述,atm11獲得、管理和/或處理ek時所采用的方式是在常規(guī)方法的基礎(chǔ)上修改得來。
在首次安裝atm111的組件時,將新穎bios或預(yù)啟動/啟動指令114a安裝到非易失性內(nèi)存114a(只讀內(nèi)存)中。預(yù)啟動/啟動指令114a查詢與atm111連接的外圍設(shè)備116,諸如通過對外圍設(shè)備116的通用串行總線(usb)接口進(jìn)行查詢,以識別其自身并提供相關(guān)的信息(媒體訪問控制(mac)地址、協(xié)議版本、設(shè)備序列號等)。外圍設(shè)備116可以包括各種設(shè)備,諸如但不限于自動取款機(jī)、存款機(jī)、加密密碼鍵盤(epp)、打印機(jī)、憑條打印機(jī)、網(wǎng)絡(luò)接口卡、觸摸屏等)。
繼續(xù)組件的首次安裝,在預(yù)啟動/啟動指令114a從外圍設(shè)備查詢獲得信息(參數(shù)或字段值)之后,預(yù)啟動/啟動指令114a隨機(jī)選擇各個字段或字段的部分。在一項(xiàng)實(shí)施方案中,也可以隨機(jī)使用可以從cpu112獲得的其它系統(tǒng)屬性。系統(tǒng)屬性可以包括各種信息,諸如但不限于cpumac地址、設(shè)備標(biāo)識符或序列號、處理器的大小和/或類型、非易失性內(nèi)存114的大小和/或類型、易失性內(nèi)存113的大小和/或類型等。接著,預(yù)啟動/啟動指令114a通過以隨機(jī)順序組合并/或以隨機(jī)方式計算從查詢隨機(jī)選擇的字段、隨機(jī)選擇的系統(tǒng)屬性和/或可能日期/時間/星期,隨機(jī)地定義密鑰加密算法115c以生成密鑰加密密鑰(kek)。kek用于以不同于加密的hd115的其它組件的加密方法(那些其它組件以ek115d加密),在加密的hd115上加密加密/解密密鑰(ek)115d。
預(yù)啟動/啟動指令114a隨后編譯生成的密鑰加密算法115c并在加密的hd115上模糊處理該算法(或許以僅為加密的hd115上的預(yù)啟動/啟動指令114a已知的預(yù)定義不連續(xù)順序進(jìn)行存儲)。請注意,密鑰加密算法115c沒有在加密的hd115上被加密。在經(jīng)預(yù)啟動/啟動指令114a編譯之后,編譯版密鑰加密算法115c可供cpu112從易失性內(nèi)存113執(zhí)行。
隨后,仍然在首次安裝atm111的組件時,預(yù)啟動/啟動指令114a從加密的hd115獲得ek115d(請注意,直到此時為止,加密的hd115實(shí)際上尚未被加密,并且預(yù)啟動/啟動指令114a被預(yù)配置為知道從hd115上的何處獲得ek115d)。
預(yù)啟動/啟動指令114a引起cpu112從易失性內(nèi)存113執(zhí)行密鑰加密算法115c,其引起了kek的生成。hd115(模糊處理的密鑰加密算法代碼115c和ek115d除外)由預(yù)啟動/啟動指令114a使用ek115d加密,而ek115d則由預(yù)啟動/啟動指令114a使用kek加密。應(yīng)注意的是,kek決不存儲在加密的hd115上的任何地方。os115b隨后由預(yù)啟動/啟動指令114a使用ek115d從當(dāng)前加密的hd115解密,并加載到易失性內(nèi)存113中以供cpu112執(zhí)行。預(yù)啟動/啟動指令114a將ek115d傳遞到os115b,以便os115b在atm111運(yùn)行期間按需用來動態(tài)地解密加密的hd115。
上述處理反映了在atm111上首次安裝加密的hd115時該hd115的初始加密。后繼處理則反映了在hd115首次安裝在atm111中且使用ek115d加密之后在atm111的后續(xù)啟動或開機(jī)時發(fā)生的處理。
在首次安裝加密的hd115之后,當(dāng)atm111啟動或重新啟動時,預(yù)啟動/啟動指令114a從預(yù)定義位置獲得密鑰加密算法115c,并以預(yù)定義順序進(jìn)行匯編。預(yù)啟動/啟動指令114a將密鑰加密算法115c從hd115加載到易失性內(nèi)存113中,以供cpu112執(zhí)行。密鑰加密算法115被執(zhí)行并生成自atm111先前啟動或重新啟動時產(chǎn)生的kek。預(yù)啟動/啟動指令114a隨后使用kek解密ek115d,以獲得解密版ek115d。os115b隨后使用ek115d從hd115進(jìn)行解密。將os115b加載到易失性內(nèi)存113中以供cpu112執(zhí)行,且賦予os115bek115d以按需從hd115動態(tài)地解密驅(qū)動器/應(yīng)用程序代碼/等115a。
接著,預(yù)啟動/啟動指令114a使用如上文參考hd115的初始安裝論述的隨機(jī)方法生成新的密鑰加密算法115c(且此后每當(dāng)新密鑰加密算法115c生成時都會隨機(jī)呈現(xiàn)不同的版本)。新加密算法115c被編譯、加載到易失性內(nèi)存113以供cpu112執(zhí)行,并(在hd115上以非加密格式)加以模糊處理。隨后執(zhí)行新加密算法115c以生成新kek。新kek隨后用于在hd115上解密ek115d,并從內(nèi)存中丟棄和移除該新kek,且決不再次存儲在hd115上。
每當(dāng)atm111啟動或重新啟動時,之前隨機(jī)生成的版本的密鑰加密算法115c從hd獲得并加以執(zhí)行,以產(chǎn)生之前生成的kek。該kek使ek115d能夠從hd解密并獲得,以按照os115b的需要解密hd115。隨后生成新版密鑰加密算法115c以產(chǎn)生新kek。新kek用于在hd115上重新加密ek115d,且隨后丟棄該新kek。
應(yīng)注意的是,由于隨機(jī)生成的密鑰加密算法115c依賴于來自外圍設(shè)備116的信息,所以如果在啟動時缺失其中任何一個外圍設(shè)備,或者如果cpu112在一定程度上有所不同(如系統(tǒng)屬性所通知的那樣),kek則不會正確地生成并將無法從hd115獲得ek115d,這意味著os115b將不加載,且hd115將無法使用。
此外,此處提出的新穎處理意味著,atmhd能夠以ek115d來安全地加密并且即使在與atm的網(wǎng)絡(luò)連接有一部分或者全部發(fā)生故障或速度遲緩時仍然可用。因此,當(dāng)網(wǎng)絡(luò)連接變成可用時,atm可以啟動并做好使用準(zhǔn)備,且此后不再依賴于從遠(yuǎn)程服務(wù)器遠(yuǎn)程獲取ek。
此外,因?yàn)閗ek(用于從hd115解密并獲得ek115d)依靠取決于特定atm111且會按照啟動循環(huán)隨該特定atm111隨機(jī)變化的隨機(jī)生成的密鑰加密算法115c,且因?yàn)閗ek決不存儲在hd115上,所以對黑客而言,獲得kek極為困難。即使密鑰加密算法115c萬一被破解,它也僅與其適用的特定atm111相關(guān),對其它atm則不起作用,而且這種相關(guān)性也只會在該特定atm重新啟動或重新開機(jī)之前發(fā)生。
現(xiàn)在,參照圖2-4來討論圖1中的某些實(shí)施方案和其它實(shí)施方案。
圖2是根據(jù)一項(xiàng)示例性實(shí)施方案的動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理方法200的圖解。實(shí)施方法200的軟件模塊被稱為“預(yù)啟動加密密鑰管理器”。預(yù)啟動加密密鑰管理器被實(shí)施為已編程并駐留于內(nèi)存和/或非暫時性計算機(jī)可讀(處理器可讀)存儲媒體上的可執(zhí)行指令,并且由設(shè)備的一個或多個處理器執(zhí)行。執(zhí)行預(yù)啟動加密密鑰管理器的設(shè)備的處理器被具體配置并編程為處理該預(yù)啟動加密密鑰管理器。預(yù)啟動加密密鑰管理器在執(zhí)行其處理期間可能訪問或可能不訪問一個或多個網(wǎng)絡(luò)連接。網(wǎng)絡(luò)連接可以是有線的、無線的或有線與無線的組合。
在一項(xiàng)實(shí)施方案中,執(zhí)行預(yù)啟動加密密鑰管理器的設(shè)備缺少網(wǎng)絡(luò)連接。
在一項(xiàng)實(shí)施方案中,執(zhí)行預(yù)啟動加密密鑰管理器的設(shè)備是圖1中的atm111。
在一項(xiàng)實(shí)施方案中,執(zhí)行預(yù)啟動加密密鑰管理器的設(shè)備是自助式終端(sst)。在一項(xiàng)實(shí)施方案中,sst是信息亭。在一項(xiàng)實(shí)施方案中,sst是自助結(jié)賬臺。
在一項(xiàng)實(shí)施方案中,執(zhí)行預(yù)啟動加密密鑰管理器的設(shè)備是銷售點(diǎn)(pos)終端。在一項(xiàng)實(shí)施方案中,pos終端由收銀員操作。
在一項(xiàng)實(shí)施方案中,預(yù)啟動加密密鑰管理器是圖1中的預(yù)啟動/啟動指令114a。
在一項(xiàng)實(shí)施方案中,預(yù)啟動加密密鑰管理器被集成到執(zhí)行該預(yù)啟動加密密鑰管理器的設(shè)備的bios中。
在210處,在執(zhí)行預(yù)啟動密鑰加密管理器的設(shè)備的預(yù)啟動循環(huán)期間,預(yù)啟動加密密鑰管理器從存儲器的第一部分獲得算法。設(shè)備在設(shè)備的os加載到內(nèi)存中供設(shè)備的一個或多個處理器執(zhí)行之前,處理預(yù)啟動循環(huán)。
根據(jù)一項(xiàng)實(shí)施方案,在步驟211處,預(yù)啟動加密密鑰管理器從存儲器的第一部分獲得呈無序序列的算法部分。也就是說,算法并非按連續(xù)或有序的方式原生地存儲在存儲器的第一部分內(nèi)。這是算法的模糊處理方式并且提高算法的安全級別。
在211的實(shí)施方案中以及在步驟212處,預(yù)啟動加密密鑰管理器將按其已知且配置在其中的預(yù)定義的正確順序,匯編算法的無序序列部分。
作為211和212的處理的替代方案,預(yù)啟動加密密鑰管理器可以通過按正確匯編算法所必需的預(yù)定義順序從存儲器的第一部分讀取不同的位置,選擇算法部分的正確序列。
在220處,預(yù)啟動加密密鑰管理器執(zhí)行該算法以獲得密鑰。也就是說,預(yù)啟動加密密鑰管理器將該算法加載到設(shè)備的內(nèi)存中,并向設(shè)備的處理器發(fā)出呼叫以使設(shè)備的處理器執(zhí)行該算法。該算法產(chǎn)生密鑰(正如上文參照圖1所論述)。
在230處,預(yù)啟動加密密鑰管理器使用該密鑰解密存儲器的第二部分,以獲取第二密鑰。這個第二密鑰正是如上文參照圖1以及下文參照圖2所論述,在最初安裝存儲器時用于加密存儲器的選定部分的密鑰。
在一項(xiàng)實(shí)施方案中,在231處,預(yù)啟動加密密鑰管理器使用第二密鑰從存儲器的第四部分解密程序的指令(如下文在240處所論述)。預(yù)啟動加密密鑰管理器隨后將這些指令加載到內(nèi)存中,以便作為程序由設(shè)備的處理器來執(zhí)行(再次如下文在240處所論述)。
在231的實(shí)施方案中以及在232處,預(yù)啟動加密密鑰管理器將這些指令加載為設(shè)備的os(該os為下文在240處所論述的程序)。
在240處,預(yù)啟動加密密鑰管理器將第二密鑰提供給(在設(shè)備上執(zhí)行的)程序。
在一項(xiàng)實(shí)施方案中,在241處,預(yù)啟動加密密鑰管理器將第二密鑰提供給設(shè)備的os;該os為該程序。
在一項(xiàng)實(shí)施方案中,在242處,在第二密鑰被提供給該程序之前,預(yù)啟動加密密鑰管理器將需要由設(shè)備處理器執(zhí)行的該程序從存儲器的第四部分加載到設(shè)備的內(nèi)存中。
根據(jù)一項(xiàng)實(shí)施方案,在步驟250處,預(yù)啟動加密密鑰管理器隨機(jī)生成第二版算法,該算法在執(zhí)行時隨機(jī)產(chǎn)生第二版密鑰(如上文參照圖1所論述)。接著,預(yù)啟動加密密鑰管理器將第二版算法存儲在存儲器的第一部分中(從根本上取代存儲器中的原始版本的算法)。預(yù)啟動加密密鑰管理器還引起執(zhí)行第二版算法來獲得第二版密鑰,然后使用第二版密鑰來重新加密具有第二密鑰的存儲器的第二部分。
在250的實(shí)施方案中以及在251處,預(yù)啟動加密密鑰管理器會以不連續(xù)地存儲在存儲器的第一部分中的預(yù)定義順序來存儲第二版算法。從本質(zhì)上看,第二版算法在存儲器中被加以模糊處理,因?yàn)樗贿B續(xù)地位于存儲器中而且只有預(yù)啟動加密密鑰管理器被配置為正確地排序第二版算法的指令。
根據(jù)一項(xiàng)實(shí)施方案,在260處,預(yù)啟動加密密鑰管理器將密鑰從設(shè)備的內(nèi)存中清除。該密鑰也不會存儲在存儲器上的任何一個地方。而且,一旦第二版算法(在250和251處進(jìn)行處理)取代了存儲器中的原始算法,則該密鑰永遠(yuǎn)都無法重新生成,因?yàn)榈诙嫠惴?即使被成功地破壞)將產(chǎn)生不同版本的原始密鑰。
圖3是根據(jù)一項(xiàng)示例性實(shí)施方案用于進(jìn)行動態(tài)的預(yù)啟動硬盤驅(qū)動器加密密鑰管理的另一方法300的圖解。實(shí)施方法300的軟件模塊被稱為“硬盤驅(qū)動器加密密鑰管理器”。硬盤驅(qū)動器加密密鑰管理器被實(shí)施為已編程并駐留于內(nèi)存和/或非暫時性計算機(jī)可讀(處理器可讀)存儲媒體上的可執(zhí)行指令,并且由設(shè)備的一個或多個處理器執(zhí)行。執(zhí)行硬盤驅(qū)動器加密密鑰管理器的處理器被具體配置和編程為處理該硬盤驅(qū)動器加密密鑰管理器。硬盤驅(qū)動器加密密鑰管理器在其處理期間可能訪問或可能不訪問一個或多個網(wǎng)絡(luò)連接。網(wǎng)絡(luò)連接可以是有線的、無線的或有線與無線的組合。
在一項(xiàng)實(shí)施方案中,執(zhí)行硬盤驅(qū)動器加密密鑰管理器的設(shè)備缺少網(wǎng)絡(luò)連接。
在一項(xiàng)實(shí)施方案中,執(zhí)行硬盤驅(qū)動器加密密鑰管理器的設(shè)備是圖1中的atm111。
在一項(xiàng)實(shí)施方案中,執(zhí)行硬盤驅(qū)動器加密密鑰管理器的設(shè)備是sst。在一項(xiàng)實(shí)施方案中,sst是信息亭。
在一項(xiàng)實(shí)施方案中,執(zhí)行硬盤驅(qū)動器加密密鑰管理器的設(shè)備是pos終端。
在一項(xiàng)實(shí)施方案中,硬盤驅(qū)動器加密密鑰管理器是圖1中的預(yù)啟動/啟動指令114a。
在一項(xiàng)實(shí)施方案中,硬盤驅(qū)動器加密密鑰管理器被集成到執(zhí)行該硬盤驅(qū)動器加密密鑰管理器的設(shè)備的bios中。
在一項(xiàng)實(shí)施方案中,硬盤驅(qū)動器加密密鑰管理器是圖2中的方法200的增強(qiáng)版。
硬盤驅(qū)動器加密密鑰管理器呈現(xiàn)了其中硬盤驅(qū)動器最初安裝在設(shè)備上的教示的一項(xiàng)實(shí)施方案(如上文參照圖1所論述)。硬盤驅(qū)動器加密密鑰管理器還呈現(xiàn)了設(shè)備的后續(xù)啟動的實(shí)施方案(如圖1及圖2的方法200所論述)。
在310處,硬盤驅(qū)動器加密密鑰管理器隨機(jī)生成一種算法,該算法在執(zhí)行時在設(shè)備預(yù)啟動時以及在最初安裝設(shè)備的硬盤驅(qū)動器時隨機(jī)生成密鑰。
在320處,硬盤驅(qū)動器加密密鑰管理器執(zhí)行該算法以獲得密鑰(再者,硬盤驅(qū)動器加密密鑰管理器將該算法的指令加載到設(shè)備的內(nèi)存中,并且設(shè)備的處理器從設(shè)備的內(nèi)存執(zhí)行這些指令)。
在330處,硬盤驅(qū)動器加密密鑰管理器從硬盤驅(qū)動器的第一部分獲得第二密鑰。
在340處,硬盤驅(qū)動器加密密鑰管理器使用第二密鑰加密硬盤驅(qū)動器的第二部分。
在350處,硬盤驅(qū)動器加密密鑰管理器將該算法存儲在硬盤驅(qū)動器的第三部分中。
在360處,硬盤驅(qū)動器加密密鑰管理器使用該密鑰加密存儲器的第一部分。最初,第一部分具有呈非加密格式的第二密鑰,硬盤驅(qū)動器加密密鑰管理器使用通過執(zhí)行隨機(jī)生成的算法獲得的密鑰來加密該第二密鑰。
根據(jù)一項(xiàng)實(shí)施方案,在370處,硬盤驅(qū)動器加密密鑰管理器使用第二密鑰解密硬盤驅(qū)動器的第二部分(在340處解密),以獲得設(shè)備的os。接著,硬盤驅(qū)動器加密密鑰管理器將該os加載到內(nèi)存中,以便在設(shè)備上執(zhí)行。
在370的實(shí)施方案中以及在步驟371處,硬盤驅(qū)動器加密密鑰管理器將第二密鑰提供給os,以使os在設(shè)備啟動后os運(yùn)行期間按照os的需要動態(tài)地解密硬盤驅(qū)動器的第二部分的選定部分。
在一項(xiàng)實(shí)施方案中,在380處,硬盤驅(qū)動器加密密鑰管理器將該密鑰(在320處生成)從設(shè)備的內(nèi)存中移除,并且該密鑰不被保留在硬盤驅(qū)動器上。
在一項(xiàng)實(shí)施方案中,在390處,當(dāng)設(shè)備在安裝硬盤驅(qū)動器后啟動時,硬盤驅(qū)動器加密密鑰管理器從存儲器的第三部分獲得算法(在350處存儲)。接著,執(zhí)行該算法以獲得密鑰(與320處產(chǎn)生的密鑰相同)。該密鑰隨后用于解密硬盤驅(qū)動器的第一部分,以獲得第二密鑰。第二密鑰隨后被提供給設(shè)備的os,以使os按照自身需要(使用第二密鑰)動態(tài)地解密硬盤驅(qū)動器的第二部分。
在390的實(shí)施方案中以及在391處,硬盤驅(qū)動器加密密鑰管理器隨機(jī)生成新版算法,所述新版算法在執(zhí)行時隨機(jī)生成新版密鑰。硬盤驅(qū)動器加密密鑰管理器引起新版算法執(zhí)行新版密鑰,并獲得新版密鑰。硬盤驅(qū)動器加密密鑰管理器隨后使用新版密鑰來重新加密具有第二密鑰的硬盤驅(qū)動器的第一部分。硬盤驅(qū)動器加密密鑰管理器隨后將新版算法存儲在硬盤驅(qū)動器的第三部分中(在硬盤驅(qū)動器上使用新版算法從根本上覆寫原版算法)。
在391的實(shí)施方案中以及在392處,硬盤驅(qū)動器加密密鑰管理器將新版密鑰從設(shè)備的內(nèi)存中移除,并且新版密鑰將不被存儲在硬盤驅(qū)動器上的任何一個地方。
圖4是根據(jù)一項(xiàng)示例性實(shí)施方案的sst400的圖解。sst400包括各種硬件組件及軟件組件。sst400的軟件組件被編程并駐留于內(nèi)存和/或非暫時性計算機(jī)可讀媒體內(nèi),并在sst400的一個或多個處理器上執(zhí)行。sst400可能或可能不通過一個或多個網(wǎng)絡(luò)進(jìn)行通信,所述網(wǎng)絡(luò)可以是有線的、無線的或有線與無線的組合。
在一項(xiàng)實(shí)施方案中,sst400缺少任何網(wǎng)絡(luò)連接。
在一項(xiàng)實(shí)施方案中,sst400是圖1中的atm111。
在一項(xiàng)實(shí)施方案中,sst400是信息亭。
在一項(xiàng)實(shí)施方案中,sst400是pos終端。
在一項(xiàng)實(shí)施方案中,sst400包括處理器401、hd402和預(yù)啟動管理器403。
預(yù)啟動管理器403被調(diào)適并配置成:在sst400的啟動循環(huán)期間在處理器401上執(zhí)行;從硬盤驅(qū)動器402的第一部分獲得算法;在處理器401上執(zhí)行該算法以獲得密鑰;解密硬盤驅(qū)動器402的第二部分以獲得第二密鑰;以及向sst400的os)提供第二密鑰,以按照os的需要動態(tài)地解密硬盤驅(qū)動器402的第三部分。
在一項(xiàng)實(shí)施方案中,預(yù)啟動管理器403被進(jìn)一步配置為:隨機(jī)生成新版算法,所述新版算法隨機(jī)產(chǎn)生新版密鑰;以及將新版算法存儲在硬盤驅(qū)動器402的第一部分中。
在一項(xiàng)實(shí)施方案中,預(yù)啟動管理器403包括圖1的預(yù)啟動/啟動指令114a。
在一項(xiàng)實(shí)施方案中,預(yù)啟動管理器403包括方法200。
在一項(xiàng)實(shí)施方案中,預(yù)啟動管理器403包括方法300。
在一項(xiàng)實(shí)施方案中,預(yù)啟動管理器403被集成到sst400的bios中。
術(shù)語“硬盤驅(qū)動器”在廣義上用來涵蓋眾多不同類型的長期計算機(jī)存儲器。它并不局限于依賴磁性存儲器的移動媒體,而是涵蓋了諸如固態(tài)驅(qū)動器等固態(tài)設(shè)備以及可被計算機(jī)訪問的任何其它方便型長期數(shù)據(jù)存儲器。
應(yīng)了解的是,在以特定形式(諸如組件或模塊)描述軟件時,這樣做只是為了便于理解,并無意對實(shí)施那些功能的軟件的可能構(gòu)建或結(jié)構(gòu)化方式加以限制。例如,雖然模塊被示為分離的模塊,但可以被實(shí)施為同源代碼、實(shí)施為個別組件,一些模塊但并非所有模塊都可以組合,或者功能可以在以任何其它便利方式結(jié)構(gòu)化的軟件中實(shí)施。
此外,盡管軟件模塊被示為在一個硬件上執(zhí)行,但是軟件可以分布于多個處理器上或以任何其它便利的方式分布。
以上描述是說明性的,而非限制性的。在查閱上述描述后,本領(lǐng)域中的技術(shù)人員將了解許多其它實(shí)施方案。因此實(shí)施方案的范圍應(yīng)參照隨附的權(quán)利要求,連同這類權(quán)利要求所享有的等同物的完整范圍來確定。
在之前對實(shí)施方案的描述中,出于簡化公開的目的,各個特征被一起組合到單個實(shí)施方案中。這種公開方法不應(yīng)被理解為:反映受權(quán)利要求保護(hù)的實(shí)施方案所具有的特征多于各權(quán)利要求中明確表述的特征。相反,正如以下權(quán)利要求所反映的,發(fā)明主題在于少于單個公開實(shí)施方案的所有特征。