基于区块链和群签名机制的跨链访问控制方法

文档序号:33832329发布日期:2023-04-19 22:31阅读:61来源:国知局
基于区块链和群签名机制的跨链访问控制方法

本发明涉及物联网领域和区块链,尤其涉及一种基于区块链和群签名机制的跨链访问控制方法。


背景技术:

1、随着区块链技术在不同行业各个场景的广泛应用,不同的公司和机构会根据自身需求选择不同的区块链平台搭建自己的区块链。区块链平台是为不同的功能而开发的,这些功能决定了平台的技术方向。开发人员在开发网络架构时需要做出明智的决策,系统需求的差异阻碍了不同区块链之间的互操作性,即使在同一场景下,区块链平台也可能采取不同的技术路线。例如,比特币和以太坊使用不同的技术语言,虽然两者都基于区块链技术,但比特币不能在以太坊网络上使用。区块链开发人员对各方面需求的权衡使得区块链集成和互操作性更加困难,无论对区块链平台的最终选择结果如何,区块链都无法主动识别外部链,这使得某条区块链中的数据无法在不同的区块链之间进行传递,导致价值孤岛现象的出现。

2、跨链技术是实现不同链之间互联互通和价值转移的重要技术手段,也是联盟链和私有链实现价值网络的关键。从技术角度来看,现有跨链解决方法的实施策略主要可以分为公证人机制、侧链/中继以及哈希锁定这三类。

3、公证人机制借助第三方可信“公证人”,在两个不同的区块链系统之间实现数字资产转移。其中,“公证人”由一个或多个可信实体组成,这些实体可能是两个系统之间的连接器,也可能是交易双方均信任的第三方节点,能够为跨链双方提供交易正确性和唯一性的验证服务。在处理资产转移的过程中,“公证人”可以是根据事件来主动接收并自动执行,也可以是被动发布执行签署消息。通常情况下,方法可以部署并使用相关签名算法和共识协议来保证资产转移过程的可信度。侧链/中继技术可以在无需可信第三方协助的情况下,实现对其他区块链中的事件和状态的验证和读取。侧链就像一种与主链共同运行的辅助区块链,借助侧链可以获取并验证其他区块链中的事件和状态。侧链可以包括独立的矿工、独立的共识机制和独立的代币,这些都通过主链连接。在区块链b上执行的智能合约可以借助侧链了解特定事件是否发生在区块链a上,或者区块链a状态下的某个特定对象在某个特定时间包含某些值。中继是促进互操作性的一种更直接的方法,它不依靠受信任的公证人向另一个区块链提供有关一个区块链的信息,而是由区块链自行承担任务。侧链/中继技术可以用于实现跨链资产转移和原子互换等。哈希锁定起源于闪电网络中的哈希时间锁定合约(hashed timelockcontract,htlc),该技术允许双方将一个区块链上的资产交换为另一个区块链上的资产。协议发生在链下,链上共识用于链下协议。双方就身份(由每个区块链上不同的帐号区分)以及每个区块链上要交换的资产金额达成共识。哈希时间锁定合约构成了比特币闪电网络的基础。哈希锁定可以在没有公证人的场景中实现可信数字资产交换,通常被用于构建可扩展微支付通道。哈希锁定可以借助状态通道的高效性实现快速支付,但其只适合应用于资产交换场景下,不能被应用于跨链资产转移和跨链预言机。哈希锁定的原子交换协议只能使同一条链的资产总量保持不变,但不能将某条链中的资产转移到另一条链中。哈希锁定需要跨链双方主动操作,而跨链预言机属于只读的被动操作,这两种方法在实现手段上存在着本质区别。

4、实际应用中处于不同地理位置、应用于不同领域的物联网系统数据往往是由不同区块链平台进行管理的,这使得物联网数据资源被分散、孤立在不同链中,为了对分散在不同区块链平台的物联网数据资源进行整合和利用,不可避免地会存在不同区块链之间交互与数据共享的需求,但在跨链数据共享过程中存在非常大的安全隐患。


技术实现思路

1、为了确保跨链数据共享过程的安全性,本发明针对跨链场景提出一种基于区块链和群签名机制的跨链访问控制方法,实现安全有效的跨链资源共享和数据管理。

2、为了实现上述目的,本发明是通过以下技术方案实现的:

3、本发明是一种基于区块链和群签名机制的跨链访问控制方法,包括始化阶段和访问控制阶段,具体的包括如下步骤:

4、步骤1、初始化阶段:进行联盟链的构建和群签名群组的初始化工作,跨链场景下除了各个物联网系统的区块链之外会额外引入一条联盟链,所述联盟链负责执行跨链公证人的任务,联盟链不可变地记录链与链之间的交互,确保数据来源是可信的、不能被篡改或破坏,联盟链的联盟节点包括各个链所选出的跨链代理节点和群签名群组管理员;

5、步骤2、各个区块链选举出的跨链代理节点将作为群签名群组的群成员和群组管理员一起组建跨链管理群组,群组管理员负责收集和记录跨链代理节点的信息并统计群成员的数量;

6、步骤3、访问控制阶段:区块链a中的用户a发起跨链访问请求,群签名群组的群成员监听到链上来自区块链a的跨链访问请求事件,对访问请求信息进行审核,区块链b的跨链代理节点监听到联盟链上的授权事件,获取跨链请求相关信息和签名,从中提取需要的信息。

7、优选的:步骤3的访问控制阶段具体包括如下步骤:

