CN117411610A - 一种验证区块链签名存在的方法、系统及设备 - Google Patents

一种验证区块链签名存在的方法、系统及设备 Download PDF

Info

Publication number
CN117411610A
CN117411610A CN202311339753.0A CN202311339753A CN117411610A CN 117411610 A CN117411610 A CN 117411610A CN 202311339753 A CN202311339753 A CN 202311339753A CN 117411610 A CN117411610 A CN 117411610A
Authority
CN
China
Prior art keywords
wallet
address
signature
signed
verification
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
CN202311339753.0A
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.)
Shanghai Kunyao Network Technology Co ltd
Original Assignee
Shanghai Kunyao Network 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 Shanghai Kunyao Network Technology Co ltd filed Critical Shanghai Kunyao Network Technology Co ltd
Priority to CN202311339753.0A priority Critical patent/CN117411610A/zh
Publication of CN117411610A publication Critical patent/CN117411610A/zh
Pending legal-status Critical Current

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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/3247Cryptographic 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
    • 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/40Network security protocols

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)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请的目的是提供一种验证区块链签名存在的方法、系统及设备,本申请通过区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。从而可以让钱包和注册中心进行双向的验证,减少钱包伪造地址的可能性。

Description

一种验证区块链签名存在的方法、系统及设备
技术领域
本申请涉及计算机领域,尤其涉及一种验证区块链签名存在的方法、系统及设备。
背景技术
在区块链网络中,随着网络的发展,全网的有效算力在极具膨胀,存储提供者在算力增长没有达到全网算力增长速度的情况下,存储提供者的算力会不断被稀释,获得出块权的概率逐渐减低,这对于存储提供者来说收益也在降低。每个存储提供者都需要一个或者多个同步节点来同步链上数据,大部分时候为了节点更安全和稳定会选择多个同步节点,这会增加存储储提供者参与的成本。为了降低存储提供者的成本,可以把大量存储提供者聚合在一起,形成存储池,共用同步节点,消息池等资源。但存储池需要对存储提供者注册的地址进行校验,也就是辨认地址的真伪,存在信任问题。
发明内容
本申请的一个目的是提供一种验证区块链签名存在的方法、系统及设备,解决现有技术中对注册地址进行校验的可信度不高,容易伪造的问题。
根据本申请的一个方面,提供了一种验证区块链签名存在的方法,该方法包括:
区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
可选地,向所述钱包发起签名请求包括:
所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求。
可选地,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求,包括:
当所述目标注册地址所属的地址类型为secp256k1地址组时,所述注册中心按照目标注册地址请求钱包签名;
当所述目标注册地址所属的地址类型为bls地址组时,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名。
可选地,所述注册中心按照目标注册地址请求钱包签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证,验证成功,则通过所述目标注册地址对应的私钥对所述预签元数据进行签名,得到签名结果;
将所述随机数、公钥以及签名结果返回至所述注册中心。
可选地,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述目标注册地址、待签数据验证签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
可选地,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
步骤a,所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证;
步骤b,若验证成功,则通过所述目标注册地址对应的私钥对所述待签数据进行签名,得到签名结果;
所述bls地址组内的所有地址都执行步骤b后,聚合所有地址的签名结果,得到聚合签名结果;
将所述随机数、公钥以及聚合签名结果返回至所述注册中心。
可选地,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
若存在,则根据所述私钥和随机数对所述待签数据组进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述bls地址组、待签数据验证聚合签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
可选地,所述方法包括:
所述注册中心生成公私钥对,将所述公私钥对中的公钥发送给所述钱包。
根据本申请另一个方面,提供一种验证区块链签名存在的系统,该系统包括:注册中心、钱包、权限验证模块,其中,
所述钱包用于向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
所述注册中心用于基于收到的请求向所述权限验证模块发起验证请求,所述权限验证模块基于所述验证请求验证后反馈给所述注册中心验证结果;
所述注册中心用于当验证结果为验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
所述钱包用于对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
所述注册中心用于验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
根据本申请又一个方面,还提供了一种验证区块链签名存在的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。从而钱包和注册中心双方都对待签数据有一定程度的控制,可以避免一方伪造待签数据,注册中心可以通过验证签名结果来检查钱包是否真的对注册上来的地址具有签名能力,可以避免钱包伪造地址进行骗签。由于是钱包主动连接注册中心,可以避免暴露出额外的端口,减少被攻击的风险。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种验证区块链签名存在的方法流程示意图;
图2示出根据本申请另一个方面提供的一种验证区块链签名存在的系统的结构示意图;
图3示出本申请一实施例中一种验证区块链签名存在的系统架构图;
图4示出本申请一实施例中的一种保持双方可信条件下验证区块链签名存在的方法流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
存续池会把存储提供者发送的消息统一保存在消息池,消息池中的消息需要找对应的存储提供者签名,签名需要密钥,密钥保存在存储提供者的钱包中,存储池需要存储提供者把钱包中的地址(由密钥生成)注册到存储池的注册中心,注册中心统一管理存储提供者的地址,在消息需要签名时请求钱包签名。由于存储提供者钱包中地址是不确定的,所以存储池需要一种方法能够对存储提供者注册的地址进行校验,辨认地址的真伪。本申请提供一种保持双方可信条件下区块链签名存在的方法,能够验证钱包的真伪;通过用户生成一些公私钥对,将公钥提供给钱包,钱包连接注册中心时携带一段数据,注册中心使用私钥对该段数据进行加密得到待签数据,并把待签数据返回给钱包,钱包使用公钥对待签数据进行解密以及验证解密后的数据,验证成功后使用钱包地址对待签数据进行签名得到签名结果,注册中心通过签名结果来验证地址的真伪。具体地,实施过程如下:
图1示出根据本申请的一个方面提供的一种验证区块链签名存在的方法流程示意图,该方法包括:步骤S11~步骤S14,其中,
步骤S11,区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;在此,区块链中的钱包用于对数据进行签名、管理和保存密钥,钱包主动连接注册中心进行注册地址,先向注册中心发起请求进行注册,则该请求是携带了需要注册的地址和一段数据,该段数据为钱包随机生成的随机数,该需要注册的地址,即需要验证的地址为目标注册地址。
步骤S12,注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;在此,注册中心提供钱包注册地址的接口,对钱包注册地址的合法性进行校验,桥接待签数据和钱包;当注册中心收到钱包发送的请求后,将该请求发送给权限验证模块进行验证钱包使用的token是否合法,给注册中心返回验证结果,当验证通过后,注册中心对钱包发送来的随机数进行加密,生成待签数据,将该待签数据返回给钱包发送签名请求,以使钱包对其进行签名。
步骤S13,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;在此,钱包与注册中心进行交互,接收及验证待签数据,钱包对待签数据进行解密,并验证解密后的数据,当验证失败,断开与注册中心的连接,验证成功,则对待签数据进行签名,并把签名结果返回给注册中心。
步骤S14,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。在此,注册中心验证返回的签名结果,验证成功则钱包注册地址成功,注册中心存在的目标注册地址是存在签名,验证失败则断开与钱包的连接。使用上述验证区块链签名存在的方法后,钱包提供了最初的一段数据,注册中心再对数据进行加密,双方都对待签数据有一定程度的控制,可以避免一方伪造待签数据,注册中心可以通过验证签名结果来检查钱包是否真的对注册上来的地址具有签名能力,可以避免钱包伪造地址进行骗签。由于是钱包主动连接注册中心,可以避免暴露出额外的端口,减少被攻击的风险。
在本申请一实施例中,所述方法包括:所述注册中心生成公私钥对,将所述公私钥对中的公钥发送给所述钱包。在此,注册中心会生成一些公私钥对,将公钥发送给钱包,将这些公私钥对的公钥称为公开公钥,其中,公钥用于钱包解密加密数据,私钥用于对钱包携带数据进行加密;用户将钱包中的地址注册到注册中心。接着,在步骤S12中,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求。注册中心获取到用户注册的地址后,按注册类型分成secp256k1地址组和bls地址组,根据不同类型的地址组向钱包以不同方式进行请求签名,其中,secp256k1为一种特定的椭圆曲线,bls为一套椭圆曲线的加密算法。
接上述实施例,当所述目标注册地址所属的地址类型为secp256k1地址组时,所述注册中心按照目标注册地址请求钱包签名;当所述目标注册地址所属的地址类型为bls地址组时,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名。对此,对于secp256k1地址组,按照地址逐个请求钱包签名,即每来一个目标注册地址时就会向钱包请求签名,逐一进行。而对于bls地址组,则会把组里所有的地址发送给钱包请求其签名。钱包支持secp256k1签名和bls签名,基于bls签名的特性,可以聚合签名。钱包可以设置密码,密码用于对私钥的加密,钱包启动后可以通过命令行命令设置密码,然后从数据库加载加密后的私钥,根据密码解析出实际的私钥,再将私钥存储到内存中。
具体地,对于secp256k1地址组,所述注册中心按照目标注册地址请求钱包签名时,在步骤S13中,所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证,验证成功,则通过所述目标注册地址对应的私钥对所述预签元数据进行签名,得到签名结果;将所述随机数、公钥以及签名结果返回至所述注册中心。在此,钱包生成一个随机数,选择公开公钥对待签数据进行解密并验证,若验证失败,则断开连接,若验证成功,则通过目标地址对应私钥对待签数据进行签名,得到签名结果,最后把随机数、公开公钥和签名结果返回给注册中心。
接着,所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述目标注册地址、待签数据验证签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。在此,注册中心根据钱包返回数据中的公开公钥查询对应的私钥,若不存在,则地址注册失败;若存在,则根据私钥和随机数对待签数据进行验证,若验证失败,地址注册失败,若验证成功,根据地址、待签数据验证签名结果,若验证通过,则注册成功,反之注册失败;其中,进行验证签名结果时,是待签数据通过哈希转换成32字节的数据,通过签名结果和32字节的数据通过转化得到公钥,再把公钥转换成地址,然后比较目标注册地址和转换成的地址是否相等。
在本申请一实施例中,对于bls地址组,步骤a,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名时,在步骤S13中,所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证;步骤b,若验证成功,则通过所述目标注册地址对应的私钥对所述待签数据进行签名,得到签名结果;所述bls地址组内的所有地址都执行步骤b后,聚合所有地址的签名结果,得到聚合签名结果;将所述随机数、公钥以及聚合签名结果返回至所述注册中心。在此,对于bls地址组,是将组里所有的地址发给钱包请求其签名,钱包收到bls地址组,生成一个随机数,在步骤b中,选择公开公钥对待签数据进行解密并验证,若验证失败,则断开连接,若验证成功,则通过地址对应私钥对待签数据进行签名,得到签名结果;每个地址都执行步骤b,聚合所有地址的签名结果,得到一个聚合签名结果,最后将随机数、聚合签名结果和公开公钥返回给注册中心。
接着,所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述bls地址组、待签数据验证聚合签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。在此,注册中心根据钱包返回数据中的公开公钥查询对应的私钥,若不存在,则地址注册失败,若存在,根据私钥、随机数对待签数据进行验证,若验证失败,则地址注册失败,若验证成功,则根据bls地址组、待签数据验证聚合签名结果,若验证通过,则注册成功,反之注册失败;其中,验证聚合签名结果的具体过程为:根据bls地址组得到对应的公钥组,累乘公钥组中的公钥和待签数据乘积的值,与聚合签名结果比较是否相等。
图2示出根据本申请另一个方面提供的一种验证区块链签名存在的系统的结构示意图,该系统包括:注册中心100、钱包200、权限验证模块300,其中,所述钱包200用于向注册中心100发起请求,其中,所述请求携带目标注册地址以及随机数;所述注册中心100用于基于收到的请求向所述权限验证模块300发起验证请求,所述权限验证模块300基于所述验证请求验证后反馈给所述注册中心100验证结果;所述注册中心100用于当验证结果为验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包200发起签名请求,将所述待签名数据返回至所述钱包200;所述钱包200用于对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心100;所述注册中心100用于验证签名结果,根据验证结果判断所述注册中心100中的目标注册地址是否存在签名。
如图3所示的架构图,注册中心的功能包括:对钱包提供数据进行加密,验证签名结果,验证钱包地址的真实性;提供rpc接口查询钱包信息和地址信息,通过接口与钱包交互,请求钱包签名;与权限验证模块交互,验证token是否有效。钱包的功能包括:管理密钥和地址,地址是公钥经过base32编码后得到,可以对地址进行增加、删除和查询;与注册中心交互,向其注册地址,接收及验证待签数据,返回签名结果;对待签数据进行签名。其中,增加时,用户通过命令行命令输入需要生成的地址类型,可选择生成secp256k1或bls地址,根据地址类型生成对应私钥,再把私钥加密然后存储到数据库;删除时,用户通过命令行命令输入需要删除的地址及密码,再验证密码是否正确,若正确,则把私钥从数据库删除,若不正确,则删除失败。查询时,用户通过命令行命令提交查询请求,钱包会把所有的地址输出出来。权限验证模块的功能包括:用户管理,用户是钱包的所有者,一个用户会被分配一个token用于请求注册中心时的身份验证;权限验证,用于验证请求携带的token是否真实有效。通过验证钱包注册到注册中心的地址是否是真实地址,钱包生成一段数据(随机生成的随机数)给注册中心,注册中心使用私钥对其加密并把加密数据发送给钱包,钱包使用公钥对加密数据进行解密及验证,验证成功后对加密数据进行签名并把签名结果发送给注册中心,注册中心对签名结果进行验证。
图4示出本申请一实施例中的一种保持双方可信条件下验证区块链签名存在的方法流程示意图,钱包发起请求到注册中心,并携带需要注册的地址和一段数据,注册中心收到钱包发起的请求后请求权限验证模块验证token,权限验证模块验证token并返回结果给注册中心,验证失败断开连接,验证成功,注册中心对钱包提供的数据进行加密得到待签数据,将待签数据返回给钱包;钱包对待签数据进行解密,并验证解密后的数据,若验证失败,则断开连接,若验证成功,对待签数据进行签名,并把签名结果返回给注册中心;注册中心验证签名结果,验证成功则把钱包注册成功,验证失败则断开连接。从而可以让钱包证明其注册到注册中心的地址是真实的和可签名的,也可以让注册中心对钱包注册上来的地址进行校验,减少钱包伪造地址的可能性。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种验证区块链签名存在的方法。
在本申请一实施例中,还提供了一种验证区块链签名存在的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (11)

