用于访问加密驱动器的sid管理的制作方法

文档序号:7736661阅读:193来源:国知局
专利名称:用于访问加密驱动器的sid管理的制作方法
技术领域
本发明一般地涉及加密存储装置的安全标识符(SID)管理。更具体地,本发明涉及当SID丢失或损坏时恢复SID。
背景技术
存储装置(例如磁盘、光盘、固态驱动器、硬盘、致密盘、数字多功能盘、闪存卡、直接访问存储装置(DASD))可加密其中存储的全部数据。当向存储装置写入数据时,存储装置通过使用加密/解密算法来加密数据。当从存储装置读取数据时,存储装置通过使用加密/解密算法来解密数据。构造加密/解密算法以便除非知晓加密密钥否则几乎不可能解码加密的数据,导致高数据安全等级。加密/解密发生在存储装置其自身上,并且通过存储装置上的固件(即,嵌入硬件装置中的计算机程序)管理。固件允许通过在使用存储装置之前设置为仅由数据的所有者明白的私密值的SID 部件来访问加密的数据。SID是指用于唯一地识别用户或组的字母数字字符串。可替换地, SID是指用于加密和/或解密数据的一段信息(参数)。SID用于锁定和解锁对储装置的访问,从而锁定和解锁存储装置中的数据。在存储装置为锁定状态时(即,仅允许具有有效 SID的用户访问存储装置内的数据的状态),存储装置上的数据不可访问。在管理并且发布SID的分离的机器中存储SID。为了解锁存储装置并且获得对存储装置中的数据的访问,用户或计算装置从该机器获得SID,并且将该SID应用至存储装置以便访问存储装置中的数据。然而,该机器可能变得损坏。从而,机器提供的SID可能为无效SID。可替换地,SID可能在从机器检索SID的点与将该SID应用在存储装置上的点之间损坏。丢失SID有效性的结果是整组数据可变得永久地锁定并且不能访问。如果SID损坏,则会影响在与该SID相关联的(各)存储装置中存储数据的全部用户。如果用于整个存储装置的共享SID变得损坏或丢失,则因为不能解码数据,所以存储装置中的全部数据不能恢复。从而,将期望提供一种用于在存储装置的密钥或SID变得丢失或损坏的情况下将已经变得锁定或不能解锁的存储装置解锁的方法以及系统。

发明内容
本发明为一种用于在存储装置的密钥或SID变得丢失或损坏的情况下将已经变得锁定或不能解锁的存储装置或存储装置中的数据解锁的方法以及系统。在一个实施例中,提供了一种用于将已经变得锁定或不能解锁的存储装置解锁的系统,包括密钥管理器,用于安全地存储密钥;用于从所述密钥移除位的部件;移除位管理器,用于安全地存储移除位的位置以及移除位的数目(N);
用于在从所述密钥移除位以后向所述密钥添加位以便生成提示的部件;添加位管理器,用于安全地存储添加位的位置以及添加位的数目;用于如果所述密钥管理器中的所述密钥丢失或不能解锁所述存储装置、则在所述添加位的位置从提示移除所述添加位的部件;用于在所述移除位的位置将每个可能的N位放置在提示中以便生成2N个可能的密钥的部件;以及用于应用2N个可能的密钥的每个直至解锁所述存储装置的部件。在一个实施例中,提供了一种用于将已经变得锁定或不能解锁的存储装置解锁的方法,包括存储密钥;从所述密钥移除位;存储移除位的位置以及移除位的数目(N);在从所述密钥移除位以后,向所述密钥添加位,以便生成提示;存储添加位的位置以及添加位的数目;如果所述密钥管理器中的所述密钥丢失或不能解锁所述存储装置,则在所述添加位的位置从提示移除所述添加位;在所述移除位的位置将每个可能的N位放置在提示中,以便生成2N个可能的密钥;以及对所述存储装置应用2N个可能的密钥的每个直至解锁所述存储装置。在另外的实施例中,通过利用加密/解密算法,使用密钥来加密/解密存储装置中的数据。在另外的实施例中,所述移除位的位置和所述添加位的位置对相同的机构或相同的个人不知晓。


