CN110443072A - 数据签名方法、数据校验方法、装置及存储介质 - Google Patents

数据签名方法、数据校验方法、装置及存储介质 Download PDF

Info

Publication number
CN110443072A
CN110443072A CN201910774285.7A CN201910774285A CN110443072A CN 110443072 A CN110443072 A CN 110443072A CN 201910774285 A CN201910774285 A CN 201910774285A CN 110443072 A CN110443072 A CN 110443072A
Authority
CN
China
Prior art keywords
data
signature
signed
verified
field
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
CN201910774285.7A
Other languages
English (en)
Other versions
CN110443072B (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.)
Ruishi (Suzhou) video technology Co., Ltd
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Kodak Technology Co Ltd
Suzhou Ruiweibo 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 Suzhou Kodak Technology Co Ltd, Suzhou Ruiweibo Technology Co Ltd filed Critical Suzhou Kodak Technology Co Ltd
Priority to CN201910774285.7A priority Critical patent/CN110443072B/zh
Publication of CN110443072A publication Critical patent/CN110443072A/zh
Application granted granted Critical
Publication of CN110443072B publication Critical patent/CN110443072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

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

Abstract

本申请涉及一种数据签名方法、数据校验方法、装置及存储介质,属于计算机技术领域,该方法包括:获取至少一组待签名数据,每组待签名数据包括n个数据字段;对于每个数据字段,使用第一签名算法对数据字段进行签名,得到签名后的数据字段;对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对待签名数据进行签名,得到签名后的数据;可以解决无法识别数据库中的数据是否被篡改,导致使用的数据的安全性不高的问题;由于可以对待签名数据进行签名得到签名后的数据,在使用待签名数据时使用签名后的数据对该待签名数据进行校验,可以确定出待签名数据是否被篡改,可以提高使用待签名数据的安全性。

Description

