用于存储信息的方法和装置与流程

文档序号:15099035发布日期:2018-08-04 15:17阅读:249来源:国知局

本申请实施例涉及计算机技术领域,具体涉及用于存储信息的方法和装置。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制可理解为是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

狭义来讲,区块链可以是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链技术的自身特点,现被广泛用于金融行业。区块链技术中的私钥可以由第三方代为保管,也可以由用户个人保管。



技术实现要素:

本申请实施例提出了用于存储信息的方法和装置。

第一方面,本申请实施例提供了一种用于存储信息的方法,包括:获取原始数据,生成原始数据矩阵,其中,原始数据包括原始密钥和与原始密钥对应的随机盐;根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵,第一矩阵包括原始数据和冗余数据,其中,识别矩阵是采用范德蒙矩阵算法得到的;从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥,其中,恢复密钥用于提取原始密钥;将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及将剩余数目个恢复密钥存储至第三方。

在一些实施例中,该方法还包括:获取用于提取原始密钥的提取信息,其中,提取信息为原始数据中的至少一个数据和/或预设数目个恢复密钥中的至少一个恢复密钥组合成的目标数目个数据;根据提取信息生成第一矩阵;根据识别矩阵,将第一矩阵转换为原始数据矩阵;将原始数据矩阵中的原始密钥发送给用户。

在一些实施例中,原始数据还包括用户名和密码;以及获取用于提取原始密钥的提取信息,包括:接收用户发送的用户名和密码;根据接收的用户名和密码,从本地存储的第一数目个恢复密钥中提取恢复密钥;将接收的用户名和密码、本地提取的恢复密钥作为提取信息。

在一些实施例中,获取用于提取原始密钥的提取信息,还包括:接收用户发送的用户名以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;根据接收的用户名和恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;将接收的用户名和恢复密钥、本地提取的恢复密钥作为提取信息。

在一些实施例中,获取用于提取原始密钥的提取信息,还包括:接收用户发送的从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;根据接收的恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;将接收的恢复密钥、本地提取的恢复密钥作为提取信息。

在一些实施例中,该方法还包括:接收用户发送的用于重新生成恢复密钥的更新信息,其中,更新信息包括更新随机盐后的原始数据;根据更新信息,重新生成预设数目个恢复密钥;对重新生成的预设数目个恢复密钥进行存储。

在一些实施例中,原始数据还包括用户名和密码;以及接收用户发送的用于重新生成恢复密钥的更新信息之前,该方法还包括:接收用户发送的用户名、密码以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;根据接收的用户名、密码和恢复密码,确定原始密钥,以及将原始密钥发送给用户。

在一些实施例中,将剩余数目个恢复密钥存储至第三方,包括:将剩余数目个恢复密钥发送给用户,以使用户将剩余数目个恢复密钥存储至第三方;或者获取第三方的地址信息,将剩余数目个恢复密钥发送至地址信息所指示的第三方。

第二方面,本申请实施例提供了一种用于存储信息的装置,包括:第一获取单元,配置用于获取原始数据,生成原始数据矩阵,其中,原始数据包括原始密钥和与原始密钥对应的随机盐;第一转换单元,配置用于根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵,第一矩阵包括原始数据和冗余数据,其中,识别矩阵是采用范德蒙矩阵算法得到的;第一生成单元,配置用于从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥,其中,恢复密钥用于提取原始密钥;第一存储单元,配置用于将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及将剩余数目个恢复密钥存储至第三方。

在一些实施例中,该装置还包括:第二获取单元,配置用于获取用于提取原始密钥的提取信息,其中,提取信息为原始数据中的至少一个数据和/或预设数目个恢复密钥中的至少一个恢复密钥组合成的目标数目个数据;第二生成单元,配置用于根据提取信息生成第一矩阵;第二转换单元,配置用于根据识别矩阵,将第一矩阵转换为原始数据矩阵;发送单元,配置用于将原始数据矩阵中的原始密钥发送给用户。

在一些实施例中,原始数据还包括用户名和密码;以及第二获取单元包括:第一接收子单元,配置用于接收用户发送的用户名和密码;第一提取子单元,配置用于根据接收的用户名和密码,从本地存储的第一数目个恢复密钥中提取恢复密钥;第一生成子单元,配置用于将接收的用户名和密码、本地提取的恢复密钥作为提取信息。

在一些实施例中,第二获取单元还包括:第二接收子单元,配置用于接收用户发送的用户名以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;第二提取子单元,配置用于根据接收的用户名和恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;第二生成子单元,配置用于将接收的用户名和恢复密钥、本地提取的恢复密钥作为提取信息。

在一些实施例中,第二获取单元还包括:第三接收子单元,配置用于接收用户发送的从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;第三提取子单元,配置用于根据接收的恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;第三生成子单元,配置用于将接收的恢复密钥、本地提取的恢复密钥作为提取信息。

在一些实施例中,该装置还包括:第一接收单元,配置用于接收用户发送的用于重新生成恢复密钥的更新信息,其中,更新信息包括更新随机盐后的原始数据;重新生成单元,配置用于根据更新信息,重新生成预设数目个恢复密钥;第二存储单元,配置用于对重新生成的预设数目个恢复密钥进行存储。

在一些实施例中,原始数据还包括用户名和密码;以及该装置还包括:第二接收单元,配置用于接收用户发送的用户名、密码以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;确定单元,配置用于根据接收的用户名、密码和恢复密码,确定原始密钥,以及将原始密钥发送给用户。

在一些实施例中,第一存储单元包括:第一发送子单元,配置用于将剩余数目个恢复密钥发送给用户,以使用户将剩余数目个恢复密钥存储至第三方;或者第二发送子单元,配置用于获取第三方的地址信息,将剩余数目个恢复密钥发送至地址信息所指示的第三方。

第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例所描述的方法。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如上述第一方面中任一实施例所描述的方法。

本申请实施例提供的用于存储信息的方法和装置,首先通过获取原始数据,可以生成原始数据矩阵。其中,原始数据可以包括原始密钥和与原始密钥对应的随机盐。之后,可以根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵。第一矩阵可以包括原始数据和冗余数据。其中,识别矩阵是采用范德蒙矩阵算法得到的。接着,可以从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥。其中,恢复密钥用于提取原始密钥。最后,可以将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及可以将剩余数目个恢复密钥存储至第三方。即将原始密钥转换为多个恢复密钥,并将多个恢复密钥分散存储。这样有助于提高安全性,而且能够有效地防止密钥丢失。此外,存储位置可以任意设置,增加了存储方式的灵活性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请用于存储信息的方法的一个实施例的流程图;

图3A是提取原始密钥过程的一个时序图;

图3B是提取原始密钥过程的又一个时序图;

图3C是提取原始密钥过程的再一个时序图;

图3D是更新恢复密钥过程的一个时序图;

图3E是更新恢复密钥过程的又一个时序图;

图4是根据本申请用于存储信息的装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请实施例的用于存储信息的方法或用于存储信息的装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端101、102、103,网络104和服务器105。网络104用以在终端101、102、103与服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端101、102、103通过网络104与服务器105进行交互,以接收或发送消息等。终端101、102、103上可以安装有各种客户端应用,例如密钥保管类应用、金融类应用、网页浏览器和即时通讯工具等。

服务器105可以是提供各种服务的服务器,例如对终端101、102、103上显示的各种应用提供支持的后台服务器。后台服务器可以对用户在应用中的各种操作进行分析处理,并且可以将处理结果(例如浏览页面)发送给终端101、102、103。同时,服务器105中可以预先存储有识别矩阵。其中,识别矩阵可以是由服务器105采用范德蒙矩阵算法计算得到的,用于将原始密钥转换为恢复密钥。

终端101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、U盾、电子书阅读器、膝上型便携计算机和台式计算机等等。此外,终端101、102、103可以根据从服务器105获取的识别矩阵,对用户输入的原始数据进行分析处理。其中,原始数据可以包括原始密钥。并且可以对处理结果(例如预设数目个恢复密钥)进行存储。

