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

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

Info

Publication number
CN115967568A
CN115967568A CN202211671816.8A CN202211671816A CN115967568A CN 115967568 A CN115967568 A CN 115967568A CN 202211671816 A CN202211671816 A CN 202211671816A CN 115967568 A CN115967568 A CN 115967568A
Authority
CN
China
Prior art keywords
chain
cross
group
signature
link
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.)
Pending
Application number
CN202211671816.8A
Other languages
English (en)
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.)
Nanjing University of Posts and Telecommunications
Jiangsu Future Networks Innovation Institute
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202211671816.8A priority Critical patent/CN115967568A/zh
Publication of CN115967568A publication Critical patent/CN115967568A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明属于涉及物联网领域和区块链技术领域,公开了一种基于区块链和群签名机制的跨链访问控制方法,包括:初始化阶段:进行联盟链的构建和群签名群组的初始化工作,引入一条联盟链,联盟链的联盟节点包括各个链所选出的跨链代理节点和群签名群组管理员;访问控制阶段:区用户A发起跨链访问请求,群签名群组的群成员监听到链上的跨链访问请求事件,对访问请求信息进行审核,区块链B的跨链代理节点监听到联盟链上的授权事件,获取跨链请求相关信息和签名,从中提取需要的信息。该方法引入访问控制,确保跨链交互过程的通信安全,解决跨链数据交换的安全性和可信度问题,从而实现更有效的跨链访问控制。

Description

基于区块链和群签名机制的跨链访问控制方法
技术领域
本发明涉及物联网领域和区块链技术领域,尤其涉及一种基于区块链和群签名机制的跨链访问控制方法。
背景技术
随着区块链技术在不同行业各个场景的广泛应用,不同的公司和机构会根据自身需求选择不同的区块链平台搭建自己的区块链。区块链平台是为不同的功能而开发的,这些功能决定了平台的技术方向。开发人员在开发网络架构时需要做出明智的决策,系统需求的差异阻碍了不同区块链之间的互操作性,即使在同一场景下,区块链平台也可能采取不同的技术路线。例如,比特币和以太坊使用不同的技术语言,虽然两者都基于区块链技术,但比特币不能在以太坊网络上使用。区块链开发人员对各方面需求的权衡使得区块链集成和互操作性更加困难,无论对区块链平台的最终选择结果如何,区块链都无法主动识别外部链,这使得某条区块链中的数据无法在不同的区块链之间进行传递,导致价值孤岛现象的出现。
跨链技术是实现不同链之间互联互通和价值转移的重要技术手段,也是联盟链和私有链实现价值网络的关键。从技术角度来看,现有跨链解决方法的实施策略主要可以分为公证人机制、侧链/中继以及哈希锁定这三类。
公证人机制借助第三方可信“公证人”,在两个不同的区块链系统之间实现数字资产转移。其中,“公证人”由一个或多个可信实体组成,这些实体可能是两个系统之间的连接器,也可能是交易双方均信任的第三方节点,能够为跨链双方提供交易正确性和唯一性的验证服务。在处理资产转移的过程中,“公证人”可以是根据事件来主动接收并自动执行,也可以是被动发布执行签署消息。通常情况下,方法可以部署并使用相关签名算法和共识协议来保证资产转移过程的可信度。侧链/中继技术可以在无需可信第三方协助的情况下,实现对其他区块链中的事件和状态的验证和读取。侧链就像一种与主链共同运行的辅助区块链,借助侧链可以获取并验证其他区块链中的事件和状态。侧链可以包括独立的矿工、独立的共识机制和独立的代币,这些都通过主链连接。在区块链B上执行的智能合约可以借助侧链了解特定事件是否发生在区块链A上,或者区块链A状态下的某个特定对象在某个特定时间包含某些值。中继是促进互操作性的一种更直接的方法,它不依靠受信任的公证人向另一个区块链提供有关一个区块链的信息,而是由区块链自行承担任务。侧链/中继技术可以用于实现跨链资产转移和原子互换等。哈希锁定起源于闪电网络中的哈希时间锁定合约(Hashed TimeLockContract,HTLC),该技术允许双方将一个区块链上的资产交换为另一个区块链上的资产。协议发生在链下,链上共识用于链下协议。双方就身份(由每个区块链上不同的帐号区分)以及每个区块链上要交换的资产金额达成共识。哈希时间锁定合约构成了比特币闪电网络的基础。哈希锁定可以在没有公证人的场景中实现可信数字资产交换,通常被用于构建可扩展微支付通道。哈希锁定可以借助状态通道的高效性实现快速支付,但其只适合应用于资产交换场景下,不能被应用于跨链资产转移和跨链预言机。哈希锁定的原子交换协议只能使同一条链的资产总量保持不变,但不能将某条链中的资产转移到另一条链中。哈希锁定需要跨链双方主动操作,而跨链预言机属于只读的被动操作,这两种方法在实现手段上存在着本质区别。
实际应用中处于不同地理位置、应用于不同领域的物联网系统数据往往是由不同区块链平台进行管理的,这使得物联网数据资源被分散、孤立在不同链中,为了对分散在不同区块链平台的物联网数据资源进行整合和利用,不可避免地会存在不同区块链之间交互与数据共享的需求,但在跨链数据共享过程中存在非常大的安全隐患。
发明内容
为了确保跨链数据共享过程的安全性,本发明针对跨链场景提出一种基于区块链和群签名机制的跨链访问控制方法,实现安全有效的跨链资源共享和数据管理。
为了实现上述目的,本发明是通过以下技术方案实现的:
本发明是一种基于区块链和群签名机制的跨链访问控制方法,包括始化阶段和访问控制阶段,具体的包括如下步骤:
步骤1、初始化阶段:进行联盟链的构建和群签名群组的初始化工作,跨链场景下除了各个物联网系统的区块链之外会额外引入一条联盟链,所述联盟链负责执行跨链公证人的任务,联盟链不可变地记录链与链之间的交互,确保数据来源是可信的、不能被篡改或破坏,联盟链的联盟节点包括各个链所选出的跨链代理节点和群签名群组管理员;
步骤2、各个区块链选举出的跨链代理节点将作为群签名群组的群成员和群组管理员一起组建跨链管理群组,群组管理员负责收集和记录跨链代理节点的信息并统计群成员的数量;
步骤3、访问控制阶段:区块链A中的用户A发起跨链访问请求,群签名群组的群成员监听到链上来自区块链A的跨链访问请求事件,对访问请求信息进行审核,区块链B的跨链代理节点监听到联盟链上的授权事件,获取跨链请求相关信息和签名,从中提取需要的信息。
优选的:步骤3的访问控制阶段具体包括如下步骤:
步骤2-1:各个区块链的跨链代理节点调用跨链访问控制合约中的跨链策略添加函数,将各个域的跨链策略记录在区块链上,区块链上的成员都可以公开访问这些跨链策略信息,跨链代理节点负责捕获所有跨链访问控制请求,对跨链访问控制请求进行统一处理;
步骤2-2:区块链A中的用户A发起跨链访问请求,区块链A的跨链代理节点捕获该请求,注册跨链访问请求并将跨链访问请求添加到任务队列,各个区块链的跨链代理节点会轮询任务队列,获取跨链访问请求并转发到联盟链上;
步骤2-3:群签名群组成员监听到联盟链上来自区块链A的跨链访问请求事件,对访问请求信息进行审核,使用默克尔证明机制核实跨链信息,群签名群组成员调用跨链访问控制合约查询区块链B的跨链访问控制策略,判断区块链A是否满足跨链访问条件;
步骤2-4:如果所述群签名群组成员判断该请求满足跨链访问条件可以进行跨链访问,则所述群签名群组成员代表跨链管理群组对该请求进行签名,作为认可该跨链请求的凭证,然后通过调用跨链访问控制合约中的跨链授权函数将请求相关的信息和签名一起记录在公证人联盟链上,触发授权事件;
步骤2-5:区块链B的跨链代理节点监听到公证人联盟链上的授权事件,获取跨链请求相关信息和签名,通过签名验证请求信息是否正确,再验证签名确认已获得跨链授权;
步骤2-6:区块链B的跨链代理节点将访问请求相关信息进行预处理,从中提取需要的信息,接下来区块链B的跨链代理节点将根据跨链访问请求中包含的用户A的信息构造一个数据请求者发起域内访问请求,如果用户A获得授权,则区块链B对应的物联网系统的私钥生成中心将根据访问请求中用户A的信息直接与用户A建立安全连接,加密传输IBE(Identity-Based Encryption)解密私钥直接完成授权。
运行Sign算法生成跨链访问请求过程中群签名,Sign(gpk,gsk[i],M):给定群公钥gpk=(g1,g2,h,u,v,w),用户私钥gsk[i]=(Ai,xi)和一个待签署消息M∈{0,1}*,计算签名的具体步骤如下:
步骤3.1:计算T1,T2,T3,R1,R2,R3,R4,R5的值;
首先从Zp域中随机选择指数α,β←Zp,然后分别计算用户A的线性加密T1←uα,T2←vβ,T3←Ahα+β,计算中间值δ1←xα∈Zp和δ2←xβ∈Zp。其中,A和B之间的关系值(α,β,x,δ12)需要满足uα=T1,vβ=T2
Figure BDA0004016719760000031
Figure BDA0004016719760000032
从域Zp中随机选取5个值rα,rβ,rx
Figure BDA0004016719760000033
Figure BDA0004016719760000034
然后根据选出的这5个值进行下一步计算:
Figure BDA0004016719760000035
Figure BDA0004016719760000036
步骤3.2:使用哈希函数计算挑战值c:c←H(M,T1,T2,T3,R1,R2,R3,R4,R5)∈Zp
步骤3.3:使用挑战值c计算从域Zp中随机选取的5个值sα,sβ,sx
Figure BDA0004016719760000037
Figure BDA0004016719760000038
线性加密的值,其中sα←rα+cα,sβ←rβ+cβ,sx←rx+cc,
Figure BDA0004016719760000039
步骤3.4:输出签名σ,具体计算步骤
Figure BDA0004016719760000041
其中,T1,T2,T3、sα,sβ,sx,
Figure BDA0004016719760000042
是线性加密的值,c为挑战值。
运行Verify算法验证群签名,Verify(gpk,M,σ):给定一个群公钥gpk=(g1,g2,h,u,v,w),一个消息M和一个群签名σ,验证σ是一个有效签名的步骤如下:
步骤4-1:重新计算推导出:
Figure BDA0004016719760000043
Figure BDA0004016719760000044
步骤4-2:根据σ中提供的值以及挑战c,判断等式
Figure BDA0004016719760000045
是否成立,如果成立则表示验证成功,否则返回验证失败,,其中,1,T2,T3是线性加密后的值
Figure BDA0004016719760000046
重新驱动计算出来的。
优选的:步骤1中所述群签名群组初始化是通过KeyGen算法实现,具体实现步骤如下:
步骤1.1、将G1定义为生成元为P的p阶加法循环群,G2则被定义为p阶的乘法循环群,ψ是一个从G2到G1的可计算同构对象,满足ψ(g2)=g1,p为素数,在模p加法和模p乘法运算下,Zp是一个域,Zp的非零元
Figure BDA0004016719760000047
构成一个乘法群;
步骤1.2、在G2中挑选一个元素g2作为生成元,并且设定g1←ψ(g2),随机选择
Figure BDA0004016719760000048
Figure BDA0004016719760000049
设置u,v∈G1使得
Figure BDA00040167197600000410
随机选择
Figure BDA00040167197600000411
并设置w=g2 γ
步骤1.3、输入γ的值,为每个群成员i(1≤i≤n)生成一个SDH元组(Ai,xi):随机选择
Figure BDA00040167197600000412
并设置
Figure BDA00040167197600000413
其中n是指群签名群组的成员数量;
群公钥gpk=(g1,g2,h,u,v,w)是公开的,能够追溯签名者身份的群组管理员的私钥gmsk=(ξ12)则需要由群组管理员秘密保存,每个群成员的私钥是它对应的元组gsk[i]=(Ai,xi),由各个群成员各自秘密保存,γ的值没有任何一个群成员可以获取,它只对私钥发布者是已知的。
本发明的有益效果是:
1、该方法基于公证人联盟链和群签名算法,为不同链管理的物联网系统之间的数据共享和价值交换提供了一种安全可行的解决方法;
2、通过安全性分析,表明跨链访问控制方法能够通过采用联盟链作为公证人弱化传统公证人机制的中心化特性。
3、对于跨链访问控制决策节点能够满足匿名性和隐私保护,可以有效抵御针对单个可信节点的集中攻击。
4、能够在引入较低延迟的情况下,提供一种能够保障跨链传输安全的访问控制方法,具有良好的可用性。
附图说明
图1是基于区块链和群签名机制的跨链访问控制方法跨链交互流程图。
图2是跨链系统架构图。
具体实施方式
以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
如图1-2所示,本发明是一种基于区块链和群签名机制的跨链访问控制方法,确保跨链数据共享过程的安全实现不同区块链之间交互与数据共享的需求,最后实现对分散在不同区块链平台的物联网数据资源进行整合和利用。
该方法选择使用的跨链技术是基于公证人机制的。通过在现有公证人机制的基础上引入访问控制,确保跨链交互过程的通信安全。根据具体应用场景可以将不同物联网系统的数据组织到分配的区块链中,解决跨链数据交换的安全性和可信度问题,从而实现更有效的跨链访问控制。本发明将跨链访问决策委托给由跨链代理节点组成的群组,以此来确保跨链访问控制方法中整个访问控制过程执行的高效性并降低跨链访问控制合约本身的复杂性。不同链选出各自的跨链代理节点组成跨链管理群组,属于该群组的任意跨链代理节点都可以代表群组进行访问控制决策,并对该决策签名作为授权凭证。考虑到群签名算法创建、验证以及打开过程的算法复杂性和计算效率,本发明提出的方法中群签名相关算法的主要实施步骤(主要包括群签名生成和验证过程)都在链下进行,链上仅存储相关结果。由于物联网环境下各个链之间的关系不同,跨链访问策略可能需要针对不同情况进行调整,借助跨链访问控制智能合约可以实现不同链之间的访问策略管理。具体包括如下步骤:
步骤一:初始化阶段,该阶段主要进行联盟链的构建和群签名群组的初始化等相关工作。跨链场景下除了已有的各个物联网系统的区块链之外会额外引入一条联盟链。该联盟链负责执行跨链公证人的任务,其联盟节点包括各个链所选出的跨链代理节点和群签名群组管理员。为了便于对方法进行描述和验证,关于跨链代理节点的数量仅考虑每条链设置一个跨链代理节点的情况,根据实际情况和具体需求的不同,可以对调整节点数量以满足不同的应用场景。
各条链选举出的跨链代理节点将作为群签名群组的群成员和群组管理员一起组建跨链管理群组,群组管理员负责收集和记录这些跨链代理节点的相关信息并统计群成员的数量。
在本发明提出的跨链访问控制方法中,每条链会选出一个跨链代理节点,因此群成员的数量与参与跨链联盟链的数量相同。
群签名群组初始化主要通过KEyGen算法实现,算法具体实现步骤如下:
en
KEY(n):这个随机算法以参数n作为输入,这里的n是指群签名群组的成员数量,然后按照下面描述的步骤依次进行处理。
步骤1.1:将G1定义为生成元为P的p阶加法循环群,G2则被定义为p阶的乘法循环群。ψ是一个从G2到G1的可计算同构对象,满足ψ(g2)=g1,p为素数,在模p加法和模p乘法运算下,Xp是一个域,Zp的非零元
Figure BDA0004016719760000061
构成一个乘法群。
步骤1.2:在G2中挑选一个元素g2作为生成元,并且设定g1←ψ(g2),随机选择
Figure BDA0004016719760000062
Figure BDA0004016719760000063
设置u,v∈G1使得
Figure BDA0004016719760000064
随机选择
Figure BDA0004016719760000065
并设置w=g2 γ
步骤1.3、输入γ的值,为每个群成员i(1≤i≤n)生成一个SDH元组(Ai,xi):随机选择
Figure BDA0004016719760000066
并设置
Figure BDA0004016719760000067
其中n是指群签名群组的成员数量。
群公钥gpk=(g1,g2,h,u,v,w)是公开的,能够追溯签名者身份的群组管理员的私钥gmsk=(ξ12)则需要由群组管理员秘密保存。每个群成员的私钥是它对应的元组gsk[i]=(Ai,xi),由各个群成员各自秘密保存。γ的值没有任何一个群成员可以获取,它只对私钥发布者是已知的。
步骤二:通过描述一个实际应用中经常会出现的场景下跨链访问控制方法实现的具体流程,如区块链A中的用户想要获取处于区块链B的数据,验证本发明提出的跨链访问控制方法的可行性,
步骤2.1:各个区块链的跨链代理节点调用跨链访问控制合约中的跨链策略添加函数,将各个域的跨链策略记录在区块链上,链上的成员都可以公开访问这些跨链策略信息。跨链代理节点负责捕获所有跨链访问控制请求,对跨链访问控制请求进行统一处理。
步骤2.2:区块链A中的用户A发起跨链访问请求,区块链A的跨链代理节点捕获该请求,注册跨链访问请求并将跨链访问请求添加到任务队列,各个链的跨链代理节点会轮询任务队列,获取跨链访问请求并转发到公证人联盟链上。
步骤2.3:群签名群组成员监听到链上来自区块链A的跨链访问请求事件,对访问请求信息进行审核,使用默克尔证明机制核实跨链信息。群签名群组成员调用跨链访问控制合约查询区块链B的跨链访问控制策略,判断区块链A是否满足跨链访问条件。
步骤2.4:如果该群组成员判断该请求满足跨链访问条件可以进行跨链访问,则该群组成员会代表跨链管理群组对该请求进行签名,作为认可该跨链请求的凭证。然后通过调用跨链访问控制合约中的跨链授权函数将请求相关的信息和签名一起记录在公证人联盟链上,触发授权事件。
步骤2.5:区块链B的跨链代理节点监听到公证人联盟链上的授权事件,获取跨链请求相关信息和签名。通过签名验证请求信息是否正确,再验证签名确认已获得跨链授权。
步骤2.6:区块链B的跨链代理节点将访问请求相关信息进行预处理,从中提取需要的信息。接下来区块链B的跨链代理节点将根据跨链访问请求中包含的用户A的信息构造一个数据请求者发起域内访问请求。如果用户A获得授权,则区块链B对应的物联网系统的私钥生成中心将根据访问请求中用户A的信息直接与用户A建立安全连接,加密传输IBE(Identity-Based Encryption)解密私钥直接完成授权。
在跨链交互过程中,发起跨链访问请求时,除了访问请求相关数据外,还需要携带与跨链访问请求交易相关的证明。这些数据将会用于验证跨链相关交易的存在性证明,保证跨链过程数据可信,使得跨链双方能够确认跨链过程中相关交易真实可信。跨链交互流程具体流程如图1所示。
步骤三:运行Sign算法生成跨链访问请求过程中群签名的主要步骤。
Sign(gpk,gsk[i],M):给定群公钥gpk=(g1,g2,h,u,υ,w),用户私钥gsk[i]=(Ai,xi)和一个待签署消息M∈{0,1}*,计算签名的具体步骤如下:
步骤3.1:计算T1,T2,T3,R1,R2,R3,R4,R5的值;
首先从Zp域中随机选择指数α,β←Zp,然后分别计算用户A的线性加密T1←uα,T2←vβ,T3←Ahα+β,计算中间值δ1←xα∈Zp和δ2←xβ∈Zp。其中,A和B之间的关系值(α,β,x,δ12)需要满足uα=T1,vβ=T2
Figure BDA0004016719760000071
Figure BDA0004016719760000072
从域Zp中随机选取5个值rα,rβ,rx
Figure BDA0004016719760000073
Figure BDA0004016719760000074
然后根据选出的这5个值进行下一步计算:
Figure BDA0004016719760000075
Figure BDA0004016719760000076
步骤3.2:使用哈希函数计算挑战值c:c←H(M,T1,T2,T3,R1,R2,R3,R4,R5)∈Zp
步骤3.3:使用挑战值c计算从域Zp中随机选取的5个值sα,sβ,sx
Figure BDA0004016719760000077
Figure BDA0004016719760000078
线性加密的值,其中sα←rα+cα,sβ←rβ+cβ,sx←rx+cc,
Figure BDA0004016719760000079
步骤3.4:输出签名σ,具体计算步骤
Figure BDA00040167197600000710
其中,T1,T2,T3、sα,Sβ,Sx,
Figure BDA00040167197600000711
是线性加密的值,c为挑战值。
步骤四:运行Verify算法验证群签名的步骤
Verify(gpk,M,σ):给定一个群公钥gpk=(g1,g2,h,u,v,w),一个消息M和一个群签名σ,验证σ是一个有效签名的步骤如下:
步骤4.1:重新计算推导出:
Figure BDA0004016719760000081
Figure BDA0004016719760000082
步骤4.2:根据σ中提供的值以及挑战c,判断等式
Figure BDA0004016719760000083
是否成立。如果成立则表示验证成功,否则返回验证失败,其中,1,T2,T3是线性加密后的值
Figure BDA0004016719760000084
重新驱动计算出来的。
如果访问控制过程出现问题,需要对出现问题的群签名进行追溯实现追责过程时,群组管理员可以通过使用群签名算法中的Open算法根据群签名计算出初始签名者的身份。根据事故性质不同,可以重新进行初始化,将出现问题的成员移除。
Open(gpk,gmsk,M,σ):这个算法用于根据签名追溯到签名者,输入群公钥gpk=(g1,g2,h,u,v,w)和对应的群组管理员私钥gmsk=(ξ12),并结合消息M和签名σ=(T1,T2,T3,c,sα,sβ,sx,
Figure BDA0004016719760000086
)进行追溯相关的具体处理。首先,验证σ是对于消息M的有效签名。然后,将三元组(T1,T2,T3)看作一个线性加密,并根据解密算法通过计算
Figure BDA0004016719760000085
反推出用户的A。如果群组管理员拥有用户私钥的元素{Ai},则它可以查询与从签名中获取的身份A对应的用户索引。
步骤五:通过采用默克尔证明机制,使得跨链双方能够在不获取对方区块链全部数据的情况下,实现对对方区块链上数据真实性的快速验证。
默克尔树中,通过不断迭代最终计算得到的根节点被称为默克尔根。如果要验证某个区块中是否存在交易H,只需要获取交易H,Hash_JK,Hash_I以及该区块的默克尔根,而不是请求整个区块的所有数据。
具体验证过程如下:
(5.1)对交易H进行哈希计算,得到Hash_H。
(5.2)对Hash_H和Hash_I进行哈希计算,得到Hash_HI。
(5.3)对Hash_HI和Hash_JK进行哈希计算,得到Hash_HIJK。
(5.4)将最终计算得到的Hash_HIJK与该区块的默克尔根值进行对比,如果两个值相同则证明该区块中存在交易H,否则说明该区块中不存在这笔交易。
以上就是默克尔证明的全部过程,证明数据是指验证过程中实际使用到的哈希值,即Hash_JK和Hash_I。
要证明提出的跨链访问控制方法的安全性,首先要证明方法中采用的群签名算法的安全性。在群签名算法中,存在一对具有可计算同构ψ的双线性群对(G1,G2)。进一步假设SDH假设在(G1,G2)上是成立的,线性假设在G1上是成立的,本发明中采用的群签名算法应用一个哈希函数H:{0,1}*→Zp作为随机预言机。
(1.1)假设
Figure BDA0004016719760000091
是(t,qH,∈)-破坏群签名方法匿名性的算法,现在构造一个t+qHO(1)-时间算法
Figure BDA0004016719760000092
它对于破坏线性加密的语义安全性至少具有∈的优势。
(1.2)算法
Figure BDA0004016719760000093
被赋予一个线性加密公钥(u,v,h),根据密钥生成算法生成群签名公钥的其它参数。然后,它向用户提供群公钥(g1,g2,h,u,v,w)和用户私钥(Ai,xi)。
(1.3)
Figure BDA0004016719760000094
可以随时查询随机预言机H,算法
Figure BDA0004016719760000095
从Zp中随机均匀选择一个元素进行响应,需要确保对相同的查询作出同样的响应。
(1.4)算法
Figure BDA0004016719760000096
通过提供两个索引i0和i1以及消息M来请求其完全匿名性质询。算法
Figure BDA0004016719760000097
则通过提供两个用户私钥
Figure BDA0004016719760000098
Figure BDA0004016719760000099
来请求其不可区分性质询,因为这是其线性加密必须能够区分的消息。它将获得
Figure BDA00040167197600000910
的线性加密(T1,T3,T3),其中位b由线性加密挑战者进行选择。
(1.5)算法
Figure BDA00040167197600000934
通过模拟器生成(T1,T2,T3,R1,R2,R3,R4,R5,c,sα,sβ,sx,
Figure BDA00040167197600000911
)。即使
Figure BDA00040167197600000912
不知道α、β或x,该模拟器也可以生成给定的跟踪(T1,T2,T3)。因为(T1,T2,T3)是
Figure BDA00040167197600000913
的随机线性加密,所以剩余的部分与证明者的密钥A是
Figure BDA00040167197600000914
时真实协议中一样。
(1.6)然后,算法
Figure BDA00040167197600000935
在(M,T1,T2,T3,R1,R2,R3,R4,R5)处将H修补为等于c。它遇到碰撞的概率可以忽略不计。如果发生冲突,
Figure BDA00040167197600000915
声明失败并退出。否则,它将返回有效的群签名
Figure BDA00040167197600000916
Figure BDA00040167197600000917
(1.7)最后,
Figure BDA00040167197600000918
输出b0,算法
Figure BDA00040167197600000919
返回b0作为其自身挑战的答案。由于
Figure BDA00040167197600000920
的加密由
Figure BDA00040167197600000921
转化为用户ib的群签名,所以每当
Figure BDA00040167197600000922
这样做时,
Figure BDA00040167197600000923
都会正确地回答它的挑战。
(1.8)提供给
Figure BDA00040167197600000924
的密钥以及
Figure BDA00040167197600000925
查询的答案都是有效的,并且分布正确。因此,
Figure BDA00040167197600000926
成功地以优势∈打破了群签名σ的匿名性,
Figure BDA00040167197600000927
成功地以同样的优势区分了线性加密(T1,T2,T3)。
(1.9)算法
Figure BDA00040167197600000928
的运行时间超过了
Figure BDA00040167197600000929
回答
Figure BDA00040167197600000930
查询所需的时间。每个哈希查询都可以在固定的时间内得到回答,最多有qH个。算法
Figure BDA00040167197600000931
还可以在恒定时间内创建挑战群签名σ。如果
Figure BDA00040167197600000932
在时间t内运行,
Figure BDA00040167197600000933
在时间t+qHO(1)内运行。
由于线性加密在G1上是(t′,∈)语义安全的,群签名方法是(t,qH,∈)对于选择明文攻击是完全匿名的,其中∈=∈′,t=t′-qHO(1)。qH是对手进行的哈希函数查询的数量,n是群成员的数量。O符号的使用是为了省略时间界限中可加项的细节,对于给定的群G1和G2,诸如采样、取幂和双线性映射求值等操作都是常数时间的。
本发明定义了完全匿名CPA(Chosen-Plaintext Attacks,选择明文攻击)实验,在这个实验中,对手不能在收到挑战σ之前查询开始预言机。由于在部署群签名时,需要小心地控制对跟踪功能的访问,因此完全匿名CPA是一个可以作为参考的合理模型。综上所述,本发明提出的跨链访问控制方法对于选择明文攻击满足完全可追踪、完全匿名,具有传统意义上的安全性。
本发明利用基于公证人机制的跨链技术,并在有公证人机制的基础上引入访问控制,确保跨链交互过程的通信安全;
本发明提出的跨链访问控制方法将跨链访问决策委托给由跨链代理节点组成的群组,以此来确保跨链访问控制方法中整个访问控制过程执行的高效性并降低跨链访问控制合约本身的复杂性,在无法获取所有区块数据的情况下验证某个区块中是否存在特定交易,实现跨链场景下双方的数据互信,通过采用默克尔证明机制,使得跨链双方能够在不获取对方区块链全部数据的情况下,实现对对方区块链上数据真实性的快速验证。
以上所述仅为本发明的实施方式而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理的内所作的任何修改、等同替换、改进等,均应包括在本发明的权利要求范围之内。

