CN106130718A - 一种数字记录的签名数据生成方法和验证方法 - Google Patents

一种数字记录的签名数据生成方法和验证方法 Download PDF

Info

Publication number
CN106130718A
CN106130718A CN201610523872.5A CN201610523872A CN106130718A CN 106130718 A CN106130718 A CN 106130718A CN 201610523872 A CN201610523872 A CN 201610523872A CN 106130718 A CN106130718 A CN 106130718A
Authority
CN
China
Prior art keywords
node
polymerization
full code
signed data
value
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
CN201610523872.5A
Other languages
English (en)
Other versions
CN106130718B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201610523872.5A priority Critical patent/CN106130718B/zh
Publication of CN106130718A publication Critical patent/CN106130718A/zh
Application granted granted Critical
Publication of CN106130718B publication Critical patent/CN106130718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数字记录的签名数据生成方法和验证方法。本发明的签名数据生成方法步骤为:1)将待签名数字记录作为一根值与上一签名周期生成的完整码进行两两聚合,产生一哈希值,将该哈希值作为当前签名周期的日历树的叶节点;2)将当前签名周期的日历树的所有叶节点进行指定层级的两两聚合,生成一根值,将该根植作为当前签名周期的完整码;3)将产生该完整码的路径上的所有节点及其对应的聚合顺序组合在一起,作为该待签名数字记录的签名数据。本发明可以在同一个签名周期内,满足对完整码数据发布的高频率的要求,并且允许从多渠道实时发布完整码数据。

Description

