提供多个设备上的加密的方法、系统和计算机程序产品与流程

文档序号:11162051阅读:来源:国知局

技术特征:

1.一种在被配置为与服务器电通信的多个设备上提供加密的方法,所述多个设备包括至少第一设备和第二设备,所述方法包括:

为控制所述多个设备的第一用户生成第一账户,其中所述第一账户在服务器的非易失性存储器上存储账户数据,所述账户数据包括第一用户标识符和账户认证信息;

对于所述多个设备中的每个设备,在该设备上安装加密代理工具;

在所述加密代理工具的控制下,操作所述第一设备的处理器以:

随机地生成多个密钥指示符;

使用第二设备加密密钥,根据所述多个密钥指示符生成多个加密的密钥指示符,每个加密的密钥指示符与所述多个密钥指示符中的密钥指示符之一相对应;

将所述多个加密的密钥指示符传送至所述服务器,以防止所述密钥指示符暴露于所述服务器;

基于所述多个密钥指示符生成多个密钥种子,其中对于每个密钥种子,所述加密代理工具能够操作以控制所述第一设备的处理器来生成多个独立的加密密钥;以及

将基于所述多个密钥种子的密钥种子信息存储在第一设备的非易失性存储器中;

为所述第一账户生成密钥状态字符串,所述密钥状态字符串包括基于所述多个加密的密钥指示符生成的服务器密钥指示符部分;

将所述密钥状态字符串存储在所述服务器的非易失性存储器中;

在所述第二设备处接收假定的认证信息;

在安装在所述第二设备上的加密代理工具的控制下,操作所述第二设备的处理器,以基于假定的认证信息生成假定的服务器认证信息,并且将所述假定的服务器认证信息传送至所述服务器;以及

操作所述服务器的处理器,以将所述假定的服务器认证信息与账户认证信息相比较,并且在且仅在所述假定的服务器认证信息与所述账户认证信息相对应的情况下,提供所述第二设备对所述密钥状态字符串的访问;

在加密代理工具的控制下,操作所述第二设备的处理器以:

使用第二设备解密密钥,根据所述密钥状态字符串中的所述多个加密的密钥指示符确定所述多个密钥指示符;

基于所述多个密钥指示符生成所述多个密钥种子,其中对于每个密钥种子,所述加密代理工具能够操作以控制所述第二设备的处理器生成与所述第一设备相同的多个独立的加密密钥,而不用向所述第二设备提供密钥种子、密钥种子信息和加密密钥中的任一种;以及

将基于所述多个密钥种子的所述密钥种子信息存储在第二设备的非易失性存储器中。

2.根据权利要求1所述的方法,其中:

在所述第一设备上生成多个密钥种子进一步包括:

操作所述服务器的处理器,以随机地为所述第一账户生成服务器密钥值,将所述服务器密钥值存储在服务器的非易失性存储器中,并且将所述服务器密钥值传送至所述第一设备;以及

在加密代理工具的控制下,操作所述第一设备的处理器,以基于所述服务器密钥值和所述多个密钥指示符生成多个密钥种子;

其中:

操作所述服务器的处理器,以在且仅在所述假定的服务器认证信息与所述账户认证信息相对应的情况下,为所述第二设备提供对服务器密钥值的访问;并且

在所述加密代理工具的控制下,操作所述第二设备的处理器,以基于所述多个密钥指示符和所述服务器密钥值生成多个密钥种子。

3.根据权利要求1所述的方法,进一步包括:

在所述加密代理工具的控制下,操作所述第一设备的处理器以通过以下方式生成多个加密的密钥指示符:

限定第一验证码;

基于所述第一验证码,限定第二设备加密密钥;以及

使用所述第二设备加密密钥加密多个密钥指示符;

其中:

通过以下方式生成所述第二设备解密密钥:在所述加密代理工具的控制下操作所述第二设备的处理器以限定第二验证码并基于所述第二验证码生成第二设备解密密钥;并且

所述第二验证码是所述第一验证码。

4.根据权利要求3所述的方法,进一步包括:

在加密代理工具的控制下,操作所述第一设备的处理器以:

基于所述第一验证码生成加密的服务器代码;并

将所述加密的服务器代码传送至所述服务器;以及

将所述加密的服务器代码存储在所述第一账户的认证信息中;

其中:

在所述第二设备处接收到的所述假定的认证信息是假定的验证码;

所述假定的服务器认证信息是基于所述假定的验证码生成的假定的加密的服务器代码;以及

在且仅在所述假定的加密的服务器代码与所述加密的服务器代码匹配的情况下,所述假定的服务器认证信息与所述账户认证信息相对应。

5.根据权利要求3所述的方法,进一步包括:

提供待加密并存储至所述第一设备的文件;

在所述加密代理工具的控制下,操作所述第一设备的处理器,以使用密钥信息从所述密钥种子信息导出加密密钥之一;

使用导出的加密密钥将所述文件加密并作为加密的文件存储到所述第一设备的非易失性存储器中;

将密钥信息和加密的文件一起存储在所述第一设备的非易失性存储器中;

其中,所述密钥种子信息在存储之前使用第一验证码加密。

6.根据权利要求5所述的方法,进一步包括:

在第二设备处接收加密的文件和密钥信息;并

在所述加密代理工具的控制下,操作第二设备的处理器以:

使用接收到的密钥信息,从存储在第二设备的非易失性存储器中的密钥种子信息导出加密密钥;

使用导出的加密密钥将加密的文件解密。

7.根据权利要求5所述的方法,其中,所述密钥信息是在所述加密代理工具接收到待加密的文件的指示时被随机选择的。

8.根据权利要求1所述的方法,进一步包括:

在所述加密代理工具的控制下,操作第一设备的处理器以:

限定第一验证码;

基于所述第一验证码生成加密的本地码;并且

将所述加密的本地码存储在第一设备的非易失性存储器中;

随后在所述第一设备处接收访问文件的请求和本地假定的验证码;以及

在所述加密代理工具的控制下,操作第一设备的处理器以:

生成假定的加密的本地码;

将所述假定的加密的本地码与加密的本地码相比较,以确定所述本地假定的验证码是否是第一验证码;并且

在且仅在所述假定的加密的本地码与加密的本地码匹配的情况下,提供对由所述加密代理工具加密的文件的访问。

9.根据权利要求3所述的方法,其中,存储所述密钥种子信息包括:

使用第一验证码加密多个密钥种子;以及

将加密的多个密钥种子存储在所述第一设备的非易失性存储器中。

10.根据权利要求1所述的方法,其中,

所述第一用户包括多组用户,所述多组用户包括至少管理组用户和第二组用户,所述多组用户中的每组用户控制所述多个设备中的至少一个设备,其中所述管理组用户控制所述第一设备,并且所述第二组用户控制所述第二设备;

对于所述多组用户中的每组用户,账户数据进一步包括用户专用公钥,其中每个用户的用户专用公钥是基于存储在所述多个设备中的对应设备的非易失性存储器中的用户专用私钥生成的;

所述第一设备的处理器在加密代理工具的控制下操作,以通过以下方式对于所述多组用户中的每组用户生成多个加密的密钥指示符:

使用该用户的用户专用公钥生成多个用户专用的加密的密钥指示符;

对于所述多组用户中的每组用户,第一账户的密钥状态字符串的服务器密钥指示符部分进一步包括基于该组用户的多个用户专用的加密的密钥指示符生成的用户专用字符串部分;以及

所述第二设备的处理器在所述加密代理工具的控制下操作以:

使用第二设备私钥,根据与所述第二组用户相对应的服务器密钥指示符部分的用户专用部分中的多个用户专用的加密的密钥指示符确定多个密钥指示符。

11.根据权利要求10所述的方法,其中,对于多组用户中的每组用户,第一账户的账户认证信息包括用户专用服务器加密代码,每个用户的所述用户专用服务器加密代码通过以下方式生成:

在所述加密代理工具的控制下,操作所述多个设备中的与该用户相对应的设备的处理器以:

限定用户专用验证码;

基于所述用户专用验证码生成用户专用服务器加密代码;并且

将所述用户专用服务器加密代码传送至所述服务器;以及

将所述用户专用服务器加密代码存储在所述第一账户的账户认证信息中。

12.根据权利要求1所述的方法,其中,所述第一用户包括多个用户,所述多个用户包括控制所述第一设备的管理用户和控制所述第二设备的第二用户,所述方法进一步包括通过以下方式将第二用户授权传送至第二用户:

从所述第一设备向所述服务器传送第二用户的第二用户标识符;

操作服务器的处理器,以基于所述第二用户标识符和第二用户密码生成第二用户注册信息,将所述第二用户注册信息存储在服务器的非易失性存储器上,并将第二用户服务器授权传送至第二用户;

通过所述第二用户接收所述第二用户服务器授权,并且随后在所述第二设备上安装加密代理工具;

在第二设备处接收假定的第二用户密码;

在所述加密代理工具的控制下操作第二设备的处理器,以基于所述第二用户标识符和假定的第二用户密码生成假定的第二用户注册信息,并将所述假定的第二用户注册信息传送至所述服务器;