Claims (6)

1.一种基于区块链和群签名机制的跨链访问控制方法,其特征在于:所述跨链访问控制方法包括以下步骤:
步骤1、初始化阶段:进行联盟链的构建和群签名群组的初始化工作,引入一条联盟链,所述联盟链负责执行跨链公证人的任务,联盟链不可变地记录链与链之间的交互,确保数据来源是可信的、不能被篡改或破坏,联盟链的联盟节点包括各个链所选出的跨链代理节点和群签名群组管理员;
步骤2、各个区块链选举出的跨链代理节点将作为群签名群组的群成员和群组管理员一起组建跨链管理群组,群组管理员负责收集和记录跨链代理节点的信息并统计群成员的数量;
步骤3、访问控制阶段:区块链A中的用户A发起跨链访问请求,群签名群组的群成员监听到链上来自区块链A的跨链访问请求事件,对访问请求信息进行审核,区块链B的跨链代理节点监听到联盟链上的授权事件,获取跨链请求相关信息和签名,从中提取需要的信息。
2.根据权利要求1所述的基于区块链和群签名机制的跨链访问控制方法,其特征在于:步骤3的访问控制阶段具体包括如下步骤:
步骤2-1:各个区块链的跨链代理节点调用跨链访问控制合约中的跨链策略添加函数,将各个域的跨链策略记录在区块链上,跨链代理节点负责捕获所有跨链访问控制请求,对跨链访问控制请求进行统一处理;
步骤2-2:区块链A中的用户A发起跨链访问请求,区块链A的跨链代理节点捕获该请求,注册跨链访问请求并将跨链访问请求添加到任务队列,各个区块链的跨链代理节点会轮询任务队列,获取跨链访问请求并转发到联盟链上;
步骤2-3:群签名群组成员监听到联盟链上来自区块链A的跨链访问请求事件,对访问请求信息进行审核,使用默克尔证明机制核实跨链信息,群签名群组成员调用跨链访问控制合约查询区块链B的跨链访问控制策略,判断区块链A是否满足跨链访问条件;
步骤2-4:如果所述群签名群组成员判断该请求满足跨链访问条件可以进行跨链访问,则所述群签名群组成员代表跨链管理群组对该请求进行签名,作为认可该跨链请求的凭证,然后通过调用跨链访问控制合约中的跨链授权函数将请求信息和签名一起记录在公证人联盟链上,触发授权事件;
步骤2-5:区块链B的跨链代理节点监听到公证人联盟链上的授权事件,获取跨链请求相关信息和签名,通过签名验证请求信息是否正确,再验证签名确认已获得跨链授权;
步骤2-6:区块链B的跨链代理节点将访问请求信息进行预处理,从中提取需要的信息,接下来区块链B的跨链代理节点将根据跨链访问请求中包含的用户A的信息构造一个数据请求者发起域内访问请求,如果用户A获得授权,则区块链B对应的物联网系统的私钥生成中心将根据访问请求中用户A的信息直接与用户A建立安全连接,加密传输IBE(Identity-Based Encryption)解密私钥直接完成授权。
3.根据权利要求1所述的基于区块链和群签名机制的跨链访问控制方法,其特征在于:步骤3中运行Sign算法生成跨链访问请求过程中群签名,Sign(gpk,gsk[i],M):给定群公钥gpk=(g1,g2,h,u,v,w),用户私钥gsk[i]=(Ai,xi)和一个待签署消息M∈{0,1}*,计算签名的具体步骤如下:
步骤3.1:计算T1,T2,T3,R1,R2,R3,R4,R5的值;
首先从Zp域中随机选择指数α,β←Zp,然后分别计算用户A的线性加密T1←uα,T2←vβ,T3←Ahα+β,计算中间值δ1←xα∈Zp和δ2←xβ∈Zp。其中,A和B之间的关系值(α,β,x,δ1,δ2)需要满足uα=T1,vβ=T2
Figure FDA0004016719750000021
Figure FDA0004016719750000022
从域Zp中随机选取5个值rα,rβ,rx
Figure FDA0004016719750000023
Figure FDA0004016719750000024
然后根据选出的这5个值进行下一步计算:
Figure FDA0004016719750000025
Figure FDA0004016719750000026
步骤3.2:使用哈希函数计算挑战值c:c←H(M,T1,T2,T3,R1,R2,R3,R4,R5)∈Zp
步骤3.3:使用挑战值c计算从域Zp中随机选取的5个值sα,sβ,sx
Figure FDA0004016719750000027
Figure FDA0004016719750000028
线性加密的值,其中sα←rα+cα,sβ←rβ+cβ,sx←rx+cx
Figure FDA0004016719750000029
步骤3.4:输出签名σ,具体计算步骤
Figure FDA00040167197500000210
其中,T1,T2,T3、Sα,sβ,sx
Figure FDA00040167197500000211
是线性加密的值,c为挑战值。
4.根据权利要求1所述的基于区块链和群签名机制的跨链访问控制方法,其特征在于:步骤2-5中,运行Verify算法验证群签名,Verify(gpk,M,σ):给定一个群公钥gpk=(g1,g2,h,u,v,w),一个消息M和一个群签名σ,验证σ是一个有效签名的步骤如下:
步骤4-1:重新计算推导出:
Figure FDA00040167197500000212
Figure FDA00040167197500000213
步骤4-2:根据σ中提供的值以及挑战c,判断等式
Figure FDA00040167197500000214
是否成立,如果成立则表示验证成功,否则返回验证失败,其中,1,T2,T3是线性加密后的值
Figure FDA00040167197500000215
重新驱动计算出来的。
5.根据权利要求1所述的基于区块链和群签名机制的跨链访问控制方法,其特征在于:步骤2中,群成员的数量与参与跨链联盟链的数量相同。
6.根据权利要求1所述的基于区块链和群签名机制的跨链访问控制方法,其特征在于:步骤1中所述群签名群组初始化是通过KeyGen算法实现,具体实现步骤如下:
步骤1.1、将G1定义为生成元为P的p阶加法循环群,G2则被定义为p阶的乘法循环群,ψ是一个从G2到G1的可计算同构对象,满足ψ(g2)=g1,p为素数,在模p加法和模p乘法运算下,Zp是一个域,Zp的非零元
Figure FDA0004016719750000037
构成一个乘法群;
步骤1.2、在G2中挑选一个元素g2作为生成元,并且设定g1←ψ(g2),随机选择
Figure FDA0004016719750000031
Figure FDA0004016719750000032
设置u,v∈G1使得
Figure FDA0004016719750000033
随机选择
Figure FDA0004016719750000034
并设置w=g2 γ
步骤1.3、输入γ的值,为每个群成员i(1≤i≤n)生成一个SDH元组(Ai,xi):随机选择
Figure FDA0004016719750000035
并设置
Figure FDA0004016719750000036
其中n是指群签名群组的成员数量;
群公钥gpk=(g1,g2,h,u,v,w)是公开的,能够追溯签名者身份的群组管理员的私钥gmsk=(ξ1,ξ2)则需要由群组管理员秘密保存,每个群成员的私钥是它对应的元组gsk[i]=(Ai,xi),由各个群成员各自秘密保存,γ的值没有任何一个群成员可以获取,它只对私钥发布者是已知的。
CN202211671816.8A 2022-12-26 2022-12-26 基于区块链和群签名机制的跨链访问控制方法 Pending CN115967568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211671816.8A CN115967568A (zh) 2022-12-26 2022-12-26 基于区块链和群签名机制的跨链访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211671816.8A CN115967568A (zh) 2022-12-26 2022-12-26 基于区块链和群签名机制的跨链访问控制方法