一种数字记录的签名数据生成方法和验证方法
技术领域
本发明属于电子安全领域,特别是系统和相关的操作方法,涉及一种数字化记录的签名数据生成方法和验证方法,能够验证电子文档的原始性、真实性。
背景技术
目前,随着互联网以及电子商务的快速发展,电子化信息已成为一种重要的信息源,其迅速的发展给电子化信息服务提出了严峻的挑战,如何保证电子化信息的安全也成为了一个重要的课题。
目前针对电子化信息安全的技术主要是通过完整码进行保护,然而目前核心服务在生成完整码的时候,需要使用一个平衡的哈希树结构,在新的日历值生成后一段时间,也即其右侧的日历值达到一定数量后,才能进行日历树的聚合,生成完整码,因此只能在一个较长的时间周期内发布完整码数据,无法实现实时对其进行发布。针对此问题本发明设计了一种新的电子数据签名验证服务的验证方法,它可以在同一个签名周期内,实现产生完整码数据并通过多渠道进行发布。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种新的一种数字记录的签名数据生成方法和验证方法。
本发明的技术方案为:
一种数字记录的签名数据生成方法,其步骤为:
1)将待签名数字记录作为一根值与上一签名周期生成的完整码进行两两聚合,产生一哈希值,将该哈希值作为当前签名周期的日历树的叶节点;
2)将当前签名周期的日历树的所有叶节点进行指定层级的两两聚合,生成一根值,将该根植作为当前签名周期的完整码;
3)将产生该完整码的路径上的所有节点及其对应的聚合顺序组合在一起,作为该待签名数字记录的签名数据。
进一步的,步骤2)中,如果在聚合时,日历树的叶节点数不能满足指定层级聚合要求的节点数,则使用占位节点对缺失的节点进行填充。
进一步的,所述占位节点为常量、有规则的变量或能够与随机产生的哈希值区分开的变量。
进一步的,如果日历树的其中一层的节点树为偶数,则不需要填充占位节点,如果该层的节点树为奇数,则需要在该层的最右侧填充一占位节点。
进一步的,所述待签名数字记录为数字形式的文件或记录,或者是数字文件的特征值或散列值,或者是记录的特征值或散列值,或者是数字形式或记录的特征值的哈希聚合值,或者是数字形式或记录的散列值的哈希聚合值。
进一步的,根据签名数据的聚合路径确定每一聚合层级对应的聚合顺序值,然后按照聚合层级从高到低的顺序对聚合顺序值进行排列,得到一个二进制的数值,记为N;根据该二进制N计算得到该签名数据的签名时间;根据签名时间确定该签名数据对应的完整码发布周期,在设定发布渠道上进行发布。
进一步的,节点从右侧与另一节点进行聚合,则聚合顺序值为0;节点从左侧与另一节点进行聚合,则聚合顺序值为1。
进一步的,将发布的各完整码按照发布时间的顺序连接在一起,形成一线性链式结构,即信任锚链;其中,信任锚链上的每一个节点对应一完整码。
一种数字记录的签名数据验证方法,其步骤为:
1)计算数字记录的哈希值,记为A;该数字记录的签名数据的签名周期为第N周期;
2)将第N-1签名周期的完整码与该哈希值A进行聚合操作,获得哈希值B;
3)从该数字记录的签名数据中读取第N签名周期对应的日历值,如果该日历值与该哈希值B一致,则进行步骤4);否则验证未通过;
4)将该数字记录作为根植,根据该数字记录的签名数据中的节点及其对应的聚合顺序重新生成该数字记录的完整码D;
5)从该数字记录的签名数据中读取完整码,与该完整码D进行比较,根据比较结果确定验证是否通过。
与现有技术相比,本发明的积极效果为:
本发明可以即时产生完整码数据,满足对完整码数据发布的高频率的要求,并且允许从多渠道实时发布完整码数据。这样,采用实时发布完整码数据的验证方法,不仅可以同时满足脱离依赖PKI技术对根值的保护,同时也可以不再需要对电子数据签名进行扩展,特别是在大数据的环境下,这是非常有意义的。
附图说明
图1为本发明的签名数据生成方法示意图;
图2为本发明信任锚链示意图;
图3为本发明签名数据验证方法流程图。
具体实施方式
下面结合附图对本发明的实现方法进行进一步详细描述:
一.签名过程如图1所示
1.根值可以为任何数字形式的文件或记录、或者是数字形式的文件和记录的某种特征值或散列值、或者是数字形式或记录的特征值或散列值的哈希聚合值,图中底层的左斜纹的节点表示根值。
2.根值(图1中底层左斜纹节点)与前一个签名周期生成的完整码(图1中底层右斜纹节点)进行两两聚合,产生一个哈希值,将该哈希值作为该签名周期的日历树的叶节点(图1中交叉纹节点),该叶节点对应的值称为日历值。这样,当前签名周期的聚合也会锁定前一个签名周期的完整码。
3.每一个签名周期,日历树的所有叶节点都进行指定层级(比如,32层)的两两聚合,生成一个根值,作为当前签名周期的完整码(顶层黑色实心节点)。
4.如果在聚合时,日历树叶节点数如果不能满足指定层级聚合要求的节点数,那么,日历树处于不平衡状态,在进行两两聚合时,缺失的节点可以使用占位节点(虚线圆圈)进行填充。占位节点可以是常量,有规则的变量或任何可以与随机产生的哈希值区分开的变量。占位节点不需要填充满所有日历树节点,只需要填充完成指定层级聚合所必要的占位节点即可,占位节点右侧缺失的节点可以忽略(因为右侧的节点是未来要生成的节点,如果在当前时间聚合时,他们的缺失不影响聚合计算,就可以忽略)。
图1中,哈希树的最底层,亦即第一层,有5个节点,表示这是第5个签名周期的聚合过程。在进行第一次聚合时,第一层的第5个节点需要与右侧的节点进行聚合操作,但是此时,此节点还没有生成,那么就需要使用一个占位节点与第5个节点进行聚合操作。
完成第一层的聚合操作后,生成了3个节点,成为哈希树的第二层。按照与第一层聚合相同的操作,第2层的第一和第二个节点进行聚合操作,第三个节点需要与一个占位符节点进行聚合操作。
第2层产生的两个节点,成为哈希树的第3层。这两个节点聚合完成后,产生一个节点,成为哈希树的第4层。
在第4层进行聚合操作时,因为只有一个节点,所以需要在其右侧补充一个占位节点,完成聚合操作。同理,从第5层直至第32层,每一层都是一个节点,在进行聚合操作前,都需要填充一个占位节点后,在进行聚合操作。
由上面的聚合过程可以看出,不需要填满完成32层聚合全部的节点,仅仅需要填充占位节点,满足完成每一层聚合所需最小的节点数。也就是说,如果层的节点树为偶数,那么不需要填充占位节点,如果层的节点树为奇数,则需要在层的最右侧填充一个占位节点。
5.因此,在每一个签名周期,都会生成一个完整码,对当前签名周期的日历值进行保护,不再需要PKI技术等其他安全技术对日历值进行保护,从而摆脱了在完整码生成前,对PKI签名技术的依赖。
6.最终,把从左斜纹节点到产生完整码的路径上的所有节点和及其对应的聚合顺序(从左或从右结合)组合在一起,作为该电子文件的签名数据。
二.签名时间
我们可以通过日历哈希树节点的聚合路径,计算某一个日历节点对应的时间周期。以交叉纹的节点为例。日历哈希树的节点的聚合路径如下所示:
聚合顺序 聚合层级
0 C1
0 C2
1 C3
0 C30
0 C31
0 C32
1.C1表示第1层的聚合。聚合顺序0,表示交叉纹的节点从右侧与另一个节点进行聚合,完成聚合操作。
2.C2表示第2层的聚合。聚合顺序0,表示节点从右侧与另一个节点进行聚合,完成聚合操作。
3.C3表示第3层的聚合。聚合顺序1,表示节点从左侧与另一个节点进行聚合,完成聚合操作
4.同理,完成第4层到第32层的聚合路径。
5.把聚合层级C1,C2,…,C31,C32分别对应的聚合顺序的值,按照聚合层级从高到低的顺序进行排列,形成一个二进制的数值,记为N,如下所示:
那么,将上述的二进制的值转换为十进制表示为:
N=0x20+0x21+1x22+…+0x229+0x230+1x231=4,
于是可以得出时间N,如果把该日历值对应的时间周期记为T,那么,T=N+1=5(因为N计算出的是前一秒的时间,+1得到当前时间);如果时间为1秒,那么,交叉纹节点就为第5秒对应的日历值。
三.完整码发布
完整码可以通过各种渠道进行发布,比如,
1.实时发布到微博、微信、朋友圈、短信、电子邮件等任何无法悄然召回的通信方式
2.门户,社交等网站
3.平面媒体,如报纸
如果完整码产生的周期比较短,如1秒,那么发布在纸质媒体上时,可以选择一段时间进行发布,如每周,每月等。
完整码公开发布后,发布的完整码可以看做是一个信任锚,信任锚的所有节点按照时间的顺序连接在一起,形成一个向前的线性链式结构,称为信任锚链,如图2。
信任锚链上的每一个节点,都对应一个完整码,它也锁定了其对应签名周期的所有签名数据,同时,信任锚链上的每一个节点也都锁定了信任锚连上之前所有的节点,因为信任锚链上的每一个节点的完整码,都参与了下一个完整码的聚合过程。信任锚链可以对任何已经签名的数据进行验证,而其链式结构的特性,保证了任何人难以对其进行篡改。
四.验证过程
如图3所示为本发明验证方法流程图,简要步骤如下:
签名数据的验证过程,主要描述了数据的验证处理流程。验证过程不需要PKI的签名,也不需要获取发布文件,扩展等操作,可以离线,独立验证。下面以电子文件的验证过程为例来进行说明。该过程包含以下步骤:
1.读取电子文件的内容,计算该电子文件的哈希值,记为A。
2.从电子文件对应的签名数据中读取上一个签名周期的完整码,与步骤1中获得的哈希值A进行聚合操作,获得哈希值B。
3.从电子文件对应的签名数据中读取该待验证数据对应的签名周期所对应的日历值(即电子文件签名时的哈希值),然后与步骤2中的哈希值B进行比较,如果一致,则进行步骤4,否则,说明与电子文件的内容发生了改变。
4.从电子文件对应的签名数据中,读取在签名过程中,与该数字记录进行第1次聚合操作的节点N1和聚合顺序值O1,然后使用步骤3中产生的哈希值B与节点N1所对应的哈希值按照聚合顺序O1进行聚合操作,产生哈希值C。
5.依次类推,最终经过32次聚合操作计算出哈希值D。
6.从电子文件对应的签名数据中读取完整码的哈希值,与步骤5中计算得到的哈希值D进行比较,判断是否相同,从而判断数字记录是否与签名有矛盾。
7.根据上述二、签名时间一节所述,找到签名的具体时间单元,按此时间单元查找上述三、发布渠道获得的完整码链,找到对应该时间单元的具体完整码。将该完整码与步骤3验证过一致的完整码进行比对,从而判断数据记录和签名是否都完整有效。

Claims (9)

1.一种数字记录的签名数据生成方法,其步骤为:
1)将待签名数字记录作为一根值与上一签名周期生成的完整码进行两两聚合,产生一哈希值,将该哈希值作为当前签名周期的日历树的叶节点;
2)将当前签名周期的日历树的所有叶节点进行指定层级的两两聚合,生成一根值,将该根植作为当前签名周期的完整码;
3)将产生该完整码的路径上的所有节点及其对应的聚合顺序组合在一起,作为该待签名数字记录的签名数据。
2.如权利要求1所述的方法,其特征在于,步骤2)中,如果在聚合时,日历树的叶节点数不能满足指定层级聚合要求的节点数,则使用占位节点对缺失的节点进行填充。
3.如权利要求2所述的方法,其特征在于,所述占位节点为常量、有规则的变量或能够与随机产生的哈希值区分开的变量。
4.如权利要求2所述的方法,其特征在于,如果日历树的其中一层的节点树为偶数,则不需要填充占位节点,如果该层的节点树为奇数,则需要在该层的最右侧填充一占位节点。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述待签名数字记录为数字形式的文件或记录,或者是数字文件的特征值或散列值,或者是记录的特征值或散列值,或者是数字形式或记录的特征值的哈希聚合值,或者是数字形式或记录的散列值的哈希聚合值。
6.如权利要求1所述的方法,其特征在于,根据签名数据的聚合路径确定每一聚合层级对应的聚合顺序值,然后按照聚合层级从高到低的顺序对聚合顺序值进行排列,得到一个二进制的数值,记为N;根据该二进制N计算得到该签名数据的签名时间;根据签名时间确定该签名数据对应的完整码发布周期,在设定发布渠道上进行发布。
7.如权利要求6所述的方法,其特征在于,节点从右侧与另一节点进行聚合,则聚合顺序值为0;节点从左侧与另一节点进行聚合,则聚合顺序值为1。
8.如权利要求6所述的方法,其特征在于,将发布的各完整码按照发布时间的顺序连接在一起,形成一线性链式结构,即信任锚链;其中,信任锚链上的每一个节点对应一完整码。
9.一种数字记录的签名数据验证方法,其步骤为:
1)计算数字记录的哈希值,记为A;该数字记录的签名数据的签名周期为第N周期;
2)将第N-1签名周期的完整码与该哈希值A进行聚合操作,获得哈希值B;
3)从该数字记录的签名数据中读取第N签名周期对应的日历值,如果该日历值与该哈希值B一致,则进行步骤4);否则验证未通过;
4)将该数字记录作为根植,根据该数字记录的签名数据中的节点及其对应的聚合顺序重新生成该数字记录的完整码D;
5)从该数字记录的签名数据中读取完整码,与该完整码D进行比较,根据比较结果确定验证是否通过。
CN201610523872.5A 2016-06-29 2016-06-29 一种数字记录的签名数据生成方法和验证方法 Active CN106130718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610523872.5A CN106130718B (zh) 2016-06-29 2016-06-29 一种数字记录的签名数据生成方法和验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610523872.5A CN106130718B (zh) 2016-06-29 2016-06-29 一种数字记录的签名数据生成方法和验证方法

Publications (2)

Publication Number Publication Date
CN106130718A true CN106130718A (zh) 2016-11-16
CN106130718B CN106130718B (zh) 2019-05-21

Family

ID=57469353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610523872.5A Active CN106130718B (zh) 2016-06-29 2016-06-29 一种数字记录的签名数据生成方法和验证方法

Country Status (1)

Country Link
CN (1) CN106130718B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507736A (zh) * 2020-04-21 2020-08-07 贵州大学 一种利用嵌套式数字孪生体记录产品包装过程的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729248A (zh) * 2008-11-03 2010-06-09 华为技术有限公司 密钥管理、密钥验证的方法及装置
US20130073859A1 (en) * 2011-09-21 2013-03-21 Visa International Service Association Systems and methods to secure user identification
CN103178957A (zh) * 2011-09-05 2013-06-26 索尼公司 信息处理装置、信息处理系统、信息处理方法和程序
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN105164971A (zh) * 2013-02-22 2015-12-16 保时知识产权控股有限公司 具有额外安全性的用于低熵输入记录的核验系统和方法
CN105187218A (zh) * 2015-09-30 2015-12-23 谈建 一种多核心基础设施的数字化记录签名、验证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729248A (zh) * 2008-11-03 2010-06-09 华为技术有限公司 密钥管理、密钥验证的方法及装置
CN103178957A (zh) * 2011-09-05 2013-06-26 索尼公司 信息处理装置、信息处理系统、信息处理方法和程序
US20130073859A1 (en) * 2011-09-21 2013-03-21 Visa International Service Association Systems and methods to secure user identification
CN105164971A (zh) * 2013-02-22 2015-12-16 保时知识产权控股有限公司 具有额外安全性的用于低熵输入记录的核验系统和方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN105187218A (zh) * 2015-09-30 2015-12-23 谈建 一种多核心基础设施的数字化记录签名、验证方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507736A (zh) * 2020-04-21 2020-08-07 贵州大学 一种利用嵌套式数字孪生体记录产品包装过程的方法

Also Published As

Publication number Publication date
CN106130718B (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN108830602B (zh) 一种基于变色龙哈希函数的许可链构造及管控方法
CN107171812A (zh) 一种基于区块链的无密钥签名基础设施构建方法
CN106411503A (zh) 区块链投票记账模式的记账方法及系统、投票及记账节点
CN107395557A (zh) 一种业务请求的处理方法及装置
CN102195781B (zh) 一种基于电子记录关联签名的电子证据取证系统
US20150033024A1 (en) Data distribution path verification
CN101251881A (zh) 一种内容识别的方法、系统和装置
CN106027240B (zh) 一种基于属性的密钥隔离签名方法
US11757655B1 (en) Systems and methods for distributed extensible blockchain structures
CN114982193A (zh) 使用区块链事务的数字合约
JP4390570B2 (ja) 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
JP2011107528A (ja) 情報処理装置、鍵生成装置、署名検証装置、情報処理方法、署名生成方法、及びプログラム
CN104392184B (zh) 一种多级电子文件凭证生成和校验的方法
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
CN106385316B (zh) Puf模糊提取电路和方法
CN106612183A (zh) 国产操作系统下应用软件的交叉数字签名方法及系统
CN104717070B (zh) 一种利用单向哈希函数关联数字证书的方法
CN109447630A (zh) 一种支持多行业多应用的区块链构建方法及系统
Krima et al. Securing the digital threat for smart manufacturing: A reference model for blockchain-based product data traceability
Wang [Retracted] Application Research of Data Encryption Technology in Computer Network Information Security
US10402593B2 (en) Verification paths of leaves of a tree
CN106130718B (zh) 一种数字记录的签名数据生成方法和验证方法
Chakravarty et al. Blockchain-enhanced identities for secure interaction
CN108632257B (zh) 支持分层搜索的加密健康记录的获取方法和系统
US20230129227A1 (en) System and method for generating a table-driven mutable blockchain

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant