基于区块链跨链的安全可验证服务提供方法及系统技术方案

技术编号:34342887 阅读:18 留言:0更新日期:2022-07-31 04:15
本发明专利技术提供基于区块链跨链的安全可验证服务提供方法及系统,属于网络通信技术领域,获取服务提供者和服务请求者的注册请求,验证成功后分别为其颁发数字证书,接收服务提供者服务数据密文;获取服务请求者的服务请求,验证通过后调用匹配合约进行服务匹配;对服务请求者的公钥进行密钥转换得到重加密密钥,利用重加密密钥对服务数据进行重加密;将重加密后的服务数据密文发布在代理链上,服务请求者解密获取服务数据明文,结合验证合约进行数据一致性验证。本发明专利技术采用代理重加密,并使用智能合约来对请求和服务进行匹配,通过智能合约和哈希函数保证了数据一致性和安全性;可扩展到多个应用链的互联互通,请求和服务可双向进行。行。行。

Method and system for providing secure and verifiable services based on blockchain and cross chain

【技术实现步骤摘要】
基于区块链跨链的安全可验证服务提供方法及系统


[0001]本专利技术涉及网络通信
,具体涉及一种基于区块链跨链的安全可验证服务提供方法及系统。

技术介绍

[0002]随着信息技术的快速发展,物联网的智能化水平和部署规模也不断增长。近年来,区块链技术被广泛用于各行各业并取得了巨大的经济和社会效益,然而在目前的物联网服务场景下,由于物联网的底层异构性,不同信任域之间存在认证模式不同和地理分布上的差异性等,从而造成了数据隔离,不同物联网信任域如同一座座“信息孤岛”难以交互,然而单个信任域内的资源往往已经不能满足用户的需求,复杂的任务需要多个实体跨域协作及物联网服务互操作,此时就需要一种物联网跨域交互方法,以沟通处于不同信任域的服务提供者和服务请求者,实现物联网服务跨域提供。
[0003]目前的解决方案通常是为每个物联网信任域独立部署区块链或者在整个物联网应用系统层次结构中部署区块链,而各种区块链的体系结构和数据格式等不尽相同,难以互联互通。区块链跨链技术指的是在不同区块链系统之间实现数据资产互联互通的技术。每条区块链可对应于物联网场景下的每个信任域,跨链技术为物联网数据跨域传递提供了可行的解决方案。
[0004]物联网在给用户提供方便的同时,也带来了一些安全风险,如攻击范围广、安全边界模糊、节点可控性差等。此外,由于物联网数据的海量、高实时性和物联网设备的无人值守、移动性等特性,物联网服务比传统的信息系统更容易受到攻击。
[0005]现有的一种基于区块链的轻量级客户端的安全服务提供方法,还提出了一种基于声誉的激励机制,但其方法是基于单区块链的,未解决“数据孤岛”问题,且服务指令采取链下提供,未保证其安全性。针对多个服务提供者提供服务的情形,一种跨联盟链和公链的方法,将处于联盟链的服务提供者和处于公链的终端用户连接起来进行服务提供,但其跨链方式是链对链的,如果要实现多个应用链的互通,系统复杂度会急剧增加,且仅能由公链发起请求、联盟链响应请求单向提供服务,且未进行服务匹配。

技术实现思路

[0006]本专利技术的目的在于提供一种利用跨链技术来沟通不同的信任域实现物联网跨域数据交互,采用代理重加密等技术保护服务数据的安全性,采用比较哈希值验证数据一致性以保证系统的可用性,并加入了惩罚机制对服务请求者和服务提供者进行双向约束的基于区块链跨链的安全可验证服务提供方法及系统,以解决上述
技术介绍
中存在的至少一项技术问题。
[0007]为了实现上述目的,本专利技术采取了如下技术方案:
[0008]一方面,本专利技术提供一种基于区块链跨链的安全可验证服务提供方法,包括:
[0009]步骤S1:区块链认证中心获取代理节点的注册请求,验证成功后分别为其颁发数
字证书,服务提供者加密服务数据,密文经由第一代理节点被转发至第一区块链认证中心并发布于代理链上;
[0010]步骤S2:服务请求者调用请求合约发布服务请求,该请求经由第二代理节点被转发至第二区块链认证中心,第二区块链认证中心验证通过后调用匹配合约进行服务匹配;
[0011]步骤S3:匹配成功后,服务提供者通过自身公钥和服务提供者的私钥进行密钥转换得到重加密密钥,第一区块链认证中心利用该重加密密钥对服务数据进行重加密;
[0012]步骤S4:第一区块链认证中心将重加密后的服务数据密文发布在代理链上,进而转移到第二区块链上,服务请求者在账本中获取到并解密获取服务数据明文,结合验证合约进行数据一致性验证。
[0013]可选的,所述步骤S1包括:
[0014]代理链进行初始化,要求第一区块链认证中心和第二区块链认证中心各自控制一Peer节点并加入同一通道以进行数据共享,共识节点可按照创世区块中配置的策略加入或退出集群;
[0015]代理节点向区块链认证中心发送注册请求,区块链认证中心验证其是否合法,并验证随机数和签名的有效性,若验证通过则视为注册成功,为其生成数字证书,并将数字证书哈希值写入区块链,区块链认证中心将哈希值返回给代理节点。
[0016]服务提供者用自身公钥加密服务数据明文并调用第一区块链上发布合约发布,第一代理节点从账本获取到后发送给第一区块链认证中心,第一区块链认证中心验证通过后调用代理链上发布合约发布,存储在代理链上的服务列表中。
[0017]可选的,所述步骤S2包括:
[0018]服务请求者调用第二区块链上的服务请求合约发布服务请求,第二代理节点从账本获取到后发送给第二区块链验证中心,第二区块链验证中心验证通过后调用代理链上匹配合约;其中,先根据服务请求数据判断该用户是否频繁发起请求,若超过设定阈值则调用惩罚合约对服务请求者进行惩罚;若未超过阈值则根据Sid的布隆过滤器存储表快速查找符合服务请求Sid的服务项;然后在Sid匹配成功的服务项里依次验证catg是否符合policy要求,若符合要求,则将所匹配成功的服务项发布在代理链上;若匹配失败,则返回提示信息并通过第二区块链认证中心和第二代理节点通知到服务请求者。
[0019]可选的,所述步骤S3包括:
[0020]如果请求者属性满足服务策略,说明该请求者为合法用户,第一区块链认证中心用服务提供者的公钥加密服务请求者的公钥并发送给第一代理节点,第一代理节点将其发布到第一区块链上,服务提供者从账本获取到并用自身私钥解密,然后进行密钥转换,将重加密密钥通过第一代理节点发送给第一区块链认证中心;
[0021]第一区块链认证中心用重加密密钥对服务提供者的C1=Enc(PKp,m)进行代理重加密后得到C3=Enc(PK(p

>r),m),然后将C3发布到代理链上;PKp表示服务提供者的公钥,m表示服务提供者提供的服务指令。
[0022]可选的,所述步骤S4包括:
[0023]第二区块链认证中心从账本获取到C3后将其发送给第二代理节点,第二代理节点将C3发布到第二区块链上,服务请求者从账本获取到后用自身私钥解密获取服务数据明文,记为m'=Dec(Skr,C3),然后经哈希函数处理得到处理后的哈希值。
[0024]可选的,服务请求者发送处理后的哈希值调用请求合约发起验证请求,该请求通过第二代理节点发送给第二区块链认证中心,第二区块链认证中心调用验证合约检查服务指令的Keccak256哈希函数处理结果是否等于处理后的哈希值,如果不相等则调用惩罚合约对服务提供者进行惩罚,并将验证及惩罚结果通知服务请求者和服务提供者。
[0025]第二方面,本专利技术提供一种基于区块链跨链的安全可验证服务提供系统,包括:
[0026]初始化模块,用于获取服务提供者和服务请求者的注册请求,验证成功后分别为其颁发数字证书,接收服务提供者服务数据密文;
[0027]匹配模块,用于获取服务请求者的服务请求,验证通过后调用匹配合约进行服务匹配;
[0028]重加密模块,用于匹配成功后,通过服务提供者的私钥和服务请求者的公钥进行密钥转换得到重加密密钥,利用重加密密钥对服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链跨链的安全可验证服务提供方法,其特征在于,包括:步骤S1:区块链认证中心获取代理节点的注册请求,验证成功后分别为其颁发数字证书,服务提供者加密服务数据,密文经由第一代理节点被转发至第一区块链认证中心并发布于代理链上;步骤S2:服务请求者调用请求合约发布服务请求,该请求经由第二代理节点被转发至第二区块链认证中心,第二区块链认证中心验证通过后调用匹配合约进行服务匹配;步骤S3:匹配成功后,服务提供者通过自身公钥和服务提供者的私钥进行密钥转换得到重加密密钥,第一区块链认证中心利用该重加密密钥对服务数据进行重加密;步骤S4:第一区块链认证中心将重加密后的服务数据密文发布在代理链上,进而转移到第二区块链上,服务请求者在账本中获取到并解密获取服务数据明文,结合验证合约进行数据一致性验证。2.根据权利要求1所述的基于区块链跨链的安全可验证服务提供方法,其特征在于,所述步骤S1包括:代理链进行初始化,要求第一区块链认证中心和第二区块链认证中心各自控制一Peer节点并加入同一通道以进行数据共享,共识节点可按照创世区块中配置的策略加入或退出集群;代理节点向区块链认证中心发送注册请求,区块链认证中心验证其是否合法,并验证随机数和签名的有效性,若验证通过则视为注册成功,为其生成数字证书,并将数字证书哈希值写入区块链,区块链认证中心将哈希值返回给代理节点。服务提供者用自身公钥加密服务数据明文并调用第一区块链上发布合约发布,第一代理节点从账本获取到后发送给第一区块链认证中心,第一区块链认证中心验证通过后调用代理链上发布合约发布,存储在代理链上的服务列表中。3.根据权利要求1所述的基于区块链跨链的安全可验证服务提供方法,其特征在于,所述步骤S2包括:服务请求者调用第二区块链上的服务请求合约发布服务请求,第二代理节点从账本获取到后发送给第二区块链验证中心,第二区块链验证中心验证通过后调用代理链上匹配合约;其中,先根据服务请求数据判断该用户是否频繁发起请求,若超过设定阈值则调用惩罚合约对服务请求者进行惩罚;若未超过阈值则根据Sid的布隆过滤器存储表快速查找符合服务请求Sid的服务项;然后在Sid匹配成功的服务项里依次验证catg是否符合policy要求,若符合要求,则将所匹配成功的服务项发布在代理链上;若匹配失败,则返回提示信息并通过第二区块链认证中心和第二代理节点通知到服务请求者。4.根据权利要求1所述的基于区块链跨链的安全可验证服务提供方法,其特征在于,所述步骤S3包括:如果请求者属性满足服务策略,说明该请求者为合法用户,第一区块链认证中心用服务提供者的公钥加密服务请求者的公钥并发送给第一代理节点,第一代理节点将其发布到第一区块链上,服务提供者从账本获取到并用自身私钥解密,然后进行密钥转换,将重加密密钥通过第一代理节点发送给第一区块链认证中心;第一区块链认证中心用重加密密钥对服务提供者的C1=Enc(PKp,m)进行代理重加密后得到C3=Enc(...

【专利技术属性】
技术研发人员:段莉解宇航胥文耀王伟
申请(专利权)人:北京交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1