数据恢复方法、服务器、终端设备及存储介质转让专利
申请号 : CN202011416555.6
文献号 : CN112463454B
文献日 : 2021-11-05
发明人 : 孙吉平 , 李永建
申请人 : 北京深思数盾科技股份有限公司
摘要 :
权利要求 :
1.一种数据恢复方法,其特征在于,应用于服务器,包括:接收第一终端发起的数据恢复请求;所述数据恢复请求用于指示所述第一终端指定的备份数据;
根据所述数据恢复请求,查找所述指定的备份数据对应的密文包和数据恢复包;其中,所述密文包包括第一密文和第一签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密所得到的密文,所述第一签名者具有对数据恢复包签名的权限;所述数据恢复包由所述第一签名者利用所述第一签名者的私钥签发,所述数据恢复包包括协助者信息,所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份,所述数据恢复包能够由所述第一签名者在非数据备份阶段签发;
利用所述第一签名者的信息验证所述数据恢复包的签名是否正确;
如果所述签名正确,则将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者;
接收所述第一终端收集到的m个第二恢复码,其中,n≥m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数;
如果所述m个第二恢复码通过第一验证,则利用所述服务器的私钥恢复所述指定的备份数据;其中,所述第一验证为利用所述n个第一恢复码进行的验证。
2.根据权利要求1所述的方法,其特征在于,所述密文包还包括审批者的信息,所述审批者具有决定所述第一终端是否能够恢复所述指定的备份数据的权限;
该方法还包括:
查找与所述指定的备份数据对应的审批包;所述审批包经过所述审批者的私钥签名;
如果所述审批包通过第三验证,则利用所述第一签名者的信息验证所述数据恢复包的签名,其中所述第三验证包括利用所述审批者的公钥验证所述审批包的签名。
3.根据权利要求1‑2任一项所述的方法,其特征在于,所述密文包经过第一终端的私钥签名;
在利用所述第一签名者的信息验证所述数据恢复包的签名的步骤之前,还包括:利用所述第一终端的公钥对所述密文包的签名进行第二验证;
如果所述第二验证通过,则利用所述第一签名者的信息验证所述数据恢复包的签名。
4.根据权利要求1‑2任一项所述的方法,其特征在于,所述协助者信息还用于指示所述n个协助者各自对应的接收方式;
所述将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者的步骤,包括:
为所述n个协助者分别生成对应的n个第一恢复码;
通过所述n个协助者各自对应的接收方式,将所述n个第一恢复码分别发送给所述n个协助者。
5.根据权利要求1‑2任一项所述的方法,其特征在于,接收所述第一终端收集到的m个第二恢复码的步骤,包括:接收来自所述第一终端的m个第二校验码,所述m个第二校验码分别与所述m个第二恢复码对应;
所述m个第二恢复码通过第一验证的步骤,包括:如果所述m个第二校验码均包含于n个第一校验码中,则通过所述第一验证;其中,所述n个第一校验码分别与所述n个第一恢复码对应。
6.根据权利要求1‑2任一项所述的方法,其特征在于,利用所述服务器的私钥恢复所述指定的备份数据,包括:
利用所述服务器的私钥解密所述第一密文,得到第一明文;
利用与所述m个第二恢复码对应的m个第一恢复码生成会话密钥;
利用所述会话密钥对所述第一明文加密,得到第二密文;
发送所述第二密文给所述第一终端,以使所述第一终端恢复得到所述指定的备份数据。
7.一种数据恢复方法,其特征在于,应用于第一终端,包括:利用服务器的公钥对备份数据加密,得到第一密文;
将密文包发送给所述服务器;其中,所述密文包包括第一密文和第一签名者的信息,所述第一签名者具有对数据恢复包签名的权限,所述数据恢复包包括协助者信息,所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份,所述数据恢复包能够由所述第一签名者在非数据备份阶段签发;
向服务器发送数据恢复请求;其中,所述数据恢复请求用于指示所述第一终端指定的备份数据;
收集m个第二恢复码;
将所述m个第二恢复码发送给所述服务器;
在所述m个第二恢复码通过服务器的第一验证的情况下,接收恢复的所述备份数据;其中,所述第一验证为利用n个第一恢复码进行的验证,所述n个第一恢复码与n个协助者分别对应,当所述服务器利用所述第一签名者的信息验证与所述指定的备份数据对应的数据恢复包的签名正确时,所述n个第一恢复码被对应发送给所述n个协助者,n≥m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数。
8.一种数据恢复方法,其特征在于,应用于第二终端,包括:用第二签名者的私钥对数据恢复包签名;其中,所述数据恢复包包括协助者信息,所述协助者信息用于指示协助第一终端恢复备份数据的n个协助者的身份,所述数据恢复包能够由所述第二签名者在非数据备份阶段签发,密文包包括第一密文和第二签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密所得到的密文,所述数据恢复包和所述密文包用于恢复指定的备份数据;
将签名后的数据恢复包发送给服务器。
9.一种服务器,其特征在于,包括:存储器,其配置为存储预定的计算机指令;
处理器,其配置为运行所述预定的计算机指令以执行如权利要求1‑6任一项所述的数据恢复方法。
10.一种终端设备,其特征在于,包括:存储器,其配置为存储预定的计算机指令;
处理器,其配置为运行所述预定的计算机指令以执行如权利要求7或8所述的数据恢复方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8任一项所述的方法。
说明书 :
数据恢复方法、服务器、终端设备及存储介质
技术领域
背景技术
行账号的密码等。这些数据一旦丢失,会给用户造成较大的损失,因此可以对这些重要的数
据进行备份,以便在丢失的时候可以恢复。
备份到服务器上,并且提前设定好一些协助者。当终端上的数据丢失,需要将服务器上的数
据恢复回终端时,终端用户可以通过这些协助者的协助来恢复数据。
无法恢复数据。这是本领域技术人员亟待解决的问题。
发明内容
对所述备份数据加密所得到的密文,所述第一签名者具有对数据恢复包签名的权限;所述
数据恢复包由所述第一签名者利用所述第一签名者的私钥签发,包括协助者信息,所述协
助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;
协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;
协助者分别对应,当所述服务器利用所述第一签名者的信息验证与所述指定的备份数据对
应的数据恢复包的签名正确时,所述n个第一恢复码被对应发送给所述n个协助者,n≥m≥
t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数。
一密文和所述第一签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密
所得到的密文;
法。
由第一签名者的私钥签发,即第一签名者具有合法的修改数据恢复包中的信息的权限;另
一方面,服务器查找到的指定的备份数据对应的密文包中除了第一密文之外,还包括第一
签名者的信息。服务器在利用自己的私钥解密第一密文之前,可以利用第一签名者的信息
来验证数据恢复包的签名,从而确保数据恢复包是由具有权限的第一签名者所签发的,保
证数据恢复的安全性。由于第一签名者具有签发数据恢复包的权限,无论是在第一终端的
用户丢失数据之前还是之后,第一签名者都可以合法修改数据恢复包中的协助者信息,降
低了数据无法恢复的风险,提高了数据恢复的灵活性。此外,对于某些应用场景,例如企业
场景而言,采用上述数据恢复方法也有利于企业集中管理数据以及数据相应的操作权限。
附图说明
具体实施方式
例,而不是全部的实施例。基于所描述的本申请的实施例,本领域普通技术人员在无需创造
性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
要对数据进行备份以及恢复的用户所使用的终端设备,第一终端上可以安装一个客户端CS
(Client System)来实现本申请实施例中第一终端所执行的步骤。签名者终端为签名者所
使用的终端设备,签名者终端上可以安装一个客户端来实现本申请实施例中第二终端所执
行的步骤。协助者终端为协助者所使用的终端设备,协助者终端可以用于接收服务器发送
的恢复码。
Computer,PC)的PC终端设备等,本申请对于终端设备的具体产品形态不作限定。
申请对此不作限定。
限定。
文包中的第一签名者的信息所对应的第一签名者签过名的数据恢复包,才能通过服务器的
签名验证。示例性地,第一签名者的信息可以是第一签名者的公钥信息。
份。第二签名者可以是前述的第一签名者,也可以是其他签名者。当第二签名者为前述的第
一签名者时,签名者终端签发的数据恢复包可以通过服务器的验证;当第二签名者不是第
一签名者时,签名者终端签发的数据恢复包无法通过服务器的验证。
送给第一终端,由第一终端转发给服务器。
终端发起的请求来签发数据恢复包。也就是说,数据恢复包可以是在第一终端的用户尚未
丢失数据的时候由签名者终端签发,也可以是在第一终端的用户已经丢失数据之后由签名
者终端签发。通过这样的方式,即便原本的协助者发生改变,具有权限的第一签名者也可以
在签名者终端重新签发与密文包对应的数据恢复包,改变协助者信息,从而使第一终端的
用户能够顺利恢复备份数据。
通过这样的方式,第一终端可以指定本次需要恢复的数据。当密文包中包含一份或多份数
据的时候,第一终端可以通过备份数据的唯一ID来指定要恢复密文包中的某份数据,也可
以通过密文包的唯一ID来指定要恢复密文包中的所有数据,本申请对此不作限定。
复策略是否确实是由具有权限的第一签名者所签发的。如果不是第一签名者签发的,而是
由其他签名者签发的,则无法通过服务器的验证,相应地也不会再利用该数据恢复包来恢
复第一终端指定的备份数据。
个协助者。
体形式不作限定。采用这样的实现方式,服务器就可以通过n个协助者各自对应的接收方
式,将n个第一恢复码分别发送给n个协助者。
“038147”,通过手机短信的方式给协助者2发送对应的第一恢复码“835641”。
终端的用户,由第一终端的用户输入到第一终端中。示例性地,协助者也可以通过协助者终
端直接将接收到的第一恢复码转给第一终端。
第二恢复码。
务器。如果第一终端收集到的第二恢复码的数量小于t个,那么即便这些第二恢复码能够通
过服务器的验证,也不足以恢复备份数据。
服务器对第二恢复码的密文解密,得到m个第二恢复码。示例性地,第一终端还可以将分别
计算m个第二恢复码对应的第二校验码,然后将m个第二校验码发送给服务器。通过加密或
者发送第二校验码的方式,有利于进一步提高数据恢复的安全性。
校验码,然后验证接收到的m个第二校验码是否与n个第一校验码中的m个相同,如果相同,
则确定第一验证通过。否则,则可以输出“验证失败”的提示信息。
利用第二恢复码计算第二校验码的算法,与服务器利用第一恢复码计算第一校验码的算法
相同。第一终端和服务器所使用的算法,可以是双方预先约定的算法,例如哈希算法。
全性。对于第一终端不同时间发起的数据恢复请求,由于每一次的第二恢复码可能不同,相
应地每一次产生的会话密钥都不同,从而进一步提供数据恢复的安全性。
数据,第一终端的用户A在备份的时候可以提前设定好n个同事来协助恢复。但是,如果过了
一段时间,当用户A需要恢复备份数据时,这n个同事中已经有部分同事离职了,不能配合接
收恢复码和将恢复码告知用户A,则A就无法恢复数据。尤其是,如果用户A备份的数据为用
户A的密钥,则用户A在丢失了备份数据之后,就完全失去了改动协助者的可能,也就无法再
恢复数据。
由第一签名者的私钥签发,即第一签名者具有合法的修改数据恢复包中的信息的权限;另
一方面,服务器查找到的指定的备份数据对应的密文包中除了第一密文之外,还包括第一
签名者的信息。服务器在利用自己的私钥解密第一密文之前,可以利用第一签名者的信息
来验证数据恢复包的签名,从而确保数据恢复包是由具有权限的第一签名者所签发的,保
证数据恢复的安全性。由于第一签名者具有签发数据恢复包的权限,无论是在第一终端的
用户丢失数据之前还是之后,第一签名者都可以合法修改数据恢复包中的协助者信息,降
低了数据无法恢复的风险,提高了数据恢复的灵活性。
将签名者设定为普通职员的管理员。通过这样的方式,普通职员在丢失数据并需要恢复数
据的时候,需要管理员签发的数据恢复包才能够恢复数据,从而便于集中管理数据。如果普
通职员原本设定的部分协助者无法再提供协助,管理员就可以修改数据恢复包中的协助者
信息,来指定新的协助者来协助普通职员恢复数据。管理员通过修改协助者信息设定的协
助者可以是与普通职员有关联的人,也可以是与普通职员没有关联的人,本申请对此不作
限定。
密文包。
文包中的第一签名者的信息来验证数据恢复包,从而进一步提高数据恢复的安全性。
数据所对应的审批包。即,审批包和密文包和可以通过备份数据的唯一ID或者密文包的唯
一ID关联起来。
理员。通过这样的方式,普通职员在丢失数据并需要恢复数据的时候,需要管理员签发的审
批包才能够恢复数据,从而便于集中管理数据。相较于将管理员设为签名者的方案而言,管
理员只需要决定普通职员是否被允许恢复指定的备份数据,可以不关心具体由哪些协助者
来协助普通职员恢复数据,可以不执行修改协助者的信息、重新签发数据恢复包的操作,从
而简化管理员的操作。
m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数;
签名正确的情况下,将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者;
在所述m个第二恢复码通过第一验证的情况下,利用所述服务器的私钥恢复所述指定的备
份数据。
限;所述数据恢复包由所述第一签名者利用所述第一签名者的私钥签发,包括协助者信息,
所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;所述
第一验证为利用所述n个第一恢复码进行的验证。
中对应步骤的实现过程,在此亦不再赘述。
器520执行时,使得处理器520执行如上所述的实施例提供的所述服务器侧执行的方法的部
分或全部步骤。
的第一终端侧执行的方法的部分或全部步骤。
供的签名者终端侧执行的方法的部分或全部步骤。
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组
件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或者不执行。另一点,所显
示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间
接耦合或通信连接,可以是电性、机械或其它的形式。
单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机
软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计
算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前
述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器
(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序校验码的介质。
例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明
书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和
示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所
指示。
改都应落入本申请所要求保护的范围之内。