需要说明的是,本申请实施例所提供的用于存储信息的方法一般由终端101、102、103执行,相应地,用于存储信息的装置一般设置于终端101、102、103中。这里的终端可以是硬件,也可以是软件。当终端为硬件时,可以实现成多个设备组成的分布式设备集群,也可以实现成单个设备。当终端为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。

继续参见图2,其示出了根据本申请的用于存储信息的方法的一个实施例的流程200。该用于存储信息的方法可以包括以下步骤:

步骤201,获取原始数据,生成原始数据矩阵。

在本实施例中,用于存储信息的方法运行于其上的电子设备(例如图1所示的终端101、102、103)可以通过多种方法来获取原始数据,从而生成原始数据矩阵。其中,原始数据可以包括原始密钥和与原始密钥对应的随机盐。在这里,原始数据矩阵通常是以原始数据为元素的行向量或行向量。

在本实施例中,原始密钥可以是各种涉及个人隐私信息、财产安全而需要妥善保管的信息,例如可以是金融交易中的区块链密钥。原始密钥可以包括数字、字母、符号等字符中的至少一种。而且出于安全考虑,可以在原始密钥的任意固定位置插入特定的字符串,即对原始密钥加盐。特定的字符串即为随机盐(salt)。这样可以避免原始密钥在传输过程中泄露的风险。在原始数据中为了安全。

例如,用户可以通过语音、按键或触摸屏等输入方式,在电子设备上输入原始密钥。电子设备在获取到原始密钥后,可以根据预先设置的算法自动生成与该原始密钥对应的随机盐。或者电子设备可以在检测到用于指示生成随机盐的操作指令后,如用户点击或触碰某按键,可以生成与该原始密钥对应的随机盐。通常情况下,随机盐是不会出现重复的。需要说明的是,随机盐也可以是用户自行设置的。加盐属于密码学中被广泛使用的方法,此处不再赘述。

在本实施例的一些可选的实现方式中,原始数据中还可以包括用户名和密码。例如,用户在输入原始密钥之前,可以先输入已注册的用户名和密码。这样电子设备可以进行登录认证。之后在获取到原始密钥和随机盐后,可以将原始密钥、用户名、密码和随机盐作为原始数据,生成4行×1列的原始数据矩阵X。作为示例,此时原始数据矩阵X的各行依次为原始密钥、用户名、密码和随机盐。

步骤202,根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵,第一矩阵包括原始数据和冗余数据。

在本实施例中,电子设备可以根据预先存储的识别矩阵,将步骤201中生成的原始数据矩阵转换为第一矩阵。这里的第一矩阵可以包括原始数据和冗余数据。其中,识别矩阵可以是采用范德蒙矩阵算法得到的。

在本实施例中,可以先根据伽罗华域(Galois Field)算法中的指数与对数换算表计算出n行×k列范德蒙矩阵。接着可以采用高斯-若尔当(Gauss-Jordan)消元法得到所需的n行×k列识别矩阵。需要说明的是,在RTSP(Real Time Streaming Protocol,实时流传输协议)协议中的前置纠错算法就是范德蒙矩阵算法的一个应用。这种算法是可市售的,用户可以根据需求来订购。需要说明的是,识别矩阵的存储位置在本申请中并不限制,如可以存储在电子设备本地,也可以存储在与电子设备通信的服务器(例如图1所示的服务器105)中。

在本实施例的一些可选的实现方式中,可以将原始数据矩阵左乘上识别矩阵,从而得到第一矩阵。例如n行×k列识别矩阵G乘以4行×1列原始数据矩阵X,可以得到n行×1列的第一矩阵Y。其中,识别矩阵的列数要与原始数据矩阵的行数相同。而此时,识别矩阵的行数可以根据冗余数据的数量来设置。

作为示例,识别矩阵G可以为8行×4列矩阵,这样在原始数据矩阵X左乘识别矩阵G后,可以生成8行×1列的第一矩阵Y,即Y=GX。其中,第一矩阵Y的前四行可以是原始数据,剩下的四行为冗余数据。

步骤203,从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥。

在本实施例中,根据步骤202中转换得到的第一矩阵,电子设备可以从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥。其中,恢复密钥可以用于提取原始密钥。

这里的选取方式在本申请中并不限制,可以是随机选取,也可以是选取指定位置。同时,上述预设数目也可以根据实际情况设置,即根据所需恢复密钥的数量来设置。预设数目通常要不大于冗余数据的数量,且至少为2。作为示例,可以将上述的8行×1列的第一矩阵Y中的四行冗余数据都选取作为恢复密钥。

可以理解的是,若识别矩阵的行数较多,即第一矩阵中冗余数据的数量多,则会增加电子设备的运算量,影响处理效率。若识别矩阵的行数较少,即第一矩阵中冗余数据的数量少,则会减少恢复密钥的数量,影响信息的安全性。

步骤204,将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及将剩余数目个恢复密钥存储至第三方。

在本实施例中,电子设备可以将步骤203中预设数目个恢复密钥中的第一数目个恢复密钥存储在本地。其中,第一数目同样可以根据实际情况设置,通常要小于上述预设数目。例如可以将上述四份恢复密钥中的两份恢复密钥存储在本地。

此外,电子设备还可以将剩余数目个恢复密钥存储至第三方。其中,剩余数目可以是指上述预设数目与上述第一数目的差值,通常也要小于上述预设数目。这里的第三方可以是除电子设备之外的能够存储信息的任意介质,如网盘、邮箱、移动硬盘等等。例如可以将上述四份恢复密钥中剩余(即未存储在电子设备本地)的两份恢复密钥分别存储至邮箱、网盘。即邮箱存储一份,网盘存储一份。

也就是说,可以将预设数目个恢复密钥分散存储在不同的位置,如电子设备的本地硬盘、不同的第三方云端等。这样可以提高信息的安全性。而且存储位置可以根据用户需求来调整,提高了方法的灵活性。

在本实施例的一些可选的实现方式,电子设备可以将剩余数目个恢复密钥发送给用户,以使用户将剩余数目个恢复密钥存储至第三方。也就是说,在没有网络的情况下,电子设备也可以对获取的原始数据进行处理,并且可以至少将剩余数目个恢复密钥显示给用户。此时,用户可以自行将这些恢复密钥存储至第三方。这样有助于提高信息的安全性,避免信息在传输过程中发生泄漏。需要说明的是,电子设备也可以将存储在本地的恢复密钥显示给用户。

可选地,电子设备可以获取第三方的地址信息,从而可以将剩余数目个恢复密钥发送至地址信息所指示的第三方。例如用户可以输入邮箱账号和网盘账号,这样电子设备可以将剩余数目个恢复密钥分别发送给邮箱账号和网盘账号,这样可以减少用户操作。

本实施例提供的用于存储信息的方法,可以将原始密钥转换为至少两个恢复密钥,并且可以将这些恢复密钥分散存储。这样可以降低恢复密钥泄漏的风险,提高信息的安全性。同时,可以避免原始密钥丢失而造成财产损失。

在本实施例的一些可选的实现方式,用户还可以利用恢复密钥来提取原始密钥。具体地,首先电子设备可以获取用于提取原始密钥的提取信息,其中,提取信息可以为原始数据中的至少一个数据和/或预设数目个恢复密钥中的至少一个恢复密钥组合成的目标数目个数据;接着,可以根据提取信息生成第一矩阵;之后,根据识别矩阵可以将第一矩阵转换为原始数据矩阵;最后,可以将原始数据矩阵中的原始密钥发送给用户。

需要说明的是,目标数目可以小于第一矩阵中元素的数量,例如目标数目可以为4。而且提取信息可以是原始数据,也可以是恢复密钥,还可以是原始数据与恢复密钥的任意组合。即提取信息可以是第一矩阵中的元素数据。这样利用范德蒙算法,就可以通过提取信息得到第一矩阵。这也是该算法的特点之一。

作为示例,由于第一矩阵Y等于识别矩阵G与原始数据矩阵X相乘,所以可以将第一矩阵Y左乘识别矩阵G的逆矩阵,便可以得到原始数据矩阵X,即X=G-1Y。进而可以得到原始密钥。

可以理解的是,由于恢复密钥分散存储,所以即便某一存储位置的恢复密钥泄漏,往往也很难凑够目标数量个数据,以得到提取信息。因此可以大大提升安全性。在这里,用户可以通过多种方式来提取原始密钥,例如可以参见图3A-图3C所示,其分别示出了提取原始密钥过程的三个时序图。

如图3A所示,若原始数据中还可以包括用户名和密码,则用户可以利用用户名和密码来提取原始密钥。

步骤301,用户可以向电子设备输入用户名和密码。这里的输入方式在本申请中并不限制。

步骤302,电子设备可以对接收的用户名和密码进行验证。若验证通过,则可以继续执行步骤303。若验证不通过,则可以向用户发送提示信息,以通知用户重新输入。

步骤303,若验证通过,电子设备可以根据接收的用户名和密码,从本地存储的第一数目个恢复密钥中提取恢复密钥。

需要说明的是,这里的提取方法可以是随机提取,也可以是指定顺序提取。而且提取的恢复密钥的数量需要根据提取信息中的目标数目来确定。作为示例,若目标数目为4,则电子设备可以提取出本地所存储的两份恢复密钥,从而可以与接收的用户名和密码凑成目标数目。

步骤304,电子设备可以将接收的用户名和密码、本地提取的恢复密钥作为提取信息,从而计算出原始密钥,并将原始密钥发送给用户。这里的发送方式可以包括(但不限于)屏幕显示。在一些应用场景中,电子设备还可以将用户名发送给用户,以便于用户对信息的正确性进行确认。

可以理解的是,这种提取原始密钥的方式,可以将难以记忆的原始密钥转化为人们习惯使用的用户名和密码的方式来存储。这样在提取原始密钥时,用户可以仅向电子设备提供用户名和密码,便可以获取原始密钥。便于用户记忆,同时简化了操作过程,使用方便。

如图3B所示,若用户忘记密码,也可以提取第三方存储的恢复密钥,以与用户名和本地存储的恢复密钥组合,来提取原始密钥。

步骤305,用户从第三方存储的剩余数目个恢复密钥中提取恢复密钥。

需要说明的是,这里的提取方法在本申请中同样不限定。而且提取的恢复密钥的数量需要根据提取信息中的目标数目来确定。作为示例,若目标数目为4,则电子设备可以从第三方存储的恢复密钥中提取出一份恢复密钥。

步骤306,用户可以将用户名以及从第三方提取的恢复密钥输入电子设备。

步骤307,电子设备可以根据接收的用户名和恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥。例如,若目标数目为4,则电子设备可以提取出本地所存储的两份恢复密钥,从而可以与接收的用户名和恢复密钥凑成目标数目。

步骤308,电子设备可以将接收的用户名和恢复密钥、本地提取的恢复密钥作为提取信息,从而计算出原始密钥。此时,电子设备可以将原始密钥、用户名和密码发送给用户。这样用户不仅可以提取原始密钥,还可以找回密码。

如图3C所示,若用户忘记用户名和密码,也可以提取第三方存储的恢复密钥,以与本地存储的恢复密钥组合,来提取原始密钥。

步骤309,用户可以从第三方存储的剩余数目个恢复密钥中提取的恢复密钥。其中,提取恢复密钥的数量需要根据提取信息中的目标数目来确定。作为示例,若目标数目为4,则电子设备可以提取出第三方所存储的两份恢复密钥。

步骤310,用户可以将提取的恢复密钥输入至电子设备。

步骤311,电子设备可以根据接收的恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥。例如,若目标数目为4,则电子设备可以提取出本地所存储的两份恢复密钥,从而可以与接收的两份恢复密钥凑成目标数目。

步骤312,电子设备可以将接收的恢复密钥、本地提取的恢复密钥作为提取信息,从而计算出原始密钥。此时,电子设备可以将原始密钥、用户名和密码发送给用户。这样用户不仅可以提取原始密钥,还可以找回用户名和密码。

可以理解的是,本实施例提供了多种原始密钥提取方法,可以便于用户在不同情况下都能提取原始密钥,同时还能找回用户名和/或密码。提升了用户体验,也提高了方法的适用性。而且恢复密钥是分散存储的,保证了信息的安全性。

进一步地,当第三方存储的恢复密钥发生泄漏,或者本地存储的恢复密钥泄露(如电子设备丢失),用户可以更新恢复密钥。这样可以使泄露的恢复密钥失效,从而不能用于提取原始密钥,进而保证了信息的安全性。更新恢复密钥的过程可以参见图3D和图3E所示,其分别示出了更新恢复密钥过程的两个时序图。

如图3D所示,若用户发现或怀疑第三方存储的恢复密钥被盗,如邮箱账号或网盘账号泄露,或者在异地登录等,则可以更新恢复密钥。

步骤313,用户可以向电子设备发送用于重新生成恢复密钥的更新信息。其中,更新信息可以包括更新随机盐后的原始数据。例如可以包括原始密钥、用户名、密码和更新的随机盐。

步骤314,电子设备可以根据更新信息,重新生成预设数目个恢复密钥。并可以对重新生成的预设数目个恢复密钥进行存储。具体生成过程可以参见步骤201-步骤204中的相关描述,此处不再赘述。

作为示例,电子设备可以将其中第一数目个重新生成的恢复密钥存储在本地,以替换此前所存储的恢复密钥。并可以执行步骤314。

步骤315,电子设备可以将剩余数目个重新生成的恢复密钥发送给用户。

步骤316,用户可以将剩余数目个重新生成的恢复密钥存储至第三方。这里的第三方可以是更换密码后的此前存储恢复密钥的第三方,也可以是其他第三方。

可以理解的是,通过使用随机盐,可以使每次生成的恢复密钥都不同。这样可以使此前所生成的恢复密钥失效。

如图3E所示,若电子设备发生丢失,可能会造成本地存储的恢复密钥泄露,则用户同样可以使用运行有用于存储信息的方法的其他电子设备来更新恢复密钥。

步骤317,用户可以从第三方存储的剩余数目个恢复密钥中提取的恢复密钥。

步骤318,用户可以向电子设备输入用户名、密码以及提取的恢复密钥。

步骤319,电子设备可以根据接收的用户名、密码和恢复密码,确定原始密钥。以及可以将原始密钥发送给用户。同样,为了便于用户确认信息的准确性,电子设备也可以同时将用户名(或者用户名和密码)发送给用户。

接着,用户可以向电子设备发送更新信息,以更新恢复密钥。具体可以参见步骤313-步骤316的相关描述,此处不再赘述。

需要说明的是,由于恢复密钥分散存储,所以一般不会出现恢复密钥全部丢失的情况,提高了信息的安全性。而且当部分恢复密钥泄露或丢失时,用户可以利用现有的恢复密钥,及时生成新的恢复密钥,保证了原始密钥的安全。同时,能够有效地避免因传统保存方法中原始密钥丢失,而造成严重的财产损失。

因此,本申请实施例提供的用于存储信息的方法,简单实用,便于用户操作使用。同时安全性更高,适用范围也较广泛。

进一步参见图4,作为对上述各图所示方法的实现,本申请提供了一种用于存储信息的装置的一个实施例。该用于存储信息的装置实施例与上述各图所示的用于存储信息的方法的实施例相对应。由此,上文针对上述各图中用于存储信息的方法描述的操作和特征同样适用于用于存储信息的装置400及其中包含的单元,在此不再赘述。该装置具体可以应用于各种电子设备中。

