CN107678886A - 一种保存、恢复应用程序数据的方法及终端设备 - Google Patents

一种保存、恢复应用程序数据的方法及终端设备 Download PDF

Info

Publication number
CN107678886A
CN107678886A CN201710931615.XA CN201710931615A CN107678886A CN 107678886 A CN107678886 A CN 107678886A CN 201710931615 A CN201710931615 A CN 201710931615A CN 107678886 A CN107678886 A CN 107678886A
Authority
CN
China
Prior art keywords
submodule
data
terminal device
default
certificate
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.)
Granted
Application number
CN201710931615.XA
Other languages
English (en)
Other versions
CN107678886B (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710931615.XA priority Critical patent/CN107678886B/zh
Publication of CN107678886A publication Critical patent/CN107678886A/zh
Application granted granted Critical
Publication of CN107678886B publication Critical patent/CN107678886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种保存、恢复应用程序数据的方法及终端设备,属于信息技术领域。本发明公开的终端设备包括保存模块和恢复模块,保存模块包括:创建子模块、组装子模块、添加子模块、设置子模块、第一加密子模块、第一标识子模块、第二标识子模块;恢复模块包括:第一获取子模块、第一验证子模块、第一读取子模块、第二读取子模块、第一解密子模块。本发明公开的技术方案,终端设备重新安装应用程序时可以从安全存储区中得到应用程序数据,无需用户繁琐地记忆数据,使重新安装应用程序的过程简化,提高用户体验。

Description

一种保存、恢复应用程序数据的方法及终端设备
技术领域
本发明涉及信息技术领域,尤其涉及一种保存、恢复应用程序中数据的方法及终端设备。
背景技术
现有技术中,终端设备中的应用程序被卸载以后,应用程序中的相关数据随之丢失,当重新安装应用程序时,之前的数据无法恢复,导致用户必须重新将数据添加到新安装的应用程序中,涉及的数据比较多时,不好记忆,如果是一些重要数据丢失,会对用户造成很大的影响。尤其是用于安全认证的动态令牌的应用程序,终端设备卸载应用程序之后,在重新安装应用程序时必须重新向应用程序的厂家或应用程序对应的服务器重新申请激活一个令牌号,安装程序繁琐,导致用户体验不佳。
发明内容
本发明提供一种保存、恢复应用程序数据的方法及终端设备。
本发明提供的一种保存、恢复应用程序数据的方法,包括终端设备卸载应用程序之前,对应用程序数据进行保存;以及所述终端设备重新安装所述应用程序时,对所述应用程序数据进行恢复;
所述终端设备对所述应用程序数据进行保存具体包括以下步骤:
步骤S1:所述终端设备创建存储对象;
步骤S2:所述终端设备将所述应用程序数据组装到所述存储对象中;
步骤S3:所述终端设备将所述存储对象添加到自身的安全存储区中;
所述步骤S1之后、步骤S3之前,还包括:所述终端设备将所述存储对象设置为预设的加密类型;所述步骤S3中还包括:所述终端设备根据所述预设的加密类型对所述安全存储区中的所述存储对象中的所述应用程序数据进行加密;
所述步骤S3之前还包括:所述终端设备使用预设的数据标识对所述存储对象中的所述应用程序数据进行标识,使用预设的对象标识对所述存储对象进行标识;
所述终端设备对所述应用程序数据进行恢复具体包括以下步骤:
步骤A0:所述终端设备根据预设路径获取待恢复数据的应用程序的标识,根据获取的所述应用程序的标识找到自身保存的第一证书,使用所述第一证书对待恢复数据的应用程序进行验证,验证通过时执行步骤A1;
步骤A1:所述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象;
步骤A2:所述终端设备根据所述预设的数据标识读取所述存储对象中加密的应用程序数据,使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述应用程序数据。
可选地,上述终端设备使用预设的数据标识对所述应用程序数据进行标识之前,还包括:所述终端设备按照第一预设算法生成所述预设的数据标识;
相应地,上述终端设备根据所述预设的数据标识读取所述存储对象中的数据之前,还包括:所述终端设备按照所述第一预设算法生成所述预设的数据标识。
可选地,上述终端设备使用预设的对象标识对所述存储对象进行标识之前,还包括:所述终端设备按照第二预设算法生成所述预设的对象标识;
相应地,上述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象之前,还包括:所述终端设备按照所述第二预设算法生成所述预设的对象标识。
可选地,上述终端设备使用预设的对象标识对所述存储对象进行标识之前,还包括:所述终端设备根据预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识;
相应地,上述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象之前,还包括:所述终端设备根据所述预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识。
可选地,上述步骤S3之前,还包括:
步骤H1:所述终端设备判断所述安全存储区中是否具有所述预设的对象标识;
步骤H2:所述终端设备判断所述安全存储区中具有所述对象标识时,删除所述安全存储区中的所述对象标识以及所述对象标识对应的存储对象。
可选地,上述步骤S3之前,还包括:所述终端设备判断所述安全存储区中是否具有所述预设的对象标识;
相应地,上述步骤S3具体为:所述终端设备判断所述安全存储区中具有所述对象标识时,使用包括所述应用程序数据的所述存储对象更新所述安全存储区中所述对象标识对应的存储对象。
本发明中,上述应用程序数据可以为令牌序列号、或者用户名和私钥、或者包括用户名和用户密码,当应用程序的数据包括用户名和密码时,所述应用程序数据还包括公司地址、公司网址、联系电话、邮箱地址、联系人中的一种或多种。
本发明中,当保存的是动态令牌的应用程序数据时,恢复应用程序数据时不需要重新向应用程序的厂家重新申请激活令牌号,简化安装流程,提高用户体验。
本发明中,上述步骤S2中组装到存储对象中的应用程序数据与上述步骤A2中解密得到的应用程序数据一致。
可选地,上述步骤A2之后,还包括:
步骤A3:所述终端设备根据预设服务器地址访问对应的服务器,通过所述对应的服务器对解密得到的所述应用程序数据进行验证,判断是否接收到所述对应的服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
在本发明中,上述解密得到的所述应用程序数据为令牌序列号时,上述步骤A3具体为:
所述终端设备根据预设令牌服务器地址将所述令牌序列号发送给令牌服务器,通过所述令牌服务器对所述令牌序列号进行验证,判断是否接收到所述令牌服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败;
上述解密得到的所述应用程序数据为用户名和私钥时,上述步骤A3具体包括:
步骤A31:所述终端设备根据预设认证服务器地址向认证服务器发送获取待签名数据请求,并接收所述认证服务器返回的待签名数据;
步骤A32:所述终端设备使用所述私钥对所述待签名数据进行签名,将签名结果和所述用户名发送给所述认证服务器,通过所述认证服务器对所述签名结果进行验证,判断是否接收到所述认证服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
上述解密得到的所述应用程序数据包括用户名和用户密码时,所述步骤A3具体为:
所述终端设备根据预设服务器地址将所述用户名和所述密码发送给对应的服务器,通过所述对应的服务器对所述用户名和所述密码进行验证,判断是否接收到所述服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
可选地,上述步骤A2之后,还包括:所述终端设备显示解密得到的所述应用程序数据。
在本发明中,所述步骤A0中还包括:所述终端设备根据所述应用程序的标识获取第二证书和对应的第二代码签名数据;
相应地,上述步骤A0中,上述终端设备使用所述第一证书对所述待恢复数据的应用程序进行验证,具体为:
所述终端设备使用所述第一证书中的第一公钥对自身保存的所述第一证书对应的第一代码签名文件进行解密,得到第一解密数据;使用所述第二证书中的第二公钥对所述第二代码签名数据进行解密,得到第二解密数据,判断所述第一解密数据是否与所述第二解密数据一致,是则验证通过,否则验证未通过。
进一步地,上述终端设备使用所述第一证书对所述待恢复数据的应用程序进行验证之前,还包括:所述终端设备获取自身保存的所述第二证书的根证书,使用所述根证书对所述第二证书进行验证,验证通过时执行步骤A0,否则结束。
具体地,上述第二证书中包括使用所述第二证书的根证书中的第三私钥对所述第二证书中的内容进行签名得到的第二签名数据;
相应地,上述终端设备使用所述根证书对所述第二证书进行验证,具体为:所述终端设备使用所述根证书中的第三公钥对所述第二签名数据进行解密得到第三解密数据;对所述第二证书中的内容按照第五预设算法进行运算得到第三运算结果,判断所述第三解密数据是否与所述第三运算结果一致,是则验证通过,否则验证未通过。
可选地,上述步骤S3之前还包括:所述终端设备按照第三预设算法对所述应用程序数据进行加密生成第一加密应用程序数据;
相应地,上述步骤S3中添加到所述安全存储区中的所述存储对象中的所述应用程序数据具体为所述第一加密的应用程序数据;
上述步骤A2中,所述终端设备使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述应用程序数据,具体为:所述终端设备使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述第一加密应用程序数据;
所述步骤A2中还包括:所述终端设备对所述第一加密的应用程序按照第四预设算法进行解密得到所述应用程序数据。
本发明提供的一种保存、恢复应用程序数据的终端设备包括保存模块和恢复模块,所述保存模块包括:
创建子模块,用于创建存储对象;
组装子模块,用于将应用程序数据组装到所述创建子模块创建的所述存储对象中;
添加子模块,用于在所述组装子模块将所述应用程序数据组装到所述创建子模块创建的所述存储对象中之后,将所述存储对象添加到终端设备的安全存储区中;
设置子模块,用于将所述创建子模块创建的所述存储对象设置为预设的加密类型;
第一加密子模块,用于根据所述设置子模块设置的所述预设的加密类型对所述添加子模块添加到所述安全存储区中的所述存储对象中的所述应用程序数据进行加密;
第一标识子模块,用于使用预设的数据标识对所述组装子模块组装到所述存储对象中的所述应用程序数据进行标识;
第二标识子模块,用于使用预设的对象标识对所述创建子模块创建的所述存储对象进行标识;
所述恢复模块包括:
第一获取子模块,用于根据预设路径获取待恢复数据的应用程序的标识,根据获取的所述应用程序的标识找到自身保存的第一证书;
第一验证子模块,用于使用所述第一获取子模块获取的所述第一证书对待恢复数据的应用程序进行验证;
第一读取子模块,用于当所述第一验证子模块验证结果为验证通过时,根据所述预设的对象标识读取所述安全存储区中的所述存储对象;
第二读取子模块,用于根据所述预设的数据标识读取所述第一读取子模块读取到的所述存储对象中加密的应用程序数据;
第一解密子模块,用于使用与所述设置子模块设置的所述预设的加密类型对应的解密算法对所述第二读取子模块读取到的所述加密的应用程序数据解密得到所述应用程序数据。
本发明的有益效果是:终端设备中的应用程序卸载之前终端设备将应用程序中的数据保存到自身的安全存储区中,重新安装应用程序时可以从安全存储区中得到应用程序数据,无需用户繁琐地记忆数据,使重新安装应用程序的过程简化,提高用户体验。
附图说明
图1所示为本发明实施例1中一种保存应用程序数据的方法流程图;
图2所示为本发明实施例1中一种恢复应用程序数据的方法流程图;
图3所示为本发明实施例2中一种保存、恢复应用程序数据的终端设备的模块组织框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本实施例提供一种保存、恢复应用程序数据的方法,包括终端设备卸载应用程序之前,对应用程序数据进行保存;以及终端设备重新安装应用程序时,对应用程序数据进行恢复;
如图1所示,终端设备保存应用程序数据具体包括以下步骤:
步骤101:终端设备创建存储对象。
具体地,终端设备创建存储对象,具体为:终端设备按照预设的格式创建存储对象。进一步地,终端设备创建预设数量的预设格式的存储对象。
例如,当预设数量为1时,预设格式的存储对象具体可以为:{数据标识=;应用程序数据=;};或者预设格式的存储对象具体可以为:{数据标识1=;应用程序数据1=;数据标识2=;应用程序数据2=;……}。其中应用程序数据的结构可以为{data1=;},或者{data1=;data2=;……}。
当预设数量为2时,预设格式的存储对象具体可以为:{数据标识=;应用程序数据=;}、{数据标识2=;应用程序数据2=;……}。其中应用程序数据的结构可以为{data1=;},或者{data1=;data2=;……}。
本实施例中,预设格式的存储对象还具有存储对象的标识,存储对象的标识可以在存储对象外面,也可以在存储对象里面。例如,存储对象标识在存储对象外面时,预设格式的存储对象为:存储对象标识:{数据标识=;应用程序数据=;},存储对象标识在存储对象里面时,预设格式的存储对象为:{对象标识=;数据标识=;应用程序数据=;}。
步骤102:终端设备将存储对象设置为预设的加密类型。
具体地,终端设备对存储对象的加密类型设置为预设值。
本实施例中,加密类型可以为第一预设加密类型、第二预设加密类型、第三预设加密类型、第四预设加密类型、第五预设加密类型中的其中一种。具体地:终端设备将加密类型的值设置为第一预设值时,加密类型为第一预设加密类型;将加密类型的值设置为第二预设值时,加密类型为第二预设加密类型;将加密类型的值设置为第三预设值时,加密类型为第三预设加密类型;将加密类型的值设置为第四预设值时,加密类型为第四预设加密类型;将加密类型的值设置为第五预设值时,加密类型为第五预设加密类型。
本实施例中,有多个存储对象时,终端设备对每个存储对象分别设置预设的加密类型。
步骤103:终端设备判断安全存储区中是否有预设的对象标识,是则执行步骤104,否则执行步骤105。
具体地,终端设备调用安全存储区的读接口,读取安全存储区中的数据,判断安全存储区的数据中是否有预设的对象标识,是则执行步骤104,否则执行步骤105。例如,终端设备的预设的对象标识为0001,判断安全存储区中是否有对象标识0001,是则执行步骤104,否则执行步骤105。
步骤104:终端设备删除安全存储区中预设的对象标识以及对应的存储对象,执行步骤105。
具体地,终端设备调用安全存储区的删除接口将安全存储区中预设标的对象标识以及对应的存储对象删除。
步骤105:终端设备使用预设的对象标识对存储对象进行标识,使用预设的数据标识对应用程序中的数据进行标识。
本实施例中,当有多个预设的对象标识和/或多个数据标识时,步骤101具体为:终端设备创建预设数量的存储对象,相应地,步骤105具体为:终端设备使用第一预设数量的预设的对象标识分别对第一预设数量的存储对象进行标识,使用第二预设数量的预设的数据标识分别对应用程序中的数据进行标识。
例如,当预设的数据标识的数量为1、预设的对象标识的数量为1时,使用对象标识对存储对象标识具体为:{对象标识=0001;数据标识=0010;应用程序数据=;},0001为对象标识,0010为数据标识;
当预设数据标识的数量为2、预设对象标识的数量为1时,使用对象标识对存储对象标识具体为:{对象标识=0001;数据标识1=0010;应用程序数据1=;数据标识2=0011;应用程序数据1=;},0001为对象标识,0010和0011为数据标识;
当预设数据标识的数量为2、预设对象标识的数量为4时,使用对象标识对存储对象标识具体为:{对象标识1=0001;数据标识1=0010;应用程序数据1=;数据标识2=0011;应用程序数据2=;}、{对象标识2=0002;数据标识3=0100;应用程序数据3=;数据标识4=0101;应用程序数据4=;},0001、0002为对象标识,0010、0011、0100、0101为数据标识。
进一步地,步骤105可以具体为:终端设备将预设的加密类型所对应的账户属性项的值设置为预设的对象标识,将存储对象的预设的加密类型所对应的服务属性项的值设置为预设的数据标识。需要说明的是,本实施例中,每一种加密类型都具有对应的账户属性项和服务属性项,上述存储对象的标识值可以为账户属性项的值,上述应用程序数据标识值可以为服务属性项的值。
步骤106:终端设备将应用程序中的数据组装到存储对象中。
具体地,终端设备将应用程序中的数据按照预设格式组装到存储对象的数据存储区。例如,应用程序中的数据包括令牌号、私钥、用户名时,终端设备将令牌号
Token=bc906717191c532bc76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283、私钥private=D89207D55DB1FEA62D16CF5E8D4DEDECD19
CAAF041CF06A083D65574CD8F913B、用户名username=123按照预设格式组装到存储对象的数据存储区具体为:{Token=bc906717191c
532bc76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283;private=D89
207D55DB1FEA62D16CF5E8D4DEDECD19CAAF041CF06A083D65574CD8F913B;username=123}。
本实施例中,步骤105和步骤106的顺序可以调换,即步骤103判断为否时执行步骤106然后再执行步骤105,步骤104之后执行步骤106然后再执行步骤105。
本实施例中,终端设备使用预设的对象标识对存储对象进行标识,使用预设的数据标识对组织到存储对象中对应的数据进行标识后的数据可以具体如下{对象标识=0001;数据标识=0010;Token=bc906
717191c532bc76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283;
private=D89207D55DB1FEA62D16CF5E8D4DEDECD19CAAF041CF06A083D65574CD8F913B;username=123}。
步骤107:终端设备将存储对象添加到安全存储区中,并根据预设的加密类型对安全存储区中存储对象中的应用程序的数据进行加密得到加密的应用程序数据。
具体地,当预设的加密类型为第一加密类型时,终端设备根据预设的加密类型对安全存储区中存储对象中的应用程序数据进行加密得到加密的应用程序数据,具体为:终端设备根据与预设的加密类型对应的预设算法对应用程序数据进行加密得到加密的应用程序数据。
本实施例中,上述步骤103判断结果为是时,还可执行步骤105-步骤107,并且步骤107替换为:终端设备使用包括应用程序数据的存储对象更新安全存储区中对象标识对应的存储对象。
具体地,终端设备使用包括应用程序数据的存储对象更新安全存储区中对象标识对应的存储对象,具体为:终端设备调用安全存储区的更新接口使用包括应用程序数据的存储对象更新安全存储区中对象标识对应的存储对象。
如图2所示,终端设备对应用程序数据进行恢复具体包括以下步骤:
步骤200:终端设备根据预设路径获取待恢复数据的应用程序的标识,根据获取的应用程序的标识找到自身保存的第一证书,使用第一证书对待恢复数据的应用程序进行验证,验证通过则执行步骤201,验证未通过则结束。
进一步地,步骤200中还包括:终端设备根据应用程序的标识获取第二证书和应用程序的第二代码签名数据;
相应地,步骤200中,终端设备使用第一证书对待恢复数据的应用程序进行验证,具体为:终端设备使用第一证书中的第一公钥对自身保存的第一证书对应的第一代码签名文件进行解密,得到第一解密数据;使用第二证书中的第二公钥对第二代码签名数据进行解密,得到第二解密数据,判断第一解密数据是否与第二解密数据相匹配,是则验证通过,否则验证未通过。
进一步地,终端设备使用第一证书对待恢复数据的应用程序进行验证之前,还包括:终端设备获取自身保存的第二证书的根证书,使用根证书对第二证书进行验证,验证通过时继续,否则结束。
具体地,上述第二证书中包括使用第二证书的根证书中的第三私钥对第二证书中的内容进行签名得到的第二签名数据;相应地,上述终端设备使用根证书对第二证书进行验证,具体为:终端设备使用根证书中的第三公钥对第二签名数据进行解密得到第三解密数据;对第二证书中的内容按照第五预设算法进行运算得到第三运算结果,判断第三解密数据是否与第三运算结果一致,是则验证通过,否则验证未通过。
具体地,步骤200中,终端设备根据预设路径获取待恢复数据的应用程序的标识,具体为:终端设备根据预设路径找到第一配置文件,从第一配置文件中获取待恢复数据的应用程序的标识。
具体地,上述终端设备根据应用程序的标识获取第二证书和应用程序的第二代码签名数据,具体为:终端设备根据应用程序的标识找到第二配置文件,从第二配置文件中获取第二证书和应用程序的第二代码签名数据。进一步地,终端设备根据应用程序的标识找到第二配置文件,具体为:终端设备找到自身保存的包括与应用程序的标识相匹配的应用标识的第二配置文件。本实施例中,终端设备根据应用程序的标识找到第二配置文件之前还包括:终端设备判断自身是否保存有与应用程序的标识相匹配的应用标识,是则继续,否则结束。
本实施例的步骤200中验证通过时,步骤201之前还包括:终端设备从第二配置文件中获取第二设备标识,从第一配置文件中获取第一设备标识,判断获取的第二设备标识是否与第一设备标识相匹配,是则执行步骤201,否则结束。
步骤201:终端设备读取安全存储区中的数据。
具体地,终端设备调用读接口,读取安全存储区中的数据。
步骤202:终端设备判断安全存储区中是否有预设的对象标识,是则执行步骤203,否则结束。
例如,当预设的对象标识为0001时,终端设备判断安全存储区中的存储对象标识中是否有0001,是则执行步骤203,否则结束。
步骤203:终端设备根据预设的对象标识读取安全存储区中的存储对象。
例如,终端设备根据预设的对象标识0001读取对应的存储对象{对象标识=0001;数据标识=0010;Token=bc906717191c532bc76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283;private=D89207D55DB1FEA62D16CF5E8D4DEDECD19CAAF041CF06A083D65574CD8F913B;size=3;username=123}。
步骤204:终端设备判断存储对象中是否具有预设的数据标识,是则执行步骤205,否则结束。
例如,当预设的数据标识为0010时,终端设备判断存储对象中是否有预设的数据标识0010,是则执行步骤205,否则结束。
步骤205:终端设备根据预设的数据标识读取存储对象中加密的应用程序数据,使用与预设的加密类型对应的解密算法对存储对象中的加密的应用程序数据解密得到应用程序数据。
例如,终端设备根据预设的数据标识0010读取到存储对象中加密的应用程序数据,使用与预设的加密类型对应的解密算法存储对象中的加密的应用程序数据解密得到的应用程序数据具体为:{Token=bc906717191c532bc76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283;
private=D89207D55DB1FEA62D16CF5E8D4DEDECD19CAAF041CF06A083D65574CD8F913B;username=123},将Token=bc906717191c532b
c76cd8c4e7a520587e90d4a385b43863f3c1da6c406ed283作为令牌号、将private=D89207D55DB1FEA62D16CF5E8D4DEDECD19CAAF041CF06A083D65574CD8F913B作为私钥、将username=123作为用户名。
本实施例中,还可以包括:终端设备将得到的应用程序数据保存到运行的应用程序中。后续运行应用程序时可以直接使用保存在应用程序的数据。
可选地,本实施例上述方法的步骤105中,终端设备使用预设的数据标识对应用程序数据进行标识之前,还包括:终端设备按照第一预设算法生成预设的数据标识;相应地,上述步骤204之前,还包括:终端设备按照第一预设算法生成预设的数据标识。
具体地,上述终端设备按照第一预设算法生成预设的数据标识,具体为:所述终端设备根据第一预设算法对预设数据进行运算,将得到的运算结果作为预设的数据标识。例如,第一预设算法为SHA256、预设数据为123456时,终端设备使用算法SHA256对123456进行运算,将得到的运算结果作为预设的数据标识。
可选地,本实施例上述方法的步骤105中,终端设备使用预设的对象标识对存储对象进行标识之前,还包括:终端设备按照第二预设算法生成预设的对象标识;相应地,上述步骤202之前,还包括:终端设备按照第二预设算法生成预设的对象标识。
具体地,上述终端设备按照第二预设算法生成预设的对象标识,具体为:终端设备根据第二预设算法对预设数据进行运算,将运算结果作为预设的对象标识。
可选地,步骤105中,终端设备使用预设的对象标识对存储对象进行标识之前,还包括:终端设备根据预设服务器地址向对应的服务器发送获取对象标识请求,接收对应服务器返回的预设的对象标识;相应地,上述步骤202之前,还包括:终端设备根据预设服务器地址向对应的服务器发送获取对象标识请求,接收对应服务器返回的预设的对象标识。本实施例中,当应用程序数据包括私钥和用户名时,对象标识具体为私钥标识,终端设备生成私钥时生成对应的私钥标识,并将私钥标识上传给对应的服务器。
可选地,上述步骤205之后,还包括:终端设备显示恢复的应用程序数据。
可选地,上述步骤205之后还包括:
步骤206:终端设备根据预设服务器地址访问对应的服务器,通过对应的服务器对解密得到的应用程序数据进行验证,判断是否接收到服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
当解密得到的应用程序数据为令牌序列号时,步骤206具体为:终端设备根据预设令牌服务器地址将令牌序列号发送给令牌服务器,通过令牌服务器对令牌序列号进行验证,判断是否接收到令牌服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
当解密得到的应用程序数据为用户名和私钥时,步骤206具体包括:
步骤A31:终端设备根据预设认证服务器地址向认证服务器发送获取待签名数据请求,并接收认证服务器返回的待签名数据;
步骤A32:终端设备使用私钥对待签名数据进行签名,将签名结果和用户名发送给认证服务器,通过认证服务器对签名结果进行验证,判断是否接收到认证服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
本实施例中,认证服务器接收到终端设备的签名结果时,对签名结果进行验签,验签成功则向终端设备返回验证成功的通知,验签失败则向终端设备返回验证失败的通知。具体地,认证服务器对签名结果进行验签,具体为:认证服务器使用与用户名对应的公钥对签名结果进行解密得到解密数据,判断解密数据是否与待签名数据相同,是则验签成功,否则验签失败。
当解密得到的所述应用程序数据包括用户名和用户密码时,步骤206具体为:终端设备根据预设服务器地址将用户名和密码发送给对应的服务器,通过对应的服务器对用户名和密码进行验证,判断是否接收到服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。进一步地,应用程序数据还包括公司地址、公司网址、联系电话、邮箱地址、联系人中的一种或多种。本实施例中,服务器接收到终端设备的用户名和密码时,判断接收的用户名和密码是否与自身保存的用户名和密码一致,是则向终端设备返回验证成功的通知,否则向终端设备返回验证失败的通知。
本实施例中,上述应用程序数据可以包括私钥和/或者令牌号。
进一步地,上述应用程序数据还可以包括用户名、公司地址、公司网址、用户密码、联系电话、联系人、邮箱地址中的其中一种或多种。例如,应用程序数据可以包括私钥、用户名,或者包括令牌号、用户名。应用程序数据所包含的数据根据实际需要设定,在此不再一一列举。
可选地,上述步骤107之前还包括:终端设备按照第三预设算法对应用程序数据进行加密生成第一加密的应用程序数据;相应地,上述步骤107中添加到安全存储区中的存储对象中的应用程序数据具体为第一加密的应用程序数据;上述步骤205中终端获取的应用程序数据具体为第一加密的应用程序数据;步骤205中还包括:终端设备根据第四预设算法对第一加密的应用程序按照第四预设算法进行解密得到应用程序数据。本实施例中,第四预设算法为与第三预设算法对应的解密算法;第三预设算法和第四预设算法可以是对称的加密算法,即第三预设算法和第四预设算法相同;也可以是非对称的加密算法,即第三预设算法和第四预设算法不同。
本实施例中,当保存的是动态令牌的应用程序数据时,恢复应用程序数据时不需要重新向应用程序的厂家重新申请激活令牌号,简化安装流程,提高用户体验。
实施例2
本实施例提供一种保存、恢复应用程序数据的终端设备,包括保存模块和恢复模块,保存模块包括:
创建子模块101,用于创建存储对象;
组装子模块102,用于将应用程序数据组装到创建子模块101创建的存储对象中;
添加子模块103,用于在上述组装子模块102将应用程序数据组装到创建子模块101创建的存储对象中之后,将存储对象添加到终端设备的安全存储区中;
设置子模块104,用于将创建子模块101创建的存储对象设置为预设的加密类型;
第一加密子模块105,用于根据设置子模块104设置的预设的加密类型对添加子模块103添加到安全存储区中的存储对象中的应用程序数据进行加密;
第一标识子模块106,用于使用预设的数据标识对组装子模块102组装到存储对象中的应用程序数据进行标识;
第二标识子模块107,用于使用预设的对象标识对创建子模块101创建的存储对象进行标识;
恢复模块包括:
第一获取子模块108,用于根据预设路径获取待恢复数据的应用程序的标识,根据获取的应用程序的标识找到自身保存的第一证书;
第一验证子模块109,用于使用第一获取子模块108获取的第一证书对待恢复数据的应用程序进行验证;
第一读取子模块110,用于当第一验证子模块109验证结果为验证通过时,根据预设的对象标识读取安全存储区中的存储对象;
第二读取子模块111,用于根据预设的数据标识读取第一读取子模块110读取到的存储对象中加密的应用程序数据;
第一解密子模块112,用于使用与设置子模块104设置的预设的加密类型对应的解密算法对第二读取子模块111读取到的存储对象中的加密的应用程序数据解密得到应用程序数据。
可选地,上述保存模块还包括第一生成子模块,上述恢复模块还包括第二生成子模块;
第一生成子模块,用于按照第一预设算法生成预设的数据标识;
上述第一标识子模块106,具体用于使用第一生成子模块生成的预设的数据标识对组装子模块102组装到存储对象中的应用程序数据进行标识;
第二生成子模块,用于按照第一预设算法生成预设的数据标识;
上述第二读取子模块111,具体用于根据第二生成子模块生成的预设的数据标识读取第一读取子模块110读取到的存储对象中加密的应用程序数据。
可选地,上述保存模块还包括第三生成子模块;上述恢复模块还包括第四生成子模块;
第三生成子模块,用于按照第二预设算法生成预设的对象标识;
上述第二标识子模块107,具体用于使用第三生成子模块生成的预设的对象标识对创建子模块101创建的存储对象进行标识;
第四生成子模块,用于按照第二预设算法生成预设的对象标识;
上述第一读取子模块110,具体用于当第一验证子模块109验证结果为验证通过时,根据第四生成子模块生成的预设的对象标识读取安全存储区中的存储对象。
可选地,上述保存模块还包括第一对象标识获取子模块;上述恢复模块还包括第二对象标识获取子模块;
第一对象标识获取子模块,用于根据预设服务器地址向对应的服务器发送获取对象标识请求,接收对应服务器返回的预设的对象标识;
上述第二标识子模块107,具体用于使用第一对象标识获取子模块接收的预设的对象标识对创建子模块101创建的存储对象进行标识;
第二对象标识获取子模块,用于根据预设服务器地址向对应的服务器发送获取对象标识请求,接收对应服务器返回的预设的对象标识;
上述第一读取子模块110,具体用于当第一验证子模块109验证结果为验证通过时,根据第二对象标识获取子模块接收的预设的对象标识读取安全存储区中的存储对象。
可选地,上述保存模块还包括第一判断子模块和删除子模块;
第一判断子模块,用于在添加子模块103将存储对象添加到终端设备的安全存储区中之前,判断安全存储区中是否具有预设的对象标识;
删除子模块,用于在第一判断子模块判定安全存储区中具有预设的对象标识时,删除安全存储区中的对象标识以及对象标识对应的存储对象。
可选地,上述保存模块还包括第二判断子模块;
第二判断子模块,用于在添加子模块103将存储对象添加到终端设备的安全存储区中之前,判断安全存储区中是否具有预设的对象标识;
上述添加子模块103,具体用于在第二判断子模块判断安全存储区中具有对象标识时,使用包括应用程序数据的存储对象更新安全存储区中对象标识对应的存储对象。
可选地,上述恢复模块还包括第二验证子模块;
第二验证子模块,用于根据预设服务器地址访问对应的服务器,通过对应的服务器对第一解密子模块112得到的应用程序数据进行验证,判断是否接收到对应的服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
本实施例中,上述第一解密子模块112得到的应用程序数据为令牌序列号时,上述第二验证子模块具体用于根据预设令牌服务器地址将令牌序列号发送给令牌服务器,通过令牌服务器对令牌序列号进行验证,判断是否接收到令牌服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
上述第一解密子模块112得到的应用程序数据为用户名和私钥时,上述第二验证子模块具体用于根据预设认证服务器地址向认证服务器发送获取待签名数据请求,并接收认证服务器返回的待签名数据;使用私钥对待签名数据进行签名,将签名结果和用户名发送给认证服务器,通过认证服务器对签名结果进行验证,判断是否接收到认证服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
上述第一解密子模块112得到的应用程序数据包括用户名和用户密码时,上述第二验证子模块具体用于根据预设服务器地址将用户名和密码发送给对应的服务器,通过对应的服务器对用户名和密码进行验证,判断是否接收到服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
进一步地,上述第一解密子模块112得到的应用程序数据还包括公司地址、公司网址、联系电话、邮箱地址、联系人中的一种或多种。
可选地,上述恢复模块还包括显示子模块;
显示子模块,用于显示第一解密子模块112解密得到的应用程序数据。
可选地,上述恢复模块还包括第二获取子模块;
第二获取子模块,用于根据第一获取子模块108获取的应用程序的标识获取第二证书和对应的第二代码签名数据;
上述第一验证子模块109,具体用于使用第一获取子模块108获取的第一证书中的第一公钥对自身保存的第一证书对应的第一代码签名文件进行解密,得到第一解密数据;使用第二获取子模块获取的第二证书中的第二公钥对第二代码签名数据进行解密,得到第二解密数据,判断第一解密数据是否与第二解密数据一致,是则验证通过,否则验证未通过。
进一步地,上述恢复模块在包括第二获取子模块的基础上,还包括第三获取子模块、保存子模块和第三验证子模块;
保存子模块,用于保存第二证书的根证书;
第三获取子模块,用于获取保存子模块保存的第二证书的根证书;
第三验证子模块,用于使用第三获取子模块获取的根证书对第二证书进行验证,验证通过时触发第一验证子模块109。
具体地,上述第三获取子模块获取的第二证书中包括使用第二证书的根证书中的第三私钥对第二证书中的内容进行签名得到的第二签名数据;
相应地,上述第三验证子模块,具体用于使用第三获取子模块获取的根证书中的第三公钥对第二签名数据进行解密得到第三解密数据;对第二获取子模块获取的第二证书中的内容按照第五预设算法进行运算得到第三运算结果,判断第三解密数据是否与第三运算结果一致,是则验证通过,否则验证未通过。
可选地,上述保存模块还包括第二加密子模块;上述恢复模块还包括第二解密子模块;
第二加密子模块,用于按照第三预设算法对应用程序数据进行加密生成第一加密应用程序数据;
相应地,上述添加子模块103添加到安全存储区中的存储对象中的应用程序数据具体为第一加密的应用程序数据;
上述第一解密子模块112具体用于使用与设置子模块104设置的预设的加密类型对应的解密算法对第二读取子模块111读取到的加密的应用程序数据解密得到第一加密应用程序数据;
第二解密子模块,用于对第一解密子模块112解密得到的第一加密的应用程序按照第四预设算法进行解密得到应用程序数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (32)

1.一种保存、恢复应用程序数据的方法,其特征在于,包括:终端设备卸载应用程序之前,对应用程序数据进行保存;以及所述终端设备重新安装所述应用程序时,对所述应用程序数据进行恢复;
所述终端设备对所述应用程序数据进行保存具体包括以下步骤:
步骤S1:所述终端设备创建存储对象;
步骤S2:所述终端设备将所述应用程序数据组装到所述存储对象中;
步骤S3:所述终端设备将所述存储对象添加到自身的安全存储区中;
所述步骤S1之后、步骤S3之前,还包括:所述终端设备将所述存储对象设置为预设的加密类型;所述步骤S3中还包括:所述终端设备根据所述预设的加密类型对所述安全存储区中的所述存储对象中的所述应用程序数据进行加密;
所述步骤S3之前还包括:所述终端设备使用预设的数据标识对所述存储对象中的所述应用程序数据进行标识,使用预设的对象标识对所述存储对象进行标识;
所述终端设备对所述应用程序数据进行恢复具体包括以下步骤:
步骤A0:所述终端设备根据预设路径获取待恢复数据的应用程序的标识,根据获取的所述应用程序的标识找到自身保存的第一证书,使用所述第一证书对待恢复数据的应用程序进行验证,验证通过时执行步骤A1;
步骤A1:所述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象;
步骤A2:所述终端设备根据所述预设的数据标识读取所述存储对象中加密的应用程序数据,使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述应用程序数据。
2.根据权利要求1所述的方法,其特征在于,所述终端设备使用预设的数据标识对所述应用程序数据进行标识之前,还包括:所述终端设备按照第一预设算法生成所述预设的数据标识;
所述终端设备根据所述预设的数据标识读取所述存储对象中的数据之前,还包括:所述终端设备按照所述第一预设算法生成所述预设的数据标识。
3.根据权利要求1或2所述的方法,其特征在于,所述终端设备使用预设的对象标识对所述存储对象进行标识之前,还包括:所述终端设备按照第二预设算法生成所述预设的对象标识;
所述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象之前,还包括:所述终端设备按照所述第二预设算法生成所述预设的对象标识。
4.根据权利要求1或2所述的方法,其特征在于,所述终端设备使用预设的对象标识对所述存储对象进行标识之前,还包括:所述终端设备根据预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识;
所述终端设备根据所述预设的对象标识读取所述安全存储区中的所述存储对象之前,还包括:所述终端设备根据所述预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识。
5.根据权利要求1所述的方法,其特征在于,所述步骤S3之前,还包括:
步骤H1:所述终端设备判断所述安全存储区中是否具有所述预设的对象标识;
步骤H2:所述终端设备判断所述安全存储区中具有所述对象标识时,删除所述安全存储区中的所述对象标识以及所述对象标识对应的存储对象。
6.根据权利要求1所述的方法,其特征在于,所述步骤S3之前,还包括:所述终端设备判断所述安全存储区中是否具有所述预设的对象标识;
所述步骤S3具体为:所述终端设备判断所述安全存储区中具有所述对象标识时,使用包括所述应用程序数据的所述存储对象更新所述安全存储区中所述对象标识对应的存储对象。
7.根据权利要求1所述的方法,其特征在于,所述步骤A2之后,还包括:
步骤A3:所述终端设备根据预设服务器地址访问对应的服务器,通过所述对应的服务器对解密得到的所述应用程序数据进行验证,判断是否接收到所述对应的服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
8.根据权利要求7所述的方法,其特征在于,解密得到的所述应用程序数据为令牌序列号时,所述步骤A3具体为:
所述终端设备根据预设令牌服务器地址将所述令牌序列号发送给令牌服务器,通过所述令牌服务器对所述令牌序列号进行验证,判断是否接收到所述令牌服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
9.根据权利要求7所述的方法,其特征在于,解密得到的所述应用程序数据为用户名和私钥时,所述步骤A3具体包括:
步骤A31:所述终端设备根据预设认证服务器地址向认证服务器发送获取待签名数据请求,并接收所述认证服务器返回的待签名数据;
步骤A32:所述终端设备使用所述私钥对所述待签名数据进行签名,将签名结果和所述用户名发送给所述认证服务器,通过所述认证服务器对所述签名结果进行验证,判断是否接收到所述认证服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
10.根据权利要求7所述的方法,其特征在于,解密得到的所述应用程序数据包括用户名和用户密码时,所述步骤A3具体为:
所述终端设备根据预设服务器地址将所述用户名和所述密码发送给对应的服务器,通过所述对应的服务器对所述用户名和所述密码进行验证,判断是否接收到所述服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
11.根据权利要求10所述的方法,其特征在于,所述应用程序数据还包括公司地址、公司网址、联系电话、邮箱地址、联系人中的一种或多种。
12.根据权利要求1、8、10、11中任意一项权利要求所述的方法,其特征在于,所述步骤A2之后,还包括:所述终端设备显示解密得到的所述应用程序数据。
13.根据权利要求1所述的方法,其特征在于,所述步骤A0中还包括:所述终端设备根据所述应用程序的标识获取第二证书和对应的第二代码签名数据;
所述步骤A0中,所述终端设备使用所述第一证书对所述待恢复数据的应用程序进行验证,具体为:
所述终端设备使用所述第一证书中的第一公钥对自身保存的所述第一证书对应的第一代码签名文件进行解密,得到第一解密数据;使用所述第二证书中的第二公钥对所述第二代码签名数据进行解密,得到第二解密数据,判断所述第一解密数据是否与所述第二解密数据一致,是则验证通过,否则验证未通过。
14.根据权利要求13所述的方法,其特征在于,所述终端设备使用所述第一证书对所述待恢复数据的应用程序进行验证之前,还包括:所述终端设备获取自身保存的所述第二证书的根证书,使用所述根证书对所述第二证书进行验证,验证通过时执行步骤A0,否则结束。
15.根据权利要求14所述的方法,其特征在于,所述第二证书中包括使用所述第二证书的根证书中的第三私钥对所述第二证书中的内容进行签名得到的第二签名数据;
所述终端设备使用所述根证书对所述第二证书进行验证,具体为:所述终端设备使用所述根证书中的第三公钥对所述第二签名数据进行解密得到第三解密数据;对所述第二证书中的内容按照第五预设算法进行运算得到第三运算结果,判断所述第三解密数据是否与所述第三运算结果一致,是则验证通过,否则验证未通过。
16.根据权利要求1所述的方法,其特征在于,所述步骤S3之前还包括:所述终端设备按照第三预设算法对所述应用程序数据进行加密生成第一加密应用程序数据;
所述步骤S3中添加到所述安全存储区中的所述存储对象中的所述应用程序数据具体为所述第一加密应用程序数据;
所述步骤A2中,所述终端设备使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述应用程序数据,具体为:所述终端设备使用与所述预设的加密类型对应的解密算法对所述存储对象中的所述加密的应用程序数据解密得到所述第一加密应用程序数据;
所述步骤A2中还包括:所述终端设备对所述第一加密应用程序按照第四预设算法进行解密得到所述应用程序数据。
17.一种保存、恢复应用程序数据的终端设备,其特征在于,包括保存模块和恢复模块,所述保存模块包括:
创建子模块,用于创建存储对象;
组装子模块,用于将应用程序数据组装到所述创建子模块创建的所述存储对象中;
添加子模块,用于在所述组装子模块将所述应用程序数据组装到所述创建子模块创建的所述存储对象中之后,将所述存储对象添加到终端设备的安全存储区中;
设置子模块,用于将所述创建子模块创建的所述存储对象设置为预设的加密类型;
第一加密子模块,用于根据所述设置子模块设置的所述预设的加密类型对所述添加子模块添加到所述安全存储区中的所述存储对象中的所述应用程序数据进行加密;
第一标识子模块,用于使用预设的数据标识对所述组装子模块组装到所述存储对象中的所述应用程序数据进行标识;
第二标识子模块,用于使用预设的对象标识对所述创建子模块创建的所述存储对象进行标识;
所述恢复模块包括:
第一获取子模块,用于根据预设路径获取待恢复数据的应用程序的标识,根据获取的所述应用程序的标识找到自身保存的第一证书;
第一验证子模块,用于使用所述第一获取子模块获取的所述第一证书对待恢复数据的应用程序进行验证;
第一读取子模块,用于当所述第一验证子模块验证结果为验证通过时,根据所述预设的对象标识读取所述安全存储区中的所述存储对象;
第二读取子模块,用于根据所述预设的数据标识读取所述第一读取子模块读取到的所述存储对象中加密的应用程序数据;
第一解密子模块,用于使用与所述设置子模块设置的所述预设的加密类型对应的解密算法对所述第二读取子模块读取到的所述加密的应用程序数据解密得到所述应用程序数据。
18.根据权利要求17所述的终端设备,其特征在于,所述保存模块还包括第一生成子模块;所述恢复模块还包括第二生成子模块;
所述第一生成子模块,用于按照第一预设算法生成所述预设的数据标识;
所述第一标识子模块,具体用于使用所述第一生成子模块生成的所述预设的数据标识对所述组装子模块组装到所述存储对象中的所述应用程序数据进行标识;
所述第二生成子模块,用于按照所述第一预设算法生成所述预设的数据标识;
所述第二读取子模块,具体用于根据所述第二生成子模块生成的所述预设的数据标识读取所述第一读取子模块读取到的所述存储对象中加密的应用程序数据。
19.根据权利要求17或18所述的终端设备,其特征在于,所述保存模块还包括第三生成子模块;所述恢复模块还包括第四生成子模块;
所述第三生成子模块,用于按照第二预设算法生成所述预设的对象标识;
所述第二标识子模块,具体用于使用所述第三生成子模块生成的所述预设的对象标识对所述创建子模块创建的所述存储对象进行标识;
所述第四生成子模块,用于按照所述第二预设算法生成所述预设的对象标识;
所述第一读取子模块,具体用于当所述第一验证子模块验证结果为验证通过时,根据所述第四生成子模块生成的所述预设的对象标识读取所述安全存储区中的所述存储对象。
20.根据权利要求17或18所述的终端设备,其特征在于,所述保存模块还包括第一对象标识获取子模块;所述恢复模块还包括第二对象标识获取子模块;
所述第一对象标识获取子模块,用于根据预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识;
所述第二标识子模块,具体用于使用所述第一对象标识获取子模块接收的所述预设的对象标识对所述创建子模块创建的所述存储对象进行标识;
所述第二对象标识获取子模块,用于根据所述预设服务器地址向对应的服务器发送获取对象标识请求,接收所述对应服务器返回的所述预设的对象标识;
所述第一读取子模块,具体用于当所述第一验证子模块验证结果为验证通过时,根据所述第二对象标识获取子模块接收的所述预设的对象标识读取所述安全存储区中的所述存储对象。
21.根据权利要求17所述的终端设备,其特征在于,所述保存模块还包括第一判断子模块和删除子模块;
所述第一判断子模块,用于在所述添加子模块将所述存储对象添加到终端设备的安全存储区中之前,判断所述安全存储区中是否具有所述预设的对象标识;
所述删除子模块,用于在所述第一判断子模块判定所述安全存储区中具有所述预设的对象标识时,删除所述安全存储区中的所述对象标识以及所述对象标识对应的存储对象。
22.根据权利要求17所述的终端设备,其特征在于,所述保存模块还包括第二判断子模块;
所述第二判断子模块,用于在所述添加子模块将所述存储对象添加到终端设备的安全存储区中之前,判断所述安全存储区中是否具有所述预设的对象标识;
所述添加子模块,具体用于在所述第二判断子模块判断所述安全存储区中具有所述对象标识时,使用包括所述应用程序数据的所述存储对象更新所述安全存储区中所述对象标识对应的存储对象。
23.根据权利要求17所述的终端设备,其特征在于,所述恢复模块还包括第二验证子模块;
所述第二验证子模块,用于根据预设服务器地址访问对应的服务器,通过所述对应的服务器对所述第一解密子模块得到的所述应用程序数据进行验证,判断是否接收到所述对应的服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
24.根据权利要求23所述的终端设备,其特征在于,所述第一解密子模块得到的所述应用程序数据为令牌序列号时,所述第二验证子模块具体用于根据预设令牌服务器地址将所述令牌序列号发送给令牌服务器,通过所述令牌服务器对所述令牌序列号进行验证,判断是否接收到所述令牌服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
25.根据权利要求23所述的终端设备,其特征在于,所述第一解密子模块得到的所述应用程序数据为用户名和私钥时,所述第二验证子模块具体用于根据预设认证服务器地址向认证服务器发送获取待签名数据请求,并接收所述认证服务器返回的待签名数据;使用所述私钥对所述待签名数据进行签名,将签名结果和所述用户名发送给所述认证服务器,通过所述认证服务器对所述签名结果进行验证,判断是否接收到所述认证服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
26.根据权利要求23所述的终端设备,其特征在于,所述第一解密子模块得到的所述应用程序数据包括用户名和用户密码时,所述第二验证子模块具体用于根据预设服务器地址将所述用户名和所述密码发送给对应的服务器,通过所述对应的服务器对所述用户名和所述密码进行验证,判断是否接收到所述服务器返回的验证成功的通知,是则恢复数据成功,否则恢复数据失败。
27.根据权利要求26所述的终端设备,其特征在于,所述第一解密子模块得到的所述应用程序数据还包括公司地址、公司网址、联系电话、邮箱地址、联系人中的一种或多种。
28.根据权利要求17、24、26、27中任意一项权利要求所述的终端设备,其特征在于,所述恢复模块还包括显示子模块;
所述显示子模块,用于显示所述第一解密子模块解密得到的所述应用程序数据。
29.根据权利要求17所述的终端设备,其特征在于,所述恢复模块还包括第二获取子模块;
所述第二获取子模块,用于根据所述第一获取子模块获取的所述应用程序的标识获取第二证书和对应的第二代码签名数据;
所述第一验证子模块,具体用于使用所述第一获取子模块获取的所述第一证书中的第一公钥对自身保存的所述第一证书对应的第一代码签名文件进行解密,得到第一解密数据;使用所述第二获取子模块获取的所述第二证书中的第二公钥对所述第二代码签名数据进行解密,得到第二解密数据,判断所述第一解密数据是否与所述第二解密数据一致,是则验证通过,否则验证未通过。
30.根据权利要求29所述的终端设备,其特征在于,所述恢复模块还包括第三获取子模块、保存子模块和第三验证子模块;
所述保存子模块,用于保存所述第二证书的根证书;
所述第三获取子模块,用于获取所述保存子模块保存的所述第二证书的根证书;
所述第三验证子模块,用于使用所述第三获取子模块获取的所述根证书对所述第二证书进行验证,验证通过时触发所述第一验证子模块。
31.根据权利要求30所述的终端设备,其特征在于,所述第三获取子模块获取的所述第二证书中包括使用所述第二证书的根证书中的第三私钥对所述第二证书中的内容进行签名得到的第二签名数据;
所述第三验证子模块,具体用于使用所述第三获取子模块获取的所述根证书中的第三公钥对所述第二签名数据进行解密得到第三解密数据;对所述第二获取子模块获取的所述第二证书中的内容按照第五预设算法进行运算得到第三运算结果,判断所述第三解密数据是否与所述第三运算结果一致,是则验证通过,否则验证未通过。
32.根据权利要求17所述的终端设备,其特征在于,所述保存模块还包括第二加密子模块,所述恢复模块还包括第二解密子模块;
所述第二加密子模块,用于按照第三预设算法对所述应用程序数据进行加密生成第一加密应用程序数据;
所述添加子模块添加到所述安全存储区中的所述存储对象中的所述应用程序数据具体为所述第一加密的应用程序数据;
所述第一解密子模块,具体用于使用与所述设置子模块设置的所述预设的加密类型对应的解密算法对所述第二读取子模块读取到的所述加密的应用程序数据解密得到所述第一加密应用程序数据;
所述第二解密子模块,用于对所述第一解密子模块解密得到的所述第一加密应用程序按照第四预设算法进行解密得到所述应用程序数据。
CN201710931615.XA 2017-10-09 2017-10-09 一种保存、恢复应用程序数据的方法及终端设备 Active CN107678886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710931615.XA CN107678886B (zh) 2017-10-09 2017-10-09 一种保存、恢复应用程序数据的方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710931615.XA CN107678886B (zh) 2017-10-09 2017-10-09 一种保存、恢复应用程序数据的方法及终端设备

Publications (2)

Publication Number Publication Date
CN107678886A true CN107678886A (zh) 2018-02-09
CN107678886B CN107678886B (zh) 2020-02-21

Family

ID=61139724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710931615.XA Active CN107678886B (zh) 2017-10-09 2017-10-09 一种保存、恢复应用程序数据的方法及终端设备

Country Status (1)

Country Link
CN (1) CN107678886B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189406A (zh) * 2018-07-27 2019-01-11 努比亚技术有限公司 一种应用管理方法、终端及计算机可读存储介质
CN109819018A (zh) * 2018-12-29 2019-05-28 飞天诚信科技股份有限公司 一种实现智能卡可执行文件的热更新方法及装置
CN111221985A (zh) * 2019-11-14 2020-06-02 网易(杭州)网络有限公司 一种基于操作***的数据处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017114A1 (en) * 2010-07-19 2012-01-19 Veeam Software International Ltd. Systems, Methods, and Computer Program Products for Instant Recovery of Image Level Backups
CN104123199A (zh) * 2014-07-03 2014-10-29 可牛网络技术(北京)有限公司 应用程序的恢复方法、装置和移动终端
CN105721162A (zh) * 2016-01-30 2016-06-29 飞天诚信科技股份有限公司 向应用程序中自动导入数字证书的方法及装置
CN107066346A (zh) * 2016-09-27 2017-08-18 阿里巴巴集团控股有限公司 一种数据备份方法、数据恢复方法及装置
CN107168699A (zh) * 2017-04-28 2017-09-15 北京五八信息技术有限公司 应用程序修复方法及终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017114A1 (en) * 2010-07-19 2012-01-19 Veeam Software International Ltd. Systems, Methods, and Computer Program Products for Instant Recovery of Image Level Backups
CN104123199A (zh) * 2014-07-03 2014-10-29 可牛网络技术(北京)有限公司 应用程序的恢复方法、装置和移动终端
CN105721162A (zh) * 2016-01-30 2016-06-29 飞天诚信科技股份有限公司 向应用程序中自动导入数字证书的方法及装置
CN107066346A (zh) * 2016-09-27 2017-08-18 阿里巴巴集团控股有限公司 一种数据备份方法、数据恢复方法及装置
CN107168699A (zh) * 2017-04-28 2017-09-15 北京五八信息技术有限公司 应用程序修复方法及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闫海忠: "一种深度备份应用程序和数据的方法", 《电脑编程技巧与维护》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189406A (zh) * 2018-07-27 2019-01-11 努比亚技术有限公司 一种应用管理方法、终端及计算机可读存储介质
CN109819018A (zh) * 2018-12-29 2019-05-28 飞天诚信科技股份有限公司 一种实现智能卡可执行文件的热更新方法及装置
CN109819018B (zh) * 2018-12-29 2021-06-08 飞天诚信科技股份有限公司 一种实现智能卡可执行文件的热更新方法及装置
CN111221985A (zh) * 2019-11-14 2020-06-02 网易(杭州)网络有限公司 一种基于操作***的数据处理方法和装置
CN111221985B (zh) * 2019-11-14 2024-04-12 网易(杭州)网络有限公司 一种基于操作***的数据处理方法和装置

Also Published As

Publication number Publication date
CN107678886B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN106161359B (zh) 认证用户的方法及装置、注册可穿戴设备的方法及装置
CN103685282B (zh) 一种基于单点登录的身份认证方法
US8051297B2 (en) Method for binding a security element to a mobile device
CN104468627B (zh) 一种通过服务器进行终端数据备份的数据加密方法及***
CN105022966B (zh) 数据库数据加密解密方法和***
CN109981255B (zh) 密钥池的更新方法和***
CN101771699A (zh) 一种提高SaaS应用安全性的方法及***
CN106100830B (zh) 一种在nfc动态令牌中写入种子密钥的方法和设备
US11831753B2 (en) Secure distributed key management system
CN106713508A (zh) 一种基于云服务器的数据存取方法及***
CN112000975A (zh) 一种密钥管理***
CN204360381U (zh) 移动设备
CN106789024B (zh) 一种远程解锁方法、装置和***
CN109144552A (zh) 一种引导固件刷新方法和装置
CN107888381A (zh) 一种密钥导入的实现方法、装置及***
CN109816383A (zh) 一种区块链签名方法、区块链钱包和区块链
CN101515319A (zh) 密钥处理方法、密钥密码学服务***和密钥协商方法
CN113472793A (zh) 一种基于硬件密码设备的个人数据保护***
CN107678886A (zh) 一种保存、恢复应用程序数据的方法及终端设备
CN108270568A (zh) 一种移动数字证书装置及其更新方法
CN112866227A (zh) 一种文件授权保护方法和***
JP2001103045A (ja) 暗号鍵バックアップ記憶装置
CN104955029A (zh) 通讯录保护方法、装置及通信***
CN114697082A (zh) 一种无服务器环境的加解密装置的生产及应用方法
CN104253692B (zh) 基于se的密钥管理方法和装置

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