CN114528565B - 一种基于区块链的敏感数据高效上链算法 - Google Patents

一种基于区块链的敏感数据高效上链算法 Download PDF

Info

Publication number
CN114528565B
CN114528565B CN202210083658.8A CN202210083658A CN114528565B CN 114528565 B CN114528565 B CN 114528565B CN 202210083658 A CN202210083658 A CN 202210083658A CN 114528565 B CN114528565 B CN 114528565B
Authority
CN
China
Prior art keywords
node
block
consensus
anonymous
data
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
CN202210083658.8A
Other languages
English (en)
Other versions
CN114528565A (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.)
Yangjiang Chain Point Innovation Technology Development Co ltd
Guangdong Ocean University
Original Assignee
Yangjiang Chain Point Innovation Technology Development Co ltd
Guangdong Ocean 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 Yangjiang Chain Point Innovation Technology Development Co ltd, Guangdong Ocean University filed Critical Yangjiang Chain Point Innovation Technology Development Co ltd
Priority to CN202210083658.8A priority Critical patent/CN114528565B/zh
Publication of CN114528565A publication Critical patent/CN114528565A/zh
Application granted granted Critical
Publication of CN114528565B publication Critical patent/CN114528565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于区块链的敏感数据高效上链算法,属于区块链技术领域。所述的基于区块链的敏感数据高效上链算法,具体包括以下步骤:(1)抗分布式拒绝服务攻击的匿名区块生成;(2)基于门限签名算法的数据敏感数据上链与查询方法。本发明通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击。利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。

Description

一种基于区块链的敏感数据高效上链算法
技术领域
本发明属于区块链技术领域,尤其涉及一种基于区块链的敏感数据高效上链算法。
背景技术
随着互联网基础设施和信息技术的快速发展,网络规模逐渐扩大,拓扑结构日趋复杂。随着科技的不断进步,网络空间将具备开放性、异构性、移动性、动态性、安全性等诸多特性,不断演化出下一代互联网、5G移动通信网络、移动互联网、物联网等新型网络形式以及云计算、大数据、社交网络等众多新型的服务模式。
面对海量的用户和数据,如果不对数据进行有效的隐私保护,会对用户造成极大的侵害。区块链技术凭借其防篡改的、去中心化的、匿名的、可追溯的数字化账本技术,为用户的数据隐私保护提供了新的思路。
区块链作为一种集可靠存储、高安全性、不可篡改于一体的新兴技术。其链式结构、加密技术、不可篡改的特性可以保护已存储数据的完整性,系统的所有交易数据存储在分布式全节点中,虽然可以有效的防止数据被篡改,但是由于各个节点的防御能力各不相同,每个共识节点都保存了完整的区块链数据,在一定程度上容易导致数据的泄露。此外,在数据上链、数据存储和数据访问的过程中,由于共识节点全网可见,共识节点容易成为被攻击的对象,导致数据无法正确的保存在区块链系统上,或者用户的敏感个人数据被泄露。传统的数据隐私保护方案缺乏区块链场景下的隐私数据访问安全机制,无法对区块链系统中分布式存储、可靠安全读取数据和高频率访问进行隐私保护,容易造成用户隐私数据的泄露,因此传统的数据隐私保护方案不适用于区块链,设计针对区块链的敏感数据高效上链算法是亟需解决的问题。
现有大多数联盟区块链系统由固定几个机构节点组成,并且按照特定的顺序轮流打包提案信息,出块并记录用户的交易信息。然而,按照特定的顺序出块会导致出块节点的暴露,使得出块节点容易遭受分布式拒绝服务攻击(DDoS,Distributed Denial ofService attack)。分布式拒绝服务攻击中攻击者常来自多个不同位置,控制不同服务器对对同一目标节点发动攻击,使得目标节点充斥大量待回复信息,由于网络或系统资源无法承担海量的访问需求而停止服务,导致正常的交易数据无法被区块链节点共识和记录,使得数据无法在区块链系统中安全的记录和保存。因此亟待一种基于区块链的敏感数据高效上链算法。
发明内容
相对于现有的区块链数据上链算法,针对出块节点容易遭受分布式拒绝服务攻击,而造成敏感数据无法正常保存等相关问题,本专利提出了一种基于区块链的敏感数据高效上链算法,本发明通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击;利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。
本发明实施例是这样实现的,一种基于区块链的敏感数据高效上链算法,具体方法步骤如下:通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击;利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。
一种基于区块链的敏感数据高效上链算法,具体包括以下步骤:
(1)抗分布式拒绝服务攻击的匿名区块生成:
验证者Vi通过环签名信息验证签名的有效性,参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自可验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块;在发布区块前共识的节点Ni的身份是未知的,因此可以防止针对出块节点Ni的分布式拒绝服务攻击;
(2)基于门限签名算法的数据敏感数据上链与查询方法
上链方法,按照出块序列中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息Pi,其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息的签名是否正确,共识节点Nj(j≠i,j∈1,2,…,M)收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,…,M)进行审核,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Nj(i∈1,2,…,M)发送的承诺证明CPi
CPi=Sigi(final_block);
其中,承诺证明CPi表示共识节点Ni对本地已达成共识的最后一个区块final_block使用私钥SKi签名后的结果,承诺证明用于防止单个节点Ni发送多条承诺证明CPi消息,由于承诺证明CPi中包含区块高度h和最后一个区块的hash值,单个节点Ni也无法针对同一区块final_block发送不同的承诺证明CPi
S2:根据承诺证明CPi,为编号为i的共识节点Ni计算可验证承诺Commiti
Commiti=hash(CPi,i);
其中,可验证承诺Commiti通过哈希函数对承诺证明CPi实现了加密,由于哈希函数不可逆,分布式拒绝服务攻击者无法获取承诺证明CPi对应的共识节点Ni
S3:根据可验证承诺Commiti和关联环签名算法,计算匿名可验证承诺ACommiti,并将其广播给其他参与共识的节点;
ACommiti=RingSigi(Commiti,PSet,Link,R);
其中,PSet表示共识节点公钥的集合,Link表示关联标签,用于标记可验证承诺Commiti与节点编号为i的节点的关联关系,随机数R是共识节点Ni产生的随机数;
S4:共识节点Nj(j≠i,j∈1,2,…,M)收到来自共识节点Ni的匿名可验证承诺ACommiti后,根据共识节点公钥的集合PSet验证匿名可验证承诺ACommiti的有效性;环签名的验证者Vi只能确定签名者是环中的成员,但是无法获取真实签名者的身份。
进一步的,步骤S4中,若针对同一高度有多个匿名可验证承诺ACommit,系统默认选取随机数R最大的节点作为出块节点;共识节点Ni环签名RingSig()方法用匿名方式对消息进行加密,为了保证所有共识节点得到全局一致的有效出块序列OrderList,共识节点Ni接受到网络中的匿名可验证承诺ACommiti后,通过共识节点公钥的集合PSet验证ACommiti签名的正确性,从而实现对Commiti的匿名验证;若验证通过,将关联标签Link加入出块序列OrderList,系统再按照OrderList中关联标签Link所标记的节点的顺序依次作为主节点出块,从而实现共识节点Ni匿名出块。
本发明步骤(1)中所述的抗分布式拒绝服务攻击的匿名区块生成的方法,验证者Vi可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块,在发布区块前共识的节点Ni的身份是未知的,因此可以防止针对出块节点Ni的分布式拒绝服务攻击。
步骤(2)所述的上链方法,具体方法步骤如下:
1)按照出块序列OrderList中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息的格式为Pi=<Sigi(hash(m)),CPi,m,v,h,>,其中m表示出块节点一段时间内收到的交易打包成的区块内容;Sigi(hash(m))用共识节点Ni的私钥对消息m的hash值进行签名,Sigi(hash(m))用于Ni以外的其他出块节点接收到Pi消息后,对区块内容m进行验证;v表示当前的视图编号,h是新打包区块的高度;
2)共识节点Ni以外的其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息Sigi(m)的签名是否正确,视图编号是否一致,是否应该在高度为h的区块上出块,并验证出块节点身份的合法性,如果验证通过,则向除了自己以外的共识节点发送部分门限签名投票<PartSigi(hash(m)),v,h>消息;
3)共识节点Nj(j≠i,j∈1,2,…,M)收到超过门限值t个来自不同共识节点对同一区块block的签名后,首先验证门限签名的部分签名是否正确,区块高度h、视图编号v是否一致,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并且更新视图编号v=v+1以及区块的高度h=h+1,并启动新一轮的匿名选主与共识过程。
进一步的,步骤2)中所述验证出块节点身份的合法性,具体为验证hash(CPi,i)与OrderListi是否相等,若是hash(CPi,i)与OrderListi相等,则通过验证。
步骤(2)所述的查询方法,具体方法步骤如下:
用户访问共识节点Ni上的数据时,由于针对敏感数据的访问对数据隐私保护的要求较高,用户n首先向区块链共识节点Ni发送数据查询请求Queryn
Queryn={UID,Sigi(Contect),Hash(Contect)};
共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先根据Sigi(Contect)验证用户身份的合法性,并验证消息的哈希值Hash(Contect)是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点Nj发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,…,M)进行审核,若共识节点Nj同意Queryn数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息<PartSigi(hash(m)),v,h>,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
本发明的基于区块链的敏感数据高效上链算法,包括了抗分布式拒绝服务攻击的匿名区块生成、基于门限签名算法的数据敏感数据上链与查询方法两部分;应用抗分布式拒绝服务攻击的匿名区块生成的方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点;参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
其次,本发明中由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略。因此,本专利设计了一种基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。
本发明通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击;利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。
本专利针对敏感数据设计了匿名区块生成方法,但是为了实现匿名选主打包区块,通过多次计算承诺证明CPi、可验证承诺Commiti以及关联环签名算法实现了共识节点Ni匿名出块,以牺牲部分计算性能和网络带宽的代价换取匿名节点出块,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击。而同时采用基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名算法降低了网络传输的消息复杂度,通过多个节点之间的门限签名算法,优化了数据上链共识的效率,减少了不同共识节点之间的交互次数,同时,由于访问数据的过程需要共识节点收到超过门限值数量的来自不同节点的投票,加强了系统对敏感数据访问的隐私保护
与现有技术相比,本发明的技术方案的有意效果如下:
1.本发明提供了一种基于区块链的敏感数据高效上链算法,首先设计了一种抗分布式拒绝服务攻击的匿名区块生成方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
2.本发明基于区块链的敏感数据高效上链算法,包含了基于门限签名的数据敏感数据上链与查询算法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。解决了由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略的缺陷。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术在敏感数据高效保存上存在的缺陷,本发明实施例做了一下的改进:
首先,现有大多数联盟区块链系统由固定几个机构节点组成,并且按照特定的顺序轮流打包提案信息,出块并记录用户的交易信息。然而,按照特定的顺序出块会导致出块节点的暴露,使得出块节点容易遭受分布式拒绝服务攻击。
针对上述问题,本发明实施例提供了抗分布式拒绝服务攻击的匿名区块生成方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
其次,由于加密算法增加了系统对消息的处理步骤,大多数半同步拜占庭容错共识算法需要进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,且敏感数据的访问缺乏相应的数据保护策略,容易造成用户的敏感数据隐私泄露。
针对上述问题,本发明实施例提供了基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名算法降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。
实施例1:一种基于区块链的敏感数据高效上链算法
本发明实施例提供一种基于区块链的敏感数据高效上链算法,具体包括以下步骤:
(1)抗分布式拒绝服务攻击的匿名区块生成:
验证者Vi通过环签名信息验证签名的有效性,参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自可验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块;在发布区块前共识的节点Ni的身份是未知的,因此可以防止针对出块节点Ni的分布式拒绝服务攻击;
(2)基于门限签名算法的数据敏感数据上链与查询方法
上链方法,按照出块序列中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息Pi,其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息的签名是否正确,共识节点Nj(j≠i,j∈1,2,…,M)收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,…,M)进行审核,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Nj(i∈1,2,…,M)发送的承诺证明CPi
CPi=Sigi(final_block);
其中,承诺证明CPi表示共识节点Ni对本地已达成共识的最后一个区块final_block使用私钥SKi签名后的结果,承诺证明用于防止单个节点Ni发送多条承诺证明CPi消息,由于承诺证明CPi中包含区块高度h和最后一个区块的hash值,单个节点Ni也无法针对同一区块final_block发送不同的承诺证明CPi
S2:根据承诺证明CPi,为编号为i的共识节点Ni计算可验证承诺Commiti
Commiti=hash(CPi,i);
其中,可验证承诺Commiti通过哈希函数对承诺证明CPi实现了加密,由于哈希函数不可逆,分布式拒绝服务攻击者无法获取承诺证明CPi对应的共识节点Ni
S3:根据可验证承诺Commiti和关联环签名算法,计算匿名可验证承诺ACommiti,并将其广播给其他参与共识的节点;
ACommiti=RingSigi(Commiti,PSet,Link,R);
其中,PSet表示共识节点公钥的集合,Link表示关联标签,用于标记可验证承诺Commiti与节点编号为i的节点的关联关系,随机数R是共识节点Ni产生的随机数;
S4:共识节点Nj(j≠i,j∈1,2,…,M)收到来自共识节点Ni的匿名可验证承诺ACommiti后,根据共识节点公钥的集合PSet验证匿名可验证承诺ACommiti的有效性;环签名的验证者Vi只能确定签名者是环中的成员,但是无法获取真实签名者的身份。
进一步的,步骤S4中,若针对同一高度有多个匿名可验证承诺ACommit,系统默认选取随机数R最大的节点作为出块节点;共识节点Ni环签名RingSig()方法用匿名方式对消息进行加密,为了保证所有共识节点得到全局一致的有效出块序列OrderList,共识节点Ni接受到网络中的匿名可验证承诺ACommiti后,通过共识节点公钥的集合PSet验证ACommiti签名的正确性,从而实现对Commiti的匿名验证;若验证通过,将关联标签Link加入出块序列OrderList,系统再按照OrderList中关联标签Link所标记的节点的顺序依次作为主节点出块,从而实现共识节点Ni匿名出块。
本发明步骤(1)中所述的抗分布式拒绝服务攻击的匿名区块生成的方法,验证者Vi可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块,在发布区块前共识的节点Ni的身份是未知的,因此可以防止针对出块节点Ni的分布式拒绝服务攻击。
步骤(2)所述的上链方法,具体方法步骤如下:
1)按照出块序列OrderList中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息的格式为Pi=<Sigi(hash(m)),CPi,m,v,h,>,其中m表示出块节点一段时间内收到的交易打包成的区块内容;Sigi(hash(m))用共识节点Ni的私钥对消息m的hash值进行签名,Sigi(hash(m))用于Ni以外的其他出块节点接收到Pi消息后,对区块内容m进行验证;v表示当前的视图编号,h是新打包区块的高度;
2)共识节点Ni以外的其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息Sigi(m)的签名是否正确,视图编号是否一致,是否应该在高度为h的区块上出块,并验证出块节点身份的合法性,如果验证通过,则向除了自己以外的共识节点发送部分门限签名投票<PartSigi(hash(m)),v,h>消息;
3)共识节点Nj(j≠i,j∈1,2,…,M)收到超过门限值t个来自不同共识节点对同一区块block的签名后,首先验证门限签名的部分签名是否正确,区块高度h、视图编号v是否一致,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并且更新视图编号v=v+1以及区块的高度h=h+1,并启动新一轮的匿名选主与共识过程。
进一步的,步骤2)中所述验证出块节点身份的合法性,具体为验证hash(CPi,i)与OrderListi是否相等,若是hash(CPi,i)与OrderListi相等,则通过验证。
步骤(2)所述的查询方法,具体方法步骤如下:
用户访问共识节点Ni上的数据时,由于针对敏感数据的访问对数据隐私保护的要求较高,用户n首先向区块链共识节点Ni发送数据查询请求Queryn
Queryn={UID,Sigi(Contect),Hash(Contect)};
共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先根据Sigi(Contect)验证用户身份的合法性,并验证消息的哈希值Hash(Contect)是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点Nj发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,…,M)进行审核,若共识节点Nj同意Queryn数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息<PartSigi(hash(m)),v,h>,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
本发明的基于区块链的敏感数据高效上链算法,包括了抗分布式拒绝服务攻击的匿名区块生成、基于门限签名算法的数据敏感数据上链与查询方法两部分;应用抗分布式拒绝服务攻击的匿名区块生成的方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点;参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
其次,本发明中由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略。因此,本专利设计了一种基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。
本发明通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击;利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。
本专利针对敏感数据设计了匿名区块生成方法,但是为了实现匿名选主打包区块,通过多次计算承诺证明CPi、可验证承诺Commiti以及关联环签名算法实现了共识节点Ni匿名出块,以牺牲部分计算性能和网络带宽的代价换取匿名节点出块,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击。而同时采用基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名算法降低了网络传输的消息复杂度,通过多个节点之间的门限签名算法,优化了数据上链共识的效率,减少了不同共识节点之间的交互次数,同时,由于访问数据的过程需要共识节点收到超过门限值数量的来自不同节点的投票,加强了系统对敏感数据访问的隐私保护
与现有技术相比,本发明的技术方案的有意效果如下:
1.本发明提供了一种基于区块链的敏感数据高效上链算法,首先设计了一种抗分布式拒绝服务攻击的匿名区块生成方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
2.本发明基于区块链的敏感数据高效上链算法,包含了基于门限签名的数据敏感数据上链与查询算法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。解决了由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略的缺陷。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于区块链的敏感数据高效上链算法,其特征在于:具体包括以下步骤:
(1)抗分布式拒绝服务攻击的匿名区块生成:
验证者Vi通过环签名信息验证签名的有效性,参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自可验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块;在发布区块前共识的节点Ni的身份是未知的;
(2)基于门限签名算法的数据敏感数据上链与查询:
上链方法,按照出块序列中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息Pi,其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息的签名是否正确,共识节点Nj收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,其中j≠i,j∈1,2,…,M,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj进行审核,其中,j≠i,j∈1,2,…,M,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据;
步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Nj发送的承诺证明CPi,其中,i∈1,2,…,M;
CPi=Sigi(final_block);
其中,承诺证明CPi表示共识节点Ni对本地已达成共识的最后一个区块final_block使用私钥SKi签名后的结果,承诺证明用于防止单个节点Ni发送多条承诺证明CPi消息,由于承诺证明CPi中包含区块高度h和最后一个区块的hash值,单个节点Ni也无法针对同一区块final_block发送不同的承诺证明CPi
S2:根据承诺证明CPi,为编号为i的共识节点Ni计算可验证承诺Commiti
Commiti=hash(CPi,i);
其中,可验证承诺Commiti通过哈希函数对承诺证明CPi实现了加密,由于哈希函数不可逆,分布式拒绝服务攻击者无法获取承诺证明CPi对应的共识节点Ni
S3:根据可验证承诺Commiti和关联环签名算法,计算匿名可验证承诺ACommiti,并将其广播给其他参与共识的节点;
ACommiti=RingSigi(Commiti,PSet,Link,R);
其中,PSet表示共识节点公钥的集合,Link表示关联标签,用于标记可验证承诺Commiti与节点编号为i的节点的关联关系,随机数R是共识节点Ni产生的随机数;
S4:共识节点Nj收到来自共识节点Ni的匿名可验证承诺ACommiti后,根据共识节点公钥的集合PSet验证匿名可验证承诺ACommiti的有效性;环签名的验证者Vi只能确定签名者是环中的成员,但是无法获取真实签名者的身份,其中,j≠i,j∈1,2,…,M;
步骤S4中,若针对同一高度有多个匿名可验证承诺ACommit,系统默认选取随机数R最大的节点作为出块节点;共识节点Ni环签名RingSig()方法用匿名方式对消息进行加密,为了保证所有共识节点得到全局一致的有效出块序列OrderList,共识节点Ni接受到网络中的匿名可验证承诺ACommiti后,通过共识节点公钥的集合PSet验证ACommiti签名的正确性,从而实现对Commiti的匿名验证;若验证通过,将关联标签Link加入出块序列OrderList,系统再按照OrderList中关联标签Link所标记的节点的顺序依次作为主节点出块,从而实现共识节点Ni匿名出块;
步骤(2)所述的上链方法,具体方法步骤如下:
1)按照出块序列OrderList中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息的格式为Pi=<Sigi(hash(m)),CPi,m,v,h,>,其中m表示出块节点一段时间内收到的交易打包成的区块内容;v表示当前的视图编号,h是新打包区块的高度;Sigi(hash(m))用共识节点Ni的私钥对消息m的hash值进行签名,Sigi(hash(m))用于Ni以外的其他出块节点接收到Pi消息后,对区块内容m进行验证;
2)共识节点Ni以外的其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息Sigi(m)的签名是否正确,视图编号是否一致,是否应该在高度为h的区块上出块,并验证出块节点身份的合法性,如果验证通过,则向除了自己以外的共识节点发送部分门限签名投票<PartSigi(hash(m)),v,h>消息;
3)共识节点Nj收到超过门限值t个来自不同共识节点对同一区块block的签名后,首先验证门限签名的部分签名是否正确,区块高度h、视图编号v是否一致,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并且更新视图编号v=v+1以及区块的高度h=h+1,并启动新一轮的匿名选主与共识过程,其中,j≠i,j∈1,2,…,M。
2.根据权利要求1所述的基于区块链的敏感数据高效上链算法,其特征在于:进一步的,步骤2)中所述验证出块节点身份的合法性,具体为验证hash(CPi,i)与OrderListi是否相等,若是hash(CPi,i)与OrderListi相等,则通过验证。
3.根据权利要求1所述的基于区块链的敏感数据高效上链算法,其特征在于:步骤(2)所述的查询方法,具体方法步骤如下:
用户访问共识节点Ni上的数据时,由于针对敏感数据的访问对数据隐私保护的要求较高,用户n首先向区块链共识节点Ni发送数据查询请求Queryn
Queryn={UID,Sigi(Contect),Hash(Contect)};
共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先根据Sigi(Contect)验证用户身份的合法性,并验证消息的哈希值Hash(Contect)是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点Nj发送数据访问请求,由其余共识节点Nj进行审核,其中,j≠i,j∈1,2,…,M,若共识节点Nj同意Queryn数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息<PartSigi(hash(m)),v,h>,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
CN202210083658.8A 2022-01-21 2022-01-21 一种基于区块链的敏感数据高效上链算法 Active CN114528565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210083658.8A CN114528565B (zh) 2022-01-21 2022-01-21 一种基于区块链的敏感数据高效上链算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210083658.8A CN114528565B (zh) 2022-01-21 2022-01-21 一种基于区块链的敏感数据高效上链算法

Publications (2)

Publication Number Publication Date
CN114528565A CN114528565A (zh) 2022-05-24
CN114528565B true CN114528565B (zh) 2024-07-05

Family

ID=81620759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210083658.8A Active CN114528565B (zh) 2022-01-21 2022-01-21 一种基于区块链的敏感数据高效上链算法

Country Status (1)

Country Link
CN (1) CN114528565B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664714B (zh) * 2022-09-22 2024-05-14 中国人民解放军国防科技大学 区块链上基于tee的匿名选委员方法、系统及介质
CN117251889B (zh) * 2023-11-13 2024-03-01 腾讯科技(深圳)有限公司 区块链共识方法、相关装置和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184247A (zh) * 2020-10-16 2021-01-05 浙江工业大学 一种基于区块链分片技术的产品全环节信息追溯系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032252B2 (en) * 2018-01-03 2021-06-08 Syccure, Inc. Distributed authentication between network nodes
CN110990407B (zh) * 2018-04-27 2020-11-10 腾讯科技(深圳)有限公司 基于区块链的数据存储方法、装置、服务器及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184247A (zh) * 2020-10-16 2021-01-05 浙江工业大学 一种基于区块链分片技术的产品全环节信息追溯系统

Also Published As

Publication number Publication date
CN114528565A (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
US10404455B2 (en) Multiple-phase rewritable blockchain
US10305875B1 (en) Hybrid blockchain
CN114528565B (zh) 一种基于区块链的敏感数据高效上链算法
CN113055188B (zh) 一种数据处理方法、装置、设备及存储介质
CN112615847B (zh) 基于区块链的数据共享和隐私保护方法
CN114139203B (zh) 基于区块链的异构身份联盟风险评估系统、方法及终端
CN111970299A (zh) 基于区块链的分布式物联网设备身份认证装置和方法
CN109687965A (zh) 一种保护网络中用户身份信息的实名认证方法
CN111582888B (zh) 一种电子存款证明真伪的验证系统
CN111901432A (zh) 一种基于区块链的安全数据交换方法
CN102340500A (zh) 可信计算平台安全管理系统及安全管理方法
Li et al. A blockchain‐based privacy‐preserving authentication system for ensuring multimedia content integrity
Kou et al. A Privacy protection scheme for carpooling service using fog computing
Li et al. A noninteractive multireplica provable data possession scheme based on smart contract
CN113507366B (zh) 一种基于格的可搜索日志盲签名方案
Lyu et al. JRS: A joint regulating scheme for secretly shared content based on blockchain
Kojima et al. A new schnorr multi-signatures to support both multiple messages signing and key aggregation
CN111586036B (zh) 一种去中心化的多云自审计方法及系统
CN113542251B (zh) 数据报送方法及装置
Du et al. Research on a network covert channel based on blockchain
Li et al. Optimal Storage Cloud Data Recoverability Audit Method Based on Regenerative Code
Haifeng et al. A Hierarchical Provable Massive Data Migration Method under Multicloud Storage
Zhou et al. Research Article A Scalable Blockchain-Based Integrity Verification Scheme
Ma et al. Anonymity on Byzantine-Resilient Decentralized Computing
CN114219433A (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