CN111740833B - 一种区块链网络的签名方法、节点、系统及存储介质 - Google Patents
一种区块链网络的签名方法、节点、系统及存储介质 Download PDFInfo
- Publication number
- CN111740833B CN111740833B CN201910305972.4A CN201910305972A CN111740833B CN 111740833 B CN111740833 B CN 111740833B CN 201910305972 A CN201910305972 A CN 201910305972A CN 111740833 B CN111740833 B CN 111740833B
- Authority
- CN
- China
- Prior art keywords
- braille
- node
- signature
- information
- consensus
- 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
Classifications
-
- 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/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
- H04L9/3257—Cryptographic 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 digital signatures using blind signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种区块链网络的签名方法、节点、系统和存储介质,该方法应用于第一共识节点,第一共识节点表征共识节点中的一个节点,该方法包括:当接收到签名请求节点发送的N份盲文信息时,从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数;接收第二共识节点发送的第二替换原文,第二共识节点表征共识节点中除第一共识节点之外的全部节点;根据第一替换原文和第二替换原文,得到待签名盲文;当对待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络,使得签名节点根据验证区块对待签名盲文进行签名。
Description
技术领域
本发明涉及区块链网络的签名技术,尤其涉及一种区块链网络的签名方法、节点、系统及存储介质。
背景技术
随着计算机网络技术和信息技术的迅速发展,信息安全变的越来越重要。数字签名因能够对信息的完整性和来源进行认证,在信息安全领域得到了广泛应用。然而,随着签名技术在电子商务、军事、通信等领域的深入应用,普通的数字签名已无法满足特殊的需求。盲签名作为一种特殊类型的数字签名,具有保证签名请求者的匿名性和待签名信息的保密性的功能,成为了电子商务、军事、通信等领域的常用的签名方式。
现有技术中,在进行盲签名时,签名请求者将待签名信息进行盲化,得到多份由盲文和对应的盲因子构成的盲文信息,并将多份盲文信息中的部分盲文信息发送至签名者进行约定验证,当约定验证通过时,签名者从多份盲文信息中的剩余盲文信息抽取一份进行盲签名。然而,在上述盲签名的实现过程中,签名请求者与签名者通过点对点交互实现盲签名,而点对点交互会增加中间人攻击概率,因此,盲签名的安全性低。
发明内容
为解决上述技术问题,本发明实施例期望提供一种区块链网络的签名方法、节点、系统及存储介质,能够提升盲签名的安全性。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种区块链网络的签名方法,应用于第一共识节点,所述第一共识节点表征共识节点中的一个节点,所述方法包括:
当接收到签名请求节点发送的N份盲文信息时,从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数;
接收第二共识节点发送的第二替换原文,所述第二共识节点表征所述共识节点中除所述第一共识节点之外的全部节点,所述第二替换原文表征所述第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;
根据所述第一替换原文和所述第二替换原文,得到待签名盲文;
当对所述待签名盲文达成共识时,将所述待签名盲文通过验证区块存储至区块链网络,使得签名节点根据所述验证区块对所述待签名盲文进行签名。
在上述方案中,所述根据所述第一替换原文和所述第二替换原文,得到待签名盲文,包括:
根据预设共识算法对所述第一替换原文和所述第二替换原文进行验证组合处理,得到原文;
根据所述预设共识算法将剩余盲文信息中的盲因子删除,得到剩余盲文,所述剩余盲文信息表征所述N份盲文信息中除所述原文对应的盲文信息之外的盲文信息;
将所述原文和所述剩余盲文作为所述待签名盲文。
在上述方案中,所述从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,包括:
从所述N份盲文信息中随机选择一份盲文信息,作为待替换盲文信息;
获取所述待替换盲文信息的待替换盲文和待替换盲因子;
根据所述待替换盲因子对所述待替换盲文进行去盲化处理,得到所述第一替换原文。
在上述方案中,所述根据预设共识算法对所述第一替换原文和所述第二替换原文进行验证组合处理,得到原文,包括:
在所述第一替换原文和所述第二替换原文中,对替换原文对应的盲文进行对比,得到盲文对比结果;
将所述盲文对比结果中盲文不同的替换原文作为所述原文。
在上述方案中,所述共识节点的数量M小于N,M为正整数。
在上述方案中,所述第一替换原文的数量和所述第二替换原文的数量的总和为M。
第二方面,本发明实施例提供了一种区块链网络的签名方法,应用于签名节点,所述方法包括:
当在区块链网络中检测到验证区块时,从所述验证区块中获取待签名盲文;
根据预设验证信息对所述待签名盲文中的原文进行验证;
当对所述原文验证通过时,对所述待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;
将所述盲签名信息通过签名区块存储至所述区块链网络。
第三方面,本发明实施例提供了一种区块链网络的签名方法,应用于签名请求节点,所述方法包括:
当获取到待签名原文时,对所述待签名原文进行盲化处理,得到N份盲文信息,N为正整数;
将所述N份盲文信息发送至共识节点,使得通过所述共识节点对所述N份盲文信息执行共识处理;
当在区块链网络中检测到签名区块时,从所述签名区块中获取盲签名信息,完成签名流程,所述签名区块表征签名节点根据所述共识节点对所述N份盲文信息共识处理结果生成的区块。
第四方面,本发明实施例提供了一种区块链网络的签名系统,所述系统包括签名请求节点、第一共识节点和签名节点,所述第一共识节点表征共识节点中的一个节点;
所述签名请求节点,用于当获取到待签名原文时,对所述待签名原文进行盲化处理,得到N份盲文信息,N为正整数;将所述N份盲文信息发送至共识节点;
所述第一共识节点,用于当接收到签名请求节点发送的N份盲文信息时,从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文;接收第二共识节点发送的第二替换原文,所述第二共识节点表征所述共识节点中除所述第一共识节点之外的全部节点,所述第二替换原文表征所述第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;根据所述第一替换原文和所述第二替换原文,得到待签名盲文;当对所述待签名盲文达成共识时,将所述待签名盲文通过验证区块存储至区块链网络;
所述签名节点,用于当在所述区块链网络中检测到验证区块时,从所述验证区块中获取所述待签名盲文;根据预设验证信息对所述待签名盲文中的原文进行验证;当对所述原文验证通过时,对所述待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;将所述盲签名信息通过签名区块存储至所述区块链网络;
所述签名请求节点,还用于当在所述区块链网络中检测到所述签名区块时,从所述签名区块中获取所述盲签名信息,完成签名流程。
第五方面,本发明实施例提供了一种第一共识节点,所述第一共识节点包括:
接收器;
第一存储器,用于存储可执行指令;
第一通信总线,用于实现所述接收器和所述第一存储器与第一处理器的通信;
所述第一处理器,用于执行所述第一存储器中存储的可执行指令,以实现如上述所述的区块链网络的签名方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有指令,应用于第一共识节点,所述指令被第一处理器执行时实现上述任一项所述的区块链网络的签名方法。
第七方面,本发明实施例提供了一种签名节点,所述签名节点包括:
第二存储器,用于存储可执行指令;
第二通信总线,用于实现所述第二存储器与第二处理器的通信;
所述第二处理器,用于执行所述第二存储器中存储的可执行指令,以实现如上述所述的区块链网络的签名方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有指令,应用于签名节点,所述指令被第二处理器执行时实现上述区块链网络的签名方法。
第九方面,本发明实施例提供了一种签名请求节点,所述签名请求节点包括:
发送器;
第三存储器,用于存储可执行指令;
第三通信总线,用于实现所述发送器和所述第三存储器与第三处理器的通信;
所述第三处理器,用于执行所述存储器中存储的可执行指令,以实现如上述所述的区块链网络的签名方法。
第十方面,本发明实施例提供了一种计算机可读存储介质,其上存储有指令,应用于签名请求节点,所述指令被第三处理器执行时实现如上述所述的区块链网络的签名方法。
本发明实施例提供了一种区块链网络的签名方法、节点、系统及存储介质,当区块链网络的签名方法应用于第一共识节点时,首先,当接收到签名请求节点发送的N份盲文信息时,从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数;其次,接收第二共识节点发送的第二替换原文,第二共识节点表征共识节点中除第一共识节点之外的全部节点,第二替换原文表征第二共识节点中的每个节点从N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;然后,根据第一替换原文和第二替换原文,得到待签名盲文;最后,当对待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络,使得签名节点根据验证区块对待签名盲文进行签名。采用上述技术实现方案,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
附图说明
图1本发明实施例提供的区块链网络的组织架构示意图;
图2是本发明实施例提供的共识节点一个可选的结构示意图;
图3为本发明实施例提供的一种签名系统架构图;
图4为本发明实施例提供的一种应用于第一共识节点的区块链网络的签名方法实现流程图;
图5为本发明实施例提供的一种应用于签名节点的区块链网络的签名方法实现流程图;
图6为本发明实施例提供的一种应用于签名请求节点的区块链网络的签名方法实现流程图;
图7为本发明实施例提供的一种区块链网络的签名方法实现交互图;
图8为本发明实施例提供的一种示例性的区块链网络的签名方法交互图;
图9为本发明实施例提供的一种第一共识节点的结构示意图一;
图10为本发明实施例提供的一种第一共识节点的结构示意图二;
图11为本发明实施例提供的一种签名节点的结构示意图一;
图12为本发明实施例提供的一种签名节点的结构示意图二;
图13为本发明实施例提供的一种签名请求节点的结构示意图一;
图14为本发明实施例提供的一种签名请求节点的结构示意图二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)区块(Block),记录一段时间内交易所更新的账本数据的数据结构,被标记上时间戳和之前一个区块的独特标记(例如数字指纹),区块经过区块链网络中节点的共识验证后,会被追加到区块链的末尾成为新的区块。
2)区块链(Blockchain),区块以顺序相连的方式组合成的一种链式数据结构,在每个区块中引用前一个区块或者其子集的哈希值,从而以密码学的方式保证所记录交易的防篡改和防伪造。
3)区块链网络,通过共识的方式将新区块纳入区块链的一系列的、无中心的节点的集合。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对交易结果达成一致,实现共识的机制包括工作量证明(PoW)、权益证明(PoS,Proof ofStake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proofof Elapsed Time)等。
5)交易(Transaction),等同于计算机术语“事务”,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。在采用基于账户模型的区块链网络中,交易包括三种不同的交易类型:部署(Deploy),调用(Invoke)和查询(Query)。部署交易用于向区块链网络的节点安装指定的链码,调用和查询类型的交易用于调用部署好的链码,以实现对账本中的目标账户的相关数据的操作,包括增、查、改的操作修改账户中的键值(Key-Value)对形式的数据,或者在账本中增加新的账户。
下面说明实现本发明实施例的区块链网络中节点的示例性的功能架构,参见图1,图1是本发明实施例提供的区块链网络的组织架构示意图,区块链网络100包括至少两个节点110,作为示例,图1中仅示出了节点110-1和节点110-2。
在一些实施例中,区块链网络100中的节点根据功能进行了分类;以基于超级账本的区块链网络为例,可以包括背书节点、记账节点、排序服务节点和主节点。
下面说明实现本发明实施例的区块链网络的节点的示例性结构,可以理解地,区块链网络100中的任一类型的节点的硬件结构可以根据下文说明的硬件结构而实施。
参见图2,图2是本发明实施例提供的共识节点一个可选的结构示意图,节点110可以是一个或多个服务器,根据节点110的结构,可以预见节点110的其他的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用场景的特殊需求。
图2所示的节点110包括:至少一个处理器1101、存储器1104和至少一个网络接口1102。节点110中的各个组件通过总线系统1103耦合在一起。可理解,总线系统1103用于实现这些组件之间的连接通信。总线系统1103除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统1103。
存储器1104可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例描述的存储器1104旨在包括这些和任意其它适合类型的存储器。
处理器1101可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器1104能够存储可执行指令以支持节点110的操作,这些可执行指令的示例包括:用于在节点110上操作的程序、插件和脚本等各种形式的软件模块,程序例如可以包括操作系统和应用程序,其中,操作系统包含各种系统程序和驱动程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含实现节点110各种功能的程序。
结合上文可知,实现本发明实施例的区块链网络通过提供为一系列的存储器和处理器的形式,在存储器中存储有可执行指令,当可执行指令被处理器执行时,在运行处理器和存储器的多个机器部署有与业务主体的角色相适配的共识节点,当然还可以部署有其他类型的节点。
作为本发明实施例提供的区块链部署方法采用软硬件结合实施的示例,本发明实施例所提供的区块链部署方法可以直接体现为由处理器1101执行的上述不同形式的软件模块,软件模块可以位于存储介质中,存储介质位于存储器1104,处理器1101读取存储器1104中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器1101以及连接到总线系统1103的其他组件)完成节点110的功能。
图3为本发明实施例提供的一种签名系统架构图,本发明实施例提出的一种区块链网络的签名方法是基于该签名系统架构实现的。如图3所示,本发明实施例中的签名系统200属于区块链网络中的系统,该签名系统200包括:签名请求节点210、共识节点220和签名节点230。其中,签名请求节点210、共识节点220和签名节点230为区块链网络中的节点,签名请求节点210、共识节点220和签名节点230中两两之间互相建立了通信连接;当签名请求节点210、共识节点220和签名节点230之间进行数据交互时,来实现本发明实施例提供的区块链网络的签名方法。
基于上述区块链网络和签名系统,提出本发明的各个实施例。
实施例一
本发明实施例提供了一种区块链网络的签名方法,应用于第一共识节点,其中,第一共识节点表征共识节点中的一个节点;图4为本发明实施例提供的一种应用于第一共识节点的区块链网络的签名方法实现流程图,如图4所示,该应用于第一共识节点的区块链网络的签名方法包括:
S101、当接收到签名请求节点发送的N份盲文信息时,从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数。
在本发明实施例中,由共识节点对签名请求节点的待签名原文的真实数据进行验证,其中,共识节点包括第一共识节点和第二共识节点;具体地,当签名请求节点将对待签名原文处理后获得的N份盲文信息发送至共识节点时,第一共识节点即接收到了签名请求节点发送的N份盲文信息,此时,第一共识节点从N份盲文信息中选择一份盲文信息进行去盲化处理,从而得到与选择的盲文信息中的盲文对应的原文,即第一替换原文。这里,N为正整数。
需要说明的是,在进行盲签名时,由于签名者需在不知道签名请求者的待签名原文的真实数据时进行签名,却需对签署的待签名原文的真实数据负责,因此,在保证待签名原文的隐私性的情况下,签名者有权限“知晓”所签署的待签名原文的真实数据。如此,本发明实施例提供了一种在区块链网络中进行待签名原文的真实数据进行验证的签名方案。这里,在区块链网络中,签名请求者为签名请求节点,签名者为签名节点,对待签名原文的真实数据进行验证的节点为共识节点,其中,共识节点包括第一共识节点;并且,在区块链网络中进行盲签名时,由签名请求节点、共识节点和签名节点共同完成;而签名请求节点、共识节点和签名节点均为区块链网络的节点,具体可以终端、服务器、或其他设备,本发明实施例对此不作具体限定。
这里,N份盲文信息是签名请求节点对待签名原文进行盲化处理后的信息,比如,N份盲文信息中的每份盲文信息包括盲文和盲因子,从而N份盲文信息为:盲文A和盲因子A,盲文B和盲因子B,……,盲文N和盲因子N。而第一共识节点从N份盲文信息中选择一份盲文信息进行去盲化处理得到第一替换原文时,比如,第一共识节点从“盲文A和盲因子A,盲文B和盲因子B,……,盲文N和盲因子N”选择“盲文N和盲因子N”,从而得到盲文N对应的原文(第一替换原文)。
具体地,第一共识节点去盲化处理的过程参见后续步骤中的详细阐述。
S102、接收第二共识节点发送的第二替换原文,第二共识节点表征共识节点中除第一共识节点之外的全部节点,第二替换原文表征第二共识节点中的每个节点从N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合。
在本发明实施例中,签名请求节点将N份盲文信息发送给共识节点,而共识节点还包括第二共识节点,第二共识节点中的每个节点从对N份盲文信息中选择一份盲文信息进行去盲化处理,并将去盲化的结果所构成的集合作为第二替换原文发送至第一共识节点以实现对N份盲文信息的共识或验证,此时,第一共识节点就接收到了第二共识节点发送的第二替换原文。
需要说明的是,第二共识节点表征共识节点中除第一共识节点之外的全部节点,也就是说,第一共识节点和第二共识节点共同构成了本发明实施例中对N份盲文信息进行共识或验证的共识节点。另外,第二替换原文表征第二共识节点中的每个节点从N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合,也就是说,第二共识节点中的每个节点在接收到签名请求节点发送的N份盲文信息之后,从该N份盲文信息中选择一份进行去盲化处理,从而得到去盲化的结果所构成的集合即第二替换原文。
进一步地,在本发明实施例中,共识节点的数量为M,M小于N,其中,M为正整数。
相应地,由于第一共识节点和第二共识节点共同构成了本发明实施例中对N份盲文信息进行共识或验证的共识节点,而第一共识节点和第二共识节点均是从N份盲文信息中选择一份进行去盲化处理得到对应的替换原文,因此,当共识节点的数量为M时,第一替换原文的数量和第二替换原文的数量的总和为M。
可以理解的是,由于共识节点的数量小于盲文信息的数量,从而使得共识节点对盲文信息进行去盲化处理后,仍能够保证存在未被去盲化的盲化信息供签名节点进行签名。
还需要说明的是,S101中第一共识节点从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,与S102在执行顺序上没有先后顺序。
S103、根据第一替换原文和第二替换原文,得到待签名盲文。
在本发明实施例中,第一替换原文和第二替换原文表征对N份盲文信息中的盲文进行替换的原文,因此,第一共识节点根据第一替换原文和第二替换原文能够获得由原文和剩余盲文组成的待签名盲文。
需要说明的是,待签名盲文表征由签名节点进行盲签名时向签名节点提供的信息。对应于N份盲文信息,待签名盲文也包含N份信息,其中,这N份信息由原文和剩余盲文构成,即原文的数量和剩余盲文的数量的总和为N。
具体地,第一共识节点根据第一替换原文和第二替换原文获得待签名盲文的过程参见后续步骤中的详细阐述。
S104、当对待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络,使得签名节点根据验证区块对待签名盲文进行签名。
在本发明实施例中,共识节点对待签名盲文进行共识,当共识节点对该待签名盲文未达成共识时,结束签名流程;当第一共识节点确定共识节点对该待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络,完成验证区块的上链,从而使得签名节点根据验证区块对待签名盲文进行签名,进而完成对待签名原文的盲签名。
需要说明的是,当对待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络的执行主体还可以为共识节点的全部节点,又可以为第二共识节点,本发明实施例对此不作具体限定。
可以理解的是,在区块链网络中由签名请求节点、共识节点和签名节点进行待签名原文的盲签名,如此,签名请求节点与签名节点并不是点对点交互,一方面有效屏蔽掉了中间人攻击,另一方面,避免了签名请求节点与签名节点点对点交互时针对对方的习惯等行为进行针对性的盲化处理或破解盲文的不安全性操作。
进一步地,在本发明实施例中,S101中第一共识节点从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,具体包括S101a-S101c,其中:
S101a、从N份盲文信息中随机选择一份盲文信息,作为待替换盲文信息。
在本发明实施例中,第一共识节点在从N份盲文信息中选择一份盲文信息进行去盲化处理时,具体是从N份盲文信息中随机选择一份盲文信息,并将选择的该份盲文信息作为待替换盲文信息。这里,待替换盲文信息表征要进行去盲化处理的盲文信息。
S101b、获取待替换盲文信息的待替换盲文和待替换盲因子。
在本发明实施例中,由于N份盲文信息中的每份盲文信息均由盲文和盲因子构成,因此,待替换盲文信息作为N份盲文信息中的一份盲文信息,第一共识节点能够获取到待替换盲文信息的待替换盲文和待替换盲因子,这里,待替换盲文为待替换盲文信息中的盲文,待替换盲因子为待替换盲文信息中的盲因子。
S101c、根据待替换盲因子对待替换盲文进行去盲化处理,得到第一替换原文。
在本发明实施例中,当第一共识节点在获得了待替换盲文信息的待替换盲文和待替换盲因子之后,就能够根据待替换盲因子对待替换盲文进行去盲化处理,从而得到待替换盲文对应的原文,即得到第一替换原文。
可以理解的是,第一共识节点通过对N份盲文信息中的随机一份盲文信息进行去盲化处理,在减少了工作量的情况下实现了对N份盲文信息的验证,提升了盲签名效率。
进一步地,在本发明实施例中,S103中第一共识节点根据第一替换原文和第二替换原文,得到待签名盲文,具体包括S103a-S103c,其中:
S103a、根据预设共识算法对第一替换原文和第二替换原文进行验证组合处理,得到原文。
在本发明实施例中,共识节点在对N份盲文信息进行处理时,由于第一共识节点对N份盲文信息中的任一盲文信息进行去盲化处理得到第一替换原文,第二共识节点同样对N份盲文信息中的任一盲文信息进行去盲化处理得到第二替换原文,因此,第一替换原文和第二替换原文中可能包含相同盲文对应的替换原文,此时,第一共识节点根据区块链网络中预先设置的预设共识算法对第一替换原文和第二替换原文进行验证组合处理,从而得到对应的盲文不同的替换原文,即原文。
S103b、根据预设共识算法将剩余盲文信息中的盲因子删除,得到剩余盲文,剩余盲文信息表征N份盲文信息中除原文对应的盲文信息之外的盲文信息。
在本发明实施例中,当第一共识节点在确定了N份盲文中被替换的盲文对应的原文之后,即确定了N份盲文信息中进行去盲化处理之后的盲文信息,调用预设共识算法,将N份盲文信息中未进行去盲化处理的盲文信息中的盲因子进行删除,从而得到剩余盲文。这里,剩余盲文信息表征N份盲文信息中除原文对应的盲文信息之外的盲文信息。
S103c、将原文和剩余盲文作为待签名盲文。
在本发明实施例中,第一共识节点在获得原文和剩余盲文之后,将原文和剩余盲文作为待签名盲文。
更进一步地,在本发明实施例中,S103a中第一共识节点根据预设共识算法对第一替换原文和第二替换原文进行验证组合处理,得到原文,具体包括S103a1-S103a2,其中:
S103a1、在第一替换原文和第二替换原文中,对替换原文对应的盲文进行对比,得到盲文对比结果。
在本发明实施例中,由于第一替换原文和第二替换原文中可能包含相同的盲文对应的替换原文,第一共识节点将第一替换原文和第二替换原文中的替换原文对应的盲文进行对比,从而得到表征替换原文对应的盲文是否一致的盲文对比结果。这里,相同的盲文获得的替换原文一致。
S103a2、将盲文对比结果中盲文不同的替换原文作为原文。
在本发明实施例中,当第一共识节点获得盲文对比结果之后,将盲文对比结果中盲文不同的替换原文作为原文。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
实施例二
本发明实施例又提供了一种区块链网络的签名方法,应用于签名节点;图5为本发明实施例提供的一种应用于签名节点的区块链网络的签名方法实现流程图,如图5所示,该应用于签名节点的区块链网络的签名方法包括:
S201、当在区块链网络中检测到验证区块时,从验证区块中获取待签名盲文。
在本发明实施例中,当共识节点完成对N份盲文信息的验证处理之后,将根据N份盲文信息生成的待签名盲文通过验证区块存储至区块链网络中时,签名节点则能在区块链网络中检测待该验证区块,此时,签名节点从该验证区块中取出待签名盲文进行验证和签名。
需要说明的是,待签名盲文由原文和剩余盲文组成,而原文为N份盲文信息中被共识节点进行去盲化处理之后的至少一个盲文信息对应的原文,剩余盲文为N份盲文信息中未被共识节点进行去盲化处理的盲文信息对应的盲文;这里,N份盲文信息指签名请求节点对待签名原文进行盲化处理之后获得的信息,N为正整数。并且,在区块链网络中进行盲签名时,由签名请求节点、共识节点和签名节点共同完成;而签名请求节点、共识节点和签名节点均为区块链网络的节点,具体可以终端、服务器、或其他设备,本发明实施例对此不作具体限定。
S202、根据预设验证信息对待签名盲文中的原文进行验证。
在本发明实施例中,签名节点在获得待签名盲文之后,由于待签名盲文由原文和剩余盲文组成,签名节点从待签名盲文中获取原文,并根据与签名请求节点预先约定的预设验证信息对该原文进行验证,得到验证结果。这里,验证结果表征验证通过或者验证未通过两种结果。
S203、当对原文验证通过时,对待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息。
在本发明实施例中,当签名节点对原文的验证未通过时,结束签名流程;当签名节点对原文的验证通过时,从待签名盲文中获取剩余盲文,并从剩余盲文中随机选择至少一个盲文进行签名,从而得到所述至少一个盲文对应的盲签名信息。这里,盲签名信息表征签名节点对待签名节点进行盲签名获得的签名信息。
S204、将盲签名信息通过签名区块存储至区块链网络。
在本发明实施例中,当签名节点完成对待签名盲文中的剩余盲文的盲签名之后,将生成的盲签名信息通过签名区块存储至区块链网络。
优选地,签名节点将盲签名信息通过签名区块存储区块链网络时,将签名节点进行盲签名时随机选择的至少一个盲文也通过签名区块存储区块链网络。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
实施例三
本发明实施例还提供了一种区块链网络的签名方法,应用于签名请求节点;
图6为本发明实施例提供的一种应用于签名请求节点的区块链网络的签名方法实现流程图,如图6所示,该应用于签名请求节点的区块链网络的签名方法包括:
S301、当获取到待签名原文时,对待签名原文进行盲化处理,得到N份盲文信息,N为正整数。
在本发明实施例中,区块链网络中的签名请求节点请求对待签名原文进行盲签名时,签名请求节点对待签名原文进行获取,并对获取到的待签名原文进行盲化处理,从而得到N份盲文信息,N为正整数。
需要说明的是,签名请求节点对待签名盲文进行盲化处理时,采用现有技术中的盲化技术,本发明实施例在此不再赘述。另外,这里,N份盲文信息是签名请求节点对待签名原文进行盲化处理后的信息,比如,N份盲文信息中的每份盲文信息包括盲文和盲因子,此时,N份盲文信息为:盲文A和盲因子A,盲文B和盲因子B,……,盲文N和盲因子N。
可以理解的是,在进行盲签名时,由于签名者需在不知道签名请求者的待签名原文的真实数据时进行签名,因此,签名请求节点对待签名原文进行盲化处理,从而保证待签名原文的隐私性。
S302、将N份盲文信息发送至共识节点,使得通过共识节点对N份盲文信息执行共识处理。
在本发明实施例中,在区块链网络中由签名请求节点、共识节点和签名节点共同完成对待签名原文的盲签名,因此,当签名请求节点将对待签名原文盲化处理后获得的N份盲文信息发送至共识节点进行验证。
S303、当在区块链网络中检测到签名区块时,从签名区块中获取盲签名信息,完成签名流程,签名区块表征签名节点根据共识节点对N份盲文信息共识处理结果生成的区块。
在本发明实施例中,当签名请求节点将N份盲文信息发送至共识节点执行共识处理之后,经过共识节点的共识处理之后在区块链网络中产生对应的验证区块,以及在签名节点完成盲签名处理之后会根据验证区块生成签名区块,也就是说,签名区块表征签名节点根据共识节点对N份盲文信息共识处理结果生成的区块;此时,签名请求节点能够在区块链网络中检测到该签名区块,从而从该签名区块中获取盲签名信息,完成签名流程。
进一步地,在本发明实施例中,签名请求节点从签名区块中获取到的信息还包括盲签名信息对应的至少一个盲文,从而,签名请求节点根据该至少一个盲文对应的盲因子对盲签名信息进行去盲化处理,进而获取到待签名原文的签名。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
实施例四
本发明实施例提供了一种区块链网络的签名系统,系统包括签名请求节点、第一共识节点和签名节点,第一共识节点表征共识节点中的一个节点;
签名请求节点,用于当获取到待签名原文时,对待签名原文进行盲化处理,得到N份盲文信息,N为正整数;将N份盲文信息发送至共识节点。
第一共识节点,用于当接收到签名请求节点发送的N份盲文信息时,从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文;接收第二共识节点发送的第二替换原文,第二共识节点表征共识节点中除第一共识节点之外的全部节点,第二替换原文表征第二共识节点中的每个节点从N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;根据第一替换原文和第二替换原文,得到待签名盲文;当对待签名盲文达成共识时,将待签名盲文通过验证区块存储至区块链网络。
签名节点,用于当在区块链网络中检测到验证区块时,从验证区块中获取待签名盲文;根据预设验证信息对待签名盲文中的原文进行验证;当对原文验证通过时,对待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;将盲签名信息通过签名区块存储至区块链网络。
签名请求节点,还用于当在区块链网络中检测到签名区块时,从签名区块中获取盲签名信息,完成签名流程。
图7为本发明实施例提供的一种区块链网络的签名方法实现交互图,如图7所示,该区块链网络的签名方法包括:
S401、当获取到待签名原文时,签名请求节点对待签名原文进行盲化处理,得到N份盲文信息,N为正整数。
需要说明的是,S401实现过程的描述与实施例三中S301实现过程的描述一致,本发明实施例在此不再赘述。
S402、签名请求节点将N份盲文信息发送至共识节点。
需要说明的是,S402实现过程的描述与实施例三中S302实现过程的描述一致,本发明实施例在此不再赘述。
S403、第一共识节点从N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数。
需要说明的是,S403实现过程的描述与实施例一中S101实现过程的描述一致,本发明实施例在此不再赘述。
S404、第一共识节点接收第二共识节点发送的第二替换原文,第二共识节点表征共识节点中除第一共识节点之外的全部节点,第二替换原文表征第二共识节点中的每个节点从N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合。
需要说明的是,S404实现过程的描述与实施例一中S102实现过程的描述一致,本发明实施例在此不再赘述。
S405、第一共识节点根据第一替换原文和第二替换原文,得到待签名盲文。
需要说明的是,S405实现过程的描述与实施例一中S103实现过程的描述一致,本发明实施例在此不再赘述。
S406、当对待签名盲文达成共识时,第一共识节点将待签名盲文通过验证区块存储至区块链网络。
需要说明的是,S406实现过程的描述与实施例一中S104实现过程的描述一致,本发明实施例在此不再赘述。
S407、当签名节点在区块链网络中检测到验证区块时,从验证区块中获取待签名盲文。
需要说明的是,S407实现过程的描述与实施例二中S201实现过程的描述一致,本发明实施例在此不再赘述。
S408、签名节点根据预设验证信息对待签名盲文中的原文进行验证。
需要说明的是,S408实现过程的描述与实施例二中S202实现过程的描述一致,本发明实施例在此不再赘述。
S409、当签名节点对原文验证通过时,对待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息。
需要说明的是,S409实现过程的描述与实施例二中S203实现过程的描述一致,本发明实施例在此不再赘述。
S410、签名节点将盲签名信息通过签名区块存储至区块链网络。
需要说明的是,S410实现过程的描述与实施例二中S204实现过程的描述一致,本发明实施例在此不再赘述。
S411、当签名请求节点在区块链网络中检测到签名区块时,从签名区块中获取盲签名信息,完成签名流程。
需要说明的是,S411实现过程的描述与实施例三中S303实现过程的描述一致,本发明实施例在此不再赘述。
图8为本发明实施例提供的一种示例性的区块链网络的签名方法交互图,如图8所示:执行该示例性的区块链网络的签名方法的设备包括签名请求节点、共识节点和签名节点,该示例性的区块链网络的签名方法交互步骤为;
S501、签名请求节点对待签名原文进行盲化处理,得到N份盲文信息。
这里,N份盲文信息中的每份盲文信息均包括盲文和盲因子,N份盲文信息具体为:盲文A和盲因子A,盲文B和盲因子B,……,盲文N和盲因子N。另外,N为正整数。
S502、签名请求节点将N份盲文信息作为一个交易提交至共识节点进行交易验证。
S503、共识节点中的各节点收到交易后,随机从N份盲文信息中选择一份盲文信息,并用所选择的盲文信息中的盲因子对所选择的盲文信息中的盲文进行去盲化处理,得到替换原文,以及将替换原文替换掉N份盲文信息中对应的盲文信息,从而得到替换原文和剩余盲文。
这里,共识节点的数量为M,M小于N,M为正整数,替换原文和剩余盲文为一份去盲化处理结果,并且,该去盲化处理结果的数量为M份。每个共识节点将自身对N份盲文信息的去盲化处理结果作为一个交易发布至其他共识节点进行共识处理,如此共识节点就获得了M份去盲化处理结果。
S504、共识节点调用预设共识算法对全部的替换原文进行验证组合,并将剩余盲文信息中的盲因子删除,得到X份原文和Y份盲文(待签名盲文)。
这里,X和Y为正整数,X与Y的和为N,并且X小于等于M。
S505、共识节点对X份原文和Y份盲文执行共识,当共识通过时,将X份原文和Y份盲文通过验证区块存储至区块链网络。
S506、签名节点从验证区块中获取X份原文,并根据预设验证信息对X份原文进行验证。
S507、在对X份原文验证通过时,签名节点从验证区块中获取Y份盲文,并随机从Y份盲文中选择一份盲文进行盲签名,得到盲签名信息。
S508、签名节点将盲签名信息和选择的盲文通过签名区块存储至区块链网络中。
S509、签名请求节点从区块链网络中的签名区块中获取盲签名信息和选择的盲文,根据选择的盲文对应的盲因子对盲签名信息进行去盲化处理,得到待签名原文的签名,完成盲签名流程。
可以理解的是,在区块链网络中由签名请求节点、共识节点和签名节点进行待签名原文的盲签名,如此,签名请求节点与签名节点并不是点对点交互,一方面有效屏蔽掉了中间人攻击,另一方面,避免了签名请求节点与签名节点点对点交互时针对对方的习惯等行为进行针对性的盲化处理或破解盲文的不安全性操作。
还可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,降低了中间人攻击概率,从而提升了盲签名的安全性。
实施例五
基于实施例一同一发明构思,本发明实施例提供了一种第一共识节点221,对应于一种应用于第一共识节点221的区块链网络的签名方法,其中,该第一共识节点221表征共识节点220中的节点,图9为本发明实施例提供的一种第一共识节点的结构示意图一,如图9所示,该第一共识节点221包括:
去盲化单元2210,用于当接收到签名请求节点发送的N份盲文信息时,从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数;
接收单元2211,用于接收第二共识节点发送的第二替换原文,所述第二共识节点表征所述共识节点中除所述第一共识节点之外的全部节点,所述第二替换原文表征所述第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;
处理单元2212,用于根据所述第一替换原文和所述第二替换原文,得到待签名盲文;
第一上链单元2213,用于当对所述待签名盲文达成共识时,将所述待签名盲文通过验证区块存储至区块链网络,使得签名节点根据所述验证区块对所述待签名盲文进行签名。
进一步地,所述处理单元2212,具体用于根据预设共识算法对所述第一替换原文和所述第二替换原文进行验证组合处理,得到原文;并根据所述预设共识算法将剩余盲文信息中的盲因子删除,得到剩余盲文,所述剩余盲文信息表征所述N份盲文信息中除所述原文对应的盲文信息之外的盲文信息;以及将所述原文和所述剩余盲文作为所述待签名盲文。
进一步地,所述去盲化单元2210,具体用于从所述N份盲文信息中随机选择一份盲文信息,作为待替换盲文信息;并获取所述待替换盲文信息的待替换盲文和待替换盲因子;以及根据所述待替换盲因子对所述待替换盲文进行去盲化处理,得到所述第一替换原文。
进一步地,所述处理单元2212,还具体用于在所述第一替换原文和所述第二替换原文中,对替换原文对应的盲文进行对比,得到盲文对比结果;并将所述盲文对比结果中盲文不同的替换原文作为所述原文。
进一步地,所述共识节点的数量M小于N,M为正整数。
相应地,所述第一替换原文的数量和所述第二替换原文的数量的总和为M。
需要说明的是,在实际应用中,上述去盲化单元2210、处理单元2212和第一上链单元2213可由位于第一共识节点221上的第一处理器2214实现,具体为CPU(CentralProcessing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(DigitalSignal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field ProgrammableGate Array)等实现;上述接收单元2211可由位于第一共识节点221上的接收器2215实现。
本发明实施例还提供了一种第一共识节点221,如图10所示,所述第一共识节点221包括:接收器2215、第一处理器2214、第一存储器2216和第一通信总线2217,所述接收器2215和所述第一存储器2216通过所述第一通信总线2217与所述第一处理器2214进行通信,所述第一存储器2216存储所述第一处理器2214可执行的指令,当所述指令被执行时,通过所述第一处理器2214执行如实施例一所述的区块链网络的签名方法。
在实际应用中,上述第一存储器2216可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向第一处理器2214提供指令和数据。
本发明实施例提供了一种计算机可读存储介质,其上存储有指令,应用于第一共识节点221,所述程序被第一处理器2214执行时实现如实施例一所述的区块链网络的签名方法。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
实施例六
基于实施例二同一发明构思,本发明实施例提供了一种签名节点230,对应于一种应用于签名节点的区块链网络的签名方法,图11为本发明实施例提供的一种签名节点的结构示意图一,如图11所示,该签名节点230包括:
第一获取单元2300,用于当在区块链网络中检测到验证区块时,从所述验证区块中获取待签名盲文;
验证单元2301,用于根据预设验证信息对所述待签名盲文中的原文进行验证;
签名单元2302,用于当对所述原文验证通过时,对所述待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;
第二上链单元2303,用于将所述盲签名信息通过签名区块存储至所述区块链网络。
需要说明的是,在实际应用中,上述第一获取单元2300、验证单元2301、签名单元2302和第二上链单元2303可由签名节点230上的第二处理器2304实现,具体为CPU(CentralProcessing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(DigitalSignal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field ProgrammableGate Array)等实现。
本发明实施例还提供了一种签名节点230,如图12所示,所述签名节点230包括:第二处理器2304、第二存储器2305和第二通信总线2306,所述第二存储器2305通过所述第二通信总线2306与所述第二处理器2304进行通信,所述第二存储器2305存储所述第二处理器2304可执行的指令,当所述指令被执行时,通过所述第二处理器2304执行如实施例二所述的区块链网络的签名方法。
在实际应用中,上述第二存储器2305可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向第二处理器2304提供指令和数据。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于签名节点230,所述程序被第二处理器2304执行时实现如实施例二所述的区块链网络的签名方法。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
实施例七
基于实施例三同一发明构思,本发明实施例提供了一种签名请求节点210,对应于一种应用于签名请求节点的区块链网络的签名方法,图13为本发明实施例提供的一种签名请求节点的结构示意图一,如图13所示,该签名请求节点210包括:
盲化单元2100,用于当获取到待签名原文时,对所述待签名原文进行盲化处理,得到N份盲文信息,N为正整数;
发送单元2101,用于将所述N份盲文信息发送至共识节点,使得通过所述共识节点对所述N份盲文信息执行共识处理;
第二获取单元2102,用于当在区块链网络中检测到签名区块时,从所述签名区块中获取盲签名信息,完成签名流程,所述签名区块表征签名节点根据所述共识节点对所述N份盲文信息共识处理结果生成的区块。
需要说明的是,在实际应用中,上述盲化单元2100和第二获取单元2102可由位于签名请求节点210上的第三处理器2105实现,具体为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现;发送单元2101可由位于签名请求节点210上的发送器2104实现。
本发明实施例还提供了一种签名请求节点210,如图14所示,所述签名请求节点210包括:发送器2104、第三处理器2105、第三存储器2106和第三通信总线2107,所述第三存储器2106通过所述第三通信总线2107与所述第三处理器2105进行通信,所述第三存储器2106存储所述第三处理器2105可执行的指令,当所述指令被执行时,通过所述第三处理器2105执行如实施例三所述的区块链网络的签名方法。
在实际应用中,上述第三存储器2106可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向第三处理器2105提供指令和数据。
本发明实施例提供了一种计算机可读存储介质,其上存储有指令,应用于签名请求节点210,所述指令被第三处理器2105执行时实现如实施例三所述的区块链网络的签名方法。
可以理解的是,由于签名请求节点和签名节点通过共识节点实现的盲签名,是一种非点对点实现盲签名的方案,因此,避免了中间人攻击,从而提升了盲签名的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种区块链网络的签名方法,应用于第一共识节点,其特征在于,所述第一共识节点表征共识节点中的一个节点,所述方法包括:
当接收到签名请求节点发送的N份盲文信息时,从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,N为正整数;
接收第二共识节点发送的第二替换原文,所述第二共识节点表征所述共识节点中除所述第一共识节点之外的全部节点,所述第二替换原文表征所述第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;
根据所述第一替换原文和所述第二替换原文,得到待签名盲文;
当对所述待签名盲文达成共识时,将所述待签名盲文通过验证区块存储至区块链网络,使得签名节点根据所述验证区块对所述待签名盲文进行签名。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一替换原文和所述第二替换原文,得到待签名盲文,包括:
根据预设共识算法对所述第一替换原文和所述第二替换原文进行验证组合处理,得到原文;
根据所述预设共识算法将剩余盲文信息中的盲因子删除,得到剩余盲文,所述剩余盲文信息表征所述N份盲文信息中除所述原文对应的盲文信息之外的盲文信息;
将所述原文和所述剩余盲文作为所述待签名盲文。
3.根据权利要求1所述的方法,其特征在于,所述从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文,包括:
从所述N份盲文信息中随机选择一份盲文信息,作为待替换盲文信息;
获取所述待替换盲文信息的待替换盲文和待替换盲因子;
根据所述待替换盲因子对所述待替换盲文进行去盲化处理,得到所述第一替换原文。
4.根据权利要求2所述的方法,其特征在于,所述根据预设共识算法对所述第一替换原文和所述第二替换原文进行验证组合处理,得到原文,包括:
在所述第一替换原文和所述第二替换原文中,对替换原文对应的盲文进行对比,得到盲文对比结果;
将所述盲文对比结果中盲文不同的替换原文作为所述原文。
5.根据权利要求1所述的方法,其特征在于,所述共识节点的数量M小于N,M为正整数。
6.根据权利要求5所述的方法,其特征在于,所述第一替换原文的数量和所述第二替换原文的数量的总和为M。
7.一种区块链网络的签名方法,应用于签名节点,其特征在于,所述方法包括:
当在区块链网络中检测到验证区块时,从所述验证区块中获取待签名盲文;所述待签名盲文是根据第一替换原文和第二替换原文得到的;所述第一替换原文是第一共识节点对N份盲文信息中的一份盲文信息进行去盲化处理而得到的;所述第二替换原文表征第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;所述验证区块用于将达成共识后的待签名盲文存储到所述区块链网络中;
根据预设验证信息对所述待签名盲文中的原文进行验证;
当对所述原文验证通过时,对所述待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;所述剩余盲文表征所述N份盲文信息中除所述原文对应的盲文信息之外的被删除盲因子的盲文信息;
将所述盲签名信息通过签名区块存储至所述区块链网络。
8.一种区块链网络的签名方法,应用于签名请求节点,其特征在于,所述方法包括:
当获取到待签名原文时,对所述待签名原文进行盲化处理,得到N份盲文信息,N为正整数;
将所述N份盲文信息发送至共识节点,使得通过所述共识节点对所述N份盲文信息执行共识处理;
当在区块链网络中检测到签名区块时,从所述签名区块中获取盲签名信息,完成签名流程,所述签名区块表征签名节点根据所述共识节点对所述N份盲文信息共识处理结果生成的区块。
9.一种区块链网络的签名系统,其特征在于,所述系统包括签名请求节点、第一共识节点和签名节点,所述第一共识节点表征共识节点中的一个节点;
所述签名请求节点,用于当获取到待签名原文时,对所述待签名原文进行盲化处理,得到N份盲文信息,N为正整数;将所述N份盲文信息发送至共识节点;
所述第一共识节点,用于当接收到签名请求节点发送的N份盲文信息时,从所述N份盲文信息中选择一份盲文信息进行去盲化处理,得到第一替换原文;接收第二共识节点发送的第二替换原文,所述第二共识节点表征所述共识节点中除所述第一共识节点之外的全部节点,所述第二替换原文表征所述第二共识节点中的每个节点从所述N份盲文信息中选择一份盲文信息进行去盲化处理的结果所构成的集合;根据所述第一替换原文和所述第二替换原文,得到待签名盲文;当对所述待签名盲文达成共识时,将所述待签名盲文通过验证区块存储至区块链网络;
所述签名节点,用于当在所述区块链网络中检测到验证区块时,从所述验证区块中获取所述待签名盲文;根据预设验证信息对所述待签名盲文中的原文进行验证;当对所述原文验证通过时,对所述待签名盲文中剩余盲文的至少一个盲文进行签名,得到盲签名信息;将所述盲签名信息通过签名区块存储至所述区块链网络;
所述签名请求节点,还用于当在所述区块链网络中检测到所述签名区块时,从所述签名区块中获取所述盲签名信息,完成签名流程。
10.一种第一共识节点,其特征在于,所述第一共识节点包括:
接收器;
第一存储器,用于存储可执行指令;
第一通信总线,用于实现所述接收器和所述第一存储器与第一处理器的通信;
所述第一处理器,用于执行所述第一存储器中存储的可执行指令,以实现如权利要求1-6任一项所述的区块链网络的签名方法。
11.一种计算机可读存储介质,其上存储有指令,应用于第一共识节点,其特征在于,所述指令被第一处理器执行时实现如权利要求1-6任一项所述的区块链网络的签名方法。
12.一种签名节点,其特征在于,所述签名节点包括:
第二存储器,用于存储可执行指令;
第二通信总线,用于实现所述第二存储器与第二处理器的通信;
所述第二处理器,用于执行所述第二存储器中存储的可执行指令,以实现如权利要求7所述的区块链网络的签名方法。
13.一种计算机可读存储介质,其上存储有指令,应用于签名节点,其特征在于,所述指令被第二处理器执行时实现如权利要求7所述的区块链网络的签名方法。
14.一种签名请求节点,其特征在于,所述签名请求节点包括:
发送器;
第三存储器,用于存储可执行指令;
第三通信总线,用于实现所述发送器和所述第三存储器与第三处理器的通信;
所述第三处理器,用于执行所述第三存储器中存储的可执行指令,以实现如权利要求8所述的区块链网络的签名方法。
15.一种计算机可读存储介质,其上存储有指令,应用于签名请求节点,其特征在于,所述指令被第三处理器执行时实现如权利要求8所述的区块链网络的签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305972.4A CN111740833B (zh) | 2019-04-16 | 2019-04-16 | 一种区块链网络的签名方法、节点、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305972.4A CN111740833B (zh) | 2019-04-16 | 2019-04-16 | 一种区块链网络的签名方法、节点、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740833A CN111740833A (zh) | 2020-10-02 |
CN111740833B true CN111740833B (zh) | 2023-09-05 |
Family
ID=72645842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910305972.4A Active CN111740833B (zh) | 2019-04-16 | 2019-04-16 | 一种区块链网络的签名方法、节点、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740833B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231330A (ja) * | 1999-02-12 | 2000-08-22 | Nippon Telegr & Teleph Corp <Ntt> | ブラインド署名方法、そのシステム、その装置およびプログラム記録媒体 |
CN102387019A (zh) * | 2011-10-19 | 2012-03-21 | 西安电子科技大学 | 无证书部分盲签名方法 |
CN103780386A (zh) * | 2012-10-23 | 2014-05-07 | 航天信息股份有限公司 | 基于身份的盲签名方法和装置 |
CN104219056A (zh) * | 2014-09-16 | 2014-12-17 | 西安电子科技大学 | 一种智能电网中具有隐私保护的实时电量收集方法 |
CN106656508A (zh) * | 2016-12-27 | 2017-05-10 | 深圳大学 | 一种基于身份的部分盲签名方法和装置 |
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN108898031A (zh) * | 2018-07-17 | 2018-11-27 | 济南浪潮高新科技投资发展有限公司 | 一种基于ecc算法的盲签名的区块链设计方法 |
CN109274501A (zh) * | 2018-10-25 | 2019-01-25 | 广西师范大学 | 基于盲签名的许可区块链隐私保护方法 |
-
2019
- 2019-04-16 CN CN201910305972.4A patent/CN111740833B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231330A (ja) * | 1999-02-12 | 2000-08-22 | Nippon Telegr & Teleph Corp <Ntt> | ブラインド署名方法、そのシステム、その装置およびプログラム記録媒体 |
CN102387019A (zh) * | 2011-10-19 | 2012-03-21 | 西安电子科技大学 | 无证书部分盲签名方法 |
CN103780386A (zh) * | 2012-10-23 | 2014-05-07 | 航天信息股份有限公司 | 基于身份的盲签名方法和装置 |
CN104219056A (zh) * | 2014-09-16 | 2014-12-17 | 西安电子科技大学 | 一种智能电网中具有隐私保护的实时电量收集方法 |
CN106656508A (zh) * | 2016-12-27 | 2017-05-10 | 深圳大学 | 一种基于身份的部分盲签名方法和装置 |
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN108898031A (zh) * | 2018-07-17 | 2018-11-27 | 济南浪潮高新科技投资发展有限公司 | 一种基于ecc算法的盲签名的区块链设计方法 |
CN109274501A (zh) * | 2018-10-25 | 2019-01-25 | 广西师范大学 | 基于盲签名的许可区块链隐私保护方法 |
Non-Patent Citations (1)
Title |
---|
叶琳等.盲签名机制的性能分析.《信息技术》.2006,(第10期), * |
Also Published As
Publication number | Publication date |
---|---|
CN111740833A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727712B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
CN110597911B (zh) | 一种区块链网络的证书处理方法、装置、电子设备及存储介质 | |
CN110162992B (zh) | 数据处理方法、数据处理装置和计算机系统 | |
CN108111314B (zh) | 数字证书的生成和校验方法及设备 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN110490305A (zh) | 基于区块链网络的机器学习模型处理方法及节点 | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
CN110915166A (zh) | 区块链 | |
WO2020173287A1 (en) | Systems and methods for determining network shards in blockchain network | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
Król et al. | Spoc: Secure payments for outsourced computations | |
CN110400217B (zh) | 智能合约的规则变更处理方法及装置 | |
CN111294379A (zh) | 区块链网络服务平台及其权限托管方法、存储介质 | |
CN110286849B (zh) | 数据存储系统的数据处理方法和装置 | |
CN109067746B (zh) | 客户端与服务器之间的通信方法及装置 | |
CN111385096B (zh) | 一种区块链网络系统、签名处理方法、终端及存储介质 | |
CN111597537B (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN110351364A (zh) | 数据存储方法、设备及计算机可读存储介质 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
US20240223390A1 (en) | Blockchain system | |
CN111740833B (zh) | 一种区块链网络的签名方法、节点、系统及存储介质 | |
Mtetwa et al. | Secure the internet of things software updates with ethereum blockchain | |
CN102761520B (zh) | 认证信息处理方法和系统 | |
WO2020093609A1 (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 |