如图4所示,本实施例的用于存储信息的装置400可以包括:第一获取单元401,配置用于获取原始数据,生成原始数据矩阵,其中,原始数据包括原始密钥和与原始密钥对应的随机盐;第一转换单元402,配置用于根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵,第一矩阵包括原始数据和冗余数据,其中,识别矩阵是采用范德蒙矩阵算法得到的;第一生成单元403,配置用于从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥,其中,恢复密钥用于提取原始密钥;第一存储单元404,配置用于将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及将剩余数目个恢复密钥存储至第三方。

在本实施例的一些可选的实现方式中,该装置400还可以包括:第二获取单元(图中未示出),配置用于获取用于提取原始密钥的提取信息,其中,提取信息为原始数据中的至少一个数据和/或预设数目个恢复密钥中的至少一个恢复密钥组合成的目标数目个数据;第二生成单元(图中未示出),配置用于根据提取信息生成第一矩阵;第二转换单元(图中未示出),配置用于根据识别矩阵,将第一矩阵转换为原始数据矩阵;发送单元(图中未示出),配置用于将原始数据矩阵中的原始密钥发送给用户。

可选地,原始数据还可以包括用户名和密码;以及第二获取单元可以包括:第一接收子单元,配置用于接收用户发送的用户名和密码;第一提取子单元,配置用于根据接收的用户名和密码,从本地存储的第一数目个恢复密钥中提取恢复密钥;第一生成子单元,配置用于将接收的用户名和密码、本地提取的恢复密钥作为提取信息。

进一步地,第二获取单元还可以包括:第二接收子单元,配置用于接收用户发送的用户名以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;第二提取子单元,配置用于根据接收的用户名和恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;第二生成子单元,配置用于将接收的用户名和恢复密钥、本地提取的恢复密钥作为提取信息。

在一些实施例中,第二获取单元还可以包括:第三接收子单元,配置用于接收用户发送的从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;第三提取子单元,配置用于根据接收的恢复密钥,从本地存储的第一数目个恢复密钥中提取恢复密钥;第三生成子单元,配置用于将接收的恢复密钥、本地提取的恢复密钥作为提取信息。

在一些应用场景中,该装置400还可以包括:第一接收单元(图中未示出),配置用于接收用户发送的用于重新生成恢复密钥的更新信息,其中,更新信息包括更新随机盐后的原始数据;重新生成单元(图中未示出),配置用于根据更新信息,重新生成预设数目个恢复密钥;第二存储单元(图中未示出),配置用于对重新生成的预设数目个恢复密钥进行存储。

可选地,原始数据还可以包括用户名和密码;以及该装置400还可以包括:第二接收单元(图中未示出),配置用于接收用户发送的用户名、密码以及从第三方存储的剩余数目个恢复密钥中提取的恢复密钥;确定单元(图中未示出),配置用于根据接收的用户名、密码和恢复密码,确定原始密钥,以及将原始密钥发送给用户。

作为示例,第一存储单元404可以包括:第一发送子单元,配置用于将剩余数目个恢复密钥发送给用户,以使用户将剩余数目个恢复密钥存储至第三方;或者第二发送子单元,配置用于获取第三方的地址信息,将剩余数目个恢复密钥发送至地址信息所指示的第三方。

下面参见图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括触摸屏、键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、第一转换单元、第一生成单元和第一存储单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取原始数据,生成原始数据矩阵的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取原始数据,生成原始数据矩阵,其中,原始数据包括原始密钥和与原始密钥对应的随机盐;根据预先存储的识别矩阵,将原始数据矩阵转换为第一矩阵,第一矩阵包括原始数据和冗余数据,其中,识别矩阵是采用范德蒙矩阵算法得到的;从第一矩阵的冗余数据中,选取预设数目个冗余数据作为恢复密钥,其中,恢复密钥用于提取原始密钥;将预设数目个恢复密钥中的第一数目个恢复密钥存储至本地,以及将剩余数目个恢复密钥存储至第三方。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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