8、步骤2-1:各个区块链的跨链代理节点调用跨链访问控制合约中的跨链策略添加函数,将各个域的跨链策略记录在区块链上,区块链上的成员都可以公开访问这些跨链策略信息,跨链代理节点负责捕获所有跨链访问控制请求,对跨链访问控制请求进行统一处理;

9、步骤2-2:区块链a中的用户a发起跨链访问请求,区块链a的跨链代理节点捕获该请求,注册跨链访问请求并将跨链访问请求添加到任务队列,各个区块链的跨链代理节点会轮询任务队列,获取跨链访问请求并转发到联盟链上;

10、步骤2-3:群签名群组成员监听到联盟链上来自区块链a的跨链访问请求事件,对访问请求信息进行审核,使用默克尔证明机制核实跨链信息,群签名群组成员调用跨链访问控制合约查询区块链b的跨链访问控制策略,判断区块链a是否满足跨链访问条件;

11、步骤2-4:如果所述群签名群组成员判断该请求满足跨链访问条件可以进行跨链访问,则所述群签名群组成员代表跨链管理群组对该请求进行签名,作为认可该跨链请求的凭证,然后通过调用跨链访问控制合约中的跨链授权函数将请求相关的信息和签名一起记录在公证人联盟链上,触发授权事件;

12、步骤2-5:区块链b的跨链代理节点监听到公证人联盟链上的授权事件,获取跨链请求相关信息和签名,通过签名验证请求信息是否正确,再验证签名确认已获得跨链授权;

13、步骤2-6:区块链b的跨链代理节点将访问请求相关信息进行预处理,从中提取需要的信息,接下来区块链b的跨链代理节点将根据跨链访问请求中包含的用户a的信息构造一个数据请求者发起域内访问请求,如果用户a获得授权,则区块链b对应的物联网系统的私钥生成中心将根据访问请求中用户a的信息直接与用户a建立安全连接,加密传输ibe(identity-based encryption)解密私钥直接完成授权。

14、运行sign算法生成跨链访问请求过程中群签名,sign(gpk,gsk[i],m):给定群公钥gpk=(g1,g2,h,u,v,w),用户私钥gsk[i]=(ai,xi)和一个待签署消息m∈{0,1}*,计算签名的具体步骤如下:

15、步骤3.1:计算t1,t2,t3,r1,r2,r3,r4,r5的值;

16、首先从zp域中随机选择指数α,β←zp,然后分别计算用户a的线性加密t1←uα,t2←vβ,t3←ahα+β,计算中间值δ1←xα∈zp和δ2←xβ∈zp。其中,a和b之间的关系值(α,β,x,δ1,δ2)需要满足uα=t1,vβ=t2,

17、从域zp中随机选取5个值rα,rβ,rx,和然后根据选出的这5个值进行下一步计算:

18、步骤3.2:使用哈希函数计算挑战值c:c←h(m,t1,t2,t3,r1,r2,r3,r4,r5)∈zp;

19、步骤3.3:使用挑战值c计算从域zp中随机选取的5个值sα,sβ,sx,和线性加密的值,其中sα←rα+cα,sβ←rβ+cβ,sx←rx+cc,

20、步骤3.4:输出签名σ,具体计算步骤其中,t1,t2,t3、sα,sβ,sx,是线性加密的值,c为挑战值。

21、运行verify算法验证群签名,verify(gpk,m,σ):给定一个群公钥gpk=(g1,g2,h,u,v,w),一个消息m和一个群签名σ,验证σ是一个有效签名的步骤如下:

22、步骤4-1:重新计算推导出:

23、步骤4-2:根据σ中提供的值以及挑战c,判断等式是否成立,如果成立则表示验证成功,否则返回验证失败,,其中,1,t2,t3是线性加密后的值重新驱动计算出来的。

24、优选的:步骤1中所述群签名群组初始化是通过keygen算法实现,具体实现步骤如下:

25、步骤1.1、将g1定义为生成元为p的p阶加法循环群,g2则被定义为p阶的乘法循环群,ψ是一个从g2到g1的可计算同构对象,满足ψ(g2)=g1,p为素数,在模p加法和模p乘法运算下,zp是一个域,zp的非零元构成一个乘法群;

26、步骤1.2、在g2中挑选一个元素g2作为生成元,并且设定g1←ψ(g2),随机选择和设置u,v∈g1使得随机选择并设置w=g2γ;

27、步骤1.3、输入γ的值,为每个群成员i(1≤i≤n)生成一个sdh元组(ai,xi):随机选择并设置其中n是指群签名群组的成员数量;

28、群公钥gpk=(g1,g2,h,u,v,w)是公开的,能够追溯签名者身份的群组管理员的私钥gmsk=(ξ1,ξ2)则需要由群组管理员秘密保存,每个群成员的私钥是它对应的元组gsk[i]=(ai,xi),由各个群成员各自秘密保存,γ的值没有任何一个群成员可以获取,它只对私钥发布者是已知的。

29、本发明的有益效果是:

30、1、该方法基于公证人联盟链和群签名算法,为不同链管理的物联网系统之间的数据共享和价值交换提供了一种安全可行的解决方法;

31、2、通过安全性分析,表明跨链访问控制方法能够通过采用联盟链作为公证人弱化传统公证人机制的中心化特性。

32、3、对于跨链访问控制决策节点能够满足匿名性和隐私保护,可以有效抵御针对单个可信节点的集中攻击。

33、4、能够在引入较低延迟的情况下,提供一种能够保障跨链传输安全的访问控制方法,具有良好的可用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1