CN114938358B - 一种即时通讯应用数据的备份方法及终端 - Google Patents
一种即时通讯应用数据的备份方法及终端 Download PDFInfo
- Publication number
- CN114938358B CN114938358B CN202210392102.7A CN202210392102A CN114938358B CN 114938358 B CN114938358 B CN 114938358B CN 202210392102 A CN202210392102 A CN 202210392102A CN 114938358 B CN114938358 B CN 114938358B
- Authority
- CN
- China
- Prior art keywords
- application data
- backed
- backup
- file
- data file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 70
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002708 enhancing effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/063—Content adaptation, e.g. replacement of unsuitable content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种即时通讯应用数据的备份方法及终端,根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;根据所述加密后的备份密钥生成所述密钥文件,从而实现了即时通讯应用数据的安全备份,进一步加强了应用数据的安全性,最大限度地减少用户隐私数据泄露的风险。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种即时通讯应用数据的备份方法及终端。
背景技术
自2008年Android操作***问世以来,经过多年的迅速发展,Android***已经成为市场上最大的移动互联网操作***,市场占有率位居第一,而Android***的流行主要在于Android移动端的广泛应用涵盖了人们日常生活和工作的方方面面,时时刻刻影响着人们的衣食住行。其中,社交类应用的使用比例超过60%以上,比其他类应用的使用总量还要多。现在每天几乎都离不开社交类应用,国外的Telegram、Whatsapp、Line以及Twitter和国内的微信、QQ以及钉钉一直围绕着人们的生活,每天还会有大量的社交类应用在GooglePlay Store上架。
如此庞大的应用社交网络必然伴随大量的个人应用数据的交互和存储,而手机的社交数据安全问题一直是用户最关心的,应用数据安全涉及个人隐私问题,隐私安全已经成为一个不可忽视的问题。特别是近几年来牵扯到个人聊天数据被曝光导致的案件和社会事件层出不穷,甚至有些明星效应的隐私事件曝光对社会影响极为恶劣。数据的安全存储和保护有很多种方式,保存位置可以是本地,也可以是云端,但是都不可能做到绝对的安全。如果只是为了保证数据的高度安全性甚至可以通过及时清除平台上的应用数据来实现,这样能一定程度上杜绝安全隐私问题,但是这也意味着个人数据的永久丢失。
如何才能安全地备份应用数据到个人空间,特别是用户最关心的即时通讯应用数据,且如何在使用时又能安全地还原而不被心怀不轨的人获取个人的隐私数据成为需要重点探讨的内容。
发明内容
本发明所要解决的技术问题是:提供一种即时通讯应用数据的备份方法及终端,能够实现即时通讯应用数据的安全备份。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种即时通讯应用数据的备份方法,包括步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种即时通讯应用数据的备份终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件。
本发明的有益效果在于:若本地不存在密钥文件,则说明本次备份为首次备份,生成用户唯一身份标识和备份密钥,再基于备份密钥对待备份应用数据文件进行加密,基于用户唯一身份标识和加密后的待备份应用数据文件生成备份文件,并对备份密钥进行加密,根据加密后的备份密钥生成密钥文件,后续可利用密钥文件中的备份密钥进行多次安全备份,由于备份文件是待备份应用数据文件经过加密生成的,即使非用户本人获取到备份文件也无法打开并还原数据,对数据进行加密的备份密钥也是经过加密保存的,即使在安卓设备丢失的情况下,被他人导出设备中的备份文件和密钥文件也无法获取应用数据,从而实现了即时通讯应用数据的安全备份,进一步加强了应用数据的安全性,最大限度地减少用户隐私数据泄露的风险。
附图说明
图1为本发明实施例的一种即时通讯应用数据的备份方法的步骤流程图;
图2为本发明实施例的一种即时通讯应用数据的备份终端的结构示意图;
图3为本发明实施例即时通讯应用数据的备份方法中的备份文件的生成流程示意图;
图4为本发明实施例即时通讯应用数据的备份方法中的备份密钥生成的部分代码示意图;
图5为本发明实施例即时通讯应用数据的备份方法中的用户唯一身份标识生成的部分代码示意图;
图6为本发明实施例即时通讯应用数据的备份方法中的待备份应用数据文件加密的部分代码示意图;
图7为本发明实施例即时通讯应用数据的备份方法中的加密后的待备份应用数据文件压缩的流程示意图;
图8为本发明实施例即时通讯应用数据的备份方法中的备份文件的结构示意图;
图9为本发明实施例即时通讯应用数据的备份方法中的数据还原流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种即时通讯应用数据的备份方法,包括步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件。
从上述描述可知,本发明的有益效果在于:若本地不存在密钥文件,则说明本次备份为首次备份,生成用户唯一身份标识和备份密钥,再基于备份密钥对待备份应用数据文件进行加密,基于用户唯一身份标识和加密后的待备份应用数据文件生成备份文件,并对备份密钥进行加密,根据加密后的备份密钥生成密钥文件,后续可利用密钥文件中的备份密钥进行多次安全备份,由于备份文件是待备份应用数据文件经过加密生成的,即使非用户本人获取到备份文件也无法打开并还原数据,对数据进行加密的备份密钥也是经过加密保存的,即使在安卓设备丢失的情况下,被他人导出设备中的备份文件和密钥文件也无法获取应用数据,从而实现了即时通讯应用数据的安全备份,进一步加强了应用数据的安全性,最大限度地减少用户隐私数据泄露的风险。
进一步地,所述生成用户唯一身份标识和备份密钥包括:
获取所述待备份应用数据文件对应的用户ID以及所述备份请求对应的时间;
使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识;
基于所述时间使用随机数生成算法生成随机参数;
确定所述随机参数的数据流,并对所述数据流的预设位进行截取,得到截取后的数据流;
使用第二哈希算法对所述截取后的数据流进行计算,得到备份密钥。
由上述描述可知,通过使用第一哈希算法对用户ID进行摘要计算,得到用户唯一身份标识,确保用户唯一身份标识的唯一性,对随机参数的预设位进行截取,使用第二哈希算法对截取后的数据流进行计算,得到备份密钥,使得备份密钥具备较高随机性,无法被预测到,进而提高了应用数据备份的安全性。
进一步地,所述基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件包括:
将所述待备份应用数据文件读取至字节缓冲区中,得到字节流;
使用随机数接口生成初始化向量;
基于所述备份密钥、所述字节流和所述初始化向量使用第一对称加密算法进行加密,得到加密后的待备份应用数据文件。
由上述描述可知,将待备份应用数据文件读取至字节缓冲区中,得到字节流,使用随机数接口生成初始化向量,基于备份密钥、字节流和初始化向量使用对称加密算法进行加密,得到加密后的待备份应用数据文件,引入随机生成的初始化向量进行加密确保了加密的随机性,提高了加密的安全性,进而提高了应用数据备份的安全性。
进一步地,所述得到加密后的待备份应用数据文件之后包括:
对所述加密后的待备份应用数据文件进行压缩,得到压缩后的待备份应用数据文件;
所述基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件包括:
对所述压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值;
确定预设文件头部信息以及预设文件结束标志;
根据所述预设文件头部信息、所述用户唯一身份标识、所述初始化向量、所述压缩后的待备份应用数据文件、所述第一计算值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件。
由上述描述可知,对压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值,根据预设文件头部信息、用户唯一身份标识、初始化向量、压缩后的待备份应用数据文件、第一计算值和预设文件结束标志生成与待备份应用数据文件对应的备份文件,所备份的数据没有明文数据,且根据所备份的数据也无法对加密数据进行解密,实现了应用数据的安全备份,用户唯一身份标识和第一计算值可用于校验备份文件的真实性,初始化向量便于后续对备份文件进行还原,从而实现应用数据的安全还原。
进一步地,所述对所述备份密钥进行加密,得到加密后的备份密钥包括:
获取所述待备份应用数据文件对应的用户密码;
使用第四哈希算法对所述用户密码进行计算,得到第二计算值;
基于所述第二计算值使用第二对称加密算法对所述备份密钥进行加密,得到加密后的备份密钥。
由上述描述可知,使用第四哈希算法对用户密码进行计算,得到第二计算值,基于第二计算值使用对称加密算法对备份密钥进行加密,得到加密后的备份密钥,后续文件数据还原时,需要用户向服务器请求认证成功后,利用用户密码才能获取备份密钥,能够极大程度地确保备份密钥的安全性,且备份数据和用户账户相关,每个用户只能解开自己的应用数据,保护了用户的个人隐私。
请参照图2,一种即时通讯应用数据的备份终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件。
从上述描述可知,本发明的有益效果在于:若本地不存在密钥文件,则说明本次备份为首次备份,生成用户唯一身份标识和备份密钥,再基于备份密钥对待备份应用数据文件进行加密,基于用户唯一身份标识和加密后的待备份应用数据文件生成备份文件,并对备份密钥进行加密,根据加密后的备份密钥生成密钥文件,后续可利用密钥文件中的备份密钥进行多次安全备份,由于备份文件是待备份应用数据文件经过加密生成的,即使非用户本人获取到备份文件也无法打开并还原数据,对数据进行加密的备份密钥也是经过加密保存的,即使在安卓设备丢失的情况下,被他人导出设备中的备份文件和密钥文件也无法获取应用数据,从而实现了即时通讯应用数据的安全备份,进一步加强了应用数据的安全性,最大限度地减少用户隐私数据泄露的风险。
进一步地,所述生成用户唯一身份标识和备份密钥包括:
获取所述待备份应用数据文件对应的用户ID以及所述备份请求对应的时间;
使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识;
基于所述时间使用随机数生成算法生成随机参数;
确定所述随机参数的数据流,并对所述数据流的预设位进行截取,得到截取后的数据流;
使用第二哈希算法对所述截取后的数据流进行计算,得到备份密钥。
由上述描述可知,通过使用第一哈希算法对用户ID进行摘要计算,得到用户唯一身份标识,确保用户唯一身份标识的唯一性,对随机参数的预设位进行截取,使用第二哈希算法对截取后的数据流进行计算,得到备份密钥,使得备份密钥具备较高随机性,无法被预测到,进而提高了应用数据备份的安全性。
进一步地,所述基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件包括:
将所述待备份应用数据文件读取至字节缓冲区中,得到字节流;
使用随机数接口生成初始化向量;
基于所述备份密钥、所述字节流和所述初始化向量使用第一对称加密算法进行加密,得到加密后的待备份应用数据文件。
由上述描述可知,将待备份应用数据文件读取至字节缓冲区中,得到字节流,使用随机数接口生成初始化向量,基于备份密钥、字节流和初始化向量使用对称加密算法进行加密,得到加密后的待备份应用数据文件,引入随机生成的初始化向量进行加密确保了加密的随机性,提高了加密的安全性,进而提高了应用数据备份的安全性。
进一步地,所述得到加密后的待备份应用数据文件之后包括:
对所述加密后的待备份应用数据文件进行压缩,得到压缩后的待备份应用数据文件;
所述基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件包括:
对所述压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值;
确定预设文件头部信息以及预设文件结束标志;
根据所述预设文件头部信息、所述用户唯一身份标识、所述初始化向量、所述压缩后的待备份应用数据文件、所述第一计算值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件。
由上述描述可知,对压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值,根据预设文件头部信息、用户唯一身份标识、初始化向量、压缩后的待备份应用数据文件、第一计算值和预设文件结束标志生成与待备份应用数据文件对应的备份文件,所备份的数据没有明文数据,且根据所备份的数据也无法对加密数据进行解密,实现了应用数据的安全备份,用户唯一身份标识和第一计算值可用于校验备份文件的真实性,初始化向量便于后续对备份文件进行还原,从而实现应用数据的安全还原。
进一步地,所述对所述备份密钥进行加密,得到加密后的备份密钥包括:
获取所述待备份应用数据文件对应的用户密码;
使用第四哈希算法对所述用户密码进行计算,得到第二计算值;
基于所述第二计算值使用第二对称加密算法对所述备份密钥进行加密,得到加密后的备份密钥。
由上述描述可知,使用第四哈希算法对用户密码进行计算,得到第二计算值,基于第二计算值使用对称加密算法对备份密钥进行加密,得到加密后的备份密钥,后续文件数据还原时,需要用户向服务器请求认证成功后,利用用户密码才能获取备份密钥,能够极大程度地确保备份密钥的安全性,且备份数据和用户账户相关,每个用户只能解开自己的应用数据,保护了用户的个人隐私。
本发明上述一种即时通讯应用数据的备份方法及终端能适用于Android(安卓)上所有的即时通讯应用,以下通过具体实施方式进行说明:
实施例一
请参照图1、图3-图9,本实施例的一种即时通讯应用数据的备份方法,包括步骤:
S1、根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则执行S11;
其中,所述待备份应用数据文件为即时通信应用本地缓存的数据文件,包括个人信息及好友、群组聊天等重要数据;
具体的,根据接收的待备份应用数据文件SOURCE_FILE_DATA的备份请求判断本地是否存在密钥文件backup.key,若否,则执行S11;若是,则对所述密钥文件使用用户密码进行解密,得到备份密钥,并执行S2;
S11、生成用户唯一身份标识和备份密钥,具体包括:
S111、获取所述待备份应用数据文件对应的用户ID以及所述备份请求对应的时间;
其中,所述用户ID为当前登录账户的用户ID;
S112、使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识;
具体的,如图5所示,使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识IDENTITY_KEY,IDENTITY_KEY的作用是被写在备份文件的固定标志位中用来在数据还原时验证该备份文件的用户身份,而不是仅仅通过一个备份密钥就能还原备份数据的;
S113、基于所述时间使用随机数生成算法生成随机参数;
其中,所述随机数生成算法可根据实际情况进行选择,只要充分保证生成的随机参数无法被预测即可,本实施例中,所述随机数生成算法为Android中提供的安全随机数生成SecureRandom;
具体的,将所述时间作为随机种子调用java的安全随机数生成类SecureRandom生成随机参数,该随机参数无法被其他程序预测到;
S114、确定所述随机参数的数据流,并对所述数据流的预设位进行截取,得到截取后的数据流;
其中,所述预设位为前32位;
具体的,确定所述随机参数的数据流,并对所述数据流的前32位进行截取,得到截取后的数据流;
S115、使用第二哈希算法对所述截取后的数据流进行计算,得到备份密钥;
其中,所述第二哈希算法为MD5算法;
具体的,如图4所示,使用MD5算法对所述截取后的数据流进行计算,得到备份密钥BACKUP_KEY;
S2、基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件,如图3所示,具体包括:
S21、将所述待备份应用数据文件读取至字节缓冲区中,得到字节流;
具体的,通过代码将所述待备份应用数据文件SOURCE_FILE_DATA读取至字节缓冲区ByteBuffer中,得到字节流;
S22、使用随机数接口生成初始化向量;
具体的,使用***的随机数接口生成初始化向量NONCE_IV,该NONCE_IV也是随机的,保证加密字节流的随机性,后续将该值写入文件中作为备份文件还原的必要参数;
S23、基于所述备份密钥、所述字节流和所述初始化向量使用第一对称加密算法进行加密,得到加密后的待备份应用数据文件;
其中,所述第一对称加密算法可根据实际情况选择“加密+消息认证”的对称加密算法,本实施例中,所述第一对称加密算法为ChaCha20-Poly1305算法,ChaCha20-Poly1305算法是由ChaCha20流密码和Poly1305消息认证码(MAC)结合的一种应用在互联网安全协议中的认证加密算法,在Android移动端应用中也是使用比较广泛的一种流密码对称加密算法;
具体的,如图6所示,以所述备份密钥BACKUP_KEY作为加密key,将所述备份密钥BACKUP_KEY、所述字节流和所述初始化向量NONCE_IV作为输入调用ChaCha20-Poly1305算法进行加密,得到加密后的待备份应用数据文件SECRET_FILE_DATA;
S3、对所述加密后的待备份应用数据文件进行压缩,得到压缩后的待备份应用数据文件;
具体的,如图7所示,对所述加密后的待备份应用数据文件使用压缩算法进行压缩(COMPRESS),得到压缩后的待备份应用数据文件SECRET_FILE_DATA_COMPRESS;
其中,所述压缩算法为GZIP、Bzib2、Zip或者多种压缩算法的组合,对此不做限定;
S4、基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥,具体包括:
S41、对所述压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值;
其中,所述第三哈希算法为MD5算法;
具体的,对所述压缩后的待备份应用数据文件使用MD5算法进行计算,得到第一计算值,即MD5值;
S42、确定预设文件头部信息以及预设文件结束标志;
具体的,确定预设文件头部信息BACKUP_FILE_HEAD以及预设文件结束标志,本实施例中,所述预设文件头部信息BACKUP_FILE_HEAD的数据长度为50位,所述预设文件结束标志的数据长度为4位;
S43、根据所述预设文件头部信息、所述用户唯一身份标识、所述初始化向量、所述压缩后的待备份应用数据文件、所述第一计算值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件;
具体的,写入所述预设文件头部信息BACKUP_FILE_HEAD、所述用户唯一身份标识IDENTITY_KEY、所述初始化向量NONCE_IV、所述压缩后的待备份应用数据文件SECRET_FILE_DATA_COMPRESS、所述MD5值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件BACKUP_FILE,如图8所示;
本实施例中,所述用户唯一身份标识IDENTITY_KEY的数据长度为32位,所述初始化向量NONCE_IV的数据长度为16位,所述MD5值的数据长度为16位;
S44、获取所述待备份应用数据文件对应的用户密码;
其中,所述用户密码为当前登录账户认证通过后的用户密码;
S45、使用第四哈希算法对所述用户密码进行计算,得到第二计算值;
S46、基于所述第二计算值使用第二对称加密算法对所述备份密钥进行加密,得到加密后的备份密钥;
其中,所述第二对称加密算法为AES_GCM_256算法;
具体的,将所述第二计算值作为对称加密的密钥使用AES_GCM_256算法对所述备份密钥BACKUP_KEY进行加密,得到加密后的备份密钥SECRET_BACKUP_KEY;
S5、根据所述加密后的备份密钥生成所述密钥文件;
具体的,将所述加密后的备份密钥SECRET_BACKUP_KEY的编码值写入所述密钥文件backup.key,以实现密钥文件的生成;
所述密钥文件和所述备份文件均存储在即时通信应用的数据目录下;
后续该登录账户还需要对新的应用数据进行备份时,则使用首次生成的备份密钥进行数据备份,若首次生成的备份密钥丢失,则按照S1重新生成备份密钥;
如图9所示,数据还原时,首先在即时通信应用上完成用户登录认证,登录认证通过后,整个数据还原的过程就是从本地的backup.key中获取SECRET_BACKUP_KEY,并通过登录认证后的用户密码解密SECRET_BACKUP_KEY得到备份密钥BACKUP_KEY,对备份文件进行解析,验证文件的用户唯一身份标识是否和当前登录用户的用户唯一身份标识一致,并从备份文件中获取初始化向量和压缩后的应用数据文件,对压缩后的应用数据文件进行解压,通过已经获取的备份密钥、初始化向量对解压后的应用数据文件进行解密获取最终的明文文件数据流,并写入到明文备份文件中,通过应用程序读取还原,即数据还原按照S5~S1的逆序进行。
实施例二
请参照图2,本实施例的一种即时通讯应用数据的备份终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中的即时通讯应用数据的备份方法中的各个步骤。
综上所述,本发明提供的一种即时通讯应用数据的备份方法及终端,当本地不存在密钥文件,则生成用户唯一身份标识和备份密钥;基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;根据所述加密后的备份密钥生成所述密钥文件;由于备份文件是待备份应用数据文件经过加密生成的,即使非用户本人获取到备份文件在没有密钥的情况下也无法打开并还原数据,对数据进行加密的备份密钥也是经过加密保存的,即使在安卓设备丢失的情况下,被他人导出设备中的备份文件和密钥文件也无法获取应用数据,数据还原过程只有用户登录认证通过后才可以解密密钥文件获取备份文件的备份密钥,从而实现了即时通讯应用数据的安全备份,进一步加强了应用数据的安全性,最大限度地减少用户隐私数据泄露的风险。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种即时通讯应用数据的备份方法,其特征在于,包括步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件;
所述基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件包括:
将所述待备份应用数据文件读取至字节缓冲区中,得到字节流;
使用随机数接口生成初始化向量;
基于所述备份密钥、所述字节流和所述初始化向量使用第一对称加密算法进行加密,得到加密后的待备份应用数据文件;
所述对所述备份密钥进行加密,得到加密后的备份密钥包括:
获取所述待备份应用数据文件对应的用户密码;
使用第四哈希算法对所述用户密码进行计算,得到第二计算值;
基于所述第二计算值使用第二对称加密算法对所述备份密钥进行加密,得到加密后的备份密钥。
2.根据权利要求1所述的一种即时通讯应用数据的备份方法,其特征在于,所述生成用户唯一身份标识和备份密钥包括:
获取所述待备份应用数据文件对应的用户ID以及所述备份请求对应的时间;
使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识;
基于所述时间使用随机数生成算法生成随机参数;
确定所述随机参数的数据流,并对所述数据流的预设位进行截取,得到截取后的数据流;
使用第二哈希算法对所述截取后的数据流进行计算,得到备份密钥。
3.根据权利要求1所述的一种即时通讯应用数据的备份方法,其特征在于,所述得到加密后的待备份应用数据文件之后包括:
对所述加密后的待备份应用数据文件进行压缩,得到压缩后的待备份应用数据文件;
所述基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件包括:
对所述压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值;
确定预设文件头部信息以及预设文件结束标志;
根据所述预设文件头部信息、所述用户唯一身份标识、所述初始化向量、所述压缩后的待备份应用数据文件、所述第一计算值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件。
4.一种即时通讯应用数据的备份终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待备份应用数据文件的备份请求判断本地是否存在密钥文件,若否,则生成用户唯一身份标识和备份密钥;
基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件;
基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件,并对所述备份密钥进行加密,得到加密后的备份密钥;
根据所述加密后的备份密钥生成所述密钥文件;
所述基于所述备份密钥对所述待备份应用数据文件进行加密,得到加密后的待备份应用数据文件包括:
将所述待备份应用数据文件读取至字节缓冲区中,得到字节流;
使用随机数接口生成初始化向量;
基于所述备份密钥、所述字节流和所述初始化向量使用第一对称加密算法进行加密,得到加密后的待备份应用数据文件;
所述对所述备份密钥进行加密,得到加密后的备份密钥包括:
获取所述待备份应用数据文件对应的用户密码;
使用第四哈希算法对所述用户密码进行计算,得到第二计算值;
基于所述第二计算值使用第二对称加密算法对所述备份密钥进行加密,得到加密后的备份密钥。
5.根据权利要求4所述的一种即时通讯应用数据的备份终端,其特征在于,所述生成用户唯一身份标识和备份密钥包括:
获取所述待备份应用数据文件对应的用户ID以及所述备份请求对应的时间;
使用第一哈希算法对所述用户ID进行摘要计算,得到用户唯一身份标识;
基于所述时间使用随机数生成算法生成随机参数;
确定所述随机参数的数据流,并对所述数据流的预设位进行截取,得到截取后的数据流;
使用第二哈希算法对所述截取后的数据流进行计算,得到备份密钥。
6.根据权利要求4所述的一种即时通讯应用数据的备份终端,其特征在于,所述得到加密后的待备份应用数据文件之后包括:
对所述加密后的待备份应用数据文件进行压缩,得到压缩后的待备份应用数据文件;
所述基于所述用户唯一身份标识和所述加密后的待备份应用数据文件生成与所述待备份应用数据文件对应的备份文件包括:
对所述压缩后的待备份应用数据文件使用第三哈希算法进行计算,得到第一计算值;
确定预设文件头部信息以及预设文件结束标志;
根据所述预设文件头部信息、所述用户唯一身份标识、所述初始化向量、所述压缩后的待备份应用数据文件、所述第一计算值和所述预设文件结束标志生成与所述待备份应用数据文件对应的备份文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392102.7A CN114938358B (zh) | 2022-04-14 | 2022-04-14 | 一种即时通讯应用数据的备份方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392102.7A CN114938358B (zh) | 2022-04-14 | 2022-04-14 | 一种即时通讯应用数据的备份方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114938358A CN114938358A (zh) | 2022-08-23 |
CN114938358B true CN114938358B (zh) | 2024-02-23 |
Family
ID=82862317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392102.7A Active CN114938358B (zh) | 2022-04-14 | 2022-04-14 | 一种即时通讯应用数据的备份方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114938358B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546281A (zh) * | 2013-10-31 | 2014-01-29 | 厦门市美亚柏科信息股份有限公司 | 动态的密钥生成方法和装置 |
CN106126373A (zh) * | 2016-06-21 | 2016-11-16 | 青岛海信传媒网络技术有限公司 | 数据备份方法及装置、数据恢复方法及装置 |
CN106549858A (zh) * | 2016-12-08 | 2017-03-29 | 深圳奥联信息安全技术有限公司 | 一种基于标识密码的即时通信加密方法 |
CN112235289A (zh) * | 2020-10-13 | 2021-01-15 | 桂林微网互联信息技术有限公司 | 数据加解密方法、装置、计算设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510552B2 (en) * | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
GB2532039B (en) * | 2014-11-06 | 2016-09-21 | Ibm | Secure database backup and recovery |
-
2022
- 2022-04-14 CN CN202210392102.7A patent/CN114938358B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546281A (zh) * | 2013-10-31 | 2014-01-29 | 厦门市美亚柏科信息股份有限公司 | 动态的密钥生成方法和装置 |
CN106126373A (zh) * | 2016-06-21 | 2016-11-16 | 青岛海信传媒网络技术有限公司 | 数据备份方法及装置、数据恢复方法及装置 |
CN106549858A (zh) * | 2016-12-08 | 2017-03-29 | 深圳奥联信息安全技术有限公司 | 一种基于标识密码的即时通信加密方法 |
CN112235289A (zh) * | 2020-10-13 | 2021-01-15 | 桂林微网互联信息技术有限公司 | 数据加解密方法、装置、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114938358A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104852925B (zh) | 移动智能终端数据防泄漏安全存储、备份方法 | |
CN113067699B (zh) | 基于量子密钥的数据共享方法、装置和计算机设备 | |
CN112311865B (zh) | 一种文件加密传输方法及装置 | |
CN111245802B (zh) | 数据传输安全控制方法、服务器以及终端 | |
US8621189B2 (en) | System and method for hardware strengthened passwords | |
CN113190584B (zh) | 一种基于不经意传输协议的匿踪查询方法 | |
CN104834868A (zh) | 电子数据保护方法、装置及终端设备 | |
CN102567688B (zh) | 一种安卓操作***上的文件保密***及其保密方法 | |
CN108632021A (zh) | 一种密钥加密方法、装置和*** | |
CN109684129B (zh) | 数据备份恢复方法、存储介质、加密机、客户端和服务器 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
CN109510702A (zh) | 一种基于计算机特征码的密钥存储及使用的方法 | |
CN109934013A (zh) | 一种数据保护方法及装置 | |
CN113722741A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN109118187A (zh) | 区块链钱包的恢复方法、装置和计算机可读存储介质 | |
CN112199730A (zh) | 一种终端上应用数据的处理方法、装置及电子设备 | |
CN114938358B (zh) | 一种即时通讯应用数据的备份方法及终端 | |
KR102216869B1 (ko) | 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법 | |
CN114866317B (zh) | 多方的数据安全计算方法、装置、电子设备和存储介质 | |
EP2469441A1 (en) | System and method for hardware strenghtened passwords | |
CN112651038B (zh) | 一种减小空间和时间的vr资源的安全保护方法及终端 | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 | |
CN116248316A (zh) | 文件加密方法、文件解密方法、装置及存储介质 | |
CN108881300A (zh) | 一种支持手机端安全协作的文件加密和共享方法及*** | |
CN103838986A (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 |