CN110674511A - 基于椭圆曲线加密算法的离线数据保护方法及*** - Google Patents

基于椭圆曲线加密算法的离线数据保护方法及*** Download PDF

Info

Publication number
CN110674511A
CN110674511A CN201910814523.2A CN201910814523A CN110674511A CN 110674511 A CN110674511 A CN 110674511A CN 201910814523 A CN201910814523 A CN 201910814523A CN 110674511 A CN110674511 A CN 110674511A
Authority
CN
China
Prior art keywords
offline data
data
algorithm
elliptic curve
offline
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.)
Pending
Application number
CN201910814523.2A
Other languages
English (en)
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart 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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201910814523.2A priority Critical patent/CN110674511A/zh
Publication of CN110674511A publication Critical patent/CN110674511A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种基于椭圆曲线加密算法的离线数据保护方法,包括:监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件;当需要保存时,将所述离线数据分别保存于多个位置;通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改;及当所述离线数据被破坏时,对所述离线数据进行修复。本发明实施例通过多位置保存离线数据,当任一位置的离线数据被破坏时,根据其他位置的离线数据对该位置的离线数据进行修复,保证了离线数据业务功能的健壮性,进而保证了客户端业务的正常进行。

Description

基于椭圆曲线加密算法的离线数据保护方法及***
技术领域
本发明实施例涉及信息安全领域,尤其涉及一种基于椭圆曲线加密算法的离线数据保护方法、***、计算机设备及可读存储介质。
背景技术
目前客户端保存的离线数据都是放在某个文件中或程序使用的本地数据库中,然客户端运行在客户机器上,环境复杂,数据被破坏的可能性高。若离线数据被破坏,客户端又不能与服务器交互以获取数据,则客户端的正常业务将无法执行。故,本发明旨在解决当离线数据被破坏,且无法从服务器获取数据时,如何使得客户端的业务正常进行的问题。
发明内容
有鉴于此,有必要提供一种基于椭圆曲线加密算法的离线数据保护方法、***、计算机设备及可读存储介质,能够提高离线数据业务功能的健壮性及客户端业务的正常进行。
为实现上述目的,本发明实施例提供了一种基于椭圆曲线加密算法的离线数据保护方法,所述方法包括:
监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件;
当需要保存时,将所述离线数据分别保存于多个位置;
通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改;及
当所述离线数据被破坏时,对所述离线数据进行修复。
可选地,所述通过椭圆曲线数字签名算法判断所述离线数据是否被破坏的步骤之前,还包括步骤:
利用哈希算法对所述离线数据进行哈希运算,并生成第一数字指纹;
利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对;
利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名;
将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据;及
利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
可选地,所述通过椭圆曲线数字签名算法判断所述离线数据是否被破坏的步骤,还包括步骤:
监测所述多个位置的离线数据;及
若从所述多个位置的任意一个位置的所述离线数据未被监测到,则判断所述离线数据被删除。
可选地,所述监测所述多个位置的离线数据的步骤之后,还包括步骤:
若所述多个位置的所述离线数据均被监测到,则利用AES算法对所述加密目标数据进行解密,以生成第二目标数据;
对所述第二目标数据进行分析,以从所述第二目标数据中提取出数字签名、第一数字指纹及文本数据;
利用所述哈希算法对所述文本数据进行哈希运算以生成第二数字指纹;
将所述第一数字指纹与所述第二数字指纹进行比较;及
若所述第一数字指纹与所述第二数字指纹不一致,判断所述离线数据被篡改。
可选地,所述将所述第一数字指纹与所述第二数字指纹进行比较的步骤之后,还包括步骤:
若所述第一数字指纹与所述第二数字指纹一致,利用所述公钥对所述第一数字签名进行验证;及
若验证成功,则判断所述离线数据未被篡改或伪造。
可选地,所述若所述第一数字指纹与所述第二数字指纹一致,利用所述公钥对所述第一数字签名进行验证的步骤之后,还包括步骤:
若验证失败,则判断所述离线数据被伪造。
为实现上述目的,本发明实施例还提供了一种基于椭圆曲线加密算法的离线数据保护***,包括:
监测模块,用于监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件;
保存模块,用于当需要保存时,将所述离线数据分别保存于多个位置;
判断模块,用于通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改;及
修复模块,用于当所述离线数据被破坏时,对所述离线数据进行修复。
可选地,所述椭圆曲线加密算法的离线数据保护***,还包括:
生成模块,用于利用哈希算法对所述离线数据进行哈希运算,并生成第一数字指纹;
所述生成模块,还用于利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对;
加密模块,用于利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名;
添加模块,用于将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据;及
所述加密模块,还用于利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
可选地,所述监测模块,还用于监测所述多个位置的离线数据;及
所述判断模块,还用于若从所述多个位置的任意一个位置的所述离线数据未被监测到,则判断所述离线数据被删除。
可选地,所述椭圆曲线加密算法的离线数据保护***,还包括解密模块、提取模块及比较模块,其中:
所述解密模块,用于若所述多个位置的所述离线数据均被监测到,则利用AES算法对所述加密目标数据进行解密,以生成第二目标数据;
所述提取模块,用于对所述第二目标数据进行分析,以从所述第二目标数据中提取出数字签名、第一数字指纹及文本数据;
所述生成模块,还用于利用所述哈希算法对所述文本数据进行哈希运算以生成第二数字指纹;
所述比较模块,用于将所述第一数字指纹与所述第二数字指纹进行比较;及
所述判断模块,还用于若所述第一数字指纹与所述第二数字指纹不一致,判断所述离线数据被篡改。
可选地,所述椭圆曲线加密算法的离线数据保护***,还包括验证模块,其中:
所述验证模块,用于若所述第一数字指纹与所述第二数字指纹一致,利用所述公钥对所述第一数字签名进行验证;及
所述判断模块,还用于若验证成功,则判断所述离线数据未被篡改或伪造。
可选地,所述判断模块,还用于若验证失败,则判断所述离线数据被伪造。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的基于椭圆曲线加密算法的离线数据保护方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的基于椭圆曲线加密算法的离线数据保护方法的步骤。
本发明实施例提供的基于椭圆曲线加密算法的离线数据保护方法、***、计算机设备及可读存储介质,通过将离线数据存储于多个位置,并对所述离线数据进行监测,以判断所述离线数据是否被删除,并通过椭圆加密算法判断所述离线数据是否被篡改,当所述离线数据被删除或被篡改时,利用存储于其它位置的离线数据对其进行修复。本发明实施例通过多位置保存离线数据,当任一位置的离线数据被破坏时,根据其他位置的离线数据对该位置的离线数据进行修复,保证了离线数据业务功能的健壮性,进而保证了客户端业务的正常进行。
附图说明
图1为本发明实施例一之基于椭圆曲线加密算法的离线数据保护方法的步骤流程图。
图2为本发明实施例二之计算机设备的硬件架构示意图。
图3为本发明实施例三之基于椭圆曲线加密算法的离线数据保护***的程序模块示意图。
附图标记:
Figure BDA0002186010210000051
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1,示出了本发明实施例一之基于椭圆曲线加密算法的离线数据保护方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。需要说明是,本实施例以计算机设备2为执行主体进行示例性描述。具体如下:
步骤S100,监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件。
在一较佳实施例中,所述计算机设备2获取用户于客户端输入的ping对应服务器的命令,当ping成功时,则监测所述用户完成客户端的配置。然后,判断所述客户端是否需要保存所述客户端的配置信息。
步骤S102,当需要保存时,将所述离线数据分别保存于多个位置。
在一较佳实施例中,当判断需要保存客户端的配置信息时,将所述配置信息同时保存于多个位置中,并通过预设规则确定所述多个位置中的一个位置为主位置,所述多个位置中的其他位置均为备用位置,以对所述配置信息进行备份。其中,所述预设规则为位置对应表,所述位置对应表包括所述多个位置及分别与所述多个位置对应的主位置或备用位置。当需要离线获取所述配置信息时,根据预设的调用规则表优先调用保存于主位置的配置信息。其中,所述调用规则表设置有保存于所述主位置及所述备用位置的配置信息的调用顺序。
需要说明的是,在另一较佳实施例中,也可随机将所述多个位置中的任意一个位置确定为主位置,所述多个位置中的其他位置则为备用位置。
步骤S104,通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改。
在一较佳实施例中,在通过椭圆曲线数字签名算法判断所述离线数据是否被破坏之前,首先,利用哈希算法对所述离线数据进行哈希运算,并生成第一数字指纹。然后,利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对。其次,利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名。然后,将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据。最后,利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
示例性地,当获取到所述离线数据时,利用哈希256算法对所述离线数据进行哈希运算,并生成对应的数据串(也即第一数字指纹)。例如:数据“atool.org”经过哈希256转换后生成字符串“583a805be394fecbb4355683b383cd363acf9ea35d13ef378f09c56e697b114e”。然后利用椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithms,ECDSA)生成密钥对(例如:公钥为python-m,私钥为privkey-p),其中椭圆曲线为secp256k1。将生成的第一数字指纹利用公钥python-m进行加密,以获取对应的数字签名。然后,将所述数字签名及所述字符串“583a805be394fecbb4355683b383cd363acf9ea35d13ef378f09c56e697b114e”以二进制形式添加至离线数据“atool.org”的末尾生成第一目标数据。最后将所述第一目标数据利用AES算法进行加密,生成加密目标数据。
在另一较佳实施例中,通过椭圆曲线数字签名算法判断所述离线数据是否被破坏的步骤具体包括:监测所述多个位置的离线数据;若从所述多个位置的任意一个位置的所述离线数据未被监测到,则判断所述离线数据被删除。
示例性地,所述计算机设备2时刻监测保存于多个位置(例如:位置a、位置b及位置c)中的离线数据,当监测到保存于位置a或位置b或位置c中的离线数据未被监测到时,判断所述位置a、位置b或位置c中的离线数据被破坏。当然,为了降低所述计算机设备2的负荷量,所述计算机设备2根据其自身的负荷量,每隔预设时间段监测所述离线数据。
在另一较佳实施例中,监测所述多个位置的离线数据的步骤之后,若所述多个位置的所述离线数据均被监测到,则利用AES算法对所述加密目标数据进行解密,以生成第二目标数据(也即明文)。然后,对所述第二目标数据进行分析,以从所述第二目标数据中提取出数字签名、第一数字指纹及文本数据。然后利用所述哈希算法对所述文本数据进行哈希运算以生成第二数字指纹。最后,将所述第一数字指纹与所述第二数字指纹进行比较,若所述第一数字指纹与所述第二数字指纹不一致,则判断所述离线数据被篡改。
示例性地,当监测到保存于位置a、位置b及位置c中的离线数据均未被删除时,通过将位置a、位置b及位置c的加密目标数据分别进行解密,以分别解密出目标数据。然后,分别从该目标数据中提取出对应的文本数据、数字签名及第一数字指纹。最后,再次分别利用哈希算法对文本数据进行哈希运算,将运算结果与对应的第一数字指纹进行对比,以判断所述离线数据是否被篡改。
在另一较佳实施例中,将所述第一数字指纹与所述第二数字指纹进行比较的步骤之后,若所述第一数字指纹与所述第二数字指纹一致,则利用所述公钥对所述第一数字签名进行验证。若验证成功,则判断所述离线数据未被篡改或伪造。若验证失败,则判断所述离线数据被伪造。
步骤S106,当所述离线数据被破坏时,对所述离线数据进行修复。
在一较佳实施例中,所述离线数据包括数据内容相同的第一离线数据及多个第二离线数据,所述多个位置包括一个主位置及多个备用位置,其中,所述第一离线数据保存于所述主位置,所述多个第二离线数据分别保存于所述多个备用位置。当所述第一离线数据被破坏时,使用所述多个第二离线数据中任意一个第二离线数据对所述第一离线数据进行修复。
在另一较佳实施例中,当所述多个第二离线数据中的任意一个第二离线数据被破坏时,则使用所述第一离线数据及所述多个第二离线数据中的其他任意一个第二离线数据对所述任意一个第二离线数据进行修复。
示例性地,若离线数据客户端的配置信息被存储于位置a、位置b及位置c中,当监测到存储于主位置位置a中的所述配置信息被删除时,通过复制存储于备用位置位置b及位置c中的配置信息,并将复制的所述配置信息覆盖到所述主位置位置a中。当监测到存储于备用位置位置b中的所述配置信息被篡改时,通过调用主位置位置a及其他备用位置位置c中的所述配置信息以将备用位置位置b中的所述配置信息进行修复。
本发明实施例通过多位置保存离线数据,当任一位置的离线数据被破坏时,根据其他位置的离线数据对该位置的离线数据进行修复,保证了离线数据业务功能的健壮性,进而保证了客户端业务的正常进行。
实施例二
请参阅图2,示出了本发明实施例二之计算机设备的硬件架构示意图。计算机设备2包括,但不仅限于,可通过***总线相互通信连接存储器21、处理22以及网络接口23,图2仅示出了具有组件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,所述存储器也可以是所述计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器21还可以既包括所述计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述计算机设备2的操作***和各类应用软件,例如基于椭圆曲线加密算法的离线数据保护***20的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述计算机设备2的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述基于椭圆曲线加密算法的离线数据保护***20等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
实施例三
请参阅图3,示出了本发明实施例三之基于椭圆曲线加密算法的离线数据保护***的程序模块示意图。在本实施例中,基于椭圆曲线加密算法的离线数据保护***20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于椭圆曲线加密算法的离线数据保护方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于椭圆曲线加密算法的离线数据保护***20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
监测模块201,用于监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件。
在一较佳实施例中,所述计算机设备2获取用户于客户端输入的ping对应服务器的命令,当ping成功时,则所述监测模块201监测所述用户完成客户端的配置,然后,判断所述客户端是否需要保存所述客户端的配置信息。
保存模块202,用于当需要保存时,将所述离线数据分别保存于多个位置。
在一较佳实施例中,当所述监测模块201判断需要保存客户端的配置信息时,所述保存模块202将所述配置信息同时保存于多个位置中,并通过预设规则确定所述多个位置中的一个位置为主位置,所述多个位置中的其他位置均为备用位置,以对所述配置信息进行备份。其中,所述预设规则为位置对应表,所述位置对应表包括所述多个位置及分别与所述多个位置对应的主位置或备用位置。当需要离线获取所述配置信息时,根据预设的调用规则表优先调用保存于主位置的配置信息。其中,所述调用规则表设置有保存于所述主位置及所述备用位置的配置信息的调用顺序。
需要说明的是,在另一较佳实施例中,也可随机将所述多个位置中的任意一个位置确定为主位置,所述多个位置中的其他位置则为备用位置。
判断模块203,用于通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改。
在一较佳实施例中,在通过椭圆曲线数字签名算法判断所述离线数据是否被破坏之前,首先,生成模块205利用哈希算大对所述离线数据进行哈希运算,并生成第一数字指纹。然后,所述生成模块205利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对。其次,加密模块206利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名。然后,添加模块207将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据。最后,所述加密模块206利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
示例性地,当获取到所述离线数据时,生成模块205利用哈希256算法对所述离线数据进行哈希运算,并生成对应的数据串(也即第一数字指纹)。例如:数据“atool.org”经过哈希256转换后生成字符串“583a805be394fecbb4355683b383cd363acf9ea35d13ef378f09c56e697b114e”。然后,所述生成模块205利用椭圆曲线数字签名算法(Elliptic CurveDigital Signature Algorithms,ECDSA)生成密钥对(例如:公钥为python-m,私钥为privkey-p),其中椭圆曲线为secp256k1。然后,所述加密模块206将生成的第一数字指纹利用公钥python-m进行加密,以获取对应的数字签名。然后,所述添加模块207将所述数字签名及所述字符串“583a805be394fecbb4355683b383cd363acf9ea35d13ef378f09c56e697b114e”以二进制形式添加至离线数据“atool.org”的末尾生成第一目标数据。最后,所述加密模块206将所述第一目标数据利用AES算法进行加密,生成加密目标数据。
在另一较佳实施例中,所述监测模块201监测所述多个位置的离线数据,若从所述多个位置的任意一个位置的所述离线数据未被监测到,则所述判断模块203判断所述离线数据被删除。
示例性地,所述监测模块201时刻监测保存于多个位置(例如:位置a、位置b及位置c)中的离线数据,当监测到保存于位置a或位置b或位置c中的离线数据未被监测到时,所述判断模块203判断所述位置a、位置b或位置c中的离线数据被破坏。当然,为了降低所述计算机设备2的负荷量,所述监测模块201根据其自身的负荷量,每隔预设时间段监测所述离线数据。
在另一较佳实施例中,若所述多个位置的所述离线数据均被监测到,则解密模块208利用AES算法对所述加密目标数据进行解密,以生成第二目标数据(也即明文)。然后,所述提取模块209对所述第二目标数据进行分析,以从所述第二目标数据中提取出数字签名、第一数字指纹及文本数据。然后所述生成模块205利用所述哈希算法对所述文本数据进行哈希运算以生成第二数字指纹。最后,比较模块210将所述第一数字指纹与所述第二数字指纹进行比较,若所述第一数字指纹与所述第二数字指纹不一致,则所述判断模块203判断所述离线数据被篡改。
示例性地,当所述监测模块201监测到保存于位置a、位置b及位置c中的离线数据均未被删除时,所述解密模块208通过将位置a、位置b及位置c的加密目标数据分别进行解密,以分别解密出目标数据。然后,所述提取模块209分别从该目标数据中提取出对应的文本数据、数字签名及第一数字指纹。然后,通过分别利用哈希算法对文本数据进行哈希运算,所述比较模块210将运算结果与对应的第一数字指纹进行对比,以使所述判断模块203判断所述离线数据是否被篡改。
在另一较佳实施例中,验证模块211用于当所述第一数字指纹与所述第二数字指纹一致时,利用所述公钥对所述第一数字签名进行验证。若验证成功,则所述判断模块203判断所述离线数据未被篡改或伪造。若验证失败,则所述判断模块203判断所述离线数据被伪造。
修复模块204,用于当所述离线数据被破坏时,对所述离线数据进行修复。
在一较佳实施例中,所述离线数据包括数据内容相同的第一离线数据及多个第二离线数据,所述多个位置包括一个主位置及多个备用位置,其中,所述第一离线数据保存于所述主位置,所述多个第二离线数据分别保存于所述多个备用位置。当所述第一离线数据被破坏时,所述修复模块204使用所述多个第二离线数据中任意一个第二离线数据对所述第一离线数据进行修复。
在另一较佳实施例中,当所述多个第二离线数据中的任意一个第二离线数据被破坏时,则所述修复模块204使用所述第一离线数据及所述多个第二离线数据中的其他任意一个第二离线数据对所述任意一个第二离线数据进行修复。
示例性地,若离线数据客户端的配置信息被存储于位置a、位置b及位置c中,当所述监测模块201监测到存储于主位置位置a中的所述配置信息被删除时,所述修复模块204通过复制存储于备用位置位置b及位置c中的配置信息,并将复制的所述配置信息覆盖到所述主位置位置a中。当所述监测模块201监测到存储于备用位置位置b中的所述配置信息被篡改时,所述修复模块204通过调用主位置位置a及其他备用位置位置c中的所述配置信息,以将备用位置位置b中的所述配置信息进行修复。
本发明实施例通过多位置保存离线数据,当任一位置的离线数据被破坏时,根据其他位置的离线数据对该位置的离线数据进行修复,保证了离线数据业务功能的健壮性,以进而保证了客户端业务的正常进行。
本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过***总线相互通信连接的存储器、处理器等。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于椭圆曲线加密算法的离线数据保护***20,被处理器执行时实现实施例一的基于椭圆曲线加密算法的离线数据保护方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于椭圆曲线加密算法的离线数据保护方法,其特征在于,包括步骤:
监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件;
当需要保存时,将所述离线数据分别保存于多个位置;
通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改;及
当所述离线数据被破坏时,对所述离线数据进行修复。
2.如权利要求1所述的基于椭圆曲线加密算法的离线数据保护方法,其特征在于,所述通过椭圆曲线数字签名算法判断所述离线数据是否被破坏的步骤之前,还包括步骤:
利用哈希算法对所述离线数据进行哈希运算,并生成第一数字指纹;
利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对;
利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名;
将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据;及
利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
3.如权利要求2所述的基于椭圆曲线加密算法的离线数据保护方法,其特征在于,所述通过椭圆曲线数字签名算法判断所述离线数据是否被破坏的步骤,还包括步骤:
监测所述多个位置的离线数据;及
若从所述多个位置的任意一个位置的所述离线数据未被监测到,则判断所述离线数据被删除。
4.如权利要求3所述的基于椭圆曲线加密算法的离线数据保护方法,其特征在于,所述监测所述多个位置的离线数据的步骤之后,还包括步骤:
若所述多个位置的所述离线数据均被监测到,则利用AES算法对所述加密目标数据进行解密,以生成第二目标数据;
对所述第二目标数据进行分析,以从所述第二目标数据中提取出数字签名、第一数字指纹及文本数据;
利用所述哈希算法对所述文本数据进行哈希运算以生成第二数字指纹;
将所述第一数字指纹与所述第二数字指纹进行比较;及
若所述第一数字指纹与所述第二数字指纹不一致,判断所述离线数据被篡改。
5.如权利要求4所述的基于椭圆曲线加密算法的离线数据保护方法,其特征在于,所述将所述第一数字指纹与所述第二数字指纹进行比较的步骤之后,还包括步骤:
若所述第一数字指纹与所述第二数字指纹一致,利用所述公钥对所述第一数字签名进行验证;及
若验证成功,则判断所述离线数据未被篡改或伪造。
6.如权利要求5所述的基于椭圆曲线加密算法的离线数据保护方法,其特征在于,所述若所述第一数字指纹与所述第二数字指纹一致,利用所述公钥对所述第一数字签名进行验证的步骤之后,还包括步骤:
若验证失败,则判断所述离线数据被伪造。
7.一种基于椭圆曲线加密算法的离线数据保护***,其特征在于,包括:
监测模块,用于监测客户端是否需要保存离线数据,所述离线数据包括:客户端的配置信息、用户信息及资源文件;
保存模块,用于当需要保存时,将所述离线数据分别保存于多个位置;
判断模块,用于通过椭圆曲线数字签名算法判断所述离线数据是否被破坏,其中所述被破坏至少包括:被删除及被篡改;及
修复模块,用于当所述离线数据被破坏时,对所述离线数据进行修复。
8.如权利要求7所述的基于椭圆曲线加密算法的离线数据保护***,其特征在于,还包括:
生成模块,用于利用哈希算法对所述离线数据进行哈希运算,并生成第一数字指纹;
所述生成模块,还用于利用所述椭圆曲线数字签名算法生成公钥及私钥密钥对;
加密模块,用于利用所述私钥对所述第一数字指纹进行加密并获取第一数字签名;
添加模块,用于将所述第一数字签名与所述第一数字指纹以二进制的形式添加至所述离线数据的末尾以生成第一目标数据;及
所述加密模块,还用于利用AES算法对所述第一目标数据进行加密,以生成加密目标数据。
9.一种计算机设备,其特征在于,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的基于椭圆曲线加密算法的离线数据保护方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-6中任一项所述的基于椭圆曲线加密算法的离线数据保护方法的步骤。
CN201910814523.2A 2019-08-30 2019-08-30 基于椭圆曲线加密算法的离线数据保护方法及*** Pending CN110674511A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910814523.2A CN110674511A (zh) 2019-08-30 2019-08-30 基于椭圆曲线加密算法的离线数据保护方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910814523.2A CN110674511A (zh) 2019-08-30 2019-08-30 基于椭圆曲线加密算法的离线数据保护方法及***

