CN112463454B - 数据恢复方法、服务器、终端设备及存储介质 - Google Patents

数据恢复方法、服务器、终端设备及存储介质 Download PDF

Info

Publication number
CN112463454B
CN112463454B CN202011416555.6A CN202011416555A CN112463454B CN 112463454 B CN112463454 B CN 112463454B CN 202011416555 A CN202011416555 A CN 202011416555A CN 112463454 B CN112463454 B CN 112463454B
Authority
CN
China
Prior art keywords
data
recovery
terminal
codes
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011416555.6A
Other languages
English (en)
Other versions
CN112463454A (zh
Inventor
孙吉平
李永建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN202011416555.6A priority Critical patent/CN112463454B/zh
Publication of CN112463454A publication Critical patent/CN112463454A/zh
Application granted granted Critical
Publication of CN112463454B publication Critical patent/CN112463454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种数据恢复方法、服务器、终端设备及存储介质。该方法包括:接收第一终端发起的数据恢复请求;根据所述数据恢复请求,查找所述指定的备份数据对应的密文包和数据恢复包;利用所述第一签名者的信息验证所述数据恢复包的签名是否正确;如果所述签名正确,则将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者;接收所述第一终端收集到的m个第二恢复码;如果所述m个第二恢复码通过第一验证,则利用所述服务器的私钥恢复所述指定的备份数据。通过上述实现方式,可以保证第一终端的备份数据恢复的安全性,降低了数据无法恢复的风险,提高了数据恢复的灵活性,同时有利于集中管理数据。

Description

数据恢复方法、服务器、终端设备及存储介质
技术领域
本申请涉及数据安全领域,特别涉及一种数据恢复方法、服务器、终端设备及存储介质。
背景技术
在互联网越来越普及,互联网应用也越来越繁多的今天,很多应用会产生一些对用户来说很重要的隐私数据,例如姓名、电话号码、家庭地址、家庭成员、密钥、银行账号、银行账号的密码等。这些数据一旦丢失,会给用户造成较大的损失,因此可以对这些重要的数据进行备份,以便在丢失的时候可以恢复。
将终端用户的终端上的数据加密后存储在服务器上,当需要恢复的时候,再从服务器上获取进行恢复,这是一种常见的备份和恢复方式。进一步地,终端用户还可以将数据备份到服务器上,并且提前设定好一些协助者。当终端上的数据丢失,需要将服务器上的数据恢复回终端时,终端用户可以通过这些协助者的协助来恢复数据。
但是,这些协助者通常都是终端用户提前设定好的,如果其中一部分协助者发生变动,不能够提供协助,将导致能够协助的协助者的数量低于最低门限,进而导致终端用户无法恢复数据。这是本领域技术人员亟待解决的问题。
发明内容
本申请的一个目的在于提供一种数据恢复方法,能够提高数据恢复的安全性和灵活性,降低了数据无法恢复的风险。
本申请的第一个方面提供一种数据恢复方法,应用于服务器,包括:
接收第一终端发起的数据恢复请求;所述恢复数据请求用于指示所述第一终端指定的备份数据;
根据所述数据恢复请求,查找所述指定的备份数据对应的密文包和数据恢复包;其中,所述密文包包括第一密文和第一签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密所得到的密文,所述第一签名者具有对数据恢复包签名的权限;所述数据恢复包由所述第一签名者利用所述第一签名者的私钥签发,包括协助者信息,所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;
利用所述第一签名者的信息验证所述数据恢复包的签名是否正确;
如果所述签名正确,则将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者;
接收所述第一终端收集到的m个第二恢复码,其中,n≥m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数;
如果所述m个第二恢复码通过第一验证,则利用所述服务器的私钥恢复所述指定的备份数据;其中,所述第一验证为利用所述n个第一恢复码进行的验证。
结合第一方面,在一种可能的实现方式中,所述密文包还包括审批者的信息,所述审批者具有决定所述第一终端是否能够恢复所述指定的备份数据的权限;
该方法还包括:
查找与所述指定的备份数据对应的审批包;所述审批包经过所述审批者的私钥签名;
如果所述审批包通过第三验证,则利用所述第一签名者的信息验证所述数据恢复包的签名,其中所述第三验证包括利用所述审批者的公钥验证所述审批包的签名。
结合第一方面,在一种可能的实现方式中,所述密文包经过第一终端的私钥签名;
在利用所述第一签名者的信息验证所述数据恢复包的签名的步骤之前,还包括:
利用所述第一终端的公钥对所述密文包的签名进行第二验证;
如果所述第二验证通过,则利用所述第一签名者的信息验证所述数据恢复包的签名。
结合第一方面,在一种可能的实现方式中,所述协助者信息还用于指示所述n个协助者各自对应的接收方式;
所述将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者的步骤,包括:
为所述n个协助者分别生成对应的n个第一恢复码;
通过所述n个协助者各自对应的接收方式,将所述n个第一恢复码分别发送给所述n个协助者。
结合第一方面,在一种可能的实现方式中,接收所述第一终端收集到的m个第二恢复码的步骤,包括:
接收来自所述第一终端的m个第二校验码,所述m个第二校验码分别与所述m个第二恢复码对应;
所述m个第二恢复码通过第一验证的步骤,包括:
如果所述m个第二校验码均包含于n个第一校验码中,则通过所述第一验证;其中,所述n个第一校验码分别与所述n个第一恢复码对应。
结合第一方面,在一种可能的实现方式中,利用所述服务器的私钥恢复所述指定的备份数据,包括:
利用所述服务器的私钥解密所述第一密文,得到第一明文;
利用与所述m个第二恢复码对应的m个第一恢复码生成会话密钥;
利用所述会话密钥对所述第一明文加密,得到第二密文;
发送所述第二密文给所述第一终端,以使所述第一终端恢复得到所述指定的备份数据。
本申请的第二方面提供一种数据恢复方法,应用于第一终端,包括:
利用服务器的公钥对备份数据加密,得到第一密文;
将密文包发送给所述服务器;其中,所述密文包包括第一密文和第一签名者的信息,所述第一签名者具有对数据恢复包签名的权限,所述数据恢复包包括协助者信息,所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;
向服务器发送数据恢复请求;其中,所述数据恢复请求用于指示所述第一终端指定的备份数据;
收集m个第二恢复码;
将所述m个第二恢复码发送给所述服务器;
在所述m个第二恢复码通过服务器的第一验证的情况下,接收恢复的所述备份数据;其中,所述第一验证为利用所述n个第一恢复码进行的验证,所述n个第一恢复码与n个协助者分别对应,当所述服务器利用所述第一签名者的信息验证与所述指定的备份数据对应的数据恢复包的签名正确时,所述n个第一恢复码被对应发送给所述n个协助者,n≥m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数。
结合第二方面,在一种可能的实现方式中,所述密文包还包括审批者的信息,所述审批者具有决定所述第一终端是否能够恢复所述指定的备份数据的权限。
结合第二方面,在一种可能的实现方式中,所述密文包经过第一终端的私钥签名。
结合第二方面,在一种可能的实现方式中,所述协助者信息还用于指示所述n个协助者各自对应的接收方式。
结合第二方面,在一种可能的实现方式中,接收恢复的所述备份数据的步骤,包括:
利用所述m个第二恢复码生成会话密钥;
接收第二密文;
利用所述会话密钥解密所述第二密文,得到所述指定的备份数据。
本申请的第三方面提供一种数据恢复方法,应用于第二终端,包括:
用第二签名者的私钥对数据恢复包签名;其中,所述数据恢复包包括协助者信息,所述协助者信息用于指示协助第一终端恢复备份数据的n个协助者的身份,密文包包括第一密文和所述第一签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密所得到的密文;
将签名后的数据恢复包发送给服务器。
结合第三方面,在一种可能的实现方式中,所述协助者信息还用于指示所述n个协助者各自对应的接收方式。
本申请的第四方面提供一种服务器,包括:
存储器,其配置为存储预定的计算机指令;
处理器,其配置为运行所述预定的计算机指令以执行第一方面的任一种数据恢复方法。
本申请的第五方面提供一种终端设备,包括:
存储器,其配置为存储预定的计算机指令;
处理器,其配置为运行所述预定的计算机指令以执行第二方面的任一种数据恢复方法。
本申请的第六方面提供一种终端设备,包括:
存储器,其配置为存储预定的计算机指令;
处理器,其配置为运行所述预定的计算机指令以执行第三方面的任一种数据恢复方法。
本申请的第七方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行第一方面、第二方面或第三方面的任一种方法。
采用上述实现方式中的数据恢复方法,一方面,数据恢复包包括协助者信息,协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份,而数据恢复包由第一签名者的私钥签发,即第一签名者具有合法的修改数据恢复包中的信息的权限;另一方面,服务器查找到的指定的备份数据对应的密文包中除了第一密文之外,还包括第一签名者的信息。服务器在利用自己的私钥解密第一密文之前,可以利用第一签名者的信息来验证数据恢复包的签名,从而确保数据恢复包是由具有权限的第一签名者所签发的,保证数据恢复的安全性。由于第一签名者具有签发数据恢复包的权限,无论是在第一终端的用户丢失数据之前还是之后,第一签名者都可以合法修改数据恢复包中的协助者信息,降低了数据无法恢复的风险,提高了数据恢复的灵活性。此外,对于某些应用场景,例如企业场景而言,采用上述数据恢复方法也有利于企业集中管理数据以及数据相应的操作权限。
附图说明
图1是本申请的一个实施例中数据备份和恢复所涉及的交互端的示意图。
图2是本申请一示例性实施例示出的一种数据备份、数据恢复包签发和数据恢复方法的流程图。
图3是根据本申请一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
为了使得本申请的目的、技术方案和优点更加清楚,下面将结合本申请的附图,对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于所描述的本申请的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请的一个实施例中数据备份和恢复所涉及的交互端的示意图。
如图1所示,本申请实施例中的交互端包括第一终端、服务器、签名者终端和协助者终端。其中,第一终端、签名者终端和协助者终端分别与服务器通信连接。第一终端为需要对数据进行备份以及恢复的用户所使用的终端设备,第一终端上可以安装一个客户端CS(Client System)来实现本申请实施例中第一终端所执行的步骤。签名者终端为签名者所使用的终端设备,签名者终端上可以安装一个客户端来实现本申请实施例中第二终端所执行的步骤。协助者终端为协助者所使用的终端设备,协助者终端可以用于接收服务器发送的恢复码。
这里,终端设备可以包括但不限于诸如手机、个人数字助理(Personal DigitalAssistant,PDA)、手环、VR眼镜的移动终端设备,或者诸如个人计算机(PersonalComputer,PC)的PC终端设备等,本申请对于终端设备的具体产品形态不作限定。
服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请对此不作限定。
第一终端的用户、签名者、协助者可以是个人用户,也可以是企业用户,本申请对此不作限定。这里的用户可以是人,也可以不是人,例如可以是无人值守的自动化程序,本申请对此不作限定。
图2是本申请一示例性实施例示出的一种数据备份、数据恢复包签发和数据恢复方法的流程图,该方法可以由图1所示的四种交互端来对应执行。
本申请实施例中的数据备份的方法可以包括:
S210:第一终端利用服务器的公钥对备份数据加密,得到第一密文。
需要说明的是,本申请实施例中被备份和恢复的数据可以是密钥,可以是其他任何数据,本申请对此不作限定。
还需要说明的是,备份数据可以具有唯一ID,用于唯一标识该备份数据。该唯一ID可以是第一终端为备份数据分配的,也可以是服务器为备份数据分配的,本申请对此不作限定。
S220:第一终端生成密文包。
密文包可以包括前述的第一密文,以及第一签名者的信息。所述第一签名者具有对数据恢复包签名的权限。通过第一签名者的信息,可以找到对应的第一签名者。只有该密文包中的第一签名者的信息所对应的第一签名者签过名的数据恢复包,才能通过服务器的签名验证。示例性地,第一签名者的信息可以是第一签名者的公钥信息。
可选地,密文包可以具有唯一ID,用于唯一标识该密文包。密文包的唯一ID可以是第一终端为密文包分配的,也可以是服务器为密文包分配的,本申请对此不作限定。
S230:第一终端将密文包发送给所述服务器。
本申请实施例中的数据恢复包签发方法可以由签名者终端来执行,该方法可以包括:
S310:签名者终端用第二签名者的私钥对数据恢复包签名。
数据恢复包用于限定数据恢复策略。具体地,数据恢复包可以包括协助者信息。这里的协助者信息用于指示第二签名者指定的协助第一终端恢复备份数据的n个协助者的身份。第二签名者可以是前述的第一签名者,也可以是其他签名者。当第二签名者为前述的第一签名者时,签名者终端签发的数据恢复包可以通过服务器的验证;当第二签名者不是第一签名者时,签名者终端签发的数据恢复包无法通过服务器的验证。
应理解,第一签名者和第二签名者可以分别使用不同的签名者终端,也可以使用同一个签名者终端,本申请对此不作限定。
数据恢复包中还可以包括门限信息。这里的门限信息用于指示:获取到的协助者反馈的恢复码的数量m≥预设门限值t。
S320:签名者终端将签名后的数据恢复包发送给服务器。
需要说明的是,签名者终端可以直接将签名后的数据恢复包发送给服务器,也可以通过中间者发送,本申请对此不作限定。例如,签名者终端可以将签名后的数据恢复包发送给第一终端,由第一终端转发给服务器。
数据恢复包可以具有备份数据的唯一ID或者密文包的唯一ID,通过这样的方式,可以将数据恢复包和密文包关联起来。
还需要说明的是,签名者终端可以在数据备份阶段签发数据恢复包,也可以在数据恢复阶段,在服务器接收到第一终端发起的数据恢复请求之后,响应于服务器向签名者终端发起的请求来签发数据恢复包。也就是说,数据恢复包可以是在第一终端的用户尚未丢失数据的时候由签名者终端签发,也可以是在第一终端的用户已经丢失数据之后由签名者终端签发。通过这样的方式,即便原本的协助者发生改变,具有权限的第一签名者也可以在签名者终端重新签发与密文包对应的数据恢复包,改变协助者信息,从而使第一终端的用户能够顺利恢复备份数据。
本申请实施例中的数据恢复方法可以包括:
S410:第一终端向服务器发送数据恢复请求。
这里的数据恢复请求用于指示第一终端指定的备份数据。示例性地,数据恢复请求中可以携带备份数据的唯一ID。示例性地,数据恢复请求中也可以携带密文包的唯一ID。通过这样的方式,第一终端可以指定本次需要恢复的数据。当密文包中包含一份或多份数据的时候,第一终端可以通过备份数据的唯一ID来指定要恢复密文包中的某份数据,也可以通过密文包的唯一ID来指定要恢复密文包中的所有数据,本申请对此不作限定。
S420:服务器根据接收到的数据恢复请求,查找所述指定的备份数据对应的密文包和数据恢复包。
示例性地,服务器通过数据恢复请求中携带的备份数据的唯一ID或者密文包的唯一ID,可以查找到第一终端指定的备份数据所对应的密文包和数据恢复包。
S430:服务器利用第一签名者的信息验证所述数据恢复包的签名是否正确。
服务器可以通过第一签名者的信息确定第一签名者公钥,然后用第一签名者公钥来验证数据恢复包的签名。通过这样的方式,服务器可以确定数据恢复包所指示的数据恢复策略是否确实是由具有权限的第一签名者所签发的。如果不是第一签名者签发的,而是由其他签名者签发的,则无法通过服务器的验证,相应地也不会再利用该数据恢复包来恢复第一终端指定的备份数据。
S440:如果所述签名正确,则服务器将n个协助者对应的n个第一恢复码,分别发送给所述n个协助者。
这里的n个协助者就是数据恢复包中所指示的协助者,这些协助者可以由第一签名者来决定,也可以由第一终端的用户决定之后告知第一签名者。
服务器可以为n个协助者分别生成对应的n个第一恢复码。示例性地,每个第一恢复码可以是一个字符串,例如“038147”。服务器再将这n个第一恢复码,分别发送给对应的n个协助者。
可选地,协助者信息还用于指示所述n个协助者各自对应的接收方式。示例性地,协助者对应的接收第一恢复码的方式可以是邮件、手机短信等,本申请对于接收方式的具体形式不作限定。采用这样的实现方式,服务器就可以通过n个协助者各自对应的接收方式,将n个第一恢复码分别发送给n个协助者。
对于不同的协助者而言,其对应的接收方式可以相同,也可以不同,本申请对此不作限定。示例性地,服务器可以通过邮件的方式给协助者1发送对应的第一恢复码“038147”,通过手机短信的方式给协助者2发送对应的第一恢复码“835641”。
S450:第一终端收集m个第二恢复码。
协助者可以通过不同的途径将其接收到的第一恢复码告知第一终端,以便第一终端收集。示例性地,协助者可以通过口头告知的方式将自己接收到的第一恢复码告知第一终端的用户,由第一终端的用户输入到第一终端中。示例性地,协助者也可以通过协助者终端直接将接收到的第一恢复码转给第一终端。
第一终端收集到m个恢复码,由于此时第一终端并不一定可以确认其接收到的恢复码一定是服务器发送的第一恢复码,为便于区分,此处将第一终端收集到的恢复码称为第二恢复码。
需要说明的是,n≥m≥t,t为预设的恢复备份数据所需的第二恢复码的最低个数。也就是说,在第一终端收集到最少t个第二恢复码之后,第一终端才将这些恢复码发送给服务器。如果第一终端收集到的第二恢复码的数量小于t个,那么即便这些第二恢复码能够通过服务器的验证,也不足以恢复备份数据。
S460:第一终端将m个第二恢复码发送给服务器。
示例性地,第一终端可以直接将这m个第二恢复码的明文发送给服务器。示例性地,第一终端也可以将这m个第二恢复码加密后,将第二恢复码的密文发送给服务器,再由服务器对第二恢复码的密文解密,得到m个第二恢复码。示例性地,第一终端还可以将分别计算m个第二恢复码对应的第二校验码,然后将m个第二校验码发送给服务器。通过加密或者发送第二校验码的方式,有利于进一步提高数据恢复的安全性。
S470:服务器利用n个第一恢复码对m个第二恢复码进行第一验证。
示例性地,服务器可以验证m个第二恢复码是否与n个第一恢复码中的m个相同,如果相同,则确定第一验证通过。示例性地,服务器可以分别计算n个第一恢复码对应的第一校验码,然后验证接收到的m个第二校验码是否与n个第一校验码中的m个相同,如果相同,则确定第一验证通过。否则,则可以输出“验证失败”的提示信息。
需要说明的是,当采用的校验码的方式来做第一验证时,第一校验码和第一恢复码之间的映射关系,与第二校验码和第二恢复码之间的映射关系相同。也就是说,第一终端利用第二恢复码计算第二校验码的算法,与服务器利用第一恢复码计算第一校验码的算法相同。第一终端和服务器所使用的算法,可以是双方预先约定的算法,例如哈希算法。
S480:如果第一验证通过,则利用服务器的私钥恢复第一终端指定的备份数据。
服务器可以利用服务器的私钥解密所述指定的备份数据对应的密文包中的第一密文,然后将解密后的数据发送给第一终端,以恢复第一终端指定的备份数据。
可选地,利用服务器的私钥恢复第一终端指定的备份数据步骤,可以包括:
S481:服务器利用服务器的私钥解密所述第一密文,得到第一明文;
S482:服务器利用与所述m个第二恢复码对应的m个第一恢复码生成会话密钥;
S483:服务器利用所述会话密钥对所述第一明文加密,得到第二密文;
S484:服务器发送所述第二密文给所述第一终端,以使所述第一终端恢复得到所述指定的备份数据。
通过这样的方式,m个第二恢复码不但用于决定第一终端指定的备份数据是否可以被恢复,还在可以被恢复的情况下起到用于生成会话密钥,从而保证备份数据传输的安全性。对于第一终端不同时间发起的数据恢复请求,由于每一次的第二恢复码可能不同,相应地每一次产生的会话密钥都不同,从而进一步提供数据恢复的安全性。
如前所述,如果协助者由第一终端的用户提前设定好,则一旦部分协助者无法提供协助,可能会导致第一终端的用户无法恢复数据。例如,在企业场景中,对于一些重要的数据,第一终端的用户A在备份的时候可以提前设定好n个同事来协助恢复。但是,如果过了一段时间,当用户A需要恢复备份数据时,这n个同事中已经有部分同事离职了,不能配合接收恢复码和将恢复码告知用户A,则A就无法恢复数据。尤其是,如果用户A备份的数据为用户A的密钥,则用户A在丢失了备份数据之后,就完全失去了改动协助者的可能,也就无法再恢复数据。
采用本申请实施例中的数据恢复方法,一方面,数据恢复包包括协助者信息,协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份,而数据恢复包由第一签名者的私钥签发,即第一签名者具有合法的修改数据恢复包中的信息的权限;另一方面,服务器查找到的指定的备份数据对应的密文包中除了第一密文之外,还包括第一签名者的信息。服务器在利用自己的私钥解密第一密文之前,可以利用第一签名者的信息来验证数据恢复包的签名,从而确保数据恢复包是由具有权限的第一签名者所签发的,保证数据恢复的安全性。由于第一签名者具有签发数据恢复包的权限,无论是在第一终端的用户丢失数据之前还是之后,第一签名者都可以合法修改数据恢复包中的协助者信息,降低了数据无法恢复的风险,提高了数据恢复的灵活性。
另外,对于某些应用场景,例如企业场景而言,采用上述数据恢复方法也有利于企业集中管理数据以及数据相应的操作权限。例如,如果第一终端的用户为普通职员,则可以将签名者设定为普通职员的管理员。通过这样的方式,普通职员在丢失数据并需要恢复数据的时候,需要管理员签发的数据恢复包才能够恢复数据,从而便于集中管理数据。如果普通职员原本设定的部分协助者无法再提供协助,管理员就可以修改数据恢复包中的协助者信息,来指定新的协助者来协助普通职员恢复数据。管理员通过修改协助者信息设定的协助者可以是与普通职员有关联的人,也可以是与普通职员没有关联的人,本申请对此不作限定。
可选地,密文包可以经过第一终端的私钥签名。也就是说,第一终端在将原本的密文包发送给服务器之前,可以用第一终端的私钥对密文包中的数据签名,形成经过签名的密文包。
利用所述第一签名者的信息验证所述数据恢复包的签名的步骤,可被替换为:
利用第一终端的公钥对所述密文包的签名进行第二验证;
如果第二验证通过,则利用所述第一签名者的信息验证所述数据恢复包的签名。
通过这样的方式,服务器通过验证密文包的签名来确认密文包是否来自第一终端,确认密文包中的数据是否被篡改过。如果确实来自第一终端且没有被篡改过,才使用密文包中的第一签名者的信息来验证数据恢复包,从而进一步提高数据恢复的安全性。
可选地,所述密文包还可以包括审批者的信息。本申请实施例中的审批者具有决定第一终端是否能够恢复指定的备份数据的权限。相应地,前述方法还可以包括:
查找与所述指定的备份数据对应的审批包;
如果所述审批包通过第三验证,则利用所述第一签名者的信息验证所述数据恢复包的签名。
本申请实施例中的审批包经过审批者的私钥签名。审批者可以在数据恢复的阶段,响应于服务器的请求来生成审批包,也可以在数据备份阶段就提前生成好审批包。
审批包中可以携带备份数据的唯一ID或者密文包的唯一ID,以便服务器查找。示例性地,服务器通过备份数据的唯一ID或者密文包的唯一ID,查找到第一终端指定的备份数据所对应的审批包。即,审批包和密文包和可以通过备份数据的唯一ID或者密文包的唯一ID关联起来。
本申请实施例中的第三验证包括利用审批者的公钥验证审批包的签名,如果验证签名通过,则审批包通过第三验证。
采用该实现方式,在便于集中管理数据的同时,可以进一步简化审批者的操作。例如,在企业场景中,如果第一终端的用户为普通职员,则可以将审批者设定为普通职员的管理员。通过这样的方式,普通职员在丢失数据并需要恢复数据的时候,需要管理员签发的审批包才能够恢复数据,从而便于集中管理数据。相较于将管理员设为签名者的方案而言,管理员只需要决定普通职员是否被允许恢复指定的备份数据,可以不关心具体由哪些协助者来协助普通职员恢复数据,可以不执行修改协助者的信息、重新签发数据恢复包的操作,从而简化管理员的操作。
下述为本申请的产品实施例,可以用于实现本申请方法实施例中的相应步骤。对于本申请产品实施例中未披露的细节,请参照方法实施例。
本实施例提供一种数据恢复装置,该装置包括:
接收模块,用于接收第一终端发起的数据恢复请求;以及,接收所述第一终端收集到的m个第二恢复码;其中,所述恢复数据请求用于指示所述第一终端指定的备份数据;n≥m≥t,所述t为预设的恢复所述备份数据所需的第二恢复码的最低个数;
处理模块,用于根据所述数据恢复请求,查找所述指定的备份数据对应的密文包和数据恢复包;利用所述第一签名者的信息验证所述数据恢复包的签名是否正确;在所述签名正确的情况下,将所述n个协助者对应的n个第一恢复码,分别发送给所述n个协助者;在所述m个第二恢复码通过第一验证的情况下,利用所述服务器的私钥恢复所述指定的备份数据。
其中,所述密文包包括第一密文和第一签名者的信息,所述第一密文为利用服务器的公钥对所述备份数据加密所得到的密文,所述第一签名者具有对数据恢复包签名的权限;所述数据恢复包由所述第一签名者利用所述第一签名者的私钥签发,包括协助者信息,所述协助者信息用于指示协助所述第一终端恢复所述备份数据的n个协助者的身份;所述第一验证为利用所述n个第一恢复码进行的验证。
可选地,处理模块还可以用于实现前述的服务器所执行的任一种方法中的部分或全部步骤,此处不再赘述。该装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此亦不再赘述。
图3是根据本申请一示例性实施例示出的一种服务器500的框图。如图3所示,该服务器500包括存储器510和处理器520,存储器510存储有计算机程序,该计算机程序被处理器520执行时,使得处理器520执行如上所述的实施例提供的所述服务器侧执行的方法的部分或全部步骤。
本申请实施例还提供一种终端设备,该终端设备包括存储器和处理器,存储器存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行如上所述的实施例提供的第一终端侧执行的方法的部分或全部步骤。
本申请实施例还提供另一种终端设备,该终端设备包括存储器和处理器,存储器存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行如上所述的实施例提供的签名者终端侧执行的方法的部分或全部步骤。
本申请还提供了一种存储介质,当存储介质中的指令由计算机的处理器执行时,使得计算机能够执行前述的任一种数据恢复方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器、终端、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或者不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序校验码的介质。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本申请的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上对本申请多个实施例进行了详细说明,但本申请不限于这些具体的实施例,本领域技术人员在本申请构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本申请所要求保护的范围之内。

Claims (11)

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任一项所述的方法。
CN202011416555.6A 2020-12-04 2020-12-04 数据恢复方法、服务器、终端设备及存储介质 Active CN112463454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011416555.6A CN112463454B (zh) 2020-12-04 2020-12-04 数据恢复方法、服务器、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011416555.6A CN112463454B (zh) 2020-12-04 2020-12-04 数据恢复方法、服务器、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN112463454A CN112463454A (zh) 2021-03-09
CN112463454B true CN112463454B (zh) 2021-11-05

Family

ID=74801208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011416555.6A Active CN112463454B (zh) 2020-12-04 2020-12-04 数据恢复方法、服务器、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN112463454B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064761B (zh) * 2021-04-08 2022-03-04 北京深思数盾科技股份有限公司 数据恢复方法、服务器、加密机、终端及介质
CN113282376B (zh) * 2021-07-22 2021-11-12 北京关键科技股份有限公司 应用于云平台架构的UKey虚机穿透方法
CN117215831B (zh) * 2023-09-05 2024-08-27 中移互联网有限公司 Usim卡应用数据迁移方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664202A (zh) * 2014-06-13 2017-05-10 百可德罗德公司 提供多个设备上的加密的方法、系统和计算机程序产品
CN109194465A (zh) * 2018-09-30 2019-01-11 巍乾全球技术集团有限责任公司 用于管理密钥的方法、用户设备、管理设备、存储介质和计算机程序产品
CN111464258A (zh) * 2019-01-18 2020-07-28 阿里巴巴集团控股有限公司 一种数据校验方法、装置、计算设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UA41387C2 (uk) * 1994-01-13 2001-09-17 Сертко, Інк Спосіб установлення вірогідного перевірюваного зв'язку, спосіб захищеного зв'язку, спосіб оновлення мікропрограмного забезпечення, спосіб здійснення шифрованого зв'язку та спосіб надання перевіреному на справжність пристрою права на проведення електронної транзакції
US8800004B2 (en) * 2012-03-21 2014-08-05 Gary Martin SHANNON Computerized authorization system and method
CN112819502A (zh) * 2015-10-09 2021-05-18 徐蔚 一种基于商品流通的信息传播方法、服务器及移动终端
GB2538022B (en) * 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
CN108418680B (zh) * 2017-09-05 2021-12-07 矩阵元技术(深圳)有限公司 一种基于安全多方计算技术的区块链密钥恢复方法、介质
CN109684129B (zh) * 2018-11-20 2020-05-05 北京深思数盾科技股份有限公司 数据备份恢复方法、存储介质、加密机、客户端和服务器
CN111756540B (zh) * 2019-03-26 2023-04-28 北京普安信科技有限公司 一种传送密文的方法、终端、服务器及系统
CN110912702B (zh) * 2019-10-25 2022-05-10 趣派(海南)信息科技有限公司 一种基于隐藏社交关系的区块链资产管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664202A (zh) * 2014-06-13 2017-05-10 百可德罗德公司 提供多个设备上的加密的方法、系统和计算机程序产品
CN109194465A (zh) * 2018-09-30 2019-01-11 巍乾全球技术集团有限责任公司 用于管理密钥的方法、用户设备、管理设备、存储介质和计算机程序产品
CN111464258A (zh) * 2019-01-18 2020-07-28 阿里巴巴集团控股有限公司 一种数据校验方法、装置、计算设备及介质

Also Published As

Publication number Publication date
CN112463454A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN112463454B (zh) 数据恢复方法、服务器、终端设备及存储介质
US7028180B1 (en) System and method for usage of a role certificate in encryption and as a seal, digital stamp, and signature
WO2021135757A1 (zh) 用于执行交易正确性验证的方法及装置
CN100432889C (zh) 提供断开鉴别的系统和方法
KR100731242B1 (ko) 암호화 백업 방법 및 복호화 복원 방법
US20160337124A1 (en) Secure backup and recovery system for private sensitive data
US9160535B2 (en) Truly anonymous cloud key broker
US10547441B2 (en) Method and apparatus for restoring access to digital assets
KR20120029424A (ko) 신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱
US20140156988A1 (en) Medical emergency-response data management mechanism on wide-area distributed medical information network
CN112633884B (zh) 交易主体身份证书的本地私钥恢复方法及装置
CN113836506A (zh) 身份认证方法、装置、系统、电子设备、存储介质
JP2019146088A (ja) 計算機システム、接続装置、及びデータ処理方法
EP1164745A2 (en) System and method for usage of a role certificate in encryption, and as a seal, digital stamp, and a signature
JP2007020065A (ja) 復号化バックアップ方法、復号化リストア方法、認証デバイス、個別鍵設定機、利用者端末、バックアップ装置、暗号化バックアッププログラム、復号化リストアプログラム
CN111865891A (zh) 一种数据传输方法、用户端、电子设备及可读存储介质
WO2023047136A1 (en) A security system
CN112804053B (zh) 数据恢复方法、加密机、终端设备及存储介质
CN113064761B (zh) 数据恢复方法、服务器、加密机、终端及介质
CN114117404A (zh) 一种用户认证方法、装置、设备、系统及存储介质
JP2011248792A (ja) 端末データ管理システム
US12066902B2 (en) System and method for database recovery
CN111224776B (zh) 基于联盟链的私钥备份、挂失及恢复方法及系统
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
CN112968904B (zh) 一种区块链数据保护方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder