CN114422137B - 安全分布式时间管理方法、系统 - Google Patents

安全分布式时间管理方法、系统 Download PDF

Info

Publication number
CN114422137B
CN114422137B CN202111508147.8A CN202111508147A CN114422137B CN 114422137 B CN114422137 B CN 114422137B CN 202111508147 A CN202111508147 A CN 202111508147A CN 114422137 B CN114422137 B CN 114422137B
Authority
CN
China
Prior art keywords
time stamp
round
algorithm
blocks
hash
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
Application number
CN202111508147.8A
Other languages
English (en)
Other versions
CN114422137A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202111508147.8A priority Critical patent/CN114422137B/zh
Publication of CN114422137A publication Critical patent/CN114422137A/zh
Application granted granted Critical
Publication of CN114422137B publication Critical patent/CN114422137B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种安全分布式时间管理方法,首先对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行协议,基于该协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,实时接收其他节点产生的区块,并将区块连接为有向无环图,通过时间戳算法输出记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;而后通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理,整个过程以有向无环图链存储和管理时间戳,且经过验证算法的验证,如此提高安全性和可靠性,并且具有高节点容量和高吞吐量,能够支持大规模时间戳应用。

Description

安全分布式时间管理方法、系统
技术领域
本发明涉及区块链技术领域,更为具体地,涉及一种安全分布式时间管理方法、系统。
背景技术
传统时间戳采用中心化的架构,角色分为客户和称为时间戳服务中心的服务器,过程如下:客户将数据发送给TSA,TSA打上时间戳并签名,返回给客户。为了防止TSA伪造和篡改过去记录,保证时间戳安全,协议在时间戳之间构建了哈希链、哈希树和哈希DAG等链接结构,利用之后的时间戳约束过去的时间戳,该种方式与任何中心化机制一样,这种时间戳易形成垄断,也易受单点崩溃和攻击影响,比如拒绝服务攻击。为此,分布式时间戳机制从多个时间戳服务中心同时获取时间戳服务,以“多中心化”缓解安全隐患,但可靠性和安全性仍然有所不足。
因区块链分布式、不可篡改的安全特性,区块链时间戳在版权和云存储等领域多有应用,比如,Catena、Blockstack、ESP、UbiRight和Chronos等。但可惜的是,这些区块链时间戳依赖通用区块链平台,如比特币和以太坊等,吞吐量过小,无法支持大规模时间戳应用。
因此,亟需一种有向无环图式的、提高安全度,且提高节点容量和高吞吐量的安全分布式时间管理方法。
发明内容
鉴于上述问题,本发明的目的是提供一种安全分布式时间管理方法,以解决分布式时间戳机制从多个时间戳服务中心同时获取时间戳服务,以“多中心化”缓解安全隐患,但可靠性和安全性仍然有所不足,并且因区块链分布式、不可篡改的安全特性,区块链时间戳在版权和云存储等领域多有应用,但可惜的是,这些区块链时间戳依赖通用区块链平台,吞吐量过小,无法支持大规模时间戳应用的问题。
本发明提供的一种安全分布式时间管理方法,其中,包括:
对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议;
基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;
通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理。
优选地,使各个节点对哈希算法的参数的选择达成共识的过程,包括:
在所述公钥基础设施上登记公钥以形成协作节点集群;
使所述协作节点集群从抗碰撞哈希函数中随机抽取哈希参数,并随机抽取公共参考字串以组成达成共识的哈希算法。
优选地,将所述区块连接为有向无环图之前,还包括:
初始化DAG链和待定区块序列。
优选地,接收新的区块的过程,包括:
接收其他节点产生的区块的过程,包括:
接收其他节点广播的区块,并判断所述区块在所在的当前轮次中是否有效,若有效,则按照轮次升序将所述区块插入所述待定区块序列以形成新待定区块序列;
将所述新待定区块序列中的区块按照所述轮次升序依次有条件地移入所述DAG链中,并将移入所述DAG链中的区块逐个广播。
优选地,在实时接收其他节点产生的区块的过程中,产生新区块的过程,包括:
生成当前节点在当前轮次时的锚点资格证明和随机数;
根据所述随机数判断所述当前节点是否具有锚点资格,并判断是否有需要登记时间戳的记录;
若所述当前节点具有锚点资格,或有需要登记时间戳的记录,则寻找所述DAG链中所有非本轮次的末端区块的哈希指纹以形成哈希指纹序列,并将所述哈希指纹序列作为父母区块哈希指纹序列;
根据所述父母区块哈希指纹序列、所述记录的内容和轮次生成本地输入签名;
根据所述锚点资格证明、所述记录的内容、当前轮次、当前节点身份标志、所述父母区块哈希指纹序列与所述本地输入签名计算所述哈希指纹;
根据所述锚点资格证明、所述记录的内容、所述当前轮次、所述当前节点身份标志、所述父母区块哈希指纹序列、所述本地输入签名和所述哈希指纹生成新区块;
将所述新区块加入到所述DAG链中并广播。
优选地,通过所述协议中的时间戳算法输出所述记录的时间戳的过程,包括:
判断与所述记录相对应的目标区块是否在所述有向无环图中,若存在则输出所述记录的时间戳。
优选地,通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明的过程,包括:
选择满足第一证明条件的参考轮次;
判断所述参考轮次是否满足所述第一证明条件,其中,若所述参考轮次满足所述第一证明条件,则统计节点当前所处的有向无环图中所述目标区块可追溯的锚点区块所具有的第一锚点资格数量和可追溯到所述目标区块且时间戳小于等于所述参考轮次的锚点区块所具有的第二锚点资格数量;其中所述第一证明条件为大于所述时间戳,且小于当前轮次;
根据所述第一锚点资格数量与所述第二锚点资格数量分别对应输出第一轮次证明和第二轮次证明。
优选的,通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理的过程,包括:
根据时间戳算法输出的时间戳、所述第一轮次证明与所述第二轮次证明及其对应的参考轮次获取轮次输入参数;通过所述验证算法对所述轮次输入参数进行资格验算;
若通过所述资格验算,则基于预设的有效检验算法对与所述轮次输入参数相对应的时间戳进行有效性验证,若所述时间戳通过所述有效性验证则所述时间戳为有效状态,完成当下所述时间戳的管理。
本发明还提供一种安全分布式时间管理系统,实现如权利要求1-8任一所述的安全分布式时间管理方法,包括:
初始搭建模块,用于对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议
对应输出模块,用于基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;并且,用于基于所述有向无环图通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
有效验证模块,用于通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理。
优选地,所述对应输出模块包括:
状态更新单元,用于基于协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图,以实时更新有向无环图中区块的状态,并接收新的区块和需要登记时间戳的记录;
时间戳输出单元,用于通过所述协议中的时间戳算法输出所述记录的时间戳;
轮次证明单元,用于通过所述协议中的证明算法输出用于验证所述时间戳与所述记录的轮次证明。
从上面的技术方案可知,本发明提供的安全分布式时间管理方法,首先对各个节点进行协议初始化处理,使各个节点基于哈希算法达成共识,并根据预设的单轮时间按轮次执行协议,基于该协议中的状态算法实时更新该有向无环图中区块的状态,通过协议中的时间戳算法输出记录的时间戳,并且通过协议中的证明算法输出用于验证时间戳与记录的轮次证明;而后通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理,整个过程以有向无环图链存储和管理时间戳,且经过验证算法的验证,提高安全性和可靠性,并且,是分布式系统,具有高节点容量和高吞吐量,能够支持大规模时间戳应用。
附图说明
通过参考以下结合附图的说明书内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例的安全分布式时间管理方法的流程图;
图2为根据本发明实施例的安全分布式时间管理系统的示意图。
具体实施方式
分布式时间戳机制从多个时间戳服务中心同时获取时间戳服务,以“多中心化”缓解安全隐患,但可靠性和安全性仍然有所不足,并且因区块链分布式、不可篡改的安全特性,区块链时间戳在版权和云存储等领域多有应用,但可惜的是,这些区块链时间戳依赖通用区块链平台,吞吐量过小,无法支持大规模时间戳应用。
针对上述问题,本发明提供一种安全分布式时间管理方法、系统,以下将结合附图对本发明的具体实施例进行详细描述。
为了说明本发明提供的安全分布式时间管理方法、系统,图1对本发明实施例的安全分布式时间管理方法进行了示例性标示;图2对本发明实施例的安全分布式时间管理系统进行了示例性标示。
以下示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术和设备可能不作详细讨论,但在适当情况下,所述技术和设备应当被视为说明书的一部分。
需要说明的是,本方法建立在公钥基础设施和P2P数据传输网络的基础之上。公钥基础设施对时间戳系统维护者进行身份认证以支持数字签名场景∑。P2P数据传输网络提供时间戳系统节点间的消息广播服务。
如图1所示,本发明提供的本发明实施例的安全分布式时间管理方法,包括:
S1:对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议;
S2:基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;
S3:基于所述有向无环图通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
S4:通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理。
需要说明的是,在本实施例中,将区块定义为 为父母区块哈希指纹们的序列,m为记录,r为当前轮次,σ为锚点资格证明,sig为对区块内容的签名,U为节点ID,h为当前区块的哈希指纹;创世区块(原始区块)统一为Bgenesis=((),mgenesis,r=0,⊥,⊥,⊥,h=0),其中,()表示空序列,⊥表示有效范围外的值;并定义表示区块B到区块B′存在哈希指针链接组成的路径,即B′是B的祖辈区块;时间戳系统节点总数为n、最大可能恶意节点占比为ρ、最大可能网络延迟为Δ、自选举成功概率为p、安全松弛参数为δ。
如图1所示,步骤S1为对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行协议的过程,其中,轮次指的是将时间流逝等分为轮,协议从约定的初始化时间开始按轮进行,每轮时间相等,r为节点U认为的区块产生时间所在的轮次;一轮时间是可设置的参数,一轮时间越短,用轮次表示的时间越精确;
其中,使各个节点对哈希算法的参数的选择达成共识的过程,包括:
S11:在公钥基础设施上登记公钥以形成协作节点集群;
S12:使协作节点集群从抗碰撞哈希函数中随机抽取哈希参数,并随机抽取公共参考字串以组成达成共识的哈希算法。
该协作节点集群即为各个节点协作处理某一动作,在本实施例中,首先各节点进行协议初始化,在公钥基础设施上登记公钥,协作从一族抗碰撞哈希函数中随机抽取其一d∶{0,1}*→{0,1}κ,并协作随机抽取公共参考字串k0${0,1}κ,组成达成共识的哈希算法H(x)=d(k0||x),之后各节点将按轮执行协议,各轮时间一致。
如图1所示,步骤S2为基于协议中的状态算法接收需要登记时间戳的记录,将记录封装为区块并广播,且实时接收其他节点产生的区块,并将区块连接为有向无环图的过程,在该过程中,各个节点中的数据依附于区块中,并将区块连接为有向无环图;其中,该哈希算法中的哈希值作为有向无环图区块的指针,换句话说,在本发明实施例所提供的安全分布式时间管理方法中,数据以区块形式组织,通过哈希值作为指针将区块链接起来,组成有向无环图,并且在本实施例中该有向无环图包括以功能划分为两类区块:注册区块和锚点区块,该注册区块登记记录和时间戳。
在图1所示的实施例中,在将所述区块连接为有向无环图之前,还包括:
初始化DAG链和待定区块序列,该DAG链为真正连接的完整链,待定区块序列是中间过渡变量,即为了顾及因为网络延迟导致区块到达顺序与产生顺序不同,在接收到父区块之前就已经接收到子区块,此时无法寻找到子区块对应的父区块,该待定区块序列用于暂时保存了这些孤儿区块,等找齐祖辈区块后将移入有向无环图链。
在图1所示的实施例中,
其中,接收其他节点产生的区块(新的区块)的过程,包括:
S311:接收其他节点广播的区块,并判断区块在所在的当前轮次中是否有效,若有效,则按照轮次升序将区块插入待定区块序列以形成新待定区块序列;
在本实施例中,区块关于轮次r0有效需要满足以下条件:
1、其中公钥U.pk通过公钥基础设施对节点U认证;其中,Σ表示签名算法,∑.ver是验证签名算法,利用公钥U.pk验证sig是否是的签名;
2、其中,H是哈希算法H(x)=d(k0||x);
3、B.r≤r0
S312:将新待定区块序列中的区块按照轮次升序依次有条件地移入DAG链中,并将移入DAG链中的区块逐个广播;
在本实施例中,该条件为:
其中,表示区块B的父母区块哈希指纹序列,dagchain表示所述节点当前的有向无环图链,B′.h表示区块B′的哈希指纹,B′.r表示区块B′的轮次,B.r表示区块B的轮次。
简而言之,任意父母区块存在于有向无环图链:对于区块的任意父母区块,在有向无环图链中存在一个区块与之哈希指纹相同,且该区块的轮次小于所述区块的轮次。
在实时接收其他节点产生的区块的过程中,产生新区块的过程,包括:
S312-1:生成当前节点在当前轮次时的锚点资格证明和随机数;
S312-2:根据随机数判断当前节点是否具有锚点资格,并判断是否有需要登记时间戳的记录;
S312-3:若所述当前节点具有锚点资格,或有需要登记时间戳的记录,则寻找所述DAG链中所有非本轮次的末端区块的哈希指纹以形成哈希指纹序列,并将所述哈希指纹序列作为父母区块哈希指纹序列;
S312-4:根据所述父母区块哈希指纹序列、所述记录的内容和轮次生成本地输入签名。
S312-5:根据所述锚点资格证明、所述记录的内容、当前轮次、当前节点身份标志、所述父母区块哈希指纹序列与所述本地输入签名计算所述哈希指纹;
S312-6:根据所述锚点资格证明、所述记录的内容、所述当前轮次、所述当前节点身份标志、所述父母区块哈希指纹序列、所述本地输入签名和所述哈希指纹生成新区块;
S312-7:将所述新区块加入到所述DAG链中并广播;
其中,通过协议中的时间戳算法输出记录的时间戳的过程,包括:
S321:判断与所述记录相对应的目标区块是否在所述有向无环图中,若存在则输出所述记录的时间戳。
其中,通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明的过程,包括:
S331:选择满足第一证明条件的参考轮次;其中第一证明条件为大于时间戳,且小于当前轮次;
S332:判断所述参考轮次是否满足所述第一证明条件,其中,若所述参考轮次满足所述第一证明条件,则统计节点当前所处的有向无环图中所述目标区块可追溯的锚点区块所具有的第一锚点资格数量和可追溯到所述目标区块且时间戳小于等于所述参考轮次的锚点区块所具有的第二锚点资格数量;其中所述第一证明条件为大于所述时间戳,且小于当前轮次;
S333:根据所述第一锚点资格数量与所述第二锚点资格数量分别对应输出第一轮次证明和第二轮次证明。
在本实施例中,算法三元组(Π,T,P):算法Π为状态算法,负责状态更新,输入安全参数κ并维护节点本地状态state,以及接收新的区块和需要登记时间戳的记录等;算法T(κ,state,m)为时间戳算法,负责输出记录m的时间戳timestamp;算法P(κ,state,m,r)=(P1,P2)为证明算法,负责输出可用于验证记录m时间戳的关于参考轮次r的证明proof=(proof1,proof2);
具体的,算法Π包括上述步骤S311-S313,在本实施例中,算法Π包括以下过程:
初始化:生成公钥对(pk,sk)=∑.gen(),在公钥基础设施注册公钥pk,并初始化本地状态为其中,该dagchain={Bgenesis}为DAG链,该/>为待定区块序列;其中,Σ是签名算法,Σ.gen()生成用户的公私钥对(pk,sk),公钥将在公钥基础设施注册,私钥自己保留,用于之后生成签名的过程;
当节点接收到其他节点广播的区块时,即算法Π接收到区块
如果在步骤S311中判断区块关于当前轮次r0有效,则:
a)插入/>并保持依据轮次升序,输出新的/>其中,按轮次排序,越往后排序的轮次越大;
b)将中的区块B按轮次顺序逐个尝试移入dagchain,若满足s.t.B′.h=h-1,B′.r<B.r,则能够成功将区块B移入,将新移入的区块B作为新区块,新区块的集合为新区块集;
c)逐个广播新区块集中的新区块;
节点除了接收其他节点广播的区块加入到自己的DAG链,也可以自己产生区块并加入到自己的DAG链中,分为两种情况:当用户需要对记录注册时间戳时,提供记录给可信节点,由可信节点生成对应的注册区块;或者为了协议安全,节点遵从协议要求,每轮以一定概率生成锚点区块。两种情况在以下过程同时实现,一个区块既可以是注册区块,也可以是锚点区块,并不互斥,但每轮一个节点最多提交一个区块到有向无环图链时间戳系统中,可能不提交:接收需要登记时间戳的记录m,如果没有则m=⊥;而后生成当前节点U在当前轮次r0的锚点资格证明和随机数/>
并采用锚点自选举方式:如果则U在r0轮有锚点资格,/>否则σ=⊥;其中,
如果m≠⊥或σ≠⊥,则:
i.寻找dagchain所有非本轮的末端区块的哈希指纹
ii.将集合tiphash序列化为父母区块哈希指纹序列
iii.签名本地输入并计算新区块哈希指纹
iv.生成区块并加入有向无环图链dagchain=dagchain∪{B},然后广播区块B;
如此,生成新区块B,需要说明的是。
算法T(κ,state,m)为时间戳算法,在本实施例中,时间戳算法输入记录m时,如果记录m对应区块Bm∈dagchain,那么输出Bm.r作为记录m的时间戳;
算法P(κ,state,m,r)=(P1,P2)为证明算法,在本实施例中,证明算法输入记录m和参考轮次r时,设当前轮次为r0,如果记录m对应区块Bm∈dagchain,且Bm.r<r≤r0,显然Bm∈dagchainr,那么统计dagchainr中Bm可追溯的锚点区块所具有的第一锚点资格数量/> 且存在 和可追溯到Bm且时间戳小于等于r的锚点区块所具有的第二锚点资格数量/> 且存在/>并将第一锚点资格数量与第二锚点资格数量分别对应于proof1和proof2,在本实施例中,该proof1和proof2即为第一轮次证明和第二轮次证明。
如图1所示,步骤S4为通过验证算法对轮次证明进行参数解析以判断时间戳的有效性的过程,若时间戳有效则完成当前的时间戳管理;其中,通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理的过程,包括:
S41:根据时间戳算法输出的时间戳、第一轮次证明与第二轮次证明及其对应的参考轮次获取轮次输入参数;
S42:通过验证算法对轮次输入参数进行资格验算;
S43:若通过资格验算,则基于预设的有效检验算法对与轮次输入参数相对应的时间戳进行有效性验证,若时间戳通过有效性验证则时间戳为有效状态,完成当下时间戳的管理;具体的,在本实施例中,有效校验算法是根据具体情况综合多次采用不用参考轮次的验证算法的结果进行判定。比如,T表示一种参考轮次情况下通过验证算法,F表示不通过,则一种可行的有效检验算法可以为验证两次,TT,TF,FT都判定时间戳有效,只有FF判定时间戳无效。由于参考轮次有r≥4Δ+timestamp的限制,最简单的有效检验算法,即就取参考轮次为4Δ+timestamp的情况下的验证算法的结果作为有效性判定结果,通过则有效,不通过则无效。
具体的,在本实施例中,验证算法V当输入(κ,timestamp,proof,r)时,需要说明的是,k为安全参数,但安全参数在协议开始之前就明确了,该参数只具有安全性能理论分析的作用,实际实现中可忽略;
若满足:
(1-δ)·(timestamp-Δ-1)·α≤proof1≤(1+δ)·(timestamp-1)·β且(1-δ)·(r-timestamp-2Δ)·α≤proof2≤(1+δ)·(r-timestamp)·β
那么输出1以表示通过,否则输出0以表示不通过。其中,
proof=(proof1,proof2);α=n·(1-ρ)·p,β=n·p。
需要说明的是,验证算法的输入有安全参数、时间戳、轮次证明和参考轮次,由于安全参数在协议开始之前就确定了,所以实际上是通过两个轮次证明和参考轮次对时间戳进行验证。轮次证明从证明算法获得,时间戳从时间戳算法获得,而参考轮次根据需要确定,应该与证明算法保持一致。每个参考轮次都可以做一次验证;在本实施例中,取参考轮次为时间戳+4Δ,一次验证就判定有效性,通过就是有效,不通过就是有效;如果为了保证判定有效的时间戳不会是假的,那么可以取多个大于等于时间戳+4Δ的参考轮次进行验证,有一次不通过就是无效;如果为了保证判定无效的时间戳不会是真的,那么可以取多个大于等于时间戳+4Δ的参考轮次进行验证,有一次通过就是有效。
判定时间戳是否有效需要依据具体安全需求进行权衡与决策,如果多次验证,只要存在一个r≥4Δ+timestamp的验证且不通过,即判定为伪造时间戳;如果多次验证,只要存在一个r≥4Δ+timestamp的验证且通过即判定为有效时间戳;如果只进行一次验证,可以简化为将r=4Δ+timestamp的验证结果作为判定结果,如此使得整个方法、流程获得安全保障。
简言之,当用户获取某个记录的时间戳时,从可信节点获取对应记录的时间戳算法和证明算法输出,使用验证算法对时间戳和证明进行检验,如果检验通过,则采纳该时间戳并将轮次换算为真实世界时间,否则,时间戳视作无效。
如上所述,本发明提供的安全分布式时间管理方法,首先对各个节点进行协议初始化处理,使各个节点基于哈希算法达成共识,并根据预设的单轮时间按轮次执行协议,基于该协议中的状态算法实时更新该有向无环图中区块的状态,通过协议中的时间戳算法输出记录的时间戳,并且通过协议中的证明算法输出用于验证时间戳与记录的轮次证明;而后通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理,整个过程以有向无环图链存储和管理时间戳,且经过验证算法的验证,并且在本实施例中时间戳不确定度为4Δ,如此提高安全性和可靠性,并且具有高节点容量和高吞吐量,能够支持大规模时间戳应用。
如图2所示,本发明还提供一种安全分布式时间管理系统100,实现如前所述的安全分布式时间管理方法,包括:
初始搭建模块101,用于对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议;
对应输出模块102,用于基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;并且,用于基于所述有向无环图通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
有效验证模块103,用于通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理。
其中,该对应输出模块102包括:
状态更新单元102-1,用于基于协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图,以实时更新有向无环图中区块的状态,并接收新的区块和需要登记时间戳的记录;
时间戳输出单元102-2,用于通过协议中的时间戳算法输出记录的时间戳;
轮次证明单元102-3,用于通过协议中的证明算法输出用于验证时间戳与记录的轮次证明。
通过上述实施方式可以看出,本发明提供的安全分布式时间管理系统,首先通过初始搭建模块101对各个节点进行协议初始化处理,使各个节点基于哈希算法达成共识,并根据预设的单轮时间按轮次执行协议,再通过对应输出模块102基于该协议中的状态算法实时更新该有向无环图中区块的状态,通过协议中的时间戳算法输出记录的时间戳,并且通过协议中的证明算法输出用于验证时间戳与记录的轮次证明;而后基于有效验证模块103通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理,整个过程以有向无环图链存储和管理时间戳,且经过验证算法的验证,提高安全性和可靠性,并且,是分布式系统,具有高节点容量和高吞吐量,能够支持大规模时间戳应用。
如上参照附图以示例的方式描述了根据本发明提出的安全分布式时间管理方法、系统。但是,本领域技术人员应当理解,对于上述本发明所提出的增强现实中的安全分布式时间管理方法、系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

Claims (6)

1.一种安全分布式时间管理方法,其特征在于,包括:
对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议;
初始化DAG链和待定区块序列,基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;
接收其他节点产生的区块的过程,包括:接收其他节点广播的区块,并判断所述区块在所在的当前轮次中是否有效,若有效,则按照轮次升序将所述区块插入所述待定区块序列以形成新待定区块序列;将所述新待定区块序列中的区块按照所述轮次升序依次有条件地移入所述DAG链中,并将移入所述DAG链中的区块逐个广播;
在实时接收其他节点产生的区块的过程中,产生新区块的过程,包括:生成当前节点在当前轮次时的锚点资格证明和随机数;根据所述随机数判断所述当前节点是否具有锚点资格,并判断是否有需要登记时间戳的记录;若所述当前节点具有锚点资格,或有需要登记时间戳的记录,则寻找所述DAG链中所有非本轮次的末端区块的哈希指纹以形成哈希指纹序列,并将所述哈希指纹序列作为父母区块哈希指纹序列;根据所述父母区块哈希指纹序列、所述记录的内容和轮次生成本地输入签名;根据所述锚点资格证明、所述记录的内容、当前轮次、当前节点身份标志、所述父母区块哈希指纹序列与所述本地输入签名计算所述哈希指纹;根据所述锚点资格证明、所述记录的内容、所述当前轮次、所述当前节点身份标志、所述父母区块哈希指纹序列、所述本地输入签名和所述哈希指纹生成新区块;将所述新区块加入到所述DAG链中并广播;
基于所述有向无环图通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理。
2.如权利要求1所述的安全分布式时间管理方法,其特征在于,使各个节点对哈希算法的参数的选择达成共识的过程,包括:
在公钥基础设施上登记公钥以形成协作节点集群;
使所述协作节点集群从抗碰撞哈希函数中随机抽取哈希参数,并随机抽取公共参考字串以组成达成共识的哈希算法。
3.如权利要求1所述的安全分布式时间管理方法,其特征在于,通过所述协议中的时间戳算法输出所述记录的时间戳的过程,包括:
判断与所述记录相对应的目标区块是否在所述有向无环图中,若存在则输出所述记录的时间戳。
4.如权利要求3所述的安全分布式时间管理方法,其特征在于,通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明的过程,包括:
选择满足第一证明条件的参考轮次;
判断所述参考轮次是否满足所述第一证明条件,其中,若所述参考轮次满足所述第一证明条件,则统计节点当前所处的有向无环图中所述目标区块可追溯的锚点区块所具有的第一锚点资格数量和可追溯到所述目标区块且时间戳小于等于所述参考轮次的锚点区块所具有的第二锚点资格数量;其中所述第一证明条件为大于所述时间戳,且小于当前轮次;
根据所述第一锚点资格数量与所述第二锚点资格数量分别对应输出第一轮次证明和第二轮次证明。
5.如权利要求4所述的安全分布式时间管理方法,其特征在于,通过验证算法对所述轮次证明进行参数解析以判断所述时间戳的有效性,若所述时间戳有效则完成当前的时间戳管理的过程,包括:
根据时间戳算法输出的时间戳、所述第一轮次证明与所述第二轮次证明及其对应的参考轮次获取轮次输入参数;通过所述验证算法对所述轮次输入参数进行资格验算;
若通过所述资格验算,则基于预设的有效检验算法对与所述轮次输入参数相对应的时间戳进行有效性验证,若所述时间戳通过所述有效性验证则所述时间戳为有效状态,完成当下所述时间戳的管理。
6.一种安全分布式时间管理系统,实现如权利要求1-5任一所述的安全分布式时间管理方法,包括:
初始搭建模块,用于对各个节点进行协议初始化处理,使各个节点对哈希算法的参数的选择达成共识,并根据预设的单轮时间按轮次执行所述协议;
对应输出模块,用于基于所述协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图;其中,所述哈希算法中的哈希值作为所述有向无环图各区块的指针;并且,用于基于所述有向无环图通过时间戳算法输出所述记录的时间戳,通过证明算法输出用于验证时间戳与记录的轮次证明;
其中,所述对应输出模块包括:
状态更新单元,用于初始化DAG链和待定区块序列,基于协议中的状态算法接收需要登记时间戳的记录,将所述记录封装为区块并广播,且实时接收其他节点产生的区块,并将所述区块连接为有向无环图,以实时更新有向无环图中区块的状态,并接收新的区块和需要登记时间戳的记录;其中,接收其他节点产生的区块的过程,包括:接收其他节点广播的区块,并判断所述区块在所在的当前轮次中是否有效,若有效,则按照轮次升序将所述区块插入所述待定区块序列以形成新待定区块序列;将所述新待定区块序列中的区块按照所述轮次升序依次有条件地移入所述DAG链中,并将移入所述DAG链中的区块逐个广播;在实时接收其他节点产生的区块的过程中,产生新区块的过程,包括:生成当前节点在当前轮次时的锚点资格证明和随机数;根据所述随机数判断所述当前节点是否具有锚点资格,并判断是否有需要登记时间戳的记录;若所述当前节点具有锚点资格,或有需要登记时间戳的记录,则寻找所述DAG链中所有非本轮次的末端区块的哈希指纹以形成哈希指纹序列,并将所述哈希指纹序列作为父母区块哈希指纹序列;根据所述父母区块哈希指纹序列、所述记录的内容和轮次生成本地输入签名;根据所述锚点资格证明、所述记录的内容、当前轮次、当前节点身份标志、所述父母区块哈希指纹序列与所述本地输入签名计算所述哈希指纹;根据所述锚点资格证明、所述记录的内容、所述当前轮次、所述当前节点身份标志、所述父母区块哈希指纹序列、所述本地输入签名和所述哈希指纹生成新区块;将所述新区块加入到所述DAG链中并广播;
时间戳输出单元,用于通过所述协议中的时间戳算法输出所述记录的时间戳;
轮次证明单元,用于通过所述协议中的证明算法输出用于验证所述时间戳与所述记录的轮次证明;
有效验证模块,用于通过验证算法对轮次证明进行参数解析以判断时间戳的有效性,若时间戳有效则完成当前的时间戳管理。
CN202111508147.8A 2021-12-10 2021-12-10 安全分布式时间管理方法、系统 Active CN114422137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111508147.8A CN114422137B (zh) 2021-12-10 2021-12-10 安全分布式时间管理方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111508147.8A CN114422137B (zh) 2021-12-10 2021-12-10 安全分布式时间管理方法、系统

Publications (2)

Publication Number Publication Date
CN114422137A CN114422137A (zh) 2022-04-29
CN114422137B true CN114422137B (zh) 2024-04-30

Family

ID=81266007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111508147.8A Active CN114422137B (zh) 2021-12-10 2021-12-10 安全分布式时间管理方法、系统

Country Status (1)

Country Link
CN (1) CN114422137B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830260A (zh) * 2019-09-27 2020-02-21 电子科技大学 一种基于区块链的数字签名的时间戳生成方法
JP2020108023A (ja) * 2018-12-27 2020-07-09 株式会社東京技術計算コンサルタント コンテンツ時刻証明システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523153B (zh) * 2020-07-03 2020-11-17 支付宝(杭州)信息技术有限公司 一种区块生成方法及共识节点

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020108023A (ja) * 2018-12-27 2020-07-09 株式会社東京技術計算コンサルタント コンテンツ時刻証明システム
CN110830260A (zh) * 2019-09-27 2020-02-21 电子科技大学 一种基于区块链的数字签名的时间戳生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链在物联网中的应用态势分析;闾海荣等;数据与计算发展前沿;20210228;第3卷(第1期);第34-43页 *

Also Published As

Publication number Publication date
CN114422137A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
JP7184959B2 (ja) ネットワーク内の分散データベースのための方法及び装置
JP7211943B2 (ja) イベントの削除を可能にする分散データベースのための方法および装置
CN109889497B (zh) 一种去信任的数据完整性验证方法
KR20200096790A (ko) 증명 검증에 기초하여 오프-체인 데이터를 인증하기 위한 시스템 및 방법
Shu et al. Blockchain-based decentralized public auditing for cloud storage
KR102170820B1 (ko) 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 시스템
CN110417502B (zh) 一种区块链节点时钟共识方法及装置
EP3811259A1 (en) Method for signing a new block in a decentralized blockchain consensus network
CN111597590B (zh) 一种基于区块链的数据完整性快速检验方法
Wan et al. Electronic contract signing without using trusted third party
US10887104B1 (en) Methods and systems for cryptographically secured decentralized testing
US11409907B2 (en) Methods and systems for cryptographically secured decentralized testing
CN113037479B (zh) 数据验证方法和装置
Zhang et al. Provably secure cloud storage for mobile networks with less computation and smaller overhead
WO2021150238A1 (en) Remote attestation
Wu et al. Distributed Timestamp Mechanism Based on Verifiable Delay Functions.
JP2022551874A (ja) セキュアな共生(Symbiosis)マイニングのための方法および装置
Fiore et al. Multi‐key homomorphic authenticators
CN114422146A (zh) 一种区块链主节点匿名排序方法
CN114422137B (zh) 安全分布式时间管理方法、系统
Hameed et al. Towards a formal modelling, analysis and verification of a clone node attack detection scheme in the internet of things
US11831749B1 (en) Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain
Qi et al. Blockchain-Based Light-Weighted Provable Data Possession for Low Performance Devices.
CN105956490A (zh) 一种在网络环境中生成、维护可信数据的方法
CN112636904B (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