[发明专利]基于区块链的异构身份联盟风险评估系统、方法及终端有效
| 申请号: | 202111469641.8 | 申请日: | 2021-12-03 |
| 公开(公告)号: | CN114139203B | 公开(公告)日: | 2022-10-14 |
| 发明(设计)人: | 万武南;杨彦伯;张仕斌;张金全;秦智 | 申请(专利权)人: | 成都信息工程大学 |
| 主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64;G06F21/60 |
| 代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 王东旭 |
| 地址: | 610225 四川省成都*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 区块 身份 联盟 风险 评估 系统 方法 终端 | ||
1.一种应用于基于区块链的异构身份联盟风险评估系统的基于区块链的异构身份联盟风险评估方法,其特征在于,所述基于区块链的异构身份联盟风险评估系统包括:身份认证中心、受评估节点、风险评估节点、联盟链、云服务器;
身份认证中心,用于进行全局设置以及生成系统主公钥和主私钥;用于审核受评估企业的身份,并为企业分配身份和密钥对;同时用于审核风险评估机构的资质,并为风险评估机构分配身份和属性私钥;
受评估节点,用于提供风险评估所需数据,并将收集到的数据加密上传至云服务器;所述风险评估所需数据包括:企业资产数据、存在漏洞数据以及风险行为数据;
风险评估节点,用于表征评估节点群的选举和风险评估数据区块的生成;
联盟链,用于存储风险评估相关数据的摘要值和重要参数;
云服务器,用于存储加密后的风险评估相关数据;
所述基于区块链的异构身份联盟风险评估方法包括以下步骤:
(1)身份认证中心IA生成主密钥对(MPK,MSK)←Setup(λ),其中λ表示安全参数;系统的主公钥MPK公开,主私钥MSK由IA秘密保存;
(2)受评估节点Eci提交加入联盟链AC申请,IA审核身份通过后为受评估节点Eci分配身份证书其中IDECi表示节点全局唯一身份标识,表示节点的密钥对;
(3)风险评估节点Raj提交加入AC申请,IA审核资质通过后为风险评估节点RA分配身份证书并为Raj生成节点属性私钥ASK=KeyGen(MPK,MSK,Ap);其中表示节点全局唯一身份标识,表示节点的密钥对,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的签名组成文件filej后发送至云服务器ECS;
(5)ECS接收到文件filej,验证Eci的签名,并计算M的哈希值验证MD,向Eci返回filej存放路径slj;Eci收到slj后,将自身发生数据更新的消息发送给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的公钥对验签,并向云服务器请求下载存储在slj中的filej;
其次,ECS将根据被请求文件对应的访问策略判断Rak是否满足条件,满足条件为利用Eci的公钥对验签通过:若满足条件,则允许Rak下载filej得到M,并通过比较update与filej中的和MD,确定数据来源是否真实有效且存储在云服务器上的数据是否被篡改;
最后,解密key'm得到文件密钥并利用keym获得明文数据m,进行风险值的计算;
(10)Rak验证风险评估相关数据的真实性和完整性后进行评估,记录进更新请求表Utable0,Rak对Eci近期更新的各条明文数据m选择一种风险评估算法进行评估得到各自风险值VaRm,并更新Eci的最终风险值VaRi,同时生成一条风险值变化信息tx,打包进区块当中;其中,VaRp表示变化前的最终风险值,VaRa表示更新后的最终风险值,IDalg表示当前评价结果所依据风险算法的标识,Height表示当前tx所属的区块高度;
(11)Rak收集t时间的风险值变化信息tx,将收集的tx组成Block,则其中Prehash表示指向前一个区块的哈希指针,Timestamp表示出块时间戳,Height表示当前区块高度,表示主节点Rak对区块的签名,TXRoot表示当前区块所有tx组成的Merkle树的根;
(12)Rak发送共识提案Proposal,va,Height,Blockheader,Utable0到各分组主节点;各分组主节点接收到主节点Rak发送的共识提案后,将其附上组内视图编号vg后,在组内进行广播,组内副本风险评估节点进行区块的校验;
(13)校验完成后,发送组内共识响应消息给分组主节点,其中表示当前副本风险评估节点的标识,表示当前副本风险评估节点对共识响应消息的签名;
(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,验证通过后,将本轮共识区块同步到本节点的链上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学,未经成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111469641.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于分布式云平台的云边管理方法及系统
- 下一篇:数据处理方法及装置