包括附图以便提供本发明的进一步理解,并且附图被结合并且组成本说明的一部分。附示本发明的实施例,并且连同描述用于说明本发明的原理。在附图中,图1图示了在本发明一个实施例中用于生成提示的方法步骤。图2图示了在本发明一个实施例中的系统图。图3图示了在本发明一个实施例中用于存储提示的方法步骤。图4图示了在本发明一个实施例中用于用提示来解锁存储装置的方法步骤。图5图示了本发明一个实施例中的另一种系统图。
具体实施例方式图1图示了在本发明一个实施例中用于生成提示的方法步骤。当从默认制造值 (即,为了制造目的临时分配的密钥的初始值)更新存储装置的密钥时,生成提示,用于在密钥变得丢失、损坏、不可获得、无效或不可使用的情况下解锁存储装置。在一个实施例中, 密钥为M位二进制数。然而,密钥可为与加密/解密算法协同地用于锁定或解锁存储装置的任何数字字母字符。密钥可为用于唯一地识别用户或组的SID。密钥可以为与加密/解密算法协同地用于加密或解密存储装置中的数据的一段信息。加密/解密算法包括但不局限于RSA (Rivest Shamir Adleman)、DES (数据加密标准)、Blowfish、IDEA (国际数据加密算法)、SEAL (软件最优化加密算法)、以及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的密钥变得丢失、无效、不可获得或不可使用时,可使用提示。可在存储装置或数据库中存储提示。例如通过在存储装置或数据库上实施密码保护,可以在存储装置或数据库中安全地存储提示。在一个实施例中,提示为经由步骤110-140构造的二进制数。在另一个实施例中,提示为通过ASCII码表示的数字、字符或符号。在一个实施例中,每个不同的机构和/或每个不同的人管理或知晓移除位的位置、在每个移除位置的移除位的数目、添加位的位置以及在每个添加位置的添加位的数目。 从而,密钥不能通过单个机构或单个人从提示来重建。后文将详细描述怎样从提示重建密钥。图2图示了在本发明一个实施例中的系统图。图2描绘了在数据存储装置处执行的适配器接口模块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)之间的接口。当通过用户或操作系统(例如微软Windows )创建密钥时,适配器220从接合的计算装置(未示出)的操作系统或用户接收密钥(例如SID 210)。然后,用户或操作系统可提供移除位200的信息。移除位200的信息包括但不限于移除位的(多个)位置以及在每个位置的移除位的数目。换言之,信息200指定移除位的位置以及在每个位置要移除的位的数目。然后,适配器200在指定的(多个)位置移除指定的数目的位。在密钥中移除指定数目的位后,适配器220接收来自用户或操作系统的添加位 240的信息。提供信息MO的用户或操作系统可与提供信息200的用户或操作系统不同。 在另一个实施例中,提供信息MO的用户或操作系统与提供信息200的用户或操作系统相同。添加位MO的信息包括但不限于添加位的(多个)位置以及在每个位置添加位的数目。换言之,信息240指定添加位的位置以及在每个位置要添加的位的数目。然后,适配器 200在指定的(多个)位置添加指定的数目的位。在密钥中添加了指定数目的位以后,密钥变成提示230。可在存储装置(例如,盘 250)中存储提示230。在一个实施例中,使用编程语言(例如,汇编语言、二进制码、C、C++、 Java, . NET等)将适配器220实施为与存储装置(例如,盘250)相关联的固件。在一个实施例中,在计算机可读介质(例如,CD(致密盘)、DVD(数字多功能盘)、HDD(硬盘驱动器)、存储器)中,将适配器220记录为通过处理器(例如, Intel Pentium 、IBM Power PC 、AMD Opteron )执行的指令(例如, 机器语言或汇编语言)。在另一个实施例中,使用硬件描述语言(Verilog、VHDL、Handel_C、或System C), 将适配器220实施为在可重配置硬件(例如,FPGA(场可编程门阵列)或CPLD(复杂可编程逻辑器件))上的硬件。在进一步实施例中,使用半制定设计方法论(即,使用标准单元以及硬件描述语言设计芯片),在半导体芯片(例如,ASIC(特定用途集成电路))上实施适配器220。在进一步实施例中,通过在计算装置(例如,服务器、主机、台式机、膝上型计算机等)中执行,经由计算装置将适配器220实施为硬件。计算装置包括但不限于包括(多个) 处理器、(多个)存储器、(多个)显示装置、(多个)输入/输出装置以及(多个)网络接图3图示了在本发明一个实施例中用于登记提示的方法步骤。在步骤300,开始用于登记提示的处理。在步骤310,适配器220或固件通过从密钥移除位然后在密钥中添加位,从密钥(例如,SID 210)创建提示,如关于图1在此描述的。然后,适配器220或固件将创建的提示与密钥相关联。在步骤320,适配器220或固件可更新与密钥有关的(多个) 存储装置以便创建与提示的关联。在成功地将(多个)存储装置与提示相关联后,在步骤330,适配器220或固件在存储装置或数据库中存储提示。在步骤340,完成登记提示的处理。图4图示了在本发明一个实施例中通过使用存储的提示来解锁锁定的存储装置的方法步骤。为了检索存储装置中的数据,用户或用户操作的计算装置可从存储装置或数据库获取相应的密钥。然后,用户向适配器220提供相应的密钥以便解锁存储装置或解密存储装置中的数据。然而,因为相应的密钥损坏,所以相应的密钥可能不能解锁存储装置或解密存储装置中的数据。例如,存储相应密钥的存储装置或数据库具有影响原始密钥的缺陷。因此,当从存储装置或数据库获得密钥时,存储装置或数据库提供有缺陷的密钥。可替换地,存储装置或数据库提供有效密钥。然而,因为通信路径上的跳动或通信路径上的软件缺陷,有效密钥可能在其向适配器220或固件传递的期间损坏。当适配器220不能利用所提供的密钥解锁存储装置时,在步骤400,适配器220可访问存储与所提供的密钥相关联的提示的存储装置或数据库。在步骤410,适配器220从存储装置或数据库检索提示(例如,二进制码、用于字符的ASCII码、用于数字的ASCII码或用于符号的ASCII码)。在步骤420,适配器通过执行以下步骤来计算可能的密钥(1)在从存储装置或数据库检索提示之后,适配器220从与提示相关联的存储装置或数据库检索添加位的信息。添加位的信息可指定在哪里添加位以及在每个位置添加了多少位。然后,适配器220在添加了位的每个位置移除添加位。在移除添加位后,提示中的数目减少了添加位的数目。(2)适配器220从与提示相关联的存储装置或数据库检索移除位的信息。移除位的信息可指定在哪里移除位以及在每个位置移除了多少位。在移除位的信息中的移除位的总数称为N。(3)适配器220在移除位的每个位置放置可能的位。可能的位可具有与在该位置的移除位相等的数目。例如,提示为0101_1100_0110_0000_11112。如果最低4位为添加位,则适配器220从该提示移除最后4位。现在,提示变成了 0101_1100_0002。如果最高四位为移除位,则适配器在最高四位的位置放置每个可能的4位。换言之,提示现在变成 XXXX_0101_1100_00002。“XXXX” 表示每个可能的位例如 00002、00012、...、1110、11112。 在该示例中,总共有16种可能的位。一般来讲,适配器在移除位的每个位置放置每个可能的位。在每个位置的可能的位具有与在该位置的移除位相等的数目。从而,如果总的移除数目为N,适配器16通过在每个位置放置可能的位来创建2N个可能的密钥。回到图4,如上面所述,在步骤420,适配器420创建2N个可能的密钥。适配器420 可在2N个可能的密钥中选择可能的密钥来第一次尝试解锁不能解锁的存储装置。当在2N 个可能的密钥中选择可能的密钥时,适配器220看任意地选择可能的密钥。可替换地,适配器220在2N个可能的密钥中选择具有最低值或最高值的可能的密钥。在步骤430,适配器220应用选择的可能的密钥来解锁不能解锁的存储装置。如果适配器220可以用选择的可能的密钥解锁存储装置,则在步骤450,适配器220将选择的可能的密钥存储为用于存储装置的有效密钥。该有效密钥可安全地存储在存储装置或数据库中。在步骤430,如果适配器220不能以选择的可能的密钥解锁存储装置,则适配器 220可以删除选择的可能的密钥或可以以关键字“已尝试”来标记选择的可能的密钥。然后,适配器220在未选择的可能的密钥中选择下一个可能的密钥。适配器220可以在未选择的可能的密钥中随机地选择下一个可能的密钥。可替换地,适配器220可以选择最低或最高可能的密钥作为下一个可能的密钥。如果适配器220不能选择下一个可能的密钥,则在步骤460,适配器220检查是否评估了全部可能的密钥或是否有未选择的可能的密钥。如果评估了全部可能的密钥或如果没有未选择的可能的密钥,则在步骤470,适配器220通知或提供解锁存储装置的处理失败的指示。否则,适配器220应用下一个可能的密钥来解锁不能解锁的存储装置。重复步骤430-460直至适配器220成功地解锁存储装置或评估了全部可能的密钥。图5图示了本发明一个实施例中的系统图。为了生成提示,模块(例如,如固件的系统软件530)从密钥管理器500接收密钥。密钥管理器500包括安全地存储密钥或SID 的存放库、存储装置或数据库580,并且与存放库、存储装置或数据库580相关联操作。密钥管理器向模块(例如,系统软件530)、授权用户或计算装置(例如,台式机、膝上型计算机、PDA等)分发密钥或SID。在一个实施例中,密钥为SID (例如,SID 210)。在一个实施例中,密钥为通过利用加密/解密算法用于加密或解密存储装置中的数据的一段信息。然后,模块在一个或多个位置从密钥移除位。模块存储移除位的(多个)位置以及在每个位置的移除位的数目。在一个实施例中,在与移除位管理器510相关联的存放库、 存储装置或数据库590中存储移除位的(多个)位置以及在每个位置的移除位的数目。在一个实施例中,移除位管理器510包括安全地存储移除位的(多个)位置以及在每个位置的移除位的数目的存放库、存储装置或数据库590。移除位管理器510与存放库、存储装置或数据库590相关联地操作。移除位管理器510向模块(例如,系统软件530)、授权用户或计算装置提供移除位的(多个)位置以及在每个位置的移除位的数目。然后,模块向密钥添加位以便生成提示550。在一个实施例中,模块在一个或多个位置向密钥添加位。模块存储添加位的(多个)位置以及每个位置的添加位的数目。在一个实施例中,在与添加位管理器520相关联的存放库、存储装置或数据库600中存储添加位的(多个)位置以及添加位的数目。在一个实施例中,添加位管理器520包括安全地存储添加位的(多个)位置以及在每个位置的添加位的数目的存放库、存储装置或数据库600。 添加位管理器520与存放库、存储装置或数据库600相关联地操作。添加位管理器520向模块(例如,系统软件530)、授权用户或计算装置提供添加位的(多个)位置以及在每个位置的添加位的数目。模块也在存储装置、存放库或数据库存储提示550。当用户或应用(例如,数据库管理系统(DBMS))想要访问通过密钥加密的存储装置(盘560、盘570、盘阵列、RAID等)中的数据时,模块访问密钥管理器500检索相应的密钥。然后,模块向存储适配器540发送检索到的密钥。存储适配器540管理协议以便认证存储装置的检索到的密钥并且解锁存储装置,从而可以经由加密算法向存储装置写入数据并且可以经由解码算法从存储装置读取数据。然而,如果从密钥管理器500检索到的密钥损坏或有缺陷从而该密钥与能够解锁存储装置或解密数据的原始密钥不同,则存储适配器540可能不能解锁存储装置或解密数据。然后,存储适配器540联系模块以重建可能的密钥来解锁存储装置或解密数据。为了重建可能的密钥,模块首先检索与不能解锁的存储装置相关联的提示。在一个实施例中,当请求重建可能的密钥时存储适配器MO向模块提供提示。在从存储装置、数据库或存储适配器540获取提示后,模块从添加位管理器520获取添加位的(多个)位置以及在每个位置的添加位的数目。然后,模块在添加位的每个位置从提示中移除添加位。然后,模块从移除位管理器510获取移除位的(多个)位置以及在每个位置的移除位的数目。如果移除位的总数是N,则模块在移除位的(多个)位置在提示中放置每个可能的N位。例如,假设存在移除位的第一位置以及移除位的第二位置。在第一位置,移除了 m位。在第二位置,移除了 k位。然后,模块在提示的第一位置放置每个可能的m位并且在提示的第二位置放置每个可能的k位。通过在第一位置放置每个可能的m位以及在第二位置放置每个可能的k位,模块创建了 2(m+k)个可能的密钥,因此,如果移除位的总数为 N( 即,m+k = N),模块创建了 2N个可能的密钥。
然后,模块应用2N个可能的密钥的每个来解锁不能解锁的存储装置。在一个实施例中,使用编程语言(例如,汇编语言、二进制码、C、C++、Java, . NET 等)将模块、密钥管理器500、移除位管理器510以及添加位管理器520实施为固件。在一个实施例中,在计算机可读介质(例如,CD (致密盘)、DVD (数字多功能盘)、HDD (硬盘驱动器)、存储器)中,将模块、密钥管理器500、移除位管理器510以及添加位管理器520记录为通过处理器(例如,Intel Pentium 、IBM Power PC 、AMD Opteron ) 执行的指令(例如,机器语言或汇编语言)。在另一个实施例中,使用硬件描述语言(Verilog、VHDL、Handel_C、或System C), 将模块、密钥管理器500、移除位管理器510以及添加位管理器520实施为在可重配置硬件 (例如,FPGA(场可编程门阵列)或CPLD (复杂可编程逻辑器件))上的硬件。在进一步实施例中,使用半制定设计方法论(即,使用标准单元以及硬件描述语言设计芯片)在半导体芯片(例如,ASIC(特定用途集成电路))上实施模块、密钥管理器500、移除位管理器510 以及添加位管理器520。在进一步实施例中,通过在计算装置(例如,服务器、主机、台式机、膝上型电能等)中执行,通过计算装置将模块、密钥管理器500、移除位管理器510以及添加位管理器 520实施为硬件。计算装置包括但不限于包括(多个)处理器、(多个)存储器、(多个) 显示装置、(多个)输入/输出装置以及(多个)网络接口。在一个实施例中,将允许尝试解锁存储装置的数目设置为固定数目,例如1024。如果将移除位的总数设置为满足2N <固定数目,则在用尽全部允许的尝试从而存储装置中的数据变得永久锁定并且实际上永远丢失之前,本发明可解锁不能以从密钥管理器500检索到的密钥解锁的存储装置。从而,本发明一个实施例在创建提示时从原始密钥中移除N 位。设置N位满足2N小于或等于允许尝试的最大数目,例如10M。下面是采用本发明的使用方案当从其默认制造值更新SID时,生成可存储并在将来使用的提示,以便如果SID变得不可获得或不可使用时尝试解锁存储装置。假设SID的长度为256位。1.最初,将提示设置为具有与SID相同的值。然后,在提示中移除多个位。例如, 假设已经从256位移除9位,将提示的长度减少至247位。(然而,本发明可移除任何数目的位。)2.为了防止确定移除位的数目,向247位的提示添加相同数目的随机位以便使其回到256位。(然而,本发明可添加任何数目的位。)添加这些位的位置不必匹配移除位的位置。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)要少。虽然具体地描述了本发明优选实施例,但应该理解的是在不背离如权利要求定义的本发明的精神与范围的情况下,可以进行各种改变和置换。可为每个期望的特定应用以任何组合实现本发明描述的变体。从而,可对特定的应用具有特定的优点的在此描述的特定的限定和/或实施例增强不必用于全部应用。同样,不是全部限定都需要实施在包括本发明的一个或更多构思的方法、系统和/或设备中。可用硬件、软件、或硬件与软件的组合实现本发明。硬件与软件的典型的组合可为具有计算机程序的通用计算机系统,该计算机程序在被加载并执行时,控制计算机系统,使其执行在此描述的方法。也可将本发明嵌入计算机程序产品,其包括使得在此描述的方法能够实施的全部特征,并且其在加载到计算机系统中时能够执行这些方法。本上下文中的计算机程序部件或计算机程序包括以任何语言、代码或符号的一组指令的任何表达,该组指令旨在使得具有信息处理能力的系统直接地或在转换至另一种语言、代码或符号和/或以不同材料形式再现后执行特定功能。因此,本发明包括制造产品,其包括具有收录其中的用于引起上述功能的计算机可读程序代码部件的计算机可用介质。制造产品中的计算机可读程序代码部件包括用于使得计算机来实现本发明的方法步骤的计算机可读程序代码。类似地,可将本发明实施为计算机程序产品,其包括具有收录其中的用于引起上述功能的计算机可读程序代码部件的计算机可用介质。计算机程序产品中的计算机可读程序代码部件包括用于使得计算机来实现本发明的一个或多个功能的计算机可读程序代码部件。此外,可将本发明实施为机器可读的程序存储装置,其有形地收录机器可运行来执行用于引起本发明一个或多个功能的方法步骤的指令程序。可在收录了由处理器(例如,IBM PowerPC 、SUN Sparc⑧等)执行
来用于使计算机(例如,台式机、膝上型计算机、服务器等)执行一个或更多本发明的功能的计算机程序指令(例如,C++、C、Java, . Net、汇编语言、二进制码等)的计算机可读介质 (例如,致密盘、数字多功能盘、硬盘、光盘、固态驱动器等)上实施本发明。本发明还包括一种部署计算机程序产品的方法,所述计算机程序产品包括在计算机可读介质中的用于本发明一个或更多功能的指令的程序,其中,当通过处理器执行指令的程序时,计算机程序产品执行本发明一个或更多功能。 注意到前文概括了本发明的一些更加相关的对象以及实施例。本发明可应用于许多应用。因此,虽然对特定的安排以及方法进行了描述,本发明的意图以及构思可适于并且可用于其它安排以及应用。对于本领域技术人员显而易见的是,在不背离本发明范围的情况下,可实现对公开的实施例的修改。应该将所描述的实施例解释为仅仅说明本发明的一些更显著特征或应用。可以通过以不同的方式应用公开的发明或以本领域技术人员知晓的方式修改本发明来实现其它有益的结果。
权利要求
1.一种用于将已经变得锁定或不能解锁的存储装置解锁的系统,包括 密钥管理器,用于安全地存储密钥;用于从所述密钥移除位的部件;移除位管理器,用于安全地存储移除位的位置以及移除位的数目(N); 用于在从所述密钥移除位以后向所述密钥添加位以便生成提示的部件; 添加位管理器,用于安全地存储添加位的位置以及添加位的数目; 用于如果所述密钥管理器中的所述密钥丢失或不能解锁所述存储装置、则在所述添加位的位置从提示移除所述添加位的部件;用于在所述移除位的位置将每个可能的N位放置在提示中以便生成2N个可能的密钥的部件;以及用于应用2N个可能的密钥的每个直至解锁所述存储装置的部件。
2.如权利要求1所述的系统,其中,所述密钥管理器、所述移除位管理器或所述添加位管理器其中之一包括存储装置或数据库,并且与所述存储装置或所述数据库相关联地操作。
3.如权利要求1或权利要求2所述的系统,其中,所述密钥为SID(安全标识符)。
4.如以上任意一项权利要求所述的系统,其中,通过采用加密/解密算法使用所述密钥来加密或解密存储装置中的数据。
5.如权利要求4所述的系统,其中,所述加密/解密算法为以下之一或更多RSA、 Rivest Shamir Adleman、DES、数字加密标准、Blowfish、IDEA、国际数据加密算法、SEAL、软件优化加密算法、以及RC4、Rivest Cipher 4。
6.如以上任意一项权利要求所述的系统,其中,所述移除位管理器和所述添加位管理器不由相同的机构或相同的个人管理。
7.如以上任意一项权利要求所述的系统,其中,所述提示安全地存储在存储装置中。
8.一种用于将已经变得锁定或不能解锁的存储装置解锁的方法,包括 存储密钥;从所述密钥移除位;存储移除位的位置以及移除位的数目(N);在从所述密钥移除位以后,向所述密钥添加位,以便生成提示;存储添加位的位置以及添加位的数目;如果所述密钥管理器中的所述密钥丢失或不能解锁所述存储装置,则在所述添加位的位置从提示移除所述添加位;在所述移除位的位置将每个可能的N位放置在提示中,以便生成2N个可能的密钥;以及对所述存储装置应用2N个可能的密钥的每个直至解锁所述存储装置。
9.如权利要求8所述的方法,其中所述密钥、所述移除位的位置和所述移除位的数目、 或所述添加位的位置和所述添加位的数目中的一个安全地存储在存储装置或数据库中。
10.如权利要求8或权利要9所述的方法,其中所述密钥为SID(安全标识符)。
11.如权利要求8至10中任意一项权利要求所述的方法,其中,通过采用加密/解密算法使用所述密钥来加密或解密存储装置中的数据。
12.如权利要求11所述的方法,其中,所述加密/解密算法为以下之一或更多RSA、 Rivest Shamir Adleman、DES、数字加密标准、Blowfish、IDEA、国际数据加密算法、SEAL、软件优化加密算法、以及RC4、Rivest Cipher 4。
13.如权利要求8至12中任意一项权利要求所述的方法,其中,所述移除位的位置和所述添加位的位置对相同的机构或相同的个人不知晓。
14.如权利要求8至13中任意一项权利要求所述的方法,其中,所述提示安全地存储在存储装置中。
15.一种计算机程序,包括计算机程序代码,用于在加载到计算机系统中并且在其上执行时,使所述计算机系统执行根据权利要求8至14中任意一项权利要求所述的方法的全部步骤。
全文摘要
公开了一种用于将已经变得锁定或不能解锁的存储装置解锁的方法与系统。通过移除位以及添加位从密钥生成提示。安全地存储并知晓移除位的位置、添加位的位置、移除位的数目以及添加位的数目。当密钥不能解锁与该密钥对应的存储装置时,检索移除位的位置、添加位的位置、移除位的数目(N)以及添加位的数目。然后,在提示中移除添加位。在移除位的位置将每个可能的N位放置在提示中以便生成2N个可能的密钥。然后,尝试用2N个可能的密钥的每个来解锁存储装置。
文档编号H04L29/06GK102171701SQ200980138642
公开日2011年8月31日 申请日期2009年10月22日 优先权日2008年10月29日
发明者安德鲁·J·梅纳杜, 巴里·J·伍德, 纳塔利·S·霍根, 雷蒙德·杰普森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1