CN114528565A - 一种基于区块链的敏感数据高效上链算法 - Google Patents
一种基于区块链的敏感数据高效上链算法 Download PDFInfo
- Publication number
- CN114528565A CN114528565A CN202210083658.8A CN202210083658A CN114528565A CN 114528565 A CN114528565 A CN 114528565A CN 202210083658 A CN202210083658 A CN 202210083658A CN 114528565 A CN114528565 A CN 114528565A
- Authority
- CN
- China
- Prior art keywords
- node
- block
- consensus
- nodes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000012795 verification Methods 0.000 claims abstract description 33
- 239000013256 coordination polymer Substances 0.000 claims description 36
- 230000036961 partial effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 9
- 230000002427 irreversible effect Effects 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 20
- 238000013475 authorization Methods 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (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,...,N)收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,...,N)进行审核,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Ni(i∈1,2,...,N)发送的承诺证明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,...,N)收到来自共识节点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,...,N)收到超过门限值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,...,N)进行审核,若共识节点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,...,N)收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,...,N)进行审核,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Ni(i∈1,2,...,N)发送的承诺证明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,...,N)收到来自共识节点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,...,N)收到超过门限值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,...,N)进行审核,若共识节点Nj同意Queryn数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息<PartSigi(hash(m)),v,h>,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
本发明的基于区块链的敏感数据高效上链算法,包括了抗分布式拒绝服务攻击的匿名区块生成、基于门限签名算法的数据敏感数据上链与查询方法两部分;应用抗分布式拒绝服务攻击的匿名区块生成的方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点;参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
其次,本发明中由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略。因此,本专利设计了一种基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。
本发明通过设计新型匿名环签名算法,使得各个共识节点能够在匿名的条件下获取各自的出块序列,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击;利用门限签名算法降低了网络传输的消息复杂度,敏感数据的数据查询需要多节点授权审核,有利于提升区块链系统网络通信效率的同时,加强敏感数据的隐私保护。
本专利针对敏感数据设计了匿名区块生成方法,但是为了实现匿名选主打包区块,通过多次计算承诺证明CPi、可验证承诺Commiti以及关联环签名算法实现了共识节点Ni匿名出块,以牺牲部分计算性能和网络带宽的代价换取匿名节点出块,从而在敏感数据场景下提升了数据上链的安全性,防止出块节点遭受分布式拒绝服务攻击。而同时采用基于门限签名算法的数据敏感数据上链与查询方法,利用门限签名算法降低了网络传输的消息复杂度,通过多个节点之间的门限签名算法,优化了数据上链共识的效率,减少了不同共识节点之间的交互次数,同时,由于访问数据的过程需要共识节点收到超过门限值数量的来自不同节点的投票,加强了系统对敏感数据访问的隐私保护
与现有技术相比,本发明的技术方案的有意效果如下:
1.本发明提供了一种基于区块链的敏感数据高效上链算法,首先设计了一种抗分布式拒绝服务攻击的匿名区块生成方法,验证者可以通过环签名信息验证签名的有效性,但是无法确定真实签名者是哪个节点。参与共识的节点构成一个有序环,各个共识节点能够在匿名的条件下获取各自在出块队列中的位置,并按照顺序依次作为主节点出块,在节点发布区块前,共识的节点的身份是未知的,因此可以防止针对出块节点的分布式拒绝服务攻击。
2.本发明基于区块链的敏感数据高效上链算法,包含了基于门限签名的数据敏感数据上链与查询算法,利用门限签名降低了网络传输的消息复杂度,并且通过多个共识节点的门限签名审核,实现了低通信复杂度情况下,敏感数据的多节点授权查询服务,有利于提升网络通信效率,加强敏感数据的隐私保护。解决了由于加密算法增加了系统对消息的处理步骤,传统的拜占庭共识算法需要共识节点进行两两交互的投票来满足一致性要求,对网络通讯的负载要求较高,敏感数据的访问缺乏数据保护策略的缺陷。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于区块链的敏感数据高效上链算法,其特征在于:具体包括以下步骤:
(1)抗分布式拒绝服务攻击的匿名区块生成:
验证者Vi通过环签名信息验证签名的有效性,参与共识的节点Ni构成一个有序环,各个节点按照系统参数计算各自的可验证承诺Commiti,并且用匿名的方式公开各自可验证承诺,各个共识节点能够在匿名的条件下获取各自可验证承诺Commiti在所有可验证承诺中的位置,并按照顺序依次作为主节点出块;在发布区块前共识的节点Ni的身份是未知的;
(2)基于门限签名算法的数据敏感数据上链与查询方法
上链方法,按照出块序列中规定的节点出块顺序依次选择共识节点Ni作为出块节点,出块节点广播提案消息Pi,其他共识节点在收到提案消息Pi后,根据共识节点Ni的公钥PKi检查消息的签名是否正确,共识节点Nj(j≠i,j∈1,2,...,N)收到超过门限值t个来自不同共识节点对同一区块的签名后,验证门限签名的部分签名是否正确,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并启动新一轮的匿名选主与共识过程;
查询方法,用户访问共识节点Ni上的数据时,用户n首先向区块链共识节点Ni发送数据查询请求;共识节点Ni在收到ID为UID的用户发出的数据访问消息后,首先验证用户身份的合法性,并验证消息的哈希值是否正确,确认消息是否被篡改;若验证通过,共识节点Ni向其他共识节点发送数据访问请求,由其余共识节点Nj(j≠i,j∈1,2,...,N)进行审核,若共识节点Nj同意数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
2.根据权利要求1所述的基于区块链的敏感数据高效上链算法,其特征在于:步骤(1)所述的抗分布式拒绝服务攻击的匿名区块生成,基于环签名的匿名数据上链方法,具体方法如下:
S1:根据编号为i的节点本地已达成共识的最后一个区块final_block,计算每个参与共识的节点Ni(i∈1,2,...,N)发送的承诺证明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,...,N收到来自共识节点Ni的匿名可验证承诺ACommiti后,根据共识节点公钥的集合PSet验证匿名可验证承诺ACommiti的有效性;环签名的验证者Vi只能确定签名者是环中的成员,但是无法获取真实签名者的身份。
3.根据权利要求2所述的基于区块链的敏感数据高效上链算法,其特征在于:步骤S4中,若针对同一高度有多个匿名可验证承诺ACommit,系统默认选取随机数R最大的节点作为出块节点;共识节点Ni环签名RingSig()方法用匿名方式对消息进行加密,为了保证所有共识节点得到全局一致的有效出块序列OrderList,共识节点Ni接受到网络中的匿名可验证承诺ACommiti后,通过共识节点公钥的集合PSet验证ACommiti签名的正确性,从而实现对Commiti的匿名验证;若验证通过,将关联标签Link加入出块序列OrderList,系统再按照OrderList中关联标签Link所标记的节点的顺序依次作为主节点出块,从而实现共识节点Ni匿名出块。
4.根据权利要求1所述的基于区块链的敏感数据高效上链算法,其特征在于:步骤(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,...,N)收到超过门限值t个来自不同共识节点对同一区块block的签名后,首先验证门限签名的部分签名是否正确,区块高度h、视图编号v是否一致,如果超过t个部分签名消息验证成功,则认为系统中的共识节点状态达成一致,即可将区块信息中的交易信息在本地执行,并且更新视图编号v=v+1以及区块的高度h=h+1,并启动新一轮的匿名选主与共识过程。
5.根据权利要求4所述的基于区块链的敏感数据高效上链算法,其特征在于:进一步的,步骤2)中所述验证出块节点身份的合法性,具体为验证hash(CPi,i)与OrderListi是否相等,若是hash(CPi,i)与OrderListi相等,则通过验证。
6.根据权利要求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,...,N)进行审核,若共识节点Nj同意Queryn数据访问请求,则共识节点Nj向共识节点Ni发送部分签名的投票消息<PartSigi(hash(m)),v,h>,共识节点Ni收到超过t个来自不同共识节点的门限签名投票并验证通过后,向用户n发送查询结果数据。
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 true CN114528565A (zh) | 2022-05-24 |
CN114528565B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664714A (zh) * | 2022-09-22 | 2023-01-31 | 中国人民解放军国防科技大学 | 区块链上基于tee的匿名选委员方法、系统及介质 |
CN117251889A (zh) * | 2023-11-13 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190207912A1 (en) * | 2018-01-03 | 2019-07-04 | Syccure Inc. | Distributed authentication between network nodes |
US20200320217A1 (en) * | 2018-04-27 | 2020-10-08 | Tencent Technology (Shenzhen) Company Limited | Block chain-based data query method, server and storage medium |
CN112184247A (zh) * | 2020-10-16 | 2021-01-05 | 浙江工业大学 | 一种基于区块链分片技术的产品全环节信息追溯系统 |
-
2022
- 2022-01-21 CN CN202210083658.8A patent/CN114528565B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190207912A1 (en) * | 2018-01-03 | 2019-07-04 | Syccure Inc. | Distributed authentication between network nodes |
US20200320217A1 (en) * | 2018-04-27 | 2020-10-08 | Tencent Technology (Shenzhen) Company Limited | Block chain-based data query method, server and storage medium |
CN112184247A (zh) * | 2020-10-16 | 2021-01-05 | 浙江工业大学 | 一种基于区块链分片技术的产品全环节信息追溯系统 |
Non-Patent Citations (1)
Title |
---|
陆歌皓;谢莉红;李析禹;: "区块链共识算法对比研究", 计算机科学, no. 1, 15 June 2020 (2020-06-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664714A (zh) * | 2022-09-22 | 2023-01-31 | 中国人民解放军国防科技大学 | 区块链上基于tee的匿名选委员方法、系统及介质 |
CN115664714B (zh) * | 2022-09-22 | 2024-05-14 | 中国人民解放军国防科技大学 | 区块链上基于tee的匿名选委员方法、系统及介质 |
CN117251889A (zh) * | 2023-11-13 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
CN117251889B (zh) * | 2023-11-13 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114528565B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cai et al. | Enabling reliable keyword search in encrypted decentralized storage with fairness | |
CN109146524A (zh) | 一种采用区块链技术的农产品溯源信息安全解决方法 | |
CN114139203B (zh) | 基于区块链的异构身份联盟风险评估系统、方法及终端 | |
CN114528565A (zh) | 一种基于区块链的敏感数据高效上链算法 | |
CN109687965A (zh) | 一种保护网络中用户身份信息的实名认证方法 | |
CN113761582A (zh) | 基于群签名的可监管区块链交易隐私保护方法及系统 | |
CN115378604A (zh) | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 | |
CN110737915A (zh) | 基于联盟链和隐式证书的抗量子计算匿名身份识别方法及系统 | |
CN117040800A (zh) | 基于联盟链和无证书可搜索加密的个人档案管理方案 | |
Liu et al. | A blockchain-based cross-domain authentication management system for IoT devices | |
HanataniI et al. | A study on computational formal verification for practical cryptographic protocol: the case of synchronous RFID authentication | |
Ogundoyin | An Efficient, Secure and Conditional Privacy-Preserving Authentication Scheme for Vehicular Ad-hoc Networks. | |
CN110912702B (zh) | 一种基于隐藏社交关系的区块链资产管理方法 | |
Kou et al. | A Privacy protection scheme for carpooling service using fog computing | |
CN111353780A (zh) | 授权验证方法、装置及存储介质 | |
Wang et al. | A novel blockchain identity authentication scheme implemented in fog computing | |
CN113553873B (zh) | 疫情防控系统中基于云的rfid双向认证协议的设计方法 | |
CN113507366B (zh) | 一种基于格的可搜索日志盲签名方案 | |
CN113312640B (zh) | 一种基于可信计算的软件数据完整性多方共识方法 | |
Li et al. | A noninteractive multireplica provable data possession scheme based on smart contract | |
Wang et al. | Defense against sybil attack in blockchain based on improved consensus algorithm | |
CN115062334A (zh) | 一种基于Pedersen承诺的联盟链隐私交易方法 | |
CN114362930A (zh) | 区块链共识方法及计算机可读存储介质 | |
CN112689009A (zh) | 一种物联网的分布式认证的方法 | |
CN116633703B (zh) | 一种基于区块链及rfid协议的医疗传感器监控系统 |
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 |