CN110351297A - 一种应用于区块链的验证方法及装置 - Google Patents

一种应用于区块链的验证方法及装置 Download PDF

Info

Publication number
CN110351297A
CN110351297A CN201910668695.3A CN201910668695A CN110351297A CN 110351297 A CN110351297 A CN 110351297A CN 201910668695 A CN201910668695 A CN 201910668695A CN 110351297 A CN110351297 A CN 110351297A
Authority
CN
China
Prior art keywords
verified
tree
equipment
salt
node
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
CN201910668695.3A
Other languages
English (en)
Other versions
CN110351297B (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910668695.3A priority Critical patent/CN110351297B/zh
Publication of CN110351297A publication Critical patent/CN110351297A/zh
Priority to PCT/CN2020/096425 priority patent/WO2021012841A1/zh
Application granted granted Critical
Publication of CN110351297B publication Critical patent/CN110351297B/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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种应用于区块链的验证方法及装置,其中方法为:确定待验证用户的第一位运算树的根节点;第一位运算树的根节点是根据第一位运算树的节点信息和待验证用户的至少一个待验证设备的第一盐值确定的;若第一位运算树的根节点与第二位运算树的根节点相同,则确定待验证用户持有至少一个待验证设备;其中,任意两个已注册设备的第二盐值均不同,由于第一位运算树考虑了至少一个待验证设备的第一盐值,从而能一次性验证待验证用户的多个待验证设备,且位运算为计算机的基础运算,得到第一位运算树所耗费的时间较短,因此显著提升了验证效率。上述方法可应用于金融科技(Fintech)和区块链(Blockchain)领域。

Description

一种应用于区块链的验证方法及装置
技术领域
本发明涉及金融科技(Fintech)领域、区块链(Blockchain)领域和数据安全领域,尤其涉及一种应用于区块链的验证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链(Blockchain)、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变。目前,金融科技领域中,对交易安全性的要求极高,用户经常存在着需要对自己所持有的设备身份进行验证其所有权的需求。
现有技术中的验证方式是,由***使用验证方的公钥加密一段数据,并发给验证方,由验证方使用自己的私钥解密并比对数据,或者是验证方主动使用自己的私钥签名一段数据,***使用验证方的公钥验签并比对数据,这种方式需要执行较为耗时的非对称加密算法,特别是当用户持有多个设备时,需要逐一对每个设备进行验证,显然,现有技术验证方式耗时较久,效率较低。
发明内容
本申请实施例提供一种应用于区块链的验证方法及装置,解决了现有技术中验证方式耗时较久,效率较低的问题。
第一方面,本申请实施例提供一种应用于区块链的验证方法:确定待验证用户的第一位运算树的根节点;所述第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系;若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备;所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
上述方法中,先确定待验证用户的第一位运算树的根节点,由于第一位运算树的根节点是根据所述第一位运算树的节点信息和至少一个待验证设备的第一盐值确定的,且第一位运算树的叶子节点与所述待验证用户的至少一个待验证设备的第一盐值存在第一映射关系,从而第一位运算树的根节点是考虑了至少一个待验证设备的第一盐值才得到的,如果根据第一位运算树的节点信息确定出的第一位运算树的根节点与第二位运算树的根节点相同,能以接近于1的概率确定至少一个待验证设备每个待验证设备的第一盐值和第二盐值均相同,因此避免了复杂的非对称加密算法,可仅通过简单的位运算,即可确定所述待验证用户验证成功,位运算为计算机的基础运算,得到第一位运算树所耗费的时间较短,而且第一位运算树考虑了至少一个待验证设备的第一盐值,从而该方法能一次性验证待验证用户的多个待验证设备,从而显著提升了验证效率。
一种可选实施方式中,所述确定待验证用户的第一位运算树的根节点,包括:获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点;确定所述待验证用户持有所述至少一个待验证设备之前,还包括:根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
上述方式下,第一运算树的根节点是根据获取到的第一位运算树的节点信息和至少一个待验证设备的第一盐值得到的,根据获取到的至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值,再验证至少一个待验证设备中每个待验证设备的第一哈希值是否与对应的第二哈希值均一致,从而进一步增加了验证的可靠性。
一种可选实施方式中,所述根据所述第一运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点,包括:根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
上述方式下,由于至少一个待验证设备的第一盐值与第一位运算树的叶子节点存在映射关系,结合第一运算树的节点信息,可灵活地从中确定第一位运算树的至少一个节点,再按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点,从而提供了一种灵活确定所述第一位运算树的根节点的方式,而异或位运算是位运算中一种效率较高的位运算,因此,该方式能进一步提升验证效率和灵活性。
一种可选实施方式中,所述确定待验证用户的第一位运算树的根节点之前,还包括:接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链;接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述至少一个已注册设备的私钥加密的第二哈希值;从所述区块链获取所述至少一个已注册设备的公钥并对加密的所述第二哈希值进行解密;在解密成功时,将所述第二哈希值存储至所述区块链中;接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树的根节点进行解密;在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链,从而可以后续对第二上链请求和第三上链请求的处理,由于区块链存储不可篡改性,增强了第二哈希值和第二位运算树存储的安全性。
一种可选实施方式中,接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
至少一个已注册设备的第二哈希值以及第二位运算树的根节点可能需要发生改变,上述方式提供了一种重新生成区块链中已注册设备的第二哈希值和/或所述第二位运算树的根节点的方式。
一种可选实施方式中,所述至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
上述方式下,无论第二运算树的叶子节点是否与至少一个已注册设备的第二盐值存在第二映射关系,第二运算树的叶子节点均能赋值,从而提供了一种必然可以生成第二位运算树的根节点的方式。
第二方面,本申请提供一种验证装置,包括:确定模块,用于确定待验证用户的第一位运算树的根节点;所述第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系;处理模块,用于若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备;所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
一种可选实施方式中,所述确定模块还用于:获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点;根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
一种可选实施方式中,所述确定模块具体用于:根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
一种可选实施方式中,所述确定模块具体用于:接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链;接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述已注册设备的私钥加密的所述第二哈希值;从所述区块链获取所述已注册设备的公钥并对加密的所述第二哈希值进行解密;在解密成功时,将所述第二哈希值存储至所述区块链中;接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树进行解密;在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
一种可选实施方式中,所述处理模块还用于:接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
一种可选实施方式中,所述至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;所述处理模块还用于:通过如下方式确定所述第二位运算树的根节点:根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
上述第二方面及第二方面各个实施例的有益效果,可以参考上述第一方面及第一方面各个实施例的有益效果,这里不再赘述。
第三方面,本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
第四方面,本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
附图说明
图1为本申请实施例提供的一种应用于区块链的验证方法的步骤流程示意图;
图2为本申请实施例提供的用户初始化的示意图;
图3为本申请实施例提供的第二位运算树的示意图;
图4为本申请实施例提供的第一位运算树的根节点生成过程的示意图;
图5为本申请实施例提供的一种验证装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,金融科技领域中,对交易安全性的要求极高,用户经常存在着需要对自己所持有的设备身份进行验证其所有权的需求。
现有技术中,由***使用验证方的公钥加密一段数据,并发给验证方,由验证方使用自己的私钥解密并比对数据,或者是验证方主动使用自己的私钥签名一段数据,***使用验证方的公钥验签并比对数据,这种方式需要执行较为耗时的非对称加密算法,特别是当用户持有多个设备时,需要逐一对每个设备进行验证,显然,这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。
为此,本申请提供一种应用于区块链的验证方法,如图1所示,为本申请实施例提供的一种应用于区块链的验证方法的步骤流程示意图。
步骤101:确定待验证用户的第一位运算树的根节点。
其中,第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系。
步骤102:若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备。
所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
下面将通过一个完整流程,详细描述步骤101~步骤102。整个过程包括初始化过程、设备注册过程、用户注册过程和设备验证过程。其中,步骤101~步骤102发生在设备注册的过程中。
在整个完成流程中,***参与方包括三种:身份验证方、用户和设备三种角色。身份验证方:身份验证方具体可以是一台验证机器,这一角色会对用户所持有的设备进行身份验证。用户:这一角色持有多个设备,同时需要验证设备所有权。用户可根据被当前所处的步骤流程进行分类,已在身份验证方注册过设备持有权的用户称为已注册用户,而由于用户后续可能需要进行重新验证设备持有权,用户在通过身份验证之前,可称为待验证用户。设备:即用户持有的各种(物联网)设备。设备也可根据当前所处的步骤流程进行分类,如已注册设备和待验证设备。
初始化过程具体如下:
首先介绍公钥(Public Key)与私钥(Private Key)。公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是独一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
如图2所示,为本申请实施例提供的用户初始化的示意图。
用户使用约定的非对称加密算法,如椭圆曲线数字签名算法(ECDSA),生成用户的公钥和私钥,以及用户所持有设备的所持有设备公钥和私钥。举例来说,设备A生成私钥A以及设备B生成私钥B后,可以将私钥A和私钥B存储到用户的本地数据库里,再将私钥A对应的公钥A以及私钥B对应的公钥B存入区块链中。
设备注册过程具体如下:
(1)为每一个设备,随机生成一个不指定长度的随机整数,称为这个设备的第二盐值,对每个设备所生成的设备的第二盐值不能相同。另外,待验证用户出示的待验证设备的盐值,称为这个设备的第一盐值。第二盐值可用于作为Hash算法的输入参数,以生成哈希映射值。这提供了Hash抗反向攻破的能力。其中,设备的第二盐值不限制几进制的整数,举例来说,为十进制整数。具体地,设备的第二盐值为657。
(2)以设备的公钥为原文,通过该设备的第二盐值,使用约定好的哈希Hash算法,生成设备盐值的哈希值,称为该设备的第二哈希值(第一哈希值为待验证设备的第一盐值和该设备的公钥临时生成的哈希值)。其中,哈希算法为对某种字符串生成哈希映射值的算法,例如sha3。例:Hash(公钥,657)=8e00acc4cdea7eb98c1d81864abd7ebc793decc47b54ff2a843513ee7a62666e。
(3)使用设备的私钥,将每个设备的哈希值存储到区块链中。
用户注册过程具体如下:
用户注册时,根据每个设备的第二盐值,生成如图3所示的第二位运算树。需要说明的是,第一位运算树是待验证用户验证时,临时生成的运算树。
其中,位运算树(无论是第一位运算树还是第二位运算树)均是一种完全二叉树。位运算树中每个非叶子节点的节点(即有子节点的节点),都根据该节点的两个子节点按照预设的位运算生成。举例来说,预设的位运算为异或(XOR)位运算,生成的位运算树为异或位运算。异或位运算为:一种按位运算的算法,0XOR0=0,0XOR1=1,1XOR1=0。异或满***换律、结合律、自反性。基于位运算的验证方式能够取代用户频繁使用各台设备私钥的需求,盐值仅使用异或运算,效率极高。
(1)将用户所持有的已注册设备的第二盐值(即图3示出的矩形方框),按照与第二运算树的第二映射关系,进行赋值。
举例来说,可以按照从大到小的顺序将用户所持有的已注册设备的第二盐值逐个排列,可以按照每个已注册设备公钥的字母顺序进行排序等。将排好序的每个设备的第二盐值的正整数从十进制转为二进制后,按照第二映射关系,作为位运算树的叶子节点。
一种情况为:如果叶子节点的总数不为2的N次幂(如4、8、16、32),也就是说,第二位运算树中存在无对应的已注册设备的第二盐值的叶子节点,则将其余未达到2的N次幂的叶子节点用预设值填满,即将存在无对应的已注册设备的第二盐值的叶子节点用预设值赋值。其中,预设值可以均为0。
(2)从第二运算树的叶子节点开始,按层执行位运算,生成位运算值,直到根节点。其中,第二位运算树的每个非叶子节点(如图3示出的根节点和节点1~6)均由该节点的子节点生成。
(3)使用待注册用户的私钥,将第二运算树的根节点存入区块链。
因此,用户注册过程中的一种可选实施方式如下:
至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;所述第二位运算树的根节点通过如下方式确定,包括:根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
需要说明的是,上述方法中,N进制具体N的值需要所有参与方(用户、身份验证方、设备)预先约定。根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数方式有多种。举例来说,如果已注册设备D的第二盐值为二进制整数,直接将已注册设备D的第二盐值作为在第二位运算树中对应叶子节点的值;如果已注册设备D的第二盐值不为二进制整数,已注册设备D的第二盐值为十进制整数,则将已注册设备D的第二盐值转化为二进制整数后,将转化后的二进制整数作为在第二位运算树中对应叶子节点的值。
上述方式下,无论第二运算树的叶子节点是否与至少一个已注册设备的第二盐值存在第二映射关系,第二运算树的叶子节点均能赋值,从而提供了一种必然可以生成第二位运算树的根节点的方式。
结合设备注册过程和用户注册过程,步骤101之前可以执行如下可选实施方式:
接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链。
接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述至少一个已注册设备的私钥加密的第二哈希值;从所述区块链获取所述至少一个已注册设备的公钥并对加密的所述第二哈希值进行解密;在解密成功时,将所述第二哈希值存储至所述区块链中。
接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树的根节点进行解密;在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链,从而可以后续对第二上链请求和第三上链请求的处理,由于区块链存储不可篡改性,增强了第二哈希值和第二位运算树存储的安全性。
本申请的一种可选实施方式中,身份验证方、用户和设备都具有区块链的直接读写能力。如果不具备直接的区块链访问权限(即需要代理接口),则存在着中间人攻击的可能。用户需要通过可信的数据通道访问区块链。
设备验证过程具体如下:
该过程参考图4为例说明。
(1)获取用户出示的第一位运算树的节点信息、至少一个待验证设备的第一盐值。其中第一位运算树的节点信息为所有能够推导出异或树根节点的、所有必要的异或树信息。如图4中的有下划线的节点,这包括了:若干异或值(图中下划线)及其在异或树中的对应位置,同时还包括了树高。
(2)身份验证方访问区块链,首先每个待验证设备的第一盐值和该待验证设备的公钥通过Hash算法得出的第一哈希值,是否与此设备在区块链上的第二哈希值相同,如果相同,则进行步骤(3)。
(3)身份验证方根据第一位运算树的节点信息,再结合待验证设备的第一盐值(图4中的待验证设备A的第一盐值、待验证设备B的第一盐值),构造第一位运算树,并从底向上,计算得出第一运算树的根节点。
(4)身份验证方访问区块链,将计算得出的第一运算树的根节点和区块链中第二运算树的根节点比对,如果相同,则用户验证成功。
结合设备验证过程,步骤101可以为:获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点。
具体地,根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点过程可以为:
根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
上述方式下,由于至少一个待验证设备的第一盐值与第一位运算树的叶子节点存在映射关系,结合第一运算树的节点信息,可灵活地从中确定第一位运算树的至少一个节点,再按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点,从而提供了一种灵活确定所述第一位运算树的根节点的方式,而异或位运算是位运算中一种效率较高的位运算,因此,该方式能进一步提升验证效率和灵活性。
步骤102之前可以执行如下步骤:
根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
上述方式下,第一运算树的根节点是根据获取到的第一位运算树的节点信息和至少一个待验证设备的第一盐值得到的,根据获取到的至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值,再验证至少一个待验证设备中每个待验证设备的第一哈希值是否与对应的第二哈希值均一致,从而进一步增加了验证的可靠性。
在一些场景下,用户需要增加、新增、删除和转移所持有的设备。这时需要重新生成存在变更的设备的第二盐值,并重新生成第二运算树。具体如下:设备新增:描述用户新增一个设备这种场景。需要新增设备的第二盐值,新执行一遍设备注册和用户注册流程,即新增第二运算树的叶子节点,重新生成第二运算树,并更新区块链上的第二运算树的根节点。设备更新:描述用户更新一个设备的盐值这种场景。用户需要更新设备在链上的设备盐值,重新执行一遍设备注册和用户注册流程,即更新第二运算树的叶子节点,重新生成第二运算树,并更新区块链上的第二运算树的根节点。设备删除:描述用户将一个设备移除自己的持有列表。用户需要删除叶子节点,重新执行一遍设备注册和用户注册流程,即更新第二运算树的叶子节点,生成第二运算树,并更新区块链上的第二运算树的根节点,并更新区块链上的第二运算树的根节点。
可以看出,无论是增加、新增、删除都需要更新第二运算树的叶子节点,并重新生成第二运算树。当一个用户手中的设备被验证的次数超过一定阈值之后,用户就进行一次设备更新,用来防止身份验证方泄露用户出示的设备的第二盐值这一道德风险。设备转移:即为先删除设备,再新增设备。
因此,一种可选实施方式如下:
接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
至少一个已注册设备的第二哈希值以及第二位运算树的根节点可能需要发生改变,上述方式提供了一种重新生成区块链中已注册设备的第二哈希值和/或所述第二位运算树的根节点的方式。
步骤101~步骤102的方法中,先确定待验证用户的第一位运算树的根节点,由于第一位运算树的根节点是根据所述第一位运算树的节点信息和至少一个待验证设备的第一盐值确定的,且第一位运算树的叶子节点与所述待验证用户的至少一个待验证设备的第一盐值存在第一映射关系,从而第一位运算树的根节点是考虑了至少一个待验证设备的第一盐值才得到的,如果根据第一位运算树的节点信息确定出的第一位运算树的根节点与第二位运算树的根节点相同,能以接近于1的概率确定至少一个待验证设备每个待验证设备的第一盐值和第二盐值均相同,因此避免了复杂的非对称加密算法,可仅通过简单的位运算,即可确定所述待验证用户验证成功,位运算为计算机的基础运算,得到第一位运算树所耗费的时间较短,而且第一位运算树考虑了至少一个待验证设备的第一盐值,从而该方法能一次性验证待验证用户的多个待验证设备,从而显著提升了验证效率。
本申请实施例提供的应用于区块链的验证方法具有以下优势:
(1)性能优势:相比起传统依赖密钥或公私钥对的方式,由于位运算效率是中央处理器(CPU)从数十年前就内置的功能,因此在设备数目较多时,不论是验证效率还是异或树重建的效率都远高于一切其他方案,包括基于Merkle树的解决方案变种。
(2)防破解:由于设备的第二盐值的取值范围为整个正整数域,哈希值由设备的第二盐值和公钥生成,因此反向攻击破解设备盐值几乎是不可能的,从而,某个用户想反推其他用户的某个设备的第二盐值也是不现实的。更进一步地,用户还可以通过更新盐值来进一步提升破解难度。
(3)位运算值(如异或值)碰撞:位运算值的取值结果是一个二进制值,虽然存在着一定程度上的碰撞可能(不同的叶子节点得出的根一样)。但是,当设备数较少时,由于盐值的选择随机性很高,因此碰撞概率较低,适当增加第二盐值的位数。而当设备数增多时,设备的第二盐值的数量增大了***的熵。退一步讲,即便根节点的位运算值碰撞发生,由于无法破解每个叶子节点对应的盐值,还可根据哈希值来进行验证,仍然无法达到窃取他人设备为己有的目的。
图5为本申请实施例提供的一种验证装置的结构示意图。
本申请提供一种验证装置,包括:确定模块501,用于确定待验证用户的第一位运算树的根节点;所述第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系;处理模块502,用于若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备;所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
一种可选实施方式中,所述确定模块501还用于:获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点;根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
一种可选实施方式中,所述确定模块501具体用于:根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
一种可选实施方式中,所述确定模块501具体用于:接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链;接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述已注册设备的私钥加密的所述第二哈希值;从所述区块链获取所述已注册设备的公钥并对加密的所述第二哈希值进行解密;在解密成功时,将所述第二哈希值存储至所述区块链中;接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树进行解密;在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
一种可选实施方式中,所述处理模块502还用于:接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
一种可选实施方式中,所述至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;所述处理模块502还用于:通过如下方式确定所述第二位运算树的根节点:根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种应用于区块链的验证方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种应用于区块链的验证方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种应用于区块链的验证方法,其特征在于,包括:
确定待验证用户的第一位运算树的根节点;所述第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系;
若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备;所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
2.如权利要求1所述的方法,其特征在于,所述确定待验证用户的第一位运算树的根节点,包括:
获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;
根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点;
确定所述待验证用户持有所述至少一个待验证设备之前,还包括:
根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;
确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点,包括:
根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;
按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
4.如权利要求2所述的方法,其特征在于,所述确定待验证用户的第一位运算树的根节点之前,还包括:
接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链;
接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述至少一个已注册设备的私钥加密的第二哈希值;
从所述区块链获取所述至少一个已注册设备的公钥并对加密的所述第二哈希值进行解密;
在解密成功时,将所述第二哈希值存储至所述区块链中;
接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;
从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树的根节点进行解密;
在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
6.如权利要求1-5任一所述的方法,其特征在于,所述至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;所述第二位运算树的根节点通过如下方式确定,包括:
根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;
根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;
根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
7.一种验证装置,其特征在于,包括:
确定模块,用于确定待验证用户的第一位运算树的根节点;所述第一位运算树的根节点是根据所述第一位运算树的节点信息和所述待验证用户的至少一个待验证设备的第一盐值确定的;所述第一位运算树的叶子节点与所述至少一个待验证设备的第一盐值存在第一映射关系;
处理模块,用于若所述第一位运算树的根节点与第二位运算树的根节点相同,则确定所述待验证用户持有所述至少一个待验证设备;所述第二位运算树的根节点是根据所述待验证用户对应的已注册用户的至少一个已注册设备的第二盐值预生成的;所述第二位运算树的叶子节点与所述至少一个已注册设备的第二盐值存在第二映射关系;其中,每个已注册设备均对应一个待验证设备,任意两个已注册设备的第二盐值均不同。
8.如权利要求7所述的装置,其特征在于,所述确定模块还用于:
获取所述第一位运算树的节点信息、所述至少一个待验证设备的第一盐值;
根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的根节点;
根据所述至少一个待验证设备中每个待验证设备的第一盐值和该待验证设备的公钥,生成该待验证设备的第一哈希值;
确定所述至少一个待验证设备中每个待验证设备的第一哈希值,是否与所述至少一个已注册设备中对应的已注册设备的第二哈希值均一致,该已注册设备的第二哈希值是根据该已注册设备的第二盐值和该已注册设备的公钥生成的。
9.如权利要求8所述的装置,其特征在于,所述确定模块具体用于:
根据所述第一位运算树的节点信息和所述至少一个待验证设备的第一盐值,确定所述第一位运算树的至少一个节点;
按照预设的异或位运算,根据所述至少一个节点中的每个节点及该节点的兄弟节点,确定该节点的父节点,直至确定所述第一位运算树的根节点。
10.如权利要求8所述的装置,其特征在于,所述处理模块还用于:
接收所述已注册用户发送的第一上链请求,所述第一上链请求用于将所述至少一个已注册设备的公钥、已注册用户的公钥存储至区块链;
接收所述已注册用户发送的第二上链请求,所述第二上链请求包括使用所述至少一个已注册设备的私钥加密的第二哈希值;
从所述区块链获取所述至少一个已注册设备的公钥并对加密的所述第二哈希值进行解密;
在解密成功时,将所述第二哈希值存储至所述区块链中;
接收所述已注册用户发送的第三上链请求,所述第三上链请求包括使用所述已注册用户的私钥加密的所述第二位运算树的根节点;
从所述区块链获取所述已注册用户的公钥并对加密的所述第二位运算树的根节点进行解密;
在解密成功时,将所述第二位运算树的根节点存储至所述区块链中。
11.如权利要求10所述的装置,其特征在于,所述处理模块还用于:
接收所述已注册用户发送的更新请求;所述更新请求用于指示重新生成所述至少一个已注册设备的第二哈希值和/或所述第二位运算树的根节点,并重新存储至所述区块链。
12.如权利要求8-11任一所述的装置,其特征在于,所述至少一个已注册设备的第二盐值均为N进制正整数;N为大于1的整数;所述确定模块还用于:
通过如下方式确定所述第二位运算树的根节点:
根据所述至少一个已注册设备的第二盐值,获取至少一个二进制整数;其中,每个已注册设备的第二盐值对应获取一个二进制整数;根据所述至少一个二进制整数,按照所述第二映射关系,确定所述第二位运算树的叶子节点;所述第二位运算树的叶子节点包括第一叶子节点组合和第二叶子节点组合;所述第一叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值存在所述第二映射关系的叶子节点的组合;所述第二叶子节点组合为所述第二位运算树中与所述至少一个已注册设备的第二盐值不存在所述第二映射关系的叶子节点的组合;第二叶子节点组合中叶子节点的值均为0;
根据所述第二位运算树的叶子节点,生成所述第二位运算树的根节点。
CN201910668695.3A 2019-07-23 2019-07-23 一种应用于区块链的验证方法及装置 Active CN110351297B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910668695.3A CN110351297B (zh) 2019-07-23 2019-07-23 一种应用于区块链的验证方法及装置
PCT/CN2020/096425 WO2021012841A1 (zh) 2019-07-23 2020-06-16 一种应用于区块链的验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910668695.3A CN110351297B (zh) 2019-07-23 2019-07-23 一种应用于区块链的验证方法及装置

Publications (2)

Publication Number Publication Date
CN110351297A true CN110351297A (zh) 2019-10-18
CN110351297B CN110351297B (zh) 2022-04-01

Family

ID=68179966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910668695.3A Active CN110351297B (zh) 2019-07-23 2019-07-23 一种应用于区块链的验证方法及装置

Country Status (2)

Country Link
CN (1) CN110351297B (zh)
WO (1) WO2021012841A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021012841A1 (zh) * 2019-07-23 2021-01-28 深圳前海微众银行股份有限公司 一种应用于区块链的验证方法及装置
CN113420084A (zh) * 2021-06-07 2021-09-21 广东辰宜信息科技有限公司 区块链***
CN113570194A (zh) * 2021-06-28 2021-10-29 北京电链科技有限公司 一种基于区块链的电力施工业务数据处理方法及***

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114139206B (zh) * 2021-12-06 2024-04-05 常州大学 一种基于区块链隐私保护的多用户异构数据合并存证方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682308A (zh) * 2017-08-16 2018-02-09 北京航空航天大学 基于区块链潜信道技术的电子证据保存***
CN109040082A (zh) * 2018-08-10 2018-12-18 阿里巴巴集团控股有限公司 用户的身份内容信息的认证、验证方法和装置
CN109064174A (zh) * 2018-08-09 2018-12-21 肇庆市高新区甜慕新能源技术有限公司 一种在区块链上提供特定证书的注册服务的方法
CN109101572A (zh) * 2018-07-17 2018-12-28 何晓行 基于区块链的存证方法、装置及服务器、存储介质
EP3429122A1 (en) * 2017-07-11 2019-01-16 Panasonic Intellectual Property Corporation of America Methods and apparatuses for controlling electronic voting
CN109903049A (zh) * 2019-03-01 2019-06-18 长沙理工大学 一种区块链交易数据存储方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548091A (zh) * 2016-10-14 2017-03-29 北京爱接力科技发展有限公司 一种数据存证、验证的方法及装置
US11316696B2 (en) * 2017-09-29 2022-04-26 R3 Ltd. Hash subtrees for grouping components by component type
CN108304737A (zh) * 2018-01-26 2018-07-20 鑫银科技集团股份有限公司 一种数据验证方法、电子设备及数据验证***
CN108737109A (zh) * 2018-05-11 2018-11-02 北京奇虎科技有限公司 数据持有证明方法、装置及***
CN110351297B (zh) * 2019-07-23 2022-04-01 深圳前海微众银行股份有限公司 一种应用于区块链的验证方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3429122A1 (en) * 2017-07-11 2019-01-16 Panasonic Intellectual Property Corporation of America Methods and apparatuses for controlling electronic voting
CN107682308A (zh) * 2017-08-16 2018-02-09 北京航空航天大学 基于区块链潜信道技术的电子证据保存***
CN109101572A (zh) * 2018-07-17 2018-12-28 何晓行 基于区块链的存证方法、装置及服务器、存储介质
CN109064174A (zh) * 2018-08-09 2018-12-21 肇庆市高新区甜慕新能源技术有限公司 一种在区块链上提供特定证书的注册服务的方法
CN109040082A (zh) * 2018-08-10 2018-12-18 阿里巴巴集团控股有限公司 用户的身份内容信息的认证、验证方法和装置
CN109903049A (zh) * 2019-03-01 2019-06-18 长沙理工大学 一种区块链交易数据存储方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021012841A1 (zh) * 2019-07-23 2021-01-28 深圳前海微众银行股份有限公司 一种应用于区块链的验证方法及装置
CN113420084A (zh) * 2021-06-07 2021-09-21 广东辰宜信息科技有限公司 区块链***
CN113420084B (zh) * 2021-06-07 2023-09-26 广东辰宜信息科技有限公司 区块链***
CN113570194A (zh) * 2021-06-28 2021-10-29 北京电链科技有限公司 一种基于区块链的电力施工业务数据处理方法及***

Also Published As

Publication number Publication date
WO2021012841A1 (zh) 2021-01-28
CN110351297B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
CN106254374B (zh) 一种具备去重功能的云数据公开审计方法
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储***
US20200320340A1 (en) Systems, devices, and methods for machine learning using a distributed framework
Yu et al. Attribute-based cloud data integrity auditing for secure outsourced storage
CN108965258B (zh) 一种基于全同态加密的云环境数据完整性验证方法
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
US10277395B2 (en) Cryptographic key-generation with application to data deduplication
TW202020710A (zh) 用於資訊保護的系統和方法
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
JP5790319B2 (ja) 署名検証装置、署名検証方法、プログラム、及び記録媒体
WO2019034984A1 (en) GENERATION OF RANDOM NUMBERS IN A BLOCK CHAIN
TW202020711A (zh) 用於資訊保護的系統和方法
JP6069852B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113162768B (zh) 一种基于区块链的智能物联网设备认证方法及***
CN110351297A (zh) 一种应用于区块链的验证方法及装置
US11645409B2 (en) Search and access pattern hiding verifiable searchable encryption for distributed settings with malicious servers
CN106487786A (zh) 一种基于生物特征的云数据完整性验证方法及***
Yu et al. Identity‐Based Proxy Signcryption Protocol with Universal Composability
Etemad et al. Generic dynamic data outsourcing framework for integrity verification
US20230254299A1 (en) Apparatus and methods for credentialing users across user devices
CN109818944A (zh) 一种支持预处理的云数据外包及完整性验证方法及装置
Len et al. ELEKTRA: Efficient Lightweight multi-dEvice Key TRAnsparency
CN109784094B (zh) 一种支持预处理的批量外包数据完整性审计方法及***
CN113362065A (zh) 一种基于分散式私钥的在线签名交易实现方法
Li et al. Post‐Quantum Privacy‐Preserving Provable Data Possession Scheme Based on Smart Contracts

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