1.一种验证区块链签名存在的方法,其特征在于,所述方法包括:
区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
2.根据权利要求1所述的方法,其特征在于,向所述钱包发起签名请求包括:
所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求。
3.根据权利要求2所述的方法,其特征在于,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求,包括:
当所述目标注册地址所属的地址类型为secp256k1地址组时,所述注册中心按照目标注册地址请求钱包签名;
当所述目标注册地址所属的地址类型为bls地址组时,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名。
4.根据权利要求3所述的方法,其特征在于,所述注册中心按照目标注册地址请求钱包签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证,验证成功,则通过所述目标注册地址对应的私钥对所述待签数据进行签名,得到签名结果;
将所述随机数、公钥以及签名结果返回至所述注册中心。
5.根据权利要求4所述的方法,其特征在于,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述目标注册地址、待签数据验证签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
6.根据权利要求3所述的方法,其特征在于,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
步骤a,所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证;
步骤b,若验证成功,则通过所述目标注册地址对应的私钥对所述待签数据进行签名,得到签名结果;
所述bls地址组内的所有地址都执行步骤b后,聚合所有地址的签名结果,得到聚合签名结果;
将所述随机数、公钥以及聚合签名结果返回至所述注册中心。
7.根据权利要求6所述的方法,其特征在于,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述bls地址组、待签数据验证聚合签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
8.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述注册中心生成公私钥对,将所述公私钥对中的公钥发送给所述钱包。
9.一种验证区块链签名存在的系统,其特征在于,所述系统包括:注册中心、钱包、权限验证模块,其中,
所述钱包用于向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
所述注册中心用于基于收到的请求向所述权限验证模块发起验证请求,所述权限验证模块基于所述验证请求验证后反馈给所述注册中心验证结果;
所述注册中心用于当验证结果为验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
所述钱包用于对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
所述注册中心用于验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
10.一种验证区块链签名存在的设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至8中任一项所述方法的操作。
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
CN202311339753.0A 2023-10-16 2023-10-16 一种验证区块链签名存在的方法、系统及设备 Pending CN117411610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311339753.0A CN117411610A (zh) 2023-10-16 2023-10-16 一种验证区块链签名存在的方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311339753.0A CN117411610A (zh) 2023-10-16 2023-10-16 一种验证区块链签名存在的方法、系统及设备

Publications (1)

Publication Number Publication Date
CN117411610A true CN117411610A (zh) 2024-01-16

Family

ID=89497352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311339753.0A Pending CN117411610A (zh) 2023-10-16 2023-10-16 一种验证区块链签名存在的方法、系统及设备

Country Status (1)

Country Link
CN (1) CN117411610A (zh)

Similar Documents

Publication Publication Date Title
US10924285B2 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
US11405372B2 (en) Retrieving access data for blockchain networks using highly available trusted execution environments
CN110875821B (zh) 密码学区块链互操作
US10372942B1 (en) Method and server for providing notary service for file and verifying file recorded by notary service
Li et al. FADB: A fine-grained access control scheme for VANET data based on blockchain
CN109327481B (zh) 一种基于区块链的全网统一在线认证方法及系统
TWI782255B (zh) 解鎖方法、實現解鎖的設備及電腦可讀媒體
US11863677B2 (en) Security token validation
US20120192256A1 (en) Disconnected credential validation using pre-fetched service tickets
CN113612770A (zh) 一种跨域安全交互方法、系统、终端以及存储介质
US11418342B2 (en) System and methods for data exchange using a distributed ledger
WO2021027504A1 (zh) 基于共识协议的信息处理方法及相关装置
CN117157623A (zh) 结合容器化应用程序使用时保护秘密的系统和方法
CN117411610A (zh) 一种验证区块链签名存在的方法、系统及设备
CN115967508A (zh) 数据访问控制方法及装置、设备、存储介质、程序产品
KR102511570B1 (ko) 블록체인 네트워크의 프로세스를 처리하기 위한 방법, 장치, 시스템, 방법 및 컴퓨터 판독가능 저장매체
CN114629713B (zh) 身份验证方法、装置及系统
KR102476081B1 (ko) Lisp을 이용한 통신에서 상호 인증을 수행하는 방법, 이를 수행하기 위한 장치 및 시스템
US20230231722A1 (en) Apparatus, methods, and program products for generating secure short universal resource locators
US20240143730A1 (en) Multi-factor authentication using blockchain
CN116522356A (zh) 数据查询方法及装置
CN113472561A (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