Publications (1)

Publication Number Publication Date
CN110674511A true CN110674511A (zh) 2020-01-10

Family

ID=69075842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910814523.2A Pending CN110674511A (zh) 2019-08-30 2019-08-30 基于椭圆曲线加密算法的离线数据保护方法及***

Country Status (1)

Country Link
CN (1) CN110674511A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568832A (zh) * 2021-07-28 2021-10-29 上海驻云信息科技有限公司 一种离线软件合法性的验证方法及***
US11784827B2 (en) * 2021-03-09 2023-10-10 Micron Technology, Inc. In-memory signing of messages with a personal identifier

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436560A (zh) * 2011-08-22 2012-05-02 高振宇 计算机自防御***及方法
CN103888496A (zh) * 2012-12-22 2014-06-25 鸿富锦精密工业(深圳)有限公司 数据分散存储方法及***
CN106664205A (zh) * 2014-04-17 2017-05-10 赫尔实验室有限公司 用于安全弹性分布式生成具有主动安全性的基于椭圆曲线数字签名算法(ecdsa)的数字签名的方法
WO2018090642A1 (zh) * 2016-11-15 2018-05-24 平安科技(深圳)有限公司 应用程序升级方法、用户终端及存储介质
CN110018924A (zh) * 2019-02-21 2019-07-16 同方股份有限公司 一种基于区块链和纠删码的文件防破坏方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436560A (zh) * 2011-08-22 2012-05-02 高振宇 计算机自防御***及方法
CN103888496A (zh) * 2012-12-22 2014-06-25 鸿富锦精密工业(深圳)有限公司 数据分散存储方法及***
CN106664205A (zh) * 2014-04-17 2017-05-10 赫尔实验室有限公司 用于安全弹性分布式生成具有主动安全性的基于椭圆曲线数字签名算法(ecdsa)的数字签名的方法
WO2018090642A1 (zh) * 2016-11-15 2018-05-24 平安科技(深圳)有限公司 应用程序升级方法、用户终端及存储介质
CN110018924A (zh) * 2019-02-21 2019-07-16 同方股份有限公司 一种基于区块链和纠删码的文件防破坏方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任强;赵德平;: "椭圆曲线数字签名算法下的公钥密钥验证", 计算机与数字工程, no. 03, 20 March 2011 (2011-03-20) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11784827B2 (en) * 2021-03-09 2023-10-10 Micron Technology, Inc. In-memory signing of messages with a personal identifier
CN113568832A (zh) * 2021-07-28 2021-10-29 上海驻云信息科技有限公司 一种离线软件合法性的验证方法及***