数据签名方法、数据校验方法、装置及存储介质
技术领域
本申请涉及一种数据签名方法、数据校验方法、装置及存储介质,属于计算机技术领域。
背景技术
在数据存储系统中数据的安全性越来越得到重视。由于一些不法分子或者黑客可以利用系统漏洞直接对数据库中的数据进行修改,比如给自己的账号余额添加金额等,而数据库无法识别数据是否被篡改,因此需要使用数据签名和校验方法对数据是否被篡改进行识别。
然而,现在还没有提供一种有效识别数据库的数据是否被篡改的数据签名及校验方法。
发明内容
本申请提供了一种数据签名方法、数据校验方法、装置及存储介质,可以解决无法识别数据库中的数据是否被篡改,导致使用的数据的安全性不高的问题。本申请提供如下技术方案:
第一方面,提供了一种数据签名方法,所述方法包括:
获取至少一组待签名数据,每组待签名数据包括n个数据字段,所述n为大于1的整数;
对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段;
对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
可选地,所述对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据,包括:
将所述n个签名后的数据字段进行拼接;
使用第二签名算法对拼接后的n个签名后的数据字段进行签名,得到所述签名后的数据。
可选地,所述获取至少一组待签名数据,包括:
获取至少一组原始数据,每组原始数据包括n个原始数据字段;
按照预设规则对所述原始数据中的每个原始数据段进行格式化,得到所述至少一组待签名数据。
可选地,所述按照预设规则对所述原始数据中的每个原始数据段进行格式化,得到所述至少一组待签名数据,包括:
按照排序规则对每组原始数据中的各个原始数据字段进行排序;
对于排序后的各个原始数据字段,将数值类型的原始数据字段格式化为指定的标准数字格式、将时间类型的原始数据字段格式化为指定的时间戳格式、将字符类型的原始数据字段格式化为指定的字符串格式、和/或将二进制文件类型的原始数据字段格式化为指定的二进制编码格式,得到至少一组签名数据。
可选地,所述获取至少一组原始数据,包括:
监听数据库的数据保存操作;
在监听到所述数据保存操作时,拦截待保存的数据得到所述至少一组原始数据。
第二方面,提供了一种数据校验方法,所述方法包括:
获取待校验数据;
在所述待校验数据为数据组级别的数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,所述签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对所述待签名数据整体进行签名后得到的,所述n为大于1的整数;
在所述待校验数据为字段级别的数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验。
可选地,所述在所述待校验数据为数据组级别数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,包括:
对于所述待校验数据中的每个待校验字段,使用第一签名算法对所述待校验字段进行签名,得到签名后的待校验字段;
对于包括n个签名后的待校验字段的所述待校验数据,使用第二签名算法对所述待校验数据进行签名,得到签名后的待校验数据;
将所述签名后的待校验数据与对应的签名后的数据进行比较;
在所述签名后的待校验数据与对应的签名后的数据一致时,确定对所述待校验数据校验通过;
在所述签名后的待校验数据与对应的签名后的数据不一致时,确定对所述待校验数据校验未通过。
可选地,所述在所述待校验数据为字段级别数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验,包括:
在所述数据库中搜索所述待校验数据对应的字段标识;
在搜索到所述待校验数据对应的字段标识时,使用第一签名算法对所述待校验数据进行签名,得到签名后的待校验数据;
将所述签名后的校验数据与对应的签名后的数据字段进行比较;
在所述签名后的校验数据与对应的签名后的数据字段一致时,确定对所述待校验数据校验通过;
在所述签名后的校验数据与对应的签名后的数据字段不一致时,确定对所述待校验数据校验未通过。
可选地,所述在所述数据库中搜索所述待校验数据对应的字段标识之后,还包括:
在未搜索到所述待校验数据对应的字段标识时存储所述待校验数据;
在所述数据库更新为搜索到所述待校验数据对应的字段标识时,触发执行所述使用第一签名算法对所述待校验数据进行签名,得到签名后的待校验数据的步骤。
第三方面,提供了一种数据签名装置,所述装置包括:
数据获取模块,用于获取至少一组待签名数据,每组待签名数据包括n个数据字段,所述n为大于1的整数;
第一签名模块,用于对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段;
第二签名模块,用于对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
第四方面,一种数据校验装置,所述装置包括:
数据获取模块,用于获取待校验数据;
第一校验模块,用于在所述待校验数据为数据组级别的数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,所述签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对所述待签名数据整体进行签名后得到的,所述n为大于1的整数;
第二校验模块,用于在所述待校验数据为字段级别的数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验。
第五方面,提供一种数据签名装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的数据签名方法。
第五方面,提供一种数据校验装置,其特征在于,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第二方面所述的数据校验方法。
第六方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的数据签名方法;或者,实现第二方面所述的数据校验方法。
本申请的有益效果在于:通过获取至少一组待签名数据,每组待签名数据包括n个数据字段;对于每个数据字段,使用第一签名算法对数据字段进行签名,得到签名后的数据字段;对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对待签名数据进行签名,得到签名后的数据;可以解决无法识别数据库中的数据是否被篡改,导致使用的数据的安全性不高的问题;由于可以对待签名数据进行签名得到签名后的数据,在使用待签名数据时使用签名后的数据对该待签名数据进行校验,可以确定出待签名数据是否被篡改,可以提高使用待签名数据的安全性。
另外,由于数据字段存在变化时对应的签名后的数据字段也会相应进行变化,因此,通过对数据字段进行签名,可以实现对数据字段是否存在变化进行校验,可以定位出被篡改的具体数据字段。
另外,由于待签名数据存在变化时对应的签名后的数据也会相应进行变化,因此,通过对待签名数据整体进行签名,可以实现对待签名数据整体是否存在变化进行校验,无需电子设备对每个数据字段依次进行校验,可以提高校验效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的数据签名方法的流程图;
图2是本申请一个实施例提供的数据校验方法的流程图;
图3是本申请一个实施例提供的数据签名装置的框图;
图4是本申请一个实施例提供的数据校验装置的框图;
图5是本申请一个实施例提供的电子设备的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
可选地,本申请以各个实施例的执行主体为电子设备为例进行说明,该电子设备可以是具有数据处理能力的终端或者服务器,终端可以是手机、计算机、平板电脑、可穿戴式设备等,本实施例不对终端和电子设备的类型作限定。
图1是本申请一个实施例提供的数据签名方法的流程图。该方法至少包括以下几个步骤:
步骤101,获取至少一组待签名数据,每组待签名数据包括n个数据字段,n为大于1的整数。
在一个示例中,至少一组待签名数据是待写入数据库中的原始数据。此时,电子设备中预先注册有监听组件,并使用该监听组件监听数据库的数据保存操作;在监听到数据保存操作时,拦截待保存的数据得到该待签名数据。
其中,监听组件可以是使用Java持久层API(Java Persistence API,JPA)中的实体类监听器(Entity Listener)注册得到的。
在另一个示例中,至少一组待签名数据是对待写入数据库的原始数据进行格式化后得到。此时,电子设备获取至少一组原始数据,每组原始数据包括n个原始数据字段;按照预设规则对原始数据中的每个原始数据段进行格式化,得到至少一组待签名数据。这样,可以保证电子设备进行数据签名时各类待签名数据的格式统一,可以避免由于相同的数据由于格式不同导致签名结果不同的问题,保证对相同的数据签名后得到的结果的唯一性。
可选地,按照预设规则对原始数据中的每个原始数据段进行格式化,得到至少一组待签名数据,包括:按照排序规则对每组原始数据中的各个原始数据字段进行排序;对于排序后的各个原始数据字段,将数值类型的原始数据字段格式化为指定的标准数字格式、将时间类型的原始数据字段格式化为指定的时间戳格式、将字符类型的原始数据字段格式化为指定的字符串格式、和/或将二进制文件类型的原始数据字段格式化为指定的二进制编码格式,得到至少一组签名数据。
其中,排序方式可以是按照原始数据字段的字段标识的字母顺序进行排序。字段标识用于唯一地标识原始数据字段的类型。比如:参考表一所示的原始数据字段,第一行为原始数据字段的字段标识,第二行为原始数据字段的内容。按照字段标识的字母顺序排列后得到的排序后的各个原始数据字段如下:
age=19;
Dob=2019-01-01;
Id=1;
Last Updated Date=2019-05-22 19:00:00;
Name=xxx;
将数值类型的原始数据字段格式化为指定的标准数字格式、将时间类型的原始数据字段格式化为指定的时间戳格式、将字符类型的原始数据字段格式化为指定的字符串格式、并将二进制文件类型的原始数据字段格式化为指定的二进制编码格式,得到的待签名数据如下:
age=19;
Dob=15463000800000;
Id=1;
Last Updated Date=155701440000;
Name=xxx。
表一:
Id Name age Dob Last Updated Date
1 xxx 19 2019-01-01 2019-05-22 19:00:00
当然,上述排序方式和格式转换方式仅是示意性的,在实际实现时也可以使用其它排序方式和格式转换方式,本实施例在此不再一一列举。
可选地,电子设备获取至少一组原始数据的方式参考第一个示例中的相关说明,即使用预先注册的监听组件监听数据库的数据保存操作;在监听到数据保存操作时,拦截待保存的数据得到该待签名数据。
步骤102,对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段。
由于数据字段存在变化时对应的签名后的数据字段也会相应进行变化,因此,通过对数据字段进行签名,可以实现对数据字段是否存在变化进行校验,可以定位出被篡改的具体数据字段。
其中,第一签名算法用于对待签名的数据字段进行签名。第一签名算法具有逆向无法破解的特性。可选地,第一签名算法可以是哈希算法(又称:散列算法、杂凑算法,hash)是指将任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出的算法;或者,也可以是安全散列算法(Secure Hash Algorithm,SHA),本实施例不对第一签名算法的类型作限定。
比如:待签名数据如下:
age=19;
Dob=15463000800000;
Id=1;
Last Updated Date=155701440000;
Name=xxx;
在使用第一签名算法对上述代签名数据中的各个数据字段进行签名后,得到:
“age”的签名后的数据字段为:
b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f
“Dob”的签名后的数据字段为:
dd768dad89353a796949cc9c59ab50a3e3093b0e
“Id”的签名后的数据字段为:
356a192b7913b04c54574d18c28d6e6395428ab
“Last Updated Date”的签名后的数据字段为:
7c8e3a7223898ba76bb7d488157fa75d2771162f
“Name”的签名后的数据字段为:
B60d121b438a380c343d5ec3c2037564b82ffef3。
步骤103,对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
由于待签名数据存在变化时对应的签名后的数据也会相应进行变化,因此,通过对待签名数据整体进行签名,可以实现对待签名数据整体是否存在变化进行校验,无需电子设备对每个数据字段依次进行校验,可以提高校验效率。
其中,第二签名算法用于对包括多个数据字段的数据进行签名。第二签名算法可以与第一签名算法相同;或者,也可以与第一签名算法不同。第二签名算法也具有逆向无法破解的特性。
可选地,第二签名算法可以是hash算法;或者,也可以是安全散列算法(SecureHash Algorithm,SHA),本实施例不对第二签名算法的类型作限定。
在一个示例中,电子设备将n个签名后的数据字段进行拼接;使用第二签名算法对拼接后的n个签名后的数据字段进行签名,得到签名后的数据。
比如:拼接后的n个签名后的数据字段为:
age=b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f
Dob=dd768dad89353a796949cc9c59ab50a3e3093b0e
Id=356a192b7913b04c54574d18c28d6e6395428ab
Last Updated Date=7c8e3a7223898ba76bb7d488157fa75d2771162f
Name=B60d121b438a380c343d5ec3c2037564b82ffef3。
在另一示例中,电子设备可以使用第二签名算法对部分签名后的数据字段进行签名,再对另一部分签名后的数据字段进行签名;最后,将签名后的数据字段合并得到签名后的数据。当然,电子设备还可以采用其它方式使用第二签名算法对待签名数据进行签名,本实施例在此不再一一列举。
电子设备得到签名后的数据字段和签名后的数据之后,将签名后的数据字段和签名后的数据存储至数据库中。比如:参考表二所示的签名后的数据字段和签名后的数据,其中,“Id’”为对数据字段“Id”进行签名后的得到的签名后的数据字段、“age’”为对数据字段“age”进行签名后的得到的签名后的数据字段、“Name’”为对数据字段“Name”进行签名后的得到的签名后的数据字段、“Dob’”为对数据字段“Dob”进行签名后的得到的签名后的数据字段、“Last Updated Date’”为对数据字段“Last Updated Date”进行签名后的得到的签名后的数据字段、“Total”为对整行数据进行签名后的得到的签名后的数据。
表二:
综上所述,本实施例提供的数据签名方法,通过获取至少一组待签名数据,每组待签名数据包括n个数据字段;对于每个数据字段,使用第一签名算法对数据字段进行签名,得到签名后的数据字段;对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对待签名数据进行签名,得到签名后的数据;可以解决无法识别数据库中的数据是否被篡改,导致使用的数据的安全性不高的问题;由于可以对待签名数据进行签名得到签名后的数据,在使用待签名数据时使用签名后的数据对该待签名数据进行校验,可以确定出待签名数据是否被篡改,可以提高使用待签名数据的安全性。
另外,由于数据字段存在变化时对应的签名后的数据字段也会相应进行变化,因此,通过对数据字段进行签名,可以实现对数据字段是否存在变化进行校验,可以定位出被篡改的具体数据字段。
另外,由于待签名数据存在变化时对应的签名后的数据也会相应进行变化,因此,通过对待签名数据整体进行签名,可以实现对待签名数据整体是否存在变化进行校验,无需电子设备对每个数据字段依次进行校验,可以提高校验效率。
另外,通过对数据保存操作进行监听;在监听到数据保存操作时拦截待保存的数据得到至少一组原始数据,对拦截到的数据进行签名,可以保证每个保存至数据库的数据均被签名,提高存储的数据的安全性。
可选地,基于上述实施例,本申请还提供一种与数据签名方法相对应的数据校验方法。
图2是本申请一个实施例提供的数据签名方法的流程图。该方法至少包括以下几个步骤:
步骤201,获取待校验数据。
可选地,电子设备中设置有拦截组件,在存在对数据库的数据读取操作时,拦截该数据读取操作指示的数据得到待校验数据,以对该待校验数据进行校验,提高使用待校验数据的安全性。
其中,拦截组件用于拦截从数据库读取的数据,该拦截组件可以是基于面向切面编程(Aspect Oriented Programming,AOP)创建的,也可以是基于其它技术创建的,本实施例不对拦截组件的创建方式作限定。
可选地,待校验数据可以是未签名的一组数据,比如:表一中的一行数据;或者,也可以是未签名的数据字段,比如:表一中的“Id”对应的数据字段、“Name”对应的数据字段、“Age”对应的数据字段、“Dob”对应的数据字段、或者“Last Updated Date”对应的数据字段。
步骤202,在待校验数据为数据组级别的数据时,使用数据库中待校验数据对应的签名后的数据对待检验数据进行校验。
签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对待签名数据整体进行签名后得到的。n为大于1的整数。
其中,数据组级别的数据是指包括多个不同数据字段的一组数据。
可选地,在待校验数据为数据组级别数据时,使用数据库中待校验数据对应的签名后的数据对待检验数据进行校验,包括:对于待校验数据中的每个待校验字段,使用第一签名算法对待校验字段进行签名,得到签名后的待校验字段;对于包括n个签名后的待校验字段的待校验数据,使用第二签名算法对待校验数据进行签名,得到签名后的待校验数据;将签名后的待校验数据与对应的签名后的数据进行比较;在签名后的待校验数据与对应的签名后的数据一致时,确定对待校验数据校验通过;在签名后的待校验数据与对应的签名后的数据不一致时,确定对待校验数据校验未通过。
可选地,在对待校验数据校验未通过时可以继续执行步骤203,从而确定出被篡改的数据字段;或者,流程结束。
其中,使用第一签名算法对待校验字段进行签名的过程与使用第一签名算法对每个数据字段进行签名的过程相同,本实施例在此不再赘述;使用第二签名算法对待校验数据进行签名的过程与使用第二签名算法对待签名数据进行签名的过程相同,本实施例在此不再赘述。
比如:待校验数据为表一中第二行数据。电子设备将该行数据读取出后,使用第一签名算法对各个待校验字段分别进行签名,得到签名后的待校验字段;再将到签名后的待校验字段拼接;使用第二签名算法对拼接后得到的数据进行签名,得到签名后的待校验字段:
472e4db0ce0d8ea3a71796bef7d822d2958f3885
将该签名后的待校验字段与表二中的对应的Total0字段进行比较,比较结果一直,则对待校验数据校验通过。
步骤203,在待校验数据为字段级别的数据时,使用数据库中待校验数据对应的签名后的数据字段对待校验数据进行校验。
可选地,在待校验数据为字段级别数据时,使用数据库中待校验数据对应的签名后的数据字段对待校验数据进行校验,包括:在数据库中搜索待校验数据对应的字段标识;在搜索到待校验数据对应的字段标识时,使用第一签名算法对待校验数据进行签名,得到签名后的待校验数据;将签名后的校验数据与对应的签名后的数据字段进行比较;在签名后的校验数据与对应的签名后的数据字段一致时,确定对待校验数据校验通过;在签名后的校验数据与对应的签名后的数据字段不一致时,确定对待校验数据校验未通过。
其中,使用第一签名算法对待校验字段进行签名的过程与使用第一签名算法对每个数据字段进行签名的过程相同,本实施例在此不再赘述。
比如:待校验数据为表一中字段标识为“age”的数据字段。电子设备将该行数据读取出后,使用第一签名算法对该待校验数据进行签名,得到签名后的待校验字段:
b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1g
该签名后的待校验字段与签名后的数据字段“b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f”不一致,因此,对待校验数据校验未通过。
在一种场景中,电子设备先将待签名数据写入数据库,并在写入对应的签名后的数据字段和对应的签名后的数据之前对该待签名数据进行更新,比如:增加数据字段或者删除数据字段,并在写入对应的签名后的数据字段和对应的签名后的数据之前读取了更新后的签名数据。
对于读取增加后的数据字段的场景,电子设备可能无法在数据库中搜索到待校验数据对应的字段标识。为了实现对增加后的数据字段进行校验,电子设备在未搜索到待校验数据对应的字段标识时存储待校验数据;在数据库更新为搜索到待校验数据对应的字段标识时,触发执行使用第一签名算法对待校验数据进行签名,得到签名后的待校验数据的步骤。
对于删除数据字段场景,由于电子设备后续无法读取到该数据字段,因此,不会对数据字段的校验过程产生影响。
综上所述,通过获取待校验数据;在待校验数据为数据组级别的数据时,使用数据库中待校验数据对应的签名后的数据对待检验数据进行校验;在待校验数据为字段级别的数据时,使用数据库中待校验数据对应的签名后的数据字段对待校验数据进行校验;可以解决无法识别数据库中的数据是否被篡改的问题;由于可以使用签名后的数据对数据组级别的待校验数据进行校验、使用的签名后的数据字段对字段级别的待校验数据进行校验,可以识别出数据组整体是否被篡改以及数据字段是否被篡改,实现对数据库中的数据是否被篡改的监控。
图3是本申请一个实施例提供的数据签名装置的框图。该装置至少包括以下几个模块:数据获取模块310、第一签名模块320和第二签名模块330。
数据获取模块310,用于获取至少一组待签名数据,每组待签名数据包括n个数据字段,所述n为大于1的整数;
第一签名模块320,用于对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段;
第二签名模块330,用于对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的数据签名装置在进行数据签名时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据签名装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据签名装置与数据签名方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本申请一个实施例提供的数据校验装置的框图。该装置至少包括以下几个模块:数据获取模块410、第一校验模块420和第二校验模块430。
数据获取模块410,用于获取待校验数据;
第一校验模块420,用于在所述待校验数据为数据组级别的数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,所述签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对所述待签名数据整体进行签名后得到的,所述n为大于1的整数;
第二校验模块430,用于在所述待校验数据为字段级别的数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的数据校验装置在进行数据校验时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据校验装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据校验装置与数据校验方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本申请一个实施例提供的电子设备的框图,该电子设备包含图3所示的数据签名装置和/或图4所示的数据校验装置。该电子设备至少包括处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的数据签名方法;和/或,数据校验方法。
在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器501、存储器502和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据签名方法;或者,数据校验方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据签名方法;或者,数据校验方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种数据签名方法,其特征在于,所述方法包括:
获取至少一组待签名数据,每组待签名数据包括n个数据字段,所述n为大于1的整数;
对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段;
对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
2.根据权利要求1所述的方法,其特征在于,所述对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据,包括:
将所述n个签名后的数据字段进行拼接;
使用第二签名算法对拼接后的n个签名后的数据字段进行签名,得到所述签名后的数据。
3.根据权利要求1所述的方法,其特征在于,所述获取至少一组待签名数据,包括:
获取至少一组原始数据,每组原始数据包括n个原始数据字段;
按照预设规则对所述原始数据中的每个原始数据段进行格式化,得到所述至少一组待签名数据。
4.根据权利要求3所述的方法,其特征在于,所述按照预设规则对所述原始数据中的每个原始数据段进行格式化,得到所述至少一组待签名数据,包括:
按照排序规则对每组原始数据中的各个原始数据字段进行排序;
对于排序后的各个原始数据字段,将数值类型的原始数据字段格式化为指定的标准数字格式、将时间类型的原始数据字段格式化为指定的时间戳格式、将字符类型的原始数据字段格式化为指定的字符串格式、和/或将二进制文件类型的原始数据字段格式化为指定的二进制编码格式,得到至少一组签名数据。
5.根据权利要求3所述的方法,其特征在于,所述获取至少一组原始数据,包括:
监听数据库的数据保存操作;
在监听到所述数据保存操作时,拦截待保存的数据得到所述至少一组原始数据。
6.一种数据校验方法,其特征在于,所述方法包括:
获取待校验数据;
在所述待校验数据为数据组级别的数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,所述签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对所述待签名数据整体进行签名后得到的,所述n为大于1的整数;
在所述待校验数据为字段级别的数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验。
7.根据权利要求6所述的方法,其特征在于,所述在所述待校验数据为数据组级别数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,包括:
对于所述待校验数据中的每个待校验字段,使用第一签名算法对所述待校验字段进行签名,得到签名后的待校验字段;
对于包括n个签名后的待校验字段的所述待校验数据,使用第二签名算法对所述待校验数据进行签名,得到签名后的待校验数据;
将所述签名后的待校验数据与对应的签名后的数据进行比较;
在所述签名后的待校验数据与对应的签名后的数据一致时,确定对所述待校验数据校验通过;
在所述签名后的待校验数据与对应的签名后的数据不一致时,确定对所述待校验数据校验未通过。
8.根据权利要求6所述的方法,其特征在于,所述在所述待校验数据为字段级别数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验,包括:
在所述数据库中搜索所述待校验数据对应的字段标识;
在搜索到所述待校验数据对应的字段标识时,使用第一签名算法对所述待校验数据进行签名,得到签名后的待校验数据;
将所述签名后的校验数据与对应的签名后的数据字段进行比较;
在所述签名后的校验数据与对应的签名后的数据字段一致时,确定对所述待校验数据校验通过;
在所述签名后的校验数据与对应的签名后的数据字段不一致时,确定对所述待校验数据校验未通过。
9.根据权利要求8所述的方法,其特征在于,所述在所述数据库中搜索所述待校验数据对应的字段标识之后,还包括:
在未搜索到所述待校验数据对应的字段标识时存储所述待校验数据;
在所述数据库更新为搜索到所述待校验数据对应的字段标识时,触发执行所述使用第一签名算法对所述待校验数据进行签名,得到签名后的待校验数据的步骤。
10.一种数据签名装置,其特征在于,所述装置包括:
数据获取模块,用于获取至少一组待签名数据,每组待签名数据包括n个数据字段,所述n为大于1的整数;
第一签名模块,用于对于每个数据字段,使用第一签名算法对所述数据字段进行签名,得到签名后的数据字段;
第二签名模块,用于对于包括n个签名后的数据字段的每组待签名数据,使用第二签名算法对所述待签名数据进行签名,得到签名后的数据。
11.一种数据校验装置,其特征在于,所述装置包括:
数据获取模块,用于获取待校验数据;
第一校验模块,用于在所述待校验数据为数据组级别的数据时,使用数据库中所述待校验数据对应的签名后的数据对所述待检验数据进行校验,所述签名后的数据是使用第一签名算法对待签名数据中的n个数据字段分别进行签名,得到签名后的数据字段;再使用第二签名算法对所述待签名数据整体进行签名后得到的,所述n为大于1的整数;
第二校验模块,用于在所述待校验数据为字段级别的数据时,使用数据库中所述待校验数据对应的签名后的数据字段对所述待校验数据进行校验。
12.一种数据签名装置,其特征在于,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至5任一项所述的数据签名方法,或者实现如权利要求6至9任一项所述的数据校验方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至5任一项所述的数据签名方法;或者,实现如权利要求6至9任一项所述的数据校验方法。
CN201910774285.7A 2019-08-21 2019-08-21 数据签名方法、数据校验方法、装置及存储介质 Active CN110443072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910774285.7A CN110443072B (zh) 2019-08-21 2019-08-21 数据签名方法、数据校验方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910774285.7A CN110443072B (zh) 2019-08-21 2019-08-21 数据签名方法、数据校验方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110443072A true CN110443072A (zh) 2019-11-12
CN110443072B CN110443072B (zh) 2021-08-06