Publications (1)

Publication Number Publication Date
CN115967568A true CN115967568A (zh) 2023-04-14

Family

ID=87363693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211671816.8A Pending CN115967568A (zh) 2022-12-26 2022-12-26 基于区块链和群签名机制的跨链访问控制方法

Country Status (1)

Country Link
CN (1) CN115967568A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614634A (zh) * 2024-01-19 2024-02-27 成都信息工程大学 基于可追踪环签名的联盟链跨链身份认证方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614634A (zh) * 2024-01-19 2024-02-27 成都信息工程大学 基于可追踪环签名的联盟链跨链身份认证方法及系统

Similar Documents

Publication Publication Date Title
CN109478223B (zh) 区块链实现的方法和系统
Wang et al. Blockchain-based personal health records sharing scheme with data integrity verifiable
Huang et al. Scalable and redactable blockchain with update and anonymity
EP3540628B1 (en) Mechanism for efficient validation of finality proof in lightweight distributed ledger clients
Wei et al. Security and privacy for storage and computation in cloud computing
CN110288480B (zh) 一种区块链的私密交易方法及装置
Banerjee et al. Private blockchain-envisioned multi-authority CP-ABE-based user access control scheme in IIoT
Varshney et al. Authentication & encryption based security services in blockchain technology
Ma et al. Redactable blockchain in decentralized setting
CN115495768A (zh) 基于区块链及多方安全计算的涉密信息处理方法及系统
JP2022549070A (ja) ブロックチェーン上に認証済みデータを格納するコンピュータにより実施される方法及びシステム
CN112734423A (zh) 一种基于区块链的交易方法及终端设备
Ra et al. VAIM: verifiable anonymous identity management for human-centric security and privacy in the internet of things
Zhao et al. Blockchain-based auditable privacy-preserving data classification for Internet of Things
CN115967568A (zh) 基于区块链和群签名机制的跨链访问控制方法
Longo et al. On the security of the blockchain BIX protocol and certificates
Adei et al. How to recover a cryptographic secret from the cloud
Li et al. Auditable credential anonymity revocation based on privacy-preserving smart contracts
Morais et al. Zero knowledge set membership
CN115393079A (zh) 一种可随机化和溯源审计的跨链交易方法、设备和介质
Hajny et al. Privacy ABCs: Now Ready for Your Wallets!
Xu et al. ChainKeeper: A cross‐chain scheme for governing the chain by chain
CN117786757B (zh) 一种隐私计算管理系统及方法
Li Research on Key Security Detection Method of Cross Domain Information Sharing Based on PKG Trust Gateway
Vashishtha et al. Mechanism Incorporating Secure Mutual Validation and Key Spreading Organization in Intelligent Transport System

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

Effective date of registration: 20231122

Address after: 210003, 66 new model street, Gulou District, Jiangsu, Nanjing

Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS

Applicant after: JIANGSU FUTURE NETWORKS INNOVATION INSTITUTE

Address before: 210003, 66 new model street, Gulou District, Jiangsu, Nanjing

Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS

TA01 Transfer of patent application right