CN114139203B - 基于区块链的异构身份联盟风险评估系统、方法及终端 - Google Patents

基于区块链的异构身份联盟风险评估系统、方法及终端 Download PDF

Info

Publication number
CN114139203B
CN114139203B CN202111469641.8A CN202111469641A CN114139203B CN 114139203 B CN114139203 B CN 114139203B CN 202111469641 A CN202111469641 A CN 202111469641A CN 114139203 B CN114139203 B CN 114139203B
Authority
CN
China
Prior art keywords
node
risk
risk assessment
block
group
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
CN202111469641.8A
Other languages
English (en)
Other versions
CN114139203A (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.)
Xi'an Zhuhe Visual Design Co ltd
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN202111469641.8A priority Critical patent/CN114139203B/zh
Publication of CN114139203A publication Critical patent/CN114139203A/zh
Application granted granted Critical
Publication of CN114139203B publication Critical patent/CN114139203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于风险评估技术领域,公开了一种基于区块链的异构身份联盟风险评估系统、方法及终端,身份认证中心、受评估节点、风险评估节点、联盟链、云服务器。本发明利用密文策略属性加密保障了隐私数据的安全存储,同时确保数据拥有者对风险评估数据的控制权,并结合网络分片思想和聚合签名技术,提出一种两级共识机制GABFT,先利用一致性哈希算法对网络节点分组,组内及组间采用结合聚合签名的PBFT达成共识,该共识机制在提高风险评估结果处理效率、降低通信开销的同时,支持了节点的动态变化,相比较PBFT,GABFT可以将节点达成共识所需要的通信次数由平方级降至线性级,吞吐量提升约2‑3倍。

Description

基于区块链的异构身份联盟风险评估系统、方法及终端
技术领域
本发明属于风险评估技术领域,尤其涉及一种基于区块链的异构身份联盟风险评估系统、方法及终端。
背景技术
目前,多种网络身份平台之间信息不互通以及身份信息被滥用的问题,严重阻碍了对网络空间的监管,异构身份联盟通过构建跨域统一的网络身份体系,增强了监管机构对网络身份信息的管理能力。但由于其本身存在跨域性和开放性,仍然存在着身份和数据被篡改、盗用等问题,且任何一个用户的安全风险问题都会威胁到联盟安全。
异构身份联盟风险评估系统是一种通过建立通用指标体系,由风险评估机构对异构身份联盟中成员的资产和用户行为等进行评估,分析出其薄弱点和潜在的威胁的系统。该系统不仅能够预防异构身份联盟中出现的攻击行为,还能为日后的监管和维护提供重要的信息依据。
现有技术存在的问题是:目前传统的异构身份联盟风险评估系统,联盟成员将自身资产信息以及用户行为等风险评估所需要的相关数据提交到风险评估机构和监管机构后,会丧失对所拥有数据的控制权,不利于数据拥有者对自身隐私的保护,一旦暴露给潜在攻击者,可能危及单个异构身份联盟成员组织乃至整个异构身份联盟的安全。
此外,传统的异构身份联盟风险评估系统多为中心化架构,数据集中存储,可能出现单点故障和内部作恶问题,包括但不限于修改联盟成员风险值,篡改风险评估所需数据等行为,很难追责。
目前基于区块链的风险评估但已有研究的模型只是简单利用区块链去中心化的能力来改变传统的中心化架构,以及利用区块链技术存储风险评估相关的重要数据,保证其无法篡改,并没有考虑对用户数据控制权的保护,以及风险评估对数据处理效率的高要求。
通过上述分析,现有技术存在的问题及缺陷为:目前基于区块链的风险评估方案不能保护用户数据控制权,安全性低,,数据处理效率低。
解决以上问题及缺陷的难度为:
对于用户数据控制权的问题,可以使用密文策略属性加密技术,由用户为所拥有的数据文件指定访问策略,当风险评估节点所具有的属性集满足用户指定的访问策略时,即可获取到数据文件内容,若用户想撤回风险评估节点的访问权限,修改访问策略即可;而目前基于区块链的风险评估方案虽然可以提升模型安全性,降低内部作恶的可能性,但使用区块链技术不可避免的要考虑到共识效率问题,为了解决这一问题,可以提出一种效率更高的共识机制,其难度在于如何保证共识正确性的情况下尽可能高的提升模型处理效率。
解决以上问题及缺陷的意义为:
若用户自身资产信息以及用户风险行为等数据提交到风险评估机构后就失去控制权,不利于数据拥有者对自身隐私的保护,且该类隐私数据往往涉及到联盟成员存在的漏洞和脆弱程度,一旦泄露等同于主动将自己的弱点暴露给所有的潜在攻击者,从而危及单个异构身份联盟成员组织乃至整个异构身份联盟的安全。此外,由于异构身份联盟中用户数量众多,产生的相关数据也会很庞大,若模型的处理效率过慢,可能存在部分风险值较高的数据无法及时处理,甚至是大量的待处理数据堆积,无法满足监管机构对于异构身份联盟风险状况的监管,延误风险处理时机。
发明内容
针对现有技术存在的问题,本发明提供了一种基于区块链的异构身份联盟风险评估系统、方法及终端。
本发明是这样实现的,一种基于区块链的异构身份联盟风险评估系统,所述基于区块链的异构身份联盟风险评估系统包括:
身份认证中心、受评估节点、风险评估节点、联盟链、云服务器;
身份认证中心,用于进行全局设置以及生成系统主公钥和主私钥;用于审核受评估企业的身份,并为企业分配身份和密钥对;同时用于审核风险评估机构的资质,并为风险评估机构分配身份和属性私钥;
受评估节点,用于提供风险评估所需数据,并将收集到的数据的加密上传至云服务器;所述风险评估所需数据包括:企业资产数据、存在漏洞数据以及风险行为数据;
风险评估节点,用于表征评估节点群的选举和风险评估数据区块的生成;
联盟链,用于存储风险评估相关数据的摘要值和重要参数;
云服务器,用于存储加密后的风险评估相关数据。
本发明的另一目的在于提供一种应用于所述基于区块链的异构身份联盟风险评估系统的基于区块链的异构身份联盟风险评估方法,所述基于区块链的异构身份联盟风险评估方法包括:
步骤一,通过系统初始化、进行身份分配、将各EC节点将风险数据的上传至云服务器;
步骤二,受评估节点通知风险评估节点自身风险数据发生更新,风险评估节点评估受评估节点更新的风险数据;
步骤三,将风险评估结果打包成区块,在所有风险评估节点内部基于结合聚合签名的两级共识机制GABFT达成共识并上链。
进一步,步骤三中,所述基于结合聚合签名的两级共识机制GABFT达成共识包括:
计算分组ID位置,计算RA节点位置,确定节点所属分组,验证各个分组包含的RA节点个数是否大于等于四个,若不通过则返回重新选择随机数计算RA节点位置,若验证通过则确定分组,输出节点分组结果;设置组内编号和全局编号;EC发送数据更新消息到全局主节点;Rak评估数据后并将其打包区块;Rak发送共识提案到各分组主节点;分组内部达成共识;分组主节点向全局主节点发送全局共识响应;全局达成共识。
进一步,所述基于区块链的异构身份联盟风险评估方法包括以下步骤:
(1)身份认证中心IA生成主密钥对(MPK,MSK)←Setup(λ),其中λ表示安全参数;系统的主公钥MPK公开,主私钥MSK由IA秘密保存;
(2)待评估节点Eci提交加入联盟链AC申请,IA审核身份通过后为待评估节点EC分配身份证书
Figure BDA0003391082840000041
其中ID表示节点全局唯一身份标识,
Figure BDA0003391082840000042
表示节点的密钥对;
(3)风险评估节点Raj提交加入AC申请,IA审核资质通过后为风险评估节点RA分配身份证书
Figure BDA0003391082840000043
并为Raj生成的节点属性私钥ASK=KeyGen(MPK,MSK,Ap);其中
Figure BDA0003391082840000044
表示节点全局唯一身份标识,
Figure BDA0003391082840000045
表示节点的密钥对,Ap=(a1,a2,a3,...,an)表示Raj节点所具有的属性集;
(4)Eci将各条密文CT与其索引index组合,构成M集合,同时附上明文形式的访问策略As,属性加密后的对称密钥key'm,M的摘要值MD,以及Eci节点对MD的签名
Figure BDA0003391082840000046
组成文件filej后发送至云服务器ECS;
(5)ECS接收到相应数据,验证Eci的签名,并计算M的哈希值验证MD,向Eci返回filej存放路径slj;Eci收到slj后,将自身发生数据更新的消息
Figure BDA0003391082840000047
发送给RA节点;
(6)RA节点评估EC节点更新的风险数据;根据分组数X计算每个分组ID在哈希环上的位置,并通过公式Hash(ID+random)计算每一个RA节点在哈希环上的位置;根据RA节点在哈希环上的位置顺时针查找分组节点,查找到的第一个分组节点即为该RA节点的所属分组;
(7)验证各个分组包含的RA节点个数是否大于等于四个,若不通过则返回重新选择随机数计算RA节点位置,重新分组;若验证通过则确定分组,同时所有节点均会保留一份全部节点名单和组内节点名单;
(8)基于分组结果,为RA节点设置组内编号,根据组内视图编号vg和组内节点数numg,确定当前视图中组内主节点的编号pg=vgmod|numg|;为各组内主节点设置全局编号,根据全局视图编号va和分组数numa,确定当前视图中的全局主节点编号pa=vamod|numa|;
(9)Eci将自身的update消息,连同对该消息的签名sigupdate一并发送给全局主节点Rak;Rak接受到update消息后,对update消息的签名sigupdate验签,若非法则丢弃所述请求,合法则下载风险评估相关数据;
(10)Rak验证风险评估相关数据的真实性和完整性后进行评估,记录进更新请求表Utable0,Rak对Eci近期更新的各条m选择一种风险评估算法进行评估得到各自风险值VaRm,并更新Eci的最终风险值VaR,同时生成一条风险值变化信息tx,打包进区块当中;其中,
Figure BDA0003391082840000051
VaRp表示变化前的最终风险值,VaRa表示更新后的最终风险值,IDalg表示当前评价结果所依据风险算法的标识,Height表示当前tx所属的区块高度;
(11)Rak收集t时间tx,将收集的tx组成Block,则
Figure BDA0003391082840000052
Figure BDA0003391082840000053
其中Prehash表示指向前一个区块的哈希指针,Timestamp表示出块时间戳,Height表示当前区块高度,
Figure BDA0003391082840000054
表示主节点Rak对区块的签名,TX Root表示当前区块所有tx组成的Merkle树的根;
(12)Rak发送共识提案<Proposal,va,Height,Blockheader,Utable0>到各分组主节点;各分组主节点接受到主节点Rak发送的共识提案后,将其附上组内视图编号vg后,在组内进行广播,组内副本RA节点进行区块的校验;
(13)校验完成后,发送组内共识响应消息
Figure BDA0003391082840000055
Figure BDA0003391082840000061
给分组主节点,其中
Figure BDA0003391082840000062
表示当前副本RA节点的标识,
Figure BDA0003391082840000063
表示当前副本RA节点对共识响应消息的签名;
(14)分组主节点收集组内的组内共识响应消息,当收集到大于等于2f2+1个包括主节点自身的合法分组共识响应消息后,将消息中各个副本RA节点的签名聚合为sigagg1,并向全局主节点发送一条全局共识响应消息
Figure BDA0003391082840000064
其中f2表示组内拜占庭节点的数量;listg表示参与生成聚合签名的所有组内listg节点的ID列表;
(15)全局主节点Rak收集分组主节点发来的全局共识响应消息,当收集到大于等于2f2+1个全局共识响应消息后,将所述消息中的聚合签名再次聚合为sigagg2,并广播一条共识确认消息<Commit,Blockheader,va,Height,sigagg2,lista>,其中lista表示参与生成聚合签名的所有RA节点的ID列表;
(16)副本RA节点接受到全局主节点Rak发送的共识确认消息后,通过利用lista中包含节点的公钥验证sigagg2,验证通过后,将本轮共识区块同步到本节点的链上。
进一步,所述步骤(4)之前还需进行:
首先,Eci每经过th时间处理一次自身发生的数据更新先为每一条更新的风险评估相关数据m,建立用于标识数据在云服务器存储路径里的具体序号的索引index;
其次,利用在密钥空间随机选取的对称文件密钥keym加密m得到一条密文CT,并按照当前节点自定义的访问策略As,利用MPK加密对称文件密钥keym得到key'm←Encrypt(MPK,As,keym)。
进一步,步骤(6)中,所述RA节点评估EC节点更新的风险数据包括:
当值节点Rak在接收到update后,
首先,利用Eci的公钥
Figure BDA0003391082840000071
Figure BDA0003391082840000072
验签,并向云服务器请求下载存储在slj中的filej
其次,ECS将根据被请求文件对应的访问策略判断Rak是否满足条件:若满足条件,则允许Rak下载filej得到M,并通过比较update与filej中的
Figure BDA0003391082840000073
和MD,确定数据来源是否真实有效且存储在云服务器上的数据是否被篡改;
最后,解密key'm得到文件密钥
Figure BDA0003391082840000074
并利用keym获得明文数据m,选择一种风险评价算法进行风险值的计算。
进一步,步骤(12)中,所述进行区块的校验包括:
对出块节点的签名
Figure BDA0003391082840000075
验签;判断共识提案中的va、vg及Height是否正确;通过对Blockn+1的区块头进行哈希计算,检验Blockn+1的父区块是否为Blockn;检查Blockn+1区块中的tx是否存在异常赋值,并检验其根哈希值是否和区块头中的TX Root相同。
进一步,所述基于区块链的异构身份联盟风险评估方法还包括:
当全局或组内主节点在规定时间内未出块时,由下一个副本RA节点出块进行视图更换;
所述由下一个副本RA节点出块进行视图更换包括:副本RA节点发起视图更换请求,其他副本节点验证视图更换请求,副本RA节点收集合法变更确认消息,由新的RA主节点履行评估和区块生成职责;
所述由下一个副本RA节点出块进行视图更换步骤如下:
1)副本RA节点发起视图更换请求:
副本RA节点发现主节点Rak存在问题时,发送视图变更请求
Figure BDA0003391082840000076
Figure BDA0003391082840000077
给其他副本RA节点;其中va+1表示变更后的视图编号,
Figure BDA0003391082840000078
表示发起视图变更请求的副本RA节点的ID,
Figure BDA0003391082840000079
表示该节点对视图变更请求的签名,Height表示Rau本地的区块高度,sigagg-p表示Rau前一轮共识中收集到的聚合签名,用于证明高度为Height的区块的正确性;
2)其他副本节点验证视图更换请求:其他副本RA节点在接收到视图变更请求后,对请求进行验证,验证通过后广播变更确认消息
Figure BDA0003391082840000081
Figure BDA0003391082840000082
其中,
Figure BDA0003391082840000083
表示当前副本RA节点的ID,
Figure BDA0003391082840000084
表示当前副本RA节点对变更确认消息的签名;
3)副本RA节点收集合法变更确认消息:副本RA节点收集到大于等于2f+1个合法变更确认消息后,组内视图更换f=f2,全局视图更换f=f1,更新视图编号为va+1;由新的RA主节点履行评估和区块生成职责。
本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述基于区块链的异构身份联盟风险评估方法,包括下列步骤:
步骤一,通过系统初始化、进行身份分配、将各EC节点将风险数据的上传至云服务器;
步骤二,受评估节点通知风险评估节点自身风险数据发生更新,风险评估节点评估受评估节点更新的风险数据;
步骤三,将风险评估结果打包成区块,在所有风险评估节点内部基于结合聚合签名的两级共识机制GABFT达成共识并上链。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于区块链的异构身份联盟风险评估方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
本发明利用密文策略属性加密保障了隐私数据的安全存储,同时确保数据拥有者对风险评估数据的控制权。
结合网络分片思想和聚合签名技术,提出一种两级共识机制GABFT,先利用一致性哈希算法对网络节点分组,组内及组间采用结合聚合签名的PBFT达成共识,该共识机制在提高风险评估结果处理效率、降低通信开销的同时,支持了节点的动态变化,相比较PBFT,GABFT可以将节点达成共识所需要的通信次数由平方级降至线性级,吞吐量提升约2-3倍。
本发明利采用网络分片的思想,提出了一种结合聚合签名的两级共识机制GABFT,先利用一致性哈希算法对网络节点分组,组内及组间采用结合聚合签名的PBFT。
附图说明
图1是本发明实施例提供的基于区块链的异构身份联盟风险评估系统原理图。
图2是本发明实施例提供的基于区块链的异构身份联盟风险评估系统结构示意图;
图中:1、身份认证中心;2、受评估节点;3、风险评估节点;4、联盟链;5、云服务器。
图3是本发明实施例提供的基于区块链的异构身份联盟风险评估方法流程图。
图4是本发明实施例提供的GABFT分组策略示意图。
图5是本发明实施例提供的GABFT流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中的异构身份联盟可以应用于多种实体身份平台,以电信用户身份信息为例,包含的参数一般为网络日志、手机号码、身份证件号码、账户、口令好友列表、群列表等。此外,还可应用于社交网络用户、电商用户以及政务系统用户等身份平台。
针对现有技术存在的问题,本发明提供了一种基于区块链的异构身份联盟风险评估系统及方法,下面结合附图对本发明作详细的描述。
如图1-图2所示,本发明实施例提供的基于区块链的异构身份联盟风险评估系统包括:
身份认证中心1,用于进行全局设置以及生成系统主公钥和主私钥;用于审核受评估企业的身份,并为企业分配身份和密钥对;同时用于审核风险评估机构的资质,并为风险评估机构分配身份和属性私钥;
受评估节点2,用于提供风险评估所需数据,并将收集到的数据的加密上传至云服务器;所述风险评估所需数据包括:企业资产数据、存在漏洞数据以及风险行为数据;
风险评估节点3,用于表征评估节点群的选举和风险评估数据区块的生成;
联盟链4,用于存储风险评估相关数据的摘要值和重要参数;
云服务器5,用于存储加密后的风险评估相关数据。
如图3所示,本发明实施例提供的基于区块链的异构身份联盟风险评估方法包括:
S101,通过系统初始化、进行身份分配、将各EC节点将风险数据的上传至云服务器;
S102,受评估节点通知风险评估节点自身风险数据发生更新,风险评估节点评估受评估节点更新的风险数据;
S103,将风险评估结果打包成区块,在所有风险评估节点内部基于结合聚合签名的两级共识机制GABFT达成共识并上链。
本发明实施例提供的基于结合聚合签名的两级共识机制GABFT达成共识包括:
计算分组ID位置,计算RA节点位置,确定节点所属分组,验证各个分组包含的RA节点个数是否大于等于四个,若不通过则返回重新选择随机数计算RA节点位置,若验证通过则确定分组,输出节点分组结果;设置组内编号和全局编号;EC发送数据更新消息到全局主节点;Rak评估数据后并将其打包区块;Rak发送共识提案到各分组主节点;分组内部达成共识;分组主节点向全局主节点发送全局共识响应;全局达成共识。
本发明实施例提供的基于区块链的异构身份联盟风险评估方法包括以下步骤:
(1)身份认证中心IA生成主密钥对(MPK,MSK)←Setup(λ),其中λ表示安全参数;系统的主公钥MPK公开,主私钥MSK由IA秘密保存;
(2)待评估节点Eci提交加入联盟链AC申请,IA审核身份通过后为待评估节点EC分配身份证书
Figure BDA0003391082840000111
其中ID表示节点全局唯一身份标识,
Figure BDA0003391082840000112
表示节点的密钥对;
(3)风险评估节点Raj提交加入AC申请,IA审核资质通过后为风险评估节点RA分配身份证书
Figure BDA0003391082840000113
并为Raj生成的节点属性私钥ASK=KeyGen(MPK,MSK,Ap);其中
Figure BDA0003391082840000114
表示节点全局唯一身份标识,
Figure BDA0003391082840000115
表示节点的密钥对,Ap=(a1,a2,a3,...,an)表示Raj节点所具有的属性集;
(4)Eci将各条密文CT与其索引index组合,构成M集合,同时附上明文形式的访问策略As,属性加密后的对称密钥key'm,M的摘要值MD,以及Eci节点对MD的签名
Figure BDA0003391082840000116
组成文件filej后发送至云服务器ECS;
(5)ECS接收到相应数据,验证Eci的签名,并计算M的哈希值验证MD,向Eci返回filej存放路径slj;Eci收到slj后,将自身发生数据更新的消息
Figure BDA0003391082840000117
发送给RA节点;
(6)RA节点评估EC节点更新的风险数据;根据分组数X计算每个分组ID在哈希环上的位置,并通过公式Hash(ID+random)计算每一个RA节点在哈希环上的位置;根据RA节点在哈希环上的位置顺时针查找分组节点,查找到的第一个分组节点即为该RA节点的所属分组;
(7)验证各个分组包含的RA节点个数是否大于等于四个,若不通过则返回重新选择随机数计算RA节点位置,重新分组;若验证通过则确定分组,同时所有节点均会保留一份全部节点名单和组内节点名单;
(8)基于分组结果,为RA节点设置组内编号,根据组内视图编号vg和组内节点数numg,确定当前视图中组内主节点的编号pg=vgmod|numg|;为各组内主节点设置全局编号,根据全局视图编号va和分组数numa,确定当前视图中的全局主节点编号pa=vamod|numa|;
(9)Eci将自身的update消息,连同对该消息的签名sigupdate一并发送给全局主节点Rak;Rak接受到update消息后,对update消息的签名sigupdate验签,若非法则丢弃所述请求,合法则下载风险评估相关数据;
(10)Rak验证风险评估相关数据的真实性和完整性后进行评估,记录进更新请求表Utable0,Rak对Eci近期更新的各条m选择一种风险评估算法进行评估得到各自风险值VaRm,并更新Eci的最终风险值VaR,同时生成一条风险值变化信息tx,打包进区块当中;其中,
Figure BDA0003391082840000121
VaRp表示变化前的最终风险值,VaRa表示更新后的最终风险值,IDalg表示当前评价结果所依据风险算法的标识,Height表示当前tx所属的区块高度;
(11)Rak收集t时间tx,将收集的tx组成Block,则
Figure BDA0003391082840000122
Figure BDA0003391082840000123
其中Prehash表示指向前一个区块的哈希指针,Timestamp表示出块时间戳,Height表示当前区块高度,
Figure BDA0003391082840000124
表示主节点Rak对区块的签名,TX Root表示当前区块所有tx组成的Merkle树的根;
(12)Rak发送共识提案<Proposal,va,Height,Blockheader,Utable0>到各分组主节点;各分组主节点接受到主节点Rak发送的共识提案后,将其附上组内视图编号vg后,在组内进行广播,组内副本RA节点进行区块的校验;
(13)校验完成后,发送组内共识响应消息
Figure BDA0003391082840000131
Figure BDA0003391082840000132
给分组主节点,其中
Figure BDA0003391082840000133
表示当前副本RA节点的标识,
Figure BDA0003391082840000134
表示当前副本RA节点对共识响应消息的签名;
(14)分组主节点收集组内的组内共识响应消息,当收集到大于等于2f2+1个包括主节点自身的合法分组共识响应消息后,将消息中各个副本RA节点的签名聚合为sigagg1,并向全局主节点发送一条全局共识响应消息
Figure BDA0003391082840000135
其中f2表示组内拜占庭节点的数量;listg表示参与生成聚合签名的所有组内listg节点的ID列表;
(15)全局主节点Rak收集分组主节点发来的全局共识响应消息,当收集到大于等于2f2+1个全局共识响应消息后,将所述消息中的聚合签名再次聚合为sigagg2,并广播一条共识确认消息<Commit,Blockheader,va,Height,sigagg2,lista>,其中lista表示参与生成聚合签名的所有RA节点的ID列表;
(16)副本RA节点接受到全局主节点Rak发送的共识确认消息后,通过利用lista中包含节点的公钥验证sigagg2,验证通过后,将本轮共识区块同步到本节点的链上。
本发明实施例提供的步骤(4)之前还需进行:
首先,Eci每经过th时间处理一次自身发生的数据更新先为每一条更新的风险评估相关数据m,建立用于标识数据在云服务器存储路径里的具体序号的索引index;
其次,利用在密钥空间随机选取的对称文件密钥keym加密m得到一条密文CT,并按照当前节点自定义的访问策略As,利用MPK加密对称文件密钥keym得到key'm←Encrypt(MPK,As,keym)。
步骤(6)中,本发明实施例提供的RA节点评估EC节点更新的风险数据包括:
当值节点Rak在接收到update后,
首先,利用Eci的公钥
Figure BDA0003391082840000141
Figure BDA0003391082840000142
验签,并向云服务器请求下载存储在slj中的filej
其次,ECS将根据被请求文件对应的访问策略判断Rak是否满足条件:若满足条件,则允许Rak下载filej得到M,并通过比较update与filej中的
Figure BDA0003391082840000143
和MD,确定数据来源是否真实有效且存储在云服务器上的数据是否被篡改;
最后,解密key'm得到文件密钥
Figure BDA0003391082840000144
并利用keym获得明文数据m,选择一种风险评价算法进行风险值的计算。
步骤(12)中,本发明实施例提供的进行区块的校验包括:
对出块节点的签名
Figure BDA0003391082840000145
验签;判断共识提案中的va、vg及Height是否正确;通过对Blockn+1的区块头进行哈希计算,检验Blockn+1的父区块是否为Blockn;检查Blockn+1区块中的tx是否存在异常赋值,并检验其根哈希值是否和区块头中的TX Root相同。
本发明实施例提供的基于区块链的异构身份联盟风险评估方法还包括:
当全局或组内主节点在规定时间内未出块时,由下一个副本RA节点出块进行视图更换.
本发明实施例提供的由下一个副本RA节点出块进行视图更换包括:副本RA节点发起视图更换请求,其他副本节点验证视图更换请求,副本RA节点收集合法变更确认消息,由新的RA主节点履行评估和区块生成职责.
本发明实施例提供的由下一个副本RA节点出块进行视图更换步骤如下:
1)副本RA节点发起视图更换请求:
副本RA节点发现主节点Rak存在问题时,发送视图变更请求
Figure BDA0003391082840000151
Figure BDA0003391082840000152
给其他副本RA节点;其中va+1表示变更后的视图编号,
Figure BDA0003391082840000153
表示发起视图变更请求的副本RA节点的ID,
Figure BDA0003391082840000154
表示该节点对视图变更请求的签名,Height表示Rau本地的区块高度,sigagg-p表示Rau前一轮共识中收集到的聚合签名,用于证明高度为Height的区块的正确性;
2)其他副本节点验证视图更换请求:其他副本RA节点在接收到视图变更请求后,对请求进行验证,验证通过后广播变更确认消息
Figure BDA0003391082840000155
Figure BDA0003391082840000156
其中,
Figure BDA0003391082840000157
表示当前副本RA节点的ID,
Figure BDA0003391082840000158
表示当前副本RA节点对变更确认消息的签名;
3)副本RA节点收集合法变更确认消息:副本RA节点收集到大于等于2f+1个合法变更确认消息后,组内视图更换f=f2,全局视图更换f=f1,更新视图编号为va+1;由新的RA主节点履行评估和区块生成职责。
下面结合具体实施例对本发明的技术方案做进一步说明。
实施例1:
一种基于区块链的异构身份联盟风险评估模型框架包括五个部分:身份认证中心IA、受评估节点、风险评估节点、联盟链AC、云服务器ECS,如图1所示,各部分具体介绍如下:
身份认证中心(IA):在该模型中担任证书机构和属性机构的角色。其主要职责为进行全局设置,包括系统主公钥和主私钥。此外,还需要负责审核受评估企业的身份,减少风险评估机构对于无效数据计算所造成的资源浪费,并为其分配身份和密钥对,同时负责审核风险评估机构的资质,通过提高风险评估机构加入链的门槛来增加其作恶成本,并为其分配身份和属性私钥;
受评估节点(EC):异构身份联盟成员,风险评估流程所需数据(企业资产、存在漏洞、风险行为)的提供者,并负责对将收集到的数据的加密上传至云服务器;
风险评估节点(RA):负责代表评估节点群的选举和风险评估数据区块的生成;
联盟链(AC):负责存储风险评估相关数据的摘要值和重要参数;
云服务器(ECS):负责存储加密后的风险评估相关数据。
所述的一种基于区块链的异构身份联盟风险评估方案步骤包括:
步骤一,系统初始化:
步骤二,身份分配:
步骤三,各EC节点将风险数据的上传至ECS:
步骤四,EC节点通知RA节点自身风险数据发生更新:
步骤五,RA节点评估EC节点更新的风险数据:
步骤六,将风险评估结果打包成区块后,在所有风险评估节点内部达成共识并上链。
所述的一种结合聚合签名的两级共识机制GABFT前提为:
为了保证PBFT算法抵抗拜占庭节点的能力,分组数X需要满足X≥4,各个分组内的节点数Y也需要满足Y≥4。
所述的一种结合聚合签名的两级共识机制GABFT分组步骤包括:
步骤一,计算分组ID位置:
步骤二,计算RA节点位置:
步骤三,确定节点所属分组:
步骤四,验证是否符合分组条件:
验证各个分组包含的RA节点个数是否大于等于四个,若验证通过则确定分组,若不通过则进入步骤二重新选择随机数进行计算。
分组确定后,所有节点均会保留一份全部节点名单和组内节点名单。
本模型中风险评估相关数据较为碎片化,不适合每次请求都进行一次共识,为了简单高效起见,链上区块的生成和共识直接由分组RA主节点将数据收集后发起,所有RA副本节点共同完成。
所述的一种结合聚合签名的两级共识机制GABFT共识步骤包括:
步骤一,设置组内编号和全局编号:
步骤二,EC发送数据更新消息到全局主节点:
步骤三,Rak评估数据后并将其打包区块:
步骤四,Rak发送共识提案到各分组主节点:
步骤五,分组内部达成共识:
步骤六,分组主节点向全局主节点发送全局共识响应:
步骤七,全局达成共识:
当全局或组内主节点发生宕机等意外情况,导致在规定时间内没有正常履行出块职责时,将执行视图更换流程,由下一个副本RA节点继续完成出块工作,保持区块链的正常运行,以全局主节点Rak发生意外为例,所述的一种结合聚合签名的两级共识机制GABFT视图更换步骤包括:
步骤一,副本RA节点发起视图更换请求:
步骤二,其他副本节点验证视图更换请求:
步骤三,副本RA节点收集合法变更确认消息:
步骤四,由新的RA主节点履行评估和区块生成职责。
一种基于区块链的异构身份联盟风险评估模型步骤包括:
步骤一,系统初始化:
IA生成主密钥对(MPK,MSK)←Setup(λ),其中λ为安全参数。系统的主公钥MPK公开,主私钥MSK由IA秘密保存。
步骤二,身份分配:
Eci提交加入AC申请,IA审核身份通过后为EC分配身份证书
Figure BDA0003391082840000171
其中ID为节点全局唯一身份标识,
Figure BDA0003391082840000172
为节点的密钥对;
Raj提交加入AC申请,IA审核资质通过后为RA分配身份证书
Figure BDA0003391082840000181
并为Raj生成的节点属性私钥ASK=KeyGen(MPK,MSK,Ap),其中
Figure BDA0003391082840000182
为节点全局唯一身份标识,
Figure BDA0003391082840000183
为节点的密钥对,Ap=(a1,a2,a3,...,an)为Raj节点所具有的属性集。
步骤三,Eci将风险数据的上传至ECS:
为了平衡模型性能与延迟,Eci每经过th时间处理一次自身发生的数据更新(th可根据实际应用场景中产生新数据的速度动态调整):先为每一条更新的风险评估相关数据m,建立索引index,用于标识数据在云服务器存储路径里的具体序号,index通常按照时间顺序生成。然后利用在密钥空间随机选取的对称文件密钥keym加密m得到一条密文CT,并按照该节点自定义的访问策略As,利用MPK加密对称文件密钥keym得到key'm←Encrypt(MPK,As,keym),确保只有风险评估机构可以解密正确的文件密钥。Eci将各条CT与其index组合,构成M集合,同时附上明文形式的访问策略As,属性加密后的对称密钥key'm,M的摘要值MD,以及Eci节点对MD的签名
Figure BDA0003391082840000184
组成文件filej后发送至ECS。
ECS接收到以上消息后,验证Eci的签名,并计算M的哈希值验证MD,确保数据正确性和完整性后,向Eci返回filej存放路径slj
步骤四,EC节点通知RA节点自身风险数据发生更新:
Eci得到slj后,将自身发生数据更新的消息
Figure BDA0003391082840000185
发送给RA节点。
步骤五,RA节点评估EC节点更新的风险数据:
当值节点Rak在接收到update后,首先利用Eci的公钥
Figure BDA0003391082840000186
Figure BDA0003391082840000187
验签,然后向云服务器请求下载存储在slj中的filej,ECS将根据被请求文件对应的访问策略判断Rak是否满足条件,若符合则允许Rak下载filej得到M,并通过比较update与filej中的
Figure BDA0003391082840000191
和MD,确保来源真实有效且存储在云服务器上的数据没有被篡改。由于Rak的角色属性Ap满足Eci设置的访问策略As,因此可以解密key'm得到文件密钥
Figure BDA0003391082840000192
并利用keym获得明文数据m,然后选择一种风险评价算法进行风险值的计算;
步骤六,将风险评估结果打包成区块后,在所有风险评估节点内部达成共识并上链。
所述的一种结合聚合签名的两级共识机制GABFT前提为:
为了保证PBFT算法抵抗拜占庭节点的能力,分组数X需要满足X≥4,各个分组内的节点数Y也需要满足Y≥4。
所述的一种结合聚合签名的两级共识机制GABFT分组步骤包括:
步骤一,计算分组ID位置:
首先根据分组数X计算每个分组ID在哈希环上的位置,此时可以对每一分组ID进行多次哈希计算,在哈希环上产生多个虚拟节点,从而减少数据倾斜的问题,如图4所示。
步骤二,计算RA节点位置:
通过公式Hash(ID+random)计算每一个RA节点在哈希环上的位置。
步骤三,确定节点所属分组:
根据RA节点在哈希环上的位置顺时针查找到的第一个分组节点即为该RA节点的所属分组。
步骤四,验证是否符合分组条件:
验证各个分组包含的RA节点个数是否大于等于四个,若验证通过则确定分组,若不通过则进入步骤二重新选择随机数进行计算。
分组确定后,所有节点均会保留一份全部节点名单和组内节点名单。
本模型中风险评估相关数据较为碎片化,不适合每次请求都进行一次共识,为了简单高效起见,链上区块的生成和共识直接由分组RA主节点将数据收集后发起,所有RA副本节点共同完成。
所述的一种结合聚合签名的两级共识机制GABFT共识步骤包括:
步骤一,设置组内编号和全局编号:
为RA节点设置组内编号,根据组内视图编号vg和组内节点数numg,确定当前视图中组内主节点的编号pg=vgmod|numg|;
为各组内主节点设置全局编号,根据全局视图编号va和分组数numa,确定当前视图中的全局主节点编号pa=vamod|numa|。
步骤二,EC发送数据更新消息到全局主节点:
Eci将自身的update消息,连同对该消息的签名sigupdate一并发送给全局主节点Rak
步骤三,Rak评估数据后并将其打包区块:
Rak接受到update消息后,对update消息的签名sigupdate验签,非法则丢弃该请求,合法则下载风险评估相关数据;
Rak验证风险评估相关数据的真实性和完整性后进行评估,记录进更新请求表Utable0,Rak对Eci近期更新的各条m选择一种风险评估算法进行评估得到各自风险值VaRm,并更新Eci的最终风险值VaR,同时生成一条风险值变化信息tx,打包进区块当中;风险值变化信息
Figure BDA0003391082840000201
其中VaRp为变化前的最终风险值,初始化时为0,VaRp为更新后的最终风险值,IDalg为当前评价结果所依据风险算法的标识,Height为当前tx所属的区块高度;
Rak经过t时间的收集后,将收集到的tx组成Block,则
Figure BDA0003391082840000202
Figure BDA0003391082840000203
其中Prehash为指向前一个区块的哈希指针,Timestamp为出块时间戳,Height为当前区块高度,
Figure BDA0003391082840000211
为主节点Rak对区块的签名,TX Root为当前区块所有tx组成的Merkle树的根;
步骤四,Rak发送共识提案到各分组主节点:
Rak发送共识提案<Proposal,va,Height,Blockheader,Utable0>到各分组主节点;
步骤五,分组内部达成共识:
各分组主节点接受到主节点Rak发送的共识提案后,将其附上组内视图编号vg后,在组内进行广播,组内副本RA节点需要进行区块的校验,校验内容如下:
(1)对出块节点的签名
Figure BDA0003391082840000212
验签;
(2)共识提案中的va、vg及Height是否正确;
(3)通过对Blockn+1的区块头进行哈希计算,检验Blockn+1的父区块是否为Blockn
(4)检查Blockn+1区块中的tx是否存在异常赋值,并检验其根哈希值是否和区块头中的TX Root相同。
校验完成后,发送组内共识响应消息
Figure BDA0003391082840000213
Figure BDA0003391082840000214
给分组主节点,其中
Figure BDA0003391082840000215
为当前副本RA节点的标识,
Figure BDA0003391082840000216
对当前副本RA节点对共识响应消息的签名。
步骤六,分组主节点向全局主节点发送全局共识响应:
分组主节点收集组内的组内共识响应消息,当收集到大于等于2f2+1个(包括主节点自身)合法分组共识响应消息后(f2为组内拜占庭节点的数量),将消息中各个副本RA节点的签名聚合为sigagg1,并向全局主节点发送一条全局共识响应消息<Responda,va,Height,Blockheader,sigagg1,listg>,其中listg为参与生成聚合签名的所有组内listg节点的ID列表;
步骤七,全局达成共识:
全局主节点Rak收集分组主节点发来的全局共识响应消息,当收集到大于等于2f2+1个全局共识响应消息后(f2为分组主节点中拜占庭节点的数量),将这些消息中的聚合签名再次聚合为sigagg2,并广播一条共识确认消息<Commit,Blockheader,va,Height,sigagg2,lista>,其中lista为参与生成聚合签名的所有RA节点的ID列表。
副本RA节点接受到全局主节点Rak发送的共识确认消息后,通过利用lista中包含节点的公钥验证sigagg2,验证通过后,将本轮共识区块同步到本节点的链上,并开启下一轮共识。
当全局或组内主节点发生宕机等意外情况,导致在规定时间内没有正常履行出块职责时,将执行视图更换流程,由下一个副本RA节点继续完成出块工作,保持区块链的正常运行,以全局主节点Rak发生意外为例,所述的一种结合聚合签名的两级共识机制GABFT视图更换步骤包括:
步骤一,副本RA节点发起视图更换请求:
副本RA节点发现主节点Rak存在问题时,发送视图变更请求
Figure BDA0003391082840000221
Figure BDA0003391082840000222
给其他副本RA节点,其中va+1表示变更后的视图编号,
Figure BDA0003391082840000223
为发起视图变更请求的副本RA节点的ID,
Figure BDA0003391082840000224
为该节点对视图变更请求的签名,Height为Rau本地的区块高度,sigagg-p为Rau前一轮共识中收集到的聚合签名,用于证明高度为Height的区块的正确性;
步骤二,其他副本节点验证视图更换请求:
其他副本RA节点在接收到视图变更请求后,对请求进行验证,验证通过后广播变更确认消息
Figure BDA0003391082840000225
其中
Figure BDA0003391082840000226
为当前副本RA节点的ID,
Figure BDA0003391082840000227
对当前副本RA节点对变更确认消息的签名;
步骤三,副本RA节点收集合法变更确认消息:
副本RA节点收集到大于等于2f+1个合法变更确认消息后(组内视图更换时f=f2,全局视图更换时f=f1),更新视图编号为va+1;
步骤四,由新的RA主节点履行评估和区块生成职责。
组内主节点的视图更换流程与上述流程基本相同,区别在于新的组内主节点生成后,将重新请求获得全局主节点发送的共识提案,并在组内广播。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (5)

1.一种应用于基于区块链的异构身份联盟风险评估系统的基于区块链的异构身份联盟风险评估方法,其特征在于,所述基于区块链的异构身份联盟风险评估系统包括:身份认证中心、受评估节点、风险评估节点、联盟链、云服务器;
身份认证中心,用于进行全局设置以及生成系统主公钥和主私钥;用于审核受评估企业的身份,并为企业分配身份和密钥对;同时用于审核风险评估机构的资质,并为风险评估机构分配身份和属性私钥;
受评估节点,用于提供风险评估所需数据,并将收集到的数据加密上传至云服务器;所述风险评估所需数据包括:企业资产数据、存在漏洞数据以及风险行为数据;
风险评估节点,用于表征评估节点群的选举和风险评估数据区块的生成;
联盟链,用于存储风险评估相关数据的摘要值和重要参数;
云服务器,用于存储加密后的风险评估相关数据;
所述基于区块链的异构身份联盟风险评估方法包括以下步骤:
(1)身份认证中心IA生成主密钥对(MPK,MSK)←Setup(λ),其中λ表示安全参数;系统的主公钥MPK公开,主私钥MSK由IA秘密保存;
(2)受评估节点Eci提交加入联盟链AC申请,IA审核身份通过后为受评估节点Eci分配身份证书
Figure FDA0003833018180000011
其中IDECi表示节点全局唯一身份标识,
Figure FDA0003833018180000012
表示节点的密钥对;
(3)风险评估节点Raj提交加入AC申请,IA审核资质通过后为风险评估节点RA分配身份证书
Figure FDA0003833018180000013
并为Raj生成节点属性私钥ASK=KeyGen(MPK,MSK,Ap);其中
Figure FDA0003833018180000014
表示节点全局唯一身份标识,
Figure FDA0003833018180000015
表示节点的密钥对,Ap=(a1,a2,a3,...,an)表示Raj节点所具有的属性集;
(4)首先,Eci每经过th时间处理一次自身发生的数据更新,数据更新为每一条更新的风险评估相关数据m,建立用于标识数据在云服务器存储路径里的具体序号的索引index;其次,利用在密钥空间随机选取的对称文件密钥keym加密m得到一条密文CT,并按照当前节点自定义的访问策略As,利用MPK加密对称文件密钥keym得到key'm←Encrypt(MPK,As,keym);Eci将各条密文CT与其索引index组合,构成M集合,同时附上明文形式的访问策略As,属性加密后的对称密钥key'm,M的摘要值MD,以及Eci节点对MD的签名
Figure FDA0003833018180000021
组成文件filej后发送至云服务器ECS;
(5)ECS接收到文件filej,验证Eci的签名,并计算M的哈希值验证MD,向Eci返回filej存放路径slj;Eci收到slj后,将自身发生数据更新的消息
Figure FDA0003833018180000022
发送给RA节点;
(6)风险评估节点评估Eci节点更新的风险数据;根据分组数X计算每个分组ID在哈希环上的位置,并通过公式Hash(ID+random)计算每一个风险评估节点在哈希环上的位置;根据RA节点在哈希环上的位置顺时针查找分组节点,查找到的第一个分组节点即为该RA节点的所属分组;
(7)验证各个分组包含的风险评估节点个数是否大于等于四个,若不通过则返回重新选择随机数计算风险评估节点位置,重新分组;若验证通过则确定分组,同时所有节点均会保留一份全部节点名单和组内节点名单;
(8)基于分组结果,为风险评估节点设置组内编号,根据组内视图编号vg和组内节点数numg,确定当前视图中组内主节点的编号pg=vgmod|numg|;为各组内主节点设置全局编号,根据全局视图编号va和分组数numa,确定当前视图中的全局主节点编号pa=vamod|numa|;
(9)Eci将自身的update消息,连同对该消息的签名sigupdate一并发送给全局主节点Rak;Rak接收到update消息后,对update消息的签名sigupdate验签,若非法则丢弃请求,合法则下载风险评估相关数据;
具体步骤如下:
当值节点Rak在接收到update后,
首先,利用Eci的公钥
Figure FDA0003833018180000031
Figure FDA0003833018180000032
验签,并向云服务器请求下载存储在slj中的filej
其次,ECS将根据被请求文件对应的访问策略判断Rak是否满足条件,满足条件为利用Eci的公钥
Figure FDA0003833018180000033
Figure FDA0003833018180000034
验签通过:若满足条件,则允许Rak下载filej得到M,并通过比较update与filej中的
Figure FDA0003833018180000035
和MD,确定数据来源是否真实有效且存储在云服务器上的数据是否被篡改;
最后,解密key'm得到文件密钥
Figure FDA0003833018180000036
并利用keym获得明文数据m,进行风险值的计算;
(10)Rak验证风险评估相关数据的真实性和完整性后进行评估,记录进更新请求表Utable0,Rak对Eci近期更新的各条明文数据m选择一种风险评估算法进行评估得到各自风险值VaRm,并更新Eci的最终风险值VaRi,同时生成一条风险值变化信息tx,打包进区块当中;其中,
Figure FDA0003833018180000037
VaRp表示变化前的最终风险值,VaRa表示更新后的最终风险值,IDalg表示当前评价结果所依据风险算法的标识,Height表示当前tx所属的区块高度;
(11)Rak收集t时间的风险值变化信息tx,将收集的tx组成Block,则
Figure FDA0003833018180000038
其中Prehash表示指向前一个区块的哈希指针,Timestamp表示出块时间戳,Height表示当前区块高度,
Figure FDA0003833018180000039
表示主节点Rak对区块的签名,TXRoot表示当前区块所有tx组成的Merkle树的根;
(12)Rak发送共识提案<Proposal,va,Height,Blockheader,Utable0>到各分组主节点;各分组主节点接收到主节点Rak发送的共识提案后,将其附上组内视图编号vg后,在组内进行广播,组内副本风险评估节点进行区块的校验;
(13)校验完成后,发送组内共识响应消息
Figure FDA0003833018180000041
Figure FDA0003833018180000042
给分组主节点,其中
Figure FDA0003833018180000043
表示当前副本风险评估节点的标识,
Figure FDA0003833018180000044
表示当前副本风险评估节点对共识响应消息的签名;
(14)分组主节点收集组内的组内共识响应消息,当收集到大于等于2f2+1个包括主节点自身的合法分组共识响应消息后,将消息中各个副本RA节点的签名聚合为sigagg1,并向全局主节点发送一条全局共识响应消息<Responda,va,Height,Blockheader,sigagg1,listg>,其中f2表示组内拜占庭节点的数量;listg表示参与生成聚合签名的所有组内listg节点的ID列表;
(15)全局主节点Rak收集分组主节点发来的全局共识响应消息,当收集到大于等于2f2+1个全局共识响应消息后,将所述消息中的聚合签名再次聚合为sigagg2,并广播一条共识确认消息<Commit,Blockheader,va,Height,sigagg2,lista>,其中lista表示参与生成聚合签名的所有风险评估节点的ID列表;
(16)副本风险评估节点接收到全局主节点Rak发送的共识确认消息后,通过利用lista中包含节点的公钥验证sigagg2,验证通过后,将本轮共识区块同步到本节点的链上。
2.如权利要求1所述应用于基于区块链的异构身份联盟风险评估系统的基于区块链的异构身份联盟风险评估方法,其特征在于步骤(12)中,所述进行区块的校验包括:
对签名
Figure FDA0003833018180000045
验签;判断共识提案中的va、vg及Height是否正确;通过对Blockn+1的区块头进行哈希计算,检验Blockn+1的父区块是否为Blockn;检查Blockn+1区块中的tx是否存在异常赋值,并检验其根哈希值是否和区块头中的TXRoot相同。
3.如权利要求1所述应用于基于区块链的异构身份联盟风险评估系统的基于区块链的异构身份联盟风险评估方法,其特征在于所述基于区块链的异构身份联盟风险评估方法还包括:
当全局或组内主节点在规定时间内未出块时,由下一个副本RA节点出块进行视图更换;
所述由下一个副本风险评估节点出块进行视图更换包括:副本风险评估节点发起视图更换请求,其他副本节点验证视图更换请求,副本风险评估节点收集合法变更确认消息,由新的风险评估主节点履行评估和区块生成职责;
当全局或组内主节点发生宕机意外情况,导致在规定时间内没有正常履行出块职责时,将执行视图更换流程,由下一个副本RA节点继续完成出块工作,保持区块链的正常运行;
所述由下一个副本风险评估节点出块进行视图更换步骤如下:
1)副本风险评估节点发起视图更换请求:
副本RA节点发现主节点Rak存在问题时,发送视图变更请求
Figure FDA0003833018180000051
Figure FDA0003833018180000052
给其他副本RA节点;其中va+1表示变更后的视图编号,
Figure FDA0003833018180000053
表示发起视图变更请求的副本风险评估节点的ID,
Figure FDA0003833018180000054
表示该节点对视图变更请求的签名,Height表示Rau本地的区块高度,sigagg-p表示Rau前一轮共识中收集到的聚合签名,用于证明高度为Height的区块的正确性;
2)其他副本节点验证视图更换请求:其他副本风险评估节点在接收到视图变更请求后,对请求进行验证,验证通过后广播变更确认消息
Figure FDA0003833018180000055
Figure FDA0003833018180000056
其中,
Figure FDA0003833018180000057
表示当前副本风险评估节点的ID,
Figure FDA0003833018180000058
表示当前副本风险评估节点对变更确认消息的签名;
3)副本风险评估节点收集合法变更确认消息:副本风险评估节点收集到大于等于2f+1个合法变更确认消息后,组内视图更换f=f2,全局视图更换f=f1,更新视图编号为va+1;由新的风险评估主节点履行评估和区块生成职责。
4.一种接收用户输入的 程序存储介质,所存储的计算机程序使电子设备执行如权利要求1-3任意一项所述基于区块链的异构身份联盟风险评估方法。
5.一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-3任意一项所述基于区块链的异构身份联盟风险评估方法。
CN202111469641.8A 2021-12-03 2021-12-03 基于区块链的异构身份联盟风险评估系统、方法及终端 Active CN114139203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111469641.8A CN114139203B (zh) 2021-12-03 2021-12-03 基于区块链的异构身份联盟风险评估系统、方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111469641.8A CN114139203B (zh) 2021-12-03 2021-12-03 基于区块链的异构身份联盟风险评估系统、方法及终端

Publications (2)

Publication Number Publication Date
CN114139203A CN114139203A (zh) 2022-03-04
CN114139203B true CN114139203B (zh) 2022-10-14

Family

ID=80387552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111469641.8A Active CN114139203B (zh) 2021-12-03 2021-12-03 基于区块链的异构身份联盟风险评估系统、方法及终端

Country Status (1)

Country Link
CN (1) CN114139203B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499890B (zh) * 2022-03-15 2023-09-15 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识方法
CN114493810B (zh) * 2022-04-14 2022-07-05 成都信息工程大学 物联网数据处理方法、装置及介质
CN115065689B (zh) * 2022-06-10 2024-04-02 湖州市赛思安科技有限公司 一种基于历史评价的联盟链区块数据存储方法及系统
CN116776386B (zh) * 2023-07-05 2023-11-17 深圳钰丰信息技术有限公司 一种云服务数据信息安全管理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102360386B1 (ko) * 2017-06-02 2022-02-09 로베르토 지저스 수손 이종 통신 네트워크 환경에서 원 엔터티를 검증 가능하며 인증 가능한 엔터티로 변환하기 위한 시스템, 방법 및 서버 컴퓨터 시스템
AU2018348322C1 (en) * 2018-11-27 2020-06-25 Advanced New Technologies Co., Ltd. Asymmetric key management in consortium blockchain networks
CN111260362A (zh) * 2018-12-03 2020-06-09 北京京东尚科信息技术有限公司 一种区块链网络的信息处理方法及装置、存储介质
CN110324320A (zh) * 2019-06-14 2019-10-11 成都信息工程大学 一种基于类区块链技术的异构身份联盟用户信任管理系统
CN110519261B (zh) * 2019-08-23 2021-11-19 东莞盟大集团有限公司 一种跨链操作的风险评估方法
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统
CN112702346B (zh) * 2020-12-24 2024-05-10 国网浙江省电力有限公司电力科学研究院 基于联盟链的分布式身份认证方法及系统

Also Published As

Publication number Publication date
CN114139203A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN113489733B (zh) 基于区块链的内容中心网络隐私保护方法
CN114139203B (zh) 基于区块链的异构身份联盟风险评估系统、方法及终端
Ma et al. Attribute-based secure announcement sharing among vehicles using blockchain
Lei et al. Blockchain-based cache poisoning security protection and privacy-aware access control in NDN vehicular edge computing networks
US8767965B2 (en) Method for a public-key infrastructure providing communication integrity and anonymity while detecting malicious communication
CN112651037A (zh) 区块链系统的链外数据访问方法和系统
US11582024B2 (en) Blockchain-based decentralized public key management system
Zhang et al. LIAS: A lightweight incentive authentication scheme for forensic services in IoV
Guo et al. Accountable attribute-based data-sharing scheme based on blockchain for vehicular ad hoc network
Ahmed et al. Toward fine‐grained access control and privacy protection for video sharing in media convergence environment
Ma et al. Efficient, traceable and privacy-aware data access control in distributed cloud-based IoD systems
CN110945833B (zh) 一种用于多模标识网络隐私保护与身份管理的方法及系统
Cui et al. Efficient blockchain-based mutual authentication and session key agreement for cross-domain IIoT
Tan et al. An Atomic Cross‐Chain Swap‐Based Management System in Vehicular Ad Hoc Networks
Zhou et al. A Scalable Blockchain‐Based Integrity Verification Scheme
Manulis et al. Security model and framework for information aggregation in sensor networks
CN117014135A (zh) 基于区块链的交易溯源方法及系统、存储介质、程序产品
Chen et al. SAVE: Efficient privacy-preserving location-based service bundle authentication in self-organizing vehicular social networks
Cheng et al. A Lightweight Authentication-Driven Trusted Management Framework for IoT Collaboration
Tan et al. A secure cloud-assisted certificateless group authentication scheme for VANETs in big data environment
Feng et al. TChain: A Privacy-Preserving Consortium Blockchain for Parking Charge Management
Zhang et al. Hardware Secure Module based Lightweight Conditional Privacy-Preserving Authentication for VANETs
Liu et al. A Certificateless Anonymous Cross‐Domain Authentication Scheme Assisted by Blockchain for Internet of Vehicles
Jiang et al. A Distributed Internet of Vehicles Data Privacy Protection Method Based on Zero-knowledge Proof and Blockchain
Xu et al. B-Tor: Anonymous communication system based on consortium blockchain

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
TR01 Transfer of patent right

Effective date of registration: 20230413

Address after: Room 22604, Unit 2, Building 46, Baihualinju Community, No. 86 Wenjing Road, Economic and Technological Development Zone, Xi'an City, Shaanxi Province, 710000

Patentee after: Xi'an Zhuhe Visual Design Co.,Ltd.

Address before: 610225, No. 24, Section 1, Xuefu Road, Southwest Economic Development Zone, Chengdu, Sichuan

Patentee before: CHENGDU University OF INFORMATION TECHNOLOGY

TR01 Transfer of patent right