Family

ID=68436907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910774285.7A Active CN110443072B (zh) 2019-08-21 2019-08-21 数据签名方法、数据校验方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110443072B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756544A (zh) * 2020-05-11 2020-10-09 北京明略软件系统有限公司 一种接口调用合法性校验方法和装置
CN113315633A (zh) * 2021-05-07 2021-08-27 浙江保融科技股份有限公司 一种签名字段可变的防篡改数据交互方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304982A (ja) * 2006-05-12 2007-11-22 Canon Inc 電子文書管理装置、電子文書管理方法、及びコンピュータプログラム
CN201845361U (zh) * 2010-06-25 2011-05-25 北京天地融科技有限公司 利用手机进行交易时使用的电子签名装置
CN102354292A (zh) * 2011-09-21 2012-02-15 国家计算机网络与信息安全管理中心 主、备数据库记录一致性校验方法及系统
US20130246865A1 (en) * 2010-04-26 2013-09-19 Cleversafe, Inc. Identifying a storage error of a data slice
CN108710658A (zh) * 2018-05-11 2018-10-26 阿里巴巴集团控股有限公司 一种数据记录的存储方法及装置
CN109271281A (zh) * 2018-08-31 2019-01-25 政和科技股份有限公司 一种防数据被篡改的数据备份方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304982A (ja) * 2006-05-12 2007-11-22 Canon Inc 電子文書管理装置、電子文書管理方法、及びコンピュータプログラム
US20130246865A1 (en) * 2010-04-26 2013-09-19 Cleversafe, Inc. Identifying a storage error of a data slice
CN201845361U (zh) * 2010-06-25 2011-05-25 北京天地融科技有限公司 利用手机进行交易时使用的电子签名装置
CN102354292A (zh) * 2011-09-21 2012-02-15 国家计算机网络与信息安全管理中心 主、备数据库记录一致性校验方法及系统
CN108710658A (zh) * 2018-05-11 2018-10-26 阿里巴巴集团控股有限公司 一种数据记录的存储方法及装置
CN109271281A (zh) * 2018-08-31 2019-01-25 政和科技股份有限公司 一种防数据被篡改的数据备份方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756544A (zh) * 2020-05-11 2020-10-09 北京明略软件系统有限公司 一种接口调用合法性校验方法和装置
CN113315633A (zh) * 2021-05-07 2021-08-27 浙江保融科技股份有限公司 一种签名字段可变的防篡改数据交互方法

Also Published As

Publication number Publication date
CN110443072B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN107832062B (zh) 一种程序更新方法及终端设备
CN107196989A (zh) 一种业务请求的处理方法及装置
US8903831B2 (en) Rejecting rows when scanning a collision chain
CN107592334A (zh) 一种信息推广方法、装置及设备
CN110443072A (zh) 数据签名方法、数据校验方法、装置及存储介质
CN107102908A (zh) 数据校验方法、数据容错方法及装置
CN111562965A (zh) 基于决策树的页面数据校验方法和装置
CN111159040A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN111221690B (zh) 针对集成电路设计的模型确定方法、装置及终端
US20170255503A1 (en) Method for controlling error rate of device-specific information and program for controlling error rate of device-specific information
CN107133163A (zh) 一种验证描述类api的方法与设备
CN110544166A (zh) 样本生成方法、装置及存储介质
CN113592645B (zh) 数据验证的方法和装置
CN106569841A (zh) 一种文件加载方法和装置
CN108710658A (zh) 一种数据记录的存储方法及装置
CN107992749A (zh) 一种检测补丁包冲突的方法及装置
US20140157237A1 (en) Overriding System Attributes and Function Returns in a Software Subsystem
CN111859985B (zh) Ai客服模型测试方法、装置、电子设备及存储介质
CN113157671A (zh) 一种数据监控方法及装置
CN111949738A (zh) 基于区块链的数据存储去重方法、终端设备和存储介质
CN111984944B (zh) 一种源代码处理方法、相关装置及存储介质
CN114048405B (zh) 入口模板文件生成方法、装置、设备及存储介质
CN116383896B (zh) 文件完整性校验方法、云平台启动方法、装置及设备
CN115129355B (zh) 页面修复方法及其系统、计算机设备
CN114611155B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201126

Address after: Room 708, Ruiqi building, building 11, no.668, Fengting Avenue, Suzhou Industrial Park, Suzhou, Jiangsu Province, 215000

Applicant after: Ruishi (Suzhou) video technology Co., Ltd

Applicant after: SUZHOU KEDA TECHNOLOGY Co.,Ltd.

Address before: 215000 room 04, floor 13, building a, No. 388, Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: Suzhou Ruiweibo Technology Co.,Ltd.

Applicant before: SUZHOU KEDA TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant