專利名稱:用于訪問加密驅動器的sid管理的制作方法
技術領域:
本發(fā)明一般地涉及加密存儲裝置的安全標識符(SID)管理。更具體地,本發(fā)明涉及當SID丟失或損壞時恢復SID。
背景技術:
存儲裝置(例如磁盤、光盤、固態(tài)驅動器、硬盤、致密盤、數字多功能盤、閃存卡、直接訪問存儲裝置(DASD))可加密其中存儲的全部數據。當向存儲裝置寫入數據時,存儲裝置通過使用加密/解密算法來加密數據。當從存儲裝置讀取數據時,存儲裝置通過使用加密/解密算法來解密數據。構造加密/解密算法以便除非知曉加密密鑰否則幾乎不可能解碼加密的數據,導致高數據安全等級。加密/解密發(fā)生在存儲裝置其自身上,并且通過存儲裝置上的固件(即,嵌入硬件裝置中的計算機程序)管理。固件允許通過在使用存儲裝置之前設置為僅由數據的所有者明白的私密值的SID 部件來訪問加密的數據。SID是指用于唯一地識別用戶或組的字母數字字符串??商鎿Q地, SID是指用于加密和/或解密數據的一段信息(參數)。SID用于鎖定和解鎖對儲裝置的訪問,從而鎖定和解鎖存儲裝置中的數據。在存儲裝置為鎖定狀態(tài)時(即,僅允許具有有效 SID的用戶訪問存儲裝置內的數據的狀態(tài)),存儲裝置上的數據不可訪問。在管理并且發(fā)布SID的分離的機器中存儲SID。為了解鎖存儲裝置并且獲得對存儲裝置中的數據的訪問,用戶或計算裝置從該機器獲得SID,并且將該SID應用至存儲裝置以便訪問存儲裝置中的數據。然而,該機器可能變得損壞。從而,機器提供的SID可能為無效SID??商鎿Q地,SID可能在從機器檢索SID的點與將該SID應用在存儲裝置上的點之間損壞。丟失SID有效性的結果是整組數據可變得永久地鎖定并且不能訪問。如果SID損壞,則會影響在與該SID相關聯(lián)的(各)存儲裝置中存儲數據的全部用戶。如果用于整個存儲裝置的共享SID變得損壞或丟失,則因為不能解碼數據,所以存儲裝置中的全部數據不能恢復。從而,將期望提供一種用于在存儲裝置的密鑰或SID變得丟失或損壞的情況下將已經變得鎖定或不能解鎖的存儲裝置解鎖的方法以及系統(tǒng)。
發(fā)明內容
本發(fā)明為一種用于在存儲裝置的密鑰或SID變得丟失或損壞的情況下將已經變得鎖定或不能解鎖的存儲裝置或存儲裝置中的數據解鎖的方法以及系統(tǒng)。在一個實施例中,提供了一種用于將已經變得鎖定或不能解鎖的存儲裝置解鎖的系統(tǒng),包括密鑰管理器,用于安全地存儲密鑰;用于從所述密鑰移除位的部件;移除位管理器,用于安全地存儲移除位的位置以及移除位的數目(N);
用于在從所述密鑰移除位以后向所述密鑰添加位以便生成提示的部件;添加位管理器,用于安全地存儲添加位的位置以及添加位的數目;用于如果所述密鑰管理器中的所述密鑰丟失或不能解鎖所述存儲裝置、則在所述添加位的位置從提示移除所述添加位的部件;用于在所述移除位的位置將每個可能的N位放置在提示中以便生成2N個可能的密鑰的部件;以及用于應用2N個可能的密鑰的每個直至解鎖所述存儲裝置的部件。在一個實施例中,提供了一種用于將已經變得鎖定或不能解鎖的存儲裝置解鎖的方法,包括存儲密鑰;從所述密鑰移除位;存儲移除位的位置以及移除位的數目(N);在從所述密鑰移除位以后,向所述密鑰添加位,以便生成提示;存儲添加位的位置以及添加位的數目;如果所述密鑰管理器中的所述密鑰丟失或不能解鎖所述存儲裝置,則在所述添加位的位置從提示移除所述添加位;在所述移除位的位置將每個可能的N位放置在提示中,以便生成2N個可能的密鑰;以及對所述存儲裝置應用2N個可能的密鑰的每個直至解鎖所述存儲裝置。在另外的實施例中,通過利用加密/解密算法,使用密鑰來加密/解密存儲裝置中的數據。在另外的實施例中,所述移除位的位置和所述添加位的位置對相同的機構或相同的個人不知曉。
包括附圖以便提供本發(fā)明的進一步理解,并且附圖被結合并且組成本說明的一部分。附示本發(fā)明的實施例,并且連同描述用于說明本發(fā)明的原理。在附圖中,圖1圖示了在本發(fā)明一個實施例中用于生成提示的方法步驟。圖2圖示了在本發(fā)明一個實施例中的系統(tǒng)圖。圖3圖示了在本發(fā)明一個實施例中用于存儲提示的方法步驟。圖4圖示了在本發(fā)明一個實施例中用于用提示來解鎖存儲裝置的方法步驟。圖5圖示了本發(fā)明一個實施例中的另一種系統(tǒng)圖。
具體實施例方式圖1圖示了在本發(fā)明一個實施例中用于生成提示的方法步驟。當從默認制造值 (即,為了制造目的臨時分配的密鑰的初始值)更新存儲裝置的密鑰時,生成提示,用于在密鑰變得丟失、損壞、不可獲得、無效或不可使用的情況下解鎖存儲裝置。在一個實施例中, 密鑰為M位二進制數。然而,密鑰可為與加密/解密算法協(xié)同地用于鎖定或解鎖存儲裝置的任何數字字母字符。密鑰可為用于唯一地識別用戶或組的SID。密鑰可以為與加密/解密算法協(xié)同地用于加密或解密存儲裝置中的數據的一段信息。加密/解密算法包括但不局限于RSA (Rivest Shamir Adleman)、DES (數據加密標準)、Blowfish、IDEA (國際數據加密算法)、SEAL (軟件最優(yōu)化加密算法)、以及RC4 (RivestCipher 4)。在步驟100,用戶在存儲裝置中存儲M位密鑰。在一個實施例中,通過在存儲裝置或數據庫中實施密碼保護,在存儲裝置或數據庫中安全地存儲M位密鑰。在步驟110,用戶從M位密鑰中移除N位并且丟棄移除的N位。然而,用戶存儲移除位的數目(N)以及移除位的位置。在一個實施例中,例如通過在存儲裝置或數據庫上實施密碼保護,在存儲裝置或數據庫中安全地存儲移除位的數目以及移除位的位置。在進一步實施例中,在不同的存儲裝置或不同的數據庫中分開存儲移除位的數目(N)以及移除位的位置。在進一步實施例中, 用戶在多個位置移除位。然后,用戶存儲每個位置的移除位的數目。在移除N位后,在步驟120,密鑰由M-N位組成。在步驟130,用戶向密鑰添加隨機位??稍诿荑€中任何位置添加隨機位。在一個實施例中,隨機位的數目(K)等于N。在另一個實施例中,隨機位的數目與N不同。在添加隨機位后,用戶在存儲裝置或數據庫中存儲添加位的位置以及添加位的數目。通過在存儲裝置或數據庫上實施密碼保護,用戶可在存儲裝置或數據庫中安全地存儲位置以及數目。在進一步實施例中,用戶可在密鑰中多個位置添加隨機位。然后,用戶存儲添加位的數目以及每個添加位的位置。在隨機位的添加后,在步驟140,密鑰由M-N+K組成。如果隨機位的數目⑷與N 相同,那么在步驟140密鑰由M位組成。在步驟150,用戶存儲經由步驟110-140構造的 (M-N+K)位的密鑰作為提示。當由于存儲密鑰(即,在步驟100的密鑰)的存儲裝置上的缺陷導致在步驟100的密鑰變得丟失、無效、不可獲得或不可使用時,可使用提示??稍诖鎯ρb置或數據庫中存儲提示。例如通過在存儲裝置或數據庫上實施密碼保護,可以在存儲裝置或數據庫中安全地存儲提示。在一個實施例中,提示為經由步驟110-140構造的二進制數。在另一個實施例中,提示為通過ASCII碼表示的數字、字符或符號。在一個實施例中,每個不同的機構和/或每個不同的人管理或知曉移除位的位置、在每個移除位置的移除位的數目、添加位的位置以及在每個添加位置的添加位的數目。 從而,密鑰不能通過單個機構或單個人從提示來重建。后文將詳細描述怎樣從提示重建密鑰。圖2圖示了在本發(fā)明一個實施例中的系統(tǒng)圖。圖2描繪了在數據存儲裝置處執(zhí)行的適配器接口模塊220,該數據存儲裝置在接收密鑰(例如,SID)、移除位200的信息(即, 移除位的(多個)位置和/或在每個位置的移除位的數目)以及添加位240的信息(即,添加位的(多個)位置和/或在每個位置的添加位的數目)后構造提示。適配器220附接在存儲裝置(例如,盤250)上并且提供如冗余或RAID(冗余獨立盤陣列)的各種存儲算法。 ^Paterson ^AW "A Case for Redundant Array of Inexpensive Disk(RAID) ,, ( L^lT 稱為“Patterson”),SIGMOD會議,1988中描述了冗余或RAID,在此通過引用并入其全部內容。在一個實施例中,適配器220為在用戶正在使用的計算裝置(未示出)與用戶存儲數據的存儲裝置(例如,盤250)之間的接口。當通過用戶或操作系統(tǒng)(例如微軟Windows )創(chuàng)建密鑰時,適配器220從接合的計算裝置(未示出)的操作系統(tǒng)或用戶接收密鑰(例如SID 210)。然后,用戶或操作系統(tǒng)可提供移除位200的信息。移除位200的信息包括但不限于移除位的(多個)位置以及在每個位置的移除位的數目。換言之,信息200指定移除位的位置以及在每個位置要移除的位的數目。然后,適配器200在指定的(多個)位置移除指定的數目的位。在密鑰中移除指定數目的位后,適配器220接收來自用戶或操作系統(tǒng)的添加位 240的信息。提供信息MO的用戶或操作系統(tǒng)可與提供信息200的用戶或操作系統(tǒng)不同。 在另一個實施例中,提供信息MO的用戶或操作系統(tǒng)與提供信息200的用戶或操作系統(tǒng)相同。添加位MO的信息包括但不限于添加位的(多個)位置以及在每個位置添加位的數目。換言之,信息240指定添加位的位置以及在每個位置要添加的位的數目。然后,適配器 200在指定的(多個)位置添加指定的數目的位。在密鑰中添加了指定數目的位以后,密鑰變成提示230。可在存儲裝置(例如,盤 250)中存儲提示230。在一個實施例中,使用編程語言(例如,匯編語言、二進制碼、C、C++、 Java, . NET等)將適配器220實施為與存儲裝置(例如,盤250)相關聯(lián)的固件。在一個實施例中,在計算機可讀介質(例如,CD(致密盤)、DVD(數字多功能盤)、HDD(硬盤驅動器)、存儲器)中,將適配器220記錄為通過處理器(例如, Intel Pentium 、IBM Power PC 、AMD Opteron )執(zhí)行的指令(例如, 機器語言或匯編語言)。在另一個實施例中,使用硬件描述語言(Verilog、VHDL、Handel_C、或System C), 將適配器220實施為在可重配置硬件(例如,F(xiàn)PGA(場可編程門陣列)或CPLD(復雜可編程邏輯器件))上的硬件。在進一步實施例中,使用半制定設計方法論(即,使用標準單元以及硬件描述語言設計芯片),在半導體芯片(例如,ASIC(特定用途集成電路))上實施適配器220。在進一步實施例中,通過在計算裝置(例如,服務器、主機、臺式機、膝上型計算機等)中執(zhí)行,經由計算裝置將適配器220實施為硬件。計算裝置包括但不限于包括(多個) 處理器、(多個)存儲器、(多個)顯示裝置、(多個)輸入/輸出裝置以及(多個)網絡接圖3圖示了在本發(fā)明一個實施例中用于登記提示的方法步驟。在步驟300,開始用于登記提示的處理。在步驟310,適配器220或固件通過從密鑰移除位然后在密鑰中添加位,從密鑰(例如,SID 210)創(chuàng)建提示,如關于圖1在此描述的。然后,適配器220或固件將創(chuàng)建的提示與密鑰相關聯(lián)。在步驟320,適配器220或固件可更新與密鑰有關的(多個) 存儲裝置以便創(chuàng)建與提示的關聯(lián)。在成功地將(多個)存儲裝置與提示相關聯(lián)后,在步驟330,適配器220或固件在存儲裝置或數據庫中存儲提示。在步驟340,完成登記提示的處理。圖4圖示了在本發(fā)明一個實施例中通過使用存儲的提示來解鎖鎖定的存儲裝置的方法步驟。為了檢索存儲裝置中的數據,用戶或用戶操作的計算裝置可從存儲裝置或數據庫獲取相應的密鑰。然后,用戶向適配器220提供相應的密鑰以便解鎖存儲裝置或解密存儲裝置中的數據。然而,因為相應的密鑰損壞,所以相應的密鑰可能不能解鎖存儲裝置或解密存儲裝置中的數據。例如,存儲相應密鑰的存儲裝置或數據庫具有影響原始密鑰的缺陷。因此,當從存儲裝置或數據庫獲得密鑰時,存儲裝置或數據庫提供有缺陷的密鑰??商鎿Q地,存儲裝置或數據庫提供有效密鑰。然而,因為通信路徑上的跳動或通信路徑上的軟件缺陷,有效密鑰可能在其向適配器220或固件傳遞的期間損壞。當適配器220不能利用所提供的密鑰解鎖存儲裝置時,在步驟400,適配器220可訪問存儲與所提供的密鑰相關聯(lián)的提示的存儲裝置或數據庫。在步驟410,適配器220從存儲裝置或數據庫檢索提示(例如,二進制碼、用于字符的ASCII碼、用于數字的ASCII碼或用于符號的ASCII碼)。在步驟420,適配器通過執(zhí)行以下步驟來計算可能的密鑰(1)在從存儲裝置或數據庫檢索提示之后,適配器220從與提示相關聯(lián)的存儲裝置或數據庫檢索添加位的信息。添加位的信息可指定在哪里添加位以及在每個位置添加了多少位。然后,適配器220在添加了位的每個位置移除添加位。在移除添加位后,提示中的數目減少了添加位的數目。(2)適配器220從與提示相關聯(lián)的存儲裝置或數據庫檢索移除位的信息。移除位的信息可指定在哪里移除位以及在每個位置移除了多少位。在移除位的信息中的移除位的總數稱為N。(3)適配器220在移除位的每個位置放置可能的位??赡艿奈豢删哂信c在該位置的移除位相等的數目。例如,提示為0101_1100_0110_0000_11112。如果最低4位為添加位,則適配器220從該提示移除最后4位?,F(xiàn)在,提示變成了 0101_1100_0002。如果最高四位為移除位,則適配器在最高四位的位置放置每個可能的4位。換言之,提示現(xiàn)在變成 XXXX_0101_1100_00002?!癤XXX” 表示每個可能的位例如 00002、00012、...、1110、11112。 在該示例中,總共有16種可能的位。一般來講,適配器在移除位的每個位置放置每個可能的位。在每個位置的可能的位具有與在該位置的移除位相等的數目。從而,如果總的移除數目為N,適配器16通過在每個位置放置可能的位來創(chuàng)建2N個可能的密鑰?;氐綀D4,如上面所述,在步驟420,適配器420創(chuàng)建2N個可能的密鑰。適配器420 可在2N個可能的密鑰中選擇可能的密鑰來第一次嘗試解鎖不能解鎖的存儲裝置。當在2N 個可能的密鑰中選擇可能的密鑰時,適配器220看任意地選擇可能的密鑰。可替換地,適配器220在2N個可能的密鑰中選擇具有最低值或最高值的可能的密鑰。在步驟430,適配器220應用選擇的可能的密鑰來解鎖不能解鎖的存儲裝置。如果適配器220可以用選擇的可能的密鑰解鎖存儲裝置,則在步驟450,適配器220將選擇的可能的密鑰存儲為用于存儲裝置的有效密鑰。該有效密鑰可安全地存儲在存儲裝置或數據庫中。在步驟430,如果適配器220不能以選擇的可能的密鑰解鎖存儲裝置,則適配器 220可以刪除選擇的可能的密鑰或可以以關鍵字“已嘗試”來標記選擇的可能的密鑰。然后,適配器220在未選擇的可能的密鑰中選擇下一個可能的密鑰。適配器220可以在未選擇的可能的密鑰中隨機地選擇下一個可能的密鑰??商鎿Q地,適配器220可以選擇最低或最高可能的密鑰作為下一個可能的密鑰。如果適配器220不能選擇下一個可能的密鑰,則在步驟460,適配器220檢查是否評估了全部可能的密鑰或是否有未選擇的可能的密鑰。如果評估了全部可能的密鑰或如果沒有未選擇的可能的密鑰,則在步驟470,適配器220通知或提供解鎖存儲裝置的處理失敗的指示。否則,適配器220應用下一個可能的密鑰來解鎖不能解鎖的存儲裝置。重復步驟430-460直至適配器220成功地解鎖存儲裝置或評估了全部可能的密鑰。圖5圖示了本發(fā)明一個實施例中的系統(tǒng)圖。為了生成提示,模塊(例如,如固件的系統(tǒng)軟件530)從密鑰管理器500接收密鑰。密鑰管理器500包括安全地存儲密鑰或SID 的存放庫、存儲裝置或數據庫580,并且與存放庫、存儲裝置或數據庫580相關聯(lián)操作。密鑰管理器向模塊(例如,系統(tǒng)軟件530)、授權用戶或計算裝置(例如,臺式機、膝上型計算機、PDA等)分發(fā)密鑰或SID。在一個實施例中,密鑰為SID (例如,SID 210)。在一個實施例中,密鑰為通過利用加密/解密算法用于加密或解密存儲裝置中的數據的一段信息。然后,模塊在一個或多個位置從密鑰移除位。模塊存儲移除位的(多個)位置以及在每個位置的移除位的數目。在一個實施例中,在與移除位管理器510相關聯(lián)的存放庫、 存儲裝置或數據庫590中存儲移除位的(多個)位置以及在每個位置的移除位的數目。在一個實施例中,移除位管理器510包括安全地存儲移除位的(多個)位置以及在每個位置的移除位的數目的存放庫、存儲裝置或數據庫590。移除位管理器510與存放庫、存儲裝置或數據庫590相關聯(lián)地操作。移除位管理器510向模塊(例如,系統(tǒng)軟件530)、授權用戶或計算裝置提供移除位的(多個)位置以及在每個位置的移除位的數目。然后,模塊向密鑰添加位以便生成提示550。在一個實施例中,模塊在一個或多個位置向密鑰添加位。模塊存儲添加位的(多個)位置以及每個位置的添加位的數目。在一個實施例中,在與添加位管理器520相關聯(lián)的存放庫、存儲裝置或數據庫600中存儲添加位的(多個)位置以及添加位的數目。在一個實施例中,添加位管理器520包括安全地存儲添加位的(多個)位置以及在每個位置的添加位的數目的存放庫、存儲裝置或數據庫600。 添加位管理器520與存放庫、存儲裝置或數據庫600相關聯(lián)地操作。添加位管理器520向模塊(例如,系統(tǒng)軟件530)、授權用戶或計算裝置提供添加位的(多個)位置以及在每個位置的添加位的數目。模塊也在存儲裝置、存放庫或數據庫存儲提示550。當用戶或應用(例如,數據庫管理系統(tǒng)(DBMS))想要訪問通過密鑰加密的存儲裝置(盤560、盤570、盤陣列、RAID等)中的數據時,模塊訪問密鑰管理器500檢索相應的密鑰。然后,模塊向存儲適配器540發(fā)送檢索到的密鑰。存儲適配器540管理協(xié)議以便認證存儲裝置的檢索到的密鑰并且解鎖存儲裝置,從而可以經由加密算法向存儲裝置寫入數據并且可以經由解碼算法從存儲裝置讀取數據。然而,如果從密鑰管理器500檢索到的密鑰損壞或有缺陷從而該密鑰與能夠解鎖存儲裝置或解密數據的原始密鑰不同,則存儲適配器540可能不能解鎖存儲裝置或解密數據。然后,存儲適配器540聯(lián)系模塊以重建可能的密鑰來解鎖存儲裝置或解密數據。為了重建可能的密鑰,模塊首先檢索與不能解鎖的存儲裝置相關聯(lián)的提示。在一個實施例中,當請求重建可能的密鑰時存儲適配器MO向模塊提供提示。在從存儲裝置、數據庫或存儲適配器540獲取提示后,模塊從添加位管理器520獲取添加位的(多個)位置以及在每個位置的添加位的數目。然后,模塊在添加位的每個位置從提示中移除添加位。然后,模塊從移除位管理器510獲取移除位的(多個)位置以及在每個位置的移除位的數目。如果移除位的總數是N,則模塊在移除位的(多個)位置在提示中放置每個可能的N位。例如,假設存在移除位的第一位置以及移除位的第二位置。在第一位置,移除了 m位。在第二位置,移除了 k位。然后,模塊在提示的第一位置放置每個可能的m位并且在提示的第二位置放置每個可能的k位。通過在第一位置放置每個可能的m位以及在第二位置放置每個可能的k位,模塊創(chuàng)建了 2(m+k)個可能的密鑰,因此,如果移除位的總數為 N( 即,m+k = N),模塊創(chuàng)建了 2N個可能的密鑰。
然后,模塊應用2N個可能的密鑰的每個來解鎖不能解鎖的存儲裝置。在一個實施例中,使用編程語言(例如,匯編語言、二進制碼、C、C++、Java, . NET 等)將模塊、密鑰管理器500、移除位管理器510以及添加位管理器520實施為固件。在一個實施例中,在計算機可讀介質(例如,CD (致密盤)、DVD (數字多功能盤)、HDD (硬盤驅動器)、存儲器)中,將模塊、密鑰管理器500、移除位管理器510以及添加位管理器520記錄為通過處理器(例如,Intel Pentium 、IBM Power PC 、AMD Opteron ) 執(zhí)行的指令(例如,機器語言或匯編語言)。在另一個實施例中,使用硬件描述語言(Verilog、VHDL、Handel_C、或System C), 將模塊、密鑰管理器500、移除位管理器510以及添加位管理器520實施為在可重配置硬件 (例如,F(xiàn)PGA(場可編程門陣列)或CPLD (復雜可編程邏輯器件))上的硬件。在進一步實施例中,使用半制定設計方法論(即,使用標準單元以及硬件描述語言設計芯片)在半導體芯片(例如,ASIC(特定用途集成電路))上實施模塊、密鑰管理器500、移除位管理器510 以及添加位管理器520。在進一步實施例中,通過在計算裝置(例如,服務器、主機、臺式機、膝上型電能等)中執(zhí)行,通過計算裝置將模塊、密鑰管理器500、移除位管理器510以及添加位管理器 520實施為硬件。計算裝置包括但不限于包括(多個)處理器、(多個)存儲器、(多個) 顯示裝置、(多個)輸入/輸出裝置以及(多個)網絡接口。在一個實施例中,將允許嘗試解鎖存儲裝置的數目設置為固定數目,例如1024。如果將移除位的總數設置為滿足2N <固定數目,則在用盡全部允許的嘗試從而存儲裝置中的數據變得永久鎖定并且實際上永遠丟失之前,本發(fā)明可解鎖不能以從密鑰管理器500檢索到的密鑰解鎖的存儲裝置。從而,本發(fā)明一個實施例在創(chuàng)建提示時從原始密鑰中移除N 位。設置N位滿足2N小于或等于允許嘗試的最大數目,例如10M。下面是采用本發(fā)明的使用方案當從其默認制造值更新SID時,生成可存儲并在將來使用的提示,以便如果SID變得不可獲得或不可使用時嘗試解鎖存儲裝置。假設SID的長度為256位。1.最初,將提示設置為具有與SID相同的值。然后,在提示中移除多個位。例如, 假設已經從256位移除9位,將提示的長度減少至247位。(然而,本發(fā)明可移除任何數目的位。)2.為了防止確定移除位的數目,向247位的提示添加相同數目的隨機位以便使其回到256位。(然而,本發(fā)明可添加任何數目的位。)添加這些位的位置不必匹配移除位的位置。3.例如通過通知有限的授權人員,安全地知曉移除位的位置,并且例如通過將移除位的位置存儲于具有密碼保護的文檔中,安全地存儲移除位的位置。永不泄漏或丟棄移除位的值。同樣安全地知曉并安全地存儲移除位的數目。4.例如通過通知有限的授權人員,安全地知曉添加位的位置,并且例如通過將添加位的位置存儲于具有密碼保護的文檔中,安全地存儲添加位的位置。同樣安全地知曉并安全地存儲添加位的數目。5.移除位的位置以及添加位的位置對相同的機構或相同的個人不知曉是重要的。 移除位的數目以及添加位的數目對相同的機構或相同的個人不知曉。例如,設備提供商可知曉移除位的位置以及移除位的數目??蛻艨芍獣蕴砑游坏奈恢靡约疤砑游坏臄的?。從而, 不能通過單個機構或單個人重建SID。6.安全地知曉并安全地存儲提示。7.如果SID變得丟失或不可使用,則使用提示來嘗試解鎖存儲裝置。重建SID是基于移除位的位置、添加位的位置、移除位的數目以及添加位的數目。在以下步驟中描述重建SID的示例8.從安全地存儲提示的人員或機構經由⑶I (圖形用戶界面)或API (應用程序接口)獲取提示。從安全地存儲添加位的位置以及添加位的數目的個人或機構獲取添加位的位置以及添加位的數目。然后,從提示中移除添加位,將256位的提示減少至247位。9.從安全地存儲移除位的位置以及移除位的數目的人員或機構獲取移除位的位置以及移除位的數目。10.基于移除位的位置以及移除位的數目,通過將每個可能的9位放置于移除位的位置生成512(000000000至111111111)個可能的256位的SID011.然后使用每個可能的256位的SID來嘗試解鎖存儲裝置。這可使用上至512 次嘗試,這比允許的嘗試的最高數目(例如1024)要少。雖然具體地描述了本發(fā)明優(yōu)選實施例,但應該理解的是在不背離如權利要求定義的本發(fā)明的精神與范圍的情況下,可以進行各種改變和置換??蔀槊總€期望的特定應用以任何組合實現(xiàn)本發(fā)明描述的變體。從而,可對特定的應用具有特定的優(yōu)點的在此描述的特定的限定和/或實施例增強不必用于全部應用。同樣,不是全部限定都需要實施在包括本發(fā)明的一個或更多構思的方法、系統(tǒng)和/或設備中??捎糜布④浖?、或硬件與軟件的組合實現(xiàn)本發(fā)明。硬件與軟件的典型的組合可為具有計算機程序的通用計算機系統(tǒng),該計算機程序在被加載并執(zhí)行時,控制計算機系統(tǒng),使其執(zhí)行在此描述的方法。也可將本發(fā)明嵌入計算機程序產品,其包括使得在此描述的方法能夠實施的全部特征,并且其在加載到計算機系統(tǒng)中時能夠執(zhí)行這些方法。本上下文中的計算機程序部件或計算機程序包括以任何語言、代碼或符號的一組指令的任何表達,該組指令旨在使得具有信息處理能力的系統(tǒng)直接地或在轉換至另一種語言、代碼或符號和/或以不同材料形式再現(xiàn)后執(zhí)行特定功能。因此,本發(fā)明包括制造產品,其包括具有收錄其中的用于引起上述功能的計算機可讀程序代碼部件的計算機可用介質。制造產品中的計算機可讀程序代碼部件包括用于使得計算機來實現(xiàn)本發(fā)明的方法步驟的計算機可讀程序代碼。類似地,可將本發(fā)明實施為計算機程序產品,其包括具有收錄其中的用于引起上述功能的計算機可讀程序代碼部件的計算機可用介質。計算機程序產品中的計算機可讀程序代碼部件包括用于使得計算機來實現(xiàn)本發(fā)明的一個或多個功能的計算機可讀程序代碼部件。此外,可將本發(fā)明實施為機器可讀的程序存儲裝置,其有形地收錄機器可運行來執(zhí)行用于引起本發(fā)明一個或多個功能的方法步驟的指令程序。可在收錄了由處理器(例如,IBM PowerPC 、SUN Sparc⑧等)執(zhí)行
來用于使計算機(例如,臺式機、膝上型計算機、服務器等)執(zhí)行一個或更多本發(fā)明的功能的計算機程序指令(例如,C++、C、Java, . Net、匯編語言、二進制碼等)的計算機可讀介質 (例如,致密盤、數字多功能盤、硬盤、光盤、固態(tài)驅動器等)上實施本發(fā)明。本發(fā)明還包括一種部署計算機程序產品的方法,所述計算機程序產品包括在計算機可讀介質中的用于本發(fā)明一個或更多功能的指令的程序,其中,當通過處理器執(zhí)行指令的程序時,計算機程序產品執(zhí)行本發(fā)明一個或更多功能。 注意到前文概括了本發(fā)明的一些更加相關的對象以及實施例。本發(fā)明可應用于許多應用。因此,雖然對特定的安排以及方法進行了描述,本發(fā)明的意圖以及構思可適于并且可用于其它安排以及應用。對于本領域技術人員顯而易見的是,在不背離本發(fā)明范圍的情況下,可實現(xiàn)對公開的實施例的修改。應該將所描述的實施例解釋為僅僅說明本發(fā)明的一些更顯著特征或應用??梢酝ㄟ^以不同的方式應用公開的發(fā)明或以本領域技術人員知曉的方式修改本發(fā)明來實現(xiàn)其它有益的結果。
權利要求
1.一種用于將已經變得鎖定或不能解鎖的存儲裝置解鎖的系統(tǒng),包括 密鑰管理器,用于安全地存儲密鑰;用于從所述密鑰移除位的部件;移除位管理器,用于安全地存儲移除位的位置以及移除位的數目(N); 用于在從所述密鑰移除位以后向所述密鑰添加位以便生成提示的部件; 添加位管理器,用于安全地存儲添加位的位置以及添加位的數目; 用于如果所述密鑰管理器中的所述密鑰丟失或不能解鎖所述存儲裝置、則在所述添加位的位置從提示移除所述添加位的部件;用于在所述移除位的位置將每個可能的N位放置在提示中以便生成2N個可能的密鑰的部件;以及用于應用2N個可能的密鑰的每個直至解鎖所述存儲裝置的部件。
2.如權利要求1所述的系統(tǒng),其中,所述密鑰管理器、所述移除位管理器或所述添加位管理器其中之一包括存儲裝置或數據庫,并且與所述存儲裝置或所述數據庫相關聯(lián)地操作。
3.如權利要求1或權利要求2所述的系統(tǒng),其中,所述密鑰為SID(安全標識符)。
4.如以上任意一項權利要求所述的系統(tǒng),其中,通過采用加密/解密算法使用所述密鑰來加密或解密存儲裝置中的數據。
5.如權利要求4所述的系統(tǒng),其中,所述加密/解密算法為以下之一或更多RSA、 Rivest Shamir Adleman、DES、數字加密標準、Blowfish、IDEA、國際數據加密算法、SEAL、軟件優(yōu)化加密算法、以及RC4、Rivest Cipher 4。
6.如以上任意一項權利要求所述的系統(tǒng),其中,所述移除位管理器和所述添加位管理器不由相同的機構或相同的個人管理。
7.如以上任意一項權利要求所述的系統(tǒng),其中,所述提示安全地存儲在存儲裝置中。
8.一種用于將已經變得鎖定或不能解鎖的存儲裝置解鎖的方法,包括 存儲密鑰;從所述密鑰移除位;存儲移除位的位置以及移除位的數目(N);在從所述密鑰移除位以后,向所述密鑰添加位,以便生成提示;存儲添加位的位置以及添加位的數目;如果所述密鑰管理器中的所述密鑰丟失或不能解鎖所述存儲裝置,則在所述添加位的位置從提示移除所述添加位;在所述移除位的位置將每個可能的N位放置在提示中,以便生成2N個可能的密鑰;以及對所述存儲裝置應用2N個可能的密鑰的每個直至解鎖所述存儲裝置。
9.如權利要求8所述的方法,其中所述密鑰、所述移除位的位置和所述移除位的數目、 或所述添加位的位置和所述添加位的數目中的一個安全地存儲在存儲裝置或數據庫中。
10.如權利要求8或權利要9所述的方法,其中所述密鑰為SID(安全標識符)。
11.如權利要求8至10中任意一項權利要求所述的方法,其中,通過采用加密/解密算法使用所述密鑰來加密或解密存儲裝置中的數據。
12.如權利要求11所述的方法,其中,所述加密/解密算法為以下之一或更多RSA、 Rivest Shamir Adleman、DES、數字加密標準、Blowfish、IDEA、國際數據加密算法、SEAL、軟件優(yōu)化加密算法、以及RC4、Rivest Cipher 4。
13.如權利要求8至12中任意一項權利要求所述的方法,其中,所述移除位的位置和所述添加位的位置對相同的機構或相同的個人不知曉。
14.如權利要求8至13中任意一項權利要求所述的方法,其中,所述提示安全地存儲在存儲裝置中。
15.一種計算機程序,包括計算機程序代碼,用于在加載到計算機系統(tǒng)中并且在其上執(zhí)行時,使所述計算機系統(tǒng)執(zhí)行根據權利要求8至14中任意一項權利要求所述的方法的全部步驟。
全文摘要
公開了一種用于將已經變得鎖定或不能解鎖的存儲裝置解鎖的方法與系統(tǒng)。通過移除位以及添加位從密鑰生成提示。安全地存儲并知曉移除位的位置、添加位的位置、移除位的數目以及添加位的數目。當密鑰不能解鎖與該密鑰對應的存儲裝置時,檢索移除位的位置、添加位的位置、移除位的數目(N)以及添加位的數目。然后,在提示中移除添加位。在移除位的位置將每個可能的N位放置在提示中以便生成2N個可能的密鑰。然后,嘗試用2N個可能的密鑰的每個來解鎖存儲裝置。
文檔編號H04L29/06GK102171701SQ200980138642
公開日2011年8月31日 申請日期2009年10月22日 優(yōu)先權日2008年10月29日
發(fā)明者安德魯·J·梅納杜, 巴里·J·伍德, 納塔利·S·霍根, 雷蒙德·杰普森 申請人:國際商業(yè)機器公司