操作所述服务器的处理器以:

将所述假定的第二用户注册信息与存储的第二用户注册信息相比较;

仅在所述假定的第二用户注册信息与存储的第二用户注册信息相对应的情况下,对第一账户认证第二设备;

在所述加密代理工具的控制下,操作已认证的第二设备的处理器以:

生成第二设备解密密钥;

基于所述第二设备解密密钥生成第二设备加密密钥;以及

将第二设备加密密钥传送至服务器;

在所述第一设备处,接收第二设备加密密钥;以及

在所述加密代理工具的控制下操作第一设备的处理器,以使用接收到的第二设备加密密钥根据多个密钥指示符生成多个加密的密钥指示符。

13.根据权利要求12所述的方法,其中,所述第二设备解密密钥是第二用户的用户专用私钥,所述用户专用私钥存储在第二设备的非易失性存储器中,并且所述第二设备加密密钥是基于所述用户专用私钥生成的对应的用户专用公钥。

14.根据权利要求1所述的方法,其中,所述第一用户包括多个用户,所述多个用户包括控制第一设备的管理用户和控制第二设备的第二用户,所述方法进一步包括:

向第一设备提供待加密的文件;

在所述加密代理工具的控制下,操作第一设备的处理器以:

使用密钥信息从密钥种子信息导出加密密钥之一;并且

使用导出的加密密钥将文件加密为加密的文件;

将加密的文件、密钥信息和第二用户授权传送至第二用户;

通过第二用户接收第二用户授权,并且随后在第二设备上安装加密代理工具;

在第二设备处接收加密的文件和密钥信息;以及

在加密代理工具的控制下,操作第二设备的处理器以:

使用接收到的密钥信息从存储在第二设备的非易失性存储器中的密钥种子信息导出加密密钥;以及

使用导出的加密密钥将加密的文件解密。

15.根据权利要求1所述的方法,其中:

所述第一用户是控制所述多个设备的单个用户;并且

所述第一用户标识符包括多个用户别名标识符,每个用户别名标识符共享账户认证信息。

16.根据权利要求1所述的方法,其中:

所述第一用户包括多个用户,每个用户控制所述多个设备中的至少一个设备并且具有用户专用标识符;以及

对于所述多个用户中的至少一个用户,该用户的用户专用标识符包括多个用户专用别名标识符,每个用户专用别名标识符共享该用户的账户认证信息。

17.一种用于在多个设备上使用以对所述多个设备提供加密的计算机程序产品,所述多个设备被配置为与服务器电通信并且包括至少第一设备以及第二设备,所述第一设备具有第一设备处理器和第一设备的非易失性存储器,所述服务器上存储有控制所述多个设备的第一用户的第一账户,所述第一账户将包括第一用户标识符和账户认证信息的账户数据存储在服务器的非易失性存储器上,所述计算机程序产品包括:

非暂态记录介质;和

记录在所述记录介质上的指令,该指令用于使所述第一设备处理器配置成:

随机生成多个密钥指示符;

使用第二设备加密密钥根据所述多个密钥指示符生成多个加密的密钥指示符,每个加密的密钥指示符与所述多个密钥指示符中的密钥指示符之一相对应,所述第二设备加密密钥与服务器未知的第二设备解密密钥相对应;

将所述多个加密的密钥指示符传送至服务器以防止所述密钥指示符暴露于服务器,所述服务器能够操作以基于所述多个加密的密钥指示符为第一账户生成包括服务器密钥指示符部分的密钥状态字符串,并且在且仅在从所述第二设备接收到的假定的服务器认证信息与账户认证信息相对应的情况下,为第二设备提供对所述密钥状态字符串的访问;

基于所述多个密钥指示符生成多个密钥种子,其中对于每个密钥种子,所述第一设备处理器能够操作以生成多个独立的加密密钥;

将基于所述多个密钥种子的密钥种子信息存储在第一设备的非易失性存储器中;

其中:

所述多个密钥指示符是能够在第二设备处使用所述第二设备解密密钥根据所述密钥状态字符串中的所述多个加密的密钥指示符确定的,使得基于所述多个密钥指示符能够生成相同的多个密钥种子,并且对于每个密钥种子,第二设备的处理器能够生成与所述第一设备相同的多个独立的加密密钥,而不用向所述第二设备提供密钥种子、密钥种子信息和加密密钥中的任一种。

18.根据权利要求17所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为通过以下方式生成多个密钥种子:

从服务器接收多个随机生成的服务器密钥值,所述服务器密钥值被存储在所述第一账户中;以及

基于所述服务器密钥值和所述多个密钥指示符生成多个密钥种子。

19.根据权利要求17所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为:

限定第一验证码;

基于所述第一验证码限定第二设备加密密钥;以及

使用所述第二设备加密密钥将所述多个密钥指示符加密;

其中,第二设备解密密钥也是基于所述第一验证码生成的。

20.根据权利要求19所述的计算机程序产品,

进一步包括指令,该指令用于使所述第一设备处理器配置为:

基于所述第一验证码生成加密的服务器代码;

将加密的服务器代码传送至服务器,以存储在第一账户的账户认证信息中;

其中,所述服务器被配置为,在且仅在从第二设备接收到的假定的服务器认证信息与存储在第一账户的账户认证信息中的加密的服务器代码相对应的情况下,提供对密钥状态字符串的访问。

21.根据权利要求19所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为:

接收待加密的文件;

使用密钥信息,从密钥种子信息导出加密密钥之一;

使用导出的加密密钥将文件加密并作为加密的文件存储在第一设备的非易失性存储器中;

将密钥信息和加密的文件一起存储在第一设备的非易失性存储器中;以及

在存储之前使用第一验证码将所述密钥种子信息加密。

22.根据权利要求21所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为:

接收加密的文件和密钥信息;

使用接收的密钥信息从存储在第一设备的非易失性存储器中的密钥种子信息导出加密密钥;

使用导出的加密密钥将加密的文件解密。

23.根据权利要求21所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为:在接收到待加密的文件的指示之后随机选择所述密钥信息。

24.根据权利要求17所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为:

限定第一验证码;

基于所述第一验证码生成加密的本地码;

将所述加密的本地码存储在第一设备的非易失性存储器中;

随后接收访问文件的请求以及本地假定的验证码;

生成假定的加密的本地码;

将所述假定的加密的本地码与加密的本地码相比较,以确定所述本地假定的验证码是否是第一验证码;以及

在且仅在所述假定的加密的本地码与加密的本地码匹配的情况下,提供对由所述加密代理工具加密的文件的访问。

25.根据权利要求19所述的计算机程序产品,进一步包括指令,该指令用于使所述第一设备处理器配置为通过以下方式存储密钥种子信息:

使用第一验证码加密多个密钥种子;以及

将加密的多个密钥种子存储在第一设备的非易失性存储器中。

26.根据权利要求17所述的计算机程序产品,其中:

所述第一用户包括多组用户,所述多组用户包括至少管理组用户和第二组用户,所述多组用户中的每组用户控制所述多个设备中的至少一个设备,其中所述管理组用户控制所述第一设备且所述第二组用户控制第二设备;

对于所述多组用户中的每组用户,账户数据进一步包括用户专用公钥,其中每个用户的用户专用公钥是基于存储在所述多个设备的对应设备的非易失性存储器中的用户专用私钥生成的;

所述计算机程序产品进一步包含指令,该指令用于使所述第一设备处理器配置为:

对于多组用户中的每组用户,通过使用该用户的用户专用公钥生成多个用户专用的加密的密钥指示符来生成所述多个加密的密钥指示符;以及

将所述多个用户专用的加密的密钥指示符传送至服务器,所述服务器能够操作以通过对于所述多组用户中的每组用户、基于用于该组用户的多个用户专用的加密的密钥指示符生成用户专用字符串部分而生成密钥状态字符串的服务器密钥指示符部分;以及

所述多个密钥指示符是在第二设备处、使用第二设备私钥根据与第二组用户对应的服务器密钥指示符部分的用户专用部分中的多个用户专用的加密的密钥指示符能够确定的。

27.根据权利要求26所述的计算机程序产品,其中:

对于多组用户中的每组用户,第一账户的账户认证信息包括用户专用服务器加密代码;

所述计算机程序产品进一步包括指令,该指令用于使与该组用户对应的多个设备中的一设备的处理器配置为:

限定用户专用验证码;

基于所述用户专用验证码生成用户专用服务器加密代码;以及

将所述用户专用服务器加密代码传送至服务器,以存储在第一账户的账户认证信息中。

28.根据权利要求17所述的计算机程序产品,其中:

所述第一用户包括多个用户,所述多个用户包括控制第一设备的管理用户和控制第二设备的第二用户;

所述计算机程序产品进一步包括指令,该指令用于使所述第一设备处理器配置为:通过将第二用户的第二用户标识符从第一设备传送至服务器来将第二用户授权传送至第二用户,所述服务器能够操作以:基于所述第二用户标识符和第二用户密码生成第二用户注册信息,将所述第二用户注册信息存储在服务器的非易失性存储器上,并且将第二用户服务器授权传送至第二用户;以及

所述计算机程序产品进一步包括指令,该指令在被安装在所述第二设备上时用于使所述第二设备的处理器配置为:

接收假定的第二用户密码;

基于所述第二用户标识符和假定的第二用户密码生成假定的第二用户注册信息;

将所述假定的第二用户注册信息传送至服务器,所述服务器能够操作以将假定的第二用户注册信息与存储的第二用户注册信息相比较,以及仅在假定的第二用户注册信息与存储的第二用户注册信息对应的情况下,对第一账户认证第二设备;并且一旦认证了第二设备,

生成第二设备解密密钥;

基于所述第二设备解密密钥生成第二设备加密密钥;

将所述第二设备加密密钥传送至服务器;以及

所述计算机程序产品还包括指令,该指令用于使所述第一设备处理器配置为:接收第二设备加密密钥,并使用接收到的第二设备加密密钥从多个密钥指示符生成多个加密的密钥指示符。

29.根据权利要求28所述的计算机程序产品,其中,所述第二设备解密密钥是第二用户的用户专用私钥,并且第二设备加密密钥是第二用户的对应的公钥。

30.根据权利要求17所述的计算机程序产品,其中:

所述第一用户包括多个用户,所述多个用户包括控制第一设备的管理用户和控制第二设备的第二用户;以及

所述计算机程序产品还包括指令,该指令用于使第一设备处理器配置为:

接收待加密的文件;

使用密钥信息从密钥种子信息导出加密密钥之一;

使用导出的加密密钥将文件加密为加密的文件;

将所述加密的文件、密钥信息以及第二用户授权传送至第二用户;以及

所述计算机程序产品还包括指令,该指令在被安装在所述第二设备上时用于使第二设备的处理器配置为:

基于所述第二用户授权向服务器注册第二设备;

使用第二设备解密密钥,基于密钥状态字符串中的多个加密的密钥指示符确定多个密钥指示符;

基于多个密钥指示符生成多个密钥种子;

将基于所述密钥种子的密钥种子信息存储在第二设备的非易失性存储器中;

接收加密的文件和密钥信息;

使用接收到的密钥信息,从存储在第二设备的非易失性存储器中的密钥种子信息导出加密密钥;以及

使用导出的加密密钥将加密的文件解密。

31.根据权利要求17所述的计算机程序产品,其中,所述第一用户是控制多个设备的单个用户,并且所述第一用户标识符包括多个用户别名标识符,每个用户别名标识符共享账户认证信息。

32.根据权利要求17所述的计算机程序产品,其中,所述第一用户包括多个用户,每个用户控制所述多个设备中的至少一个设备,并且具有用户专用标识符;并且对于多个用户中的至少一个用户,该用户的用户专用标识符包括多个用户专用别名标识符,每个用户专用别名标识符共享该用户的账户认证信息。

33.一种用于提供加密的设备,所述设备用于为包括该设备的多个设备提供加密,每个设备被配置为与服务器电通信,所述服务器上存储有控制多个设备的第一用户的第一账户,所述第一账户将包括第一用户标识符和账户认证信息的账户数据存储在服务器的非易失性存储器上,

所述设备包括:

处理器;以及

设备的非易失性存储器,所述存储器上存储有指令,该指令用于使所述处理器配置为:

随机生成多个密钥指示符;

使用第二设备加密密钥从多个密钥指示符生成多个加密的密钥指示符,每个加密的密钥指示符与多个密钥指示符中的密钥指示符之一对应,所述第二设备加密密钥与所述服务器未知的第二设备解密密钥对应;

将所述多个加密的密钥指示符传送至服务器,以防止密钥指示符暴露于服务器,所述服务器能够操作以基于所述多个加密的密钥指示符为第一账户生成包括服务器密钥指示符部分的密钥状态字符串,并且在且仅在从该设备接收到的假定的服务器认证信息与账户认证信息对应的情况下,向所述多个设备中的第二设备提供对密钥状态字符串的访问;

基于所述多个密钥指示符生成多个密钥种子,其中对于每个密钥种子,所述处理器能够操作以生成多个独立的加密密钥;

将基于所述多个密钥种子的密钥种子信息存储在设备的非易失性存储器中;

其中,所述多个密钥指示符是在所述第二设备处使用第二设备解密密钥根据密钥状态字符串中的多个加密的密钥指示符能够确定的,使得基于所述多个密钥指示符能够生成相同的多个密钥种子,并且对于每个密钥种子,第二设备的处理器能够生成与所述设备相同的多个独立的加密密钥,而不需要向所述第二设备提供密钥种子、密钥种子信息和加密密钥中的任一种。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1