Similar Documents

Publication Publication Date Title
US9501646B2 (en) Program verification apparatus, program verification method, and computer readable medium
CN108399319B (zh) 源代码保护方法、应用服务器及计算机可读存储介质
CN111008034B (zh) 一种补丁生成方法及装置
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN110635898A (zh) 加密方法及加密***
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN111258756A (zh) 一种负载均衡方法、装置、计算机设备和可读存储介质
CN111404892B (zh) 数据监管方法、装置和服务器
CN110674511A (zh) 基于椭圆曲线加密算法的离线数据保护方法及***
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN112307503B (zh) 签章管理方法、装置和电子设备
CN111045856A (zh) 用于管理应用***的方法、设备和计算机程序产品
CN112311528A (zh) 一种基于国密算法的数据安全传输方法
CN112052432A (zh) 终端设备授权方法及装置
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
CN108390758B (zh) 用户口令处理方法、装置和内控安全监察***
CN111291001A (zh) 计算机文件的读取方法、装置、计算机***及存储介质
CN109189450A (zh) 一种服务器固件升级的方法及装置
CN112866195B (zh) 敏捷数据传输方法、装置、计算机设备及存储介质
CN114143197A (zh) 物联网设备ota升级方法、装置、设备及可读存储介质
CN115567212A (zh) 文件处理方法、装置、计算机设备和计算机可读存储介质
CN109688158B (zh) 金融执行链认证方法、电子装置及存储介质
CN113158218A (zh) 数据加密方法、装置及数据解密方法、装置
CN113159952A (zh) 基于区块链存储数字资产的方法、***、设备及存储介质
CN109933994B (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