用户角色属性的更新方法、装置、程序产品及电子设备与流程

摘要: 本技术涉及区块链或其他相关,具体而言,涉及一种用户角色属性的更新方法、装置、程序产品及电子设备。背景技术:1、随着区块链技术在企业级应用场景增多,其在承载复杂业...
用户角色属性的更新方法、装置、程序产品及电子设备与流程

本技术涉及区块链或其他相关,具体而言,涉及一种用户角色属性的更新方法、装置、程序产品及电子设备。

背景技术:

1、随着区块链技术在企业级应用场景增多,其在承载复杂业务流程处理和信息互联互通方面的能力正面临严峻考验。复杂的商业活动往往涉及多方参与、多级审批和动态的状态流转,这要求区块链系统具备精细化、可编程的权限控制机制。现存的“区块链孤岛”现象限制了资产和各类信息的自由流动,而在跨链交互过程中如何对用户的操作权限进行控制也是一个重要议题。

2、现有技术关注的是单一链的许可证明或“一一对应”的双链交互身份验证,比如许可链hyperledger fabric(一种许可区块链平台)或polkadot xcmp(一种跨链消息的传递协议)的跨链消息机制,用于实现链上用户身份验证或不同区块链之间资产(特别是同质化代币)跨链映射,而对链上用户的权限控制还存在空白,并且,现有技术中的用户每一次角色变更均需单独发xcmp(cross-chain message passing,跨链通信协议)消息或hyperledger fabric中继交易,费用随链数线性增长,尤其在多级审批场景下,gas手续费累计显著,难以满足大规模的业务需求,导致当用户角色变更涉及多个区块链时,用户角色属性更新的成本高的问题。

3、针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

1、本技术提供了一种用户角色属性的更新方法、装置、程序产品及电子设备,以至少解决当用户角色变更涉及多个区块链时,用户角色属性更新的成本高的技术问题。

2、根据本技术的一个方面,提供了一种用户角色属性的更新方法,包括:基于用户提交的角色变更请求生成用户标识符和l个用户凭证,其中,l为正整数,角色变更请求用于申请更新用户在l个区块链中的角色属性,每个用户凭证包括每个区块链中的用户对应的新的角色属性和新的角色属性的有效期;基于用户标识符和l个用户凭证生成跨链消息,其中,跨链消息包括用户标识符、l个用户凭证的默克尔根以及目标证明,目标证明用于表征每个用户凭证中的角色属性的变更满足预设业务规则;在通过异步广播的方式将跨链消息发送至l个区块链之后,通过每个区块链对接收到的跨链消息执行验证操作;基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性。

3、可选地,基于用户提交的角色变更请求生成用户标识符和l个用户凭证,包括:通过标识符注册中心基于预设多签算法和角色变更请求生成用户标识符,并且存储用户标识符与用户的公钥之间的对应关系、链列表以及撤销列表,其中,链列表用于存储l个区块链的标识,撤销列表用于存储已失效的历史标识符;通过凭证签发中心基于用户标识符、角色变更请求申请更新的每个区块链中的用户所对应的新的角色属性以及有效期生成每个区块链对应的初始凭证;通过凭证签发中心基于业务系统的私钥对每个区块链对应的初始凭证进行签名,得到l个区块链对应的l个用户凭证。

4、可选地,基于用户标识符和l个用户凭证生成跨链消息,包括:通过证明生成引擎基于l个用户凭证生成默克尔树;基于默克尔树确定l个用户凭证的默克尔根;基于l个用户凭证的默克尔根生成目标证明;通过跨链广播引擎对用户标识符、l个用户凭证的默克尔根以及目标证明进行封装,得到跨链消息。

5、可选地,通过每个区块链对接收到的跨链消息执行验证操作,包括:通过每个区块链中部署的预设路由合约获取跨链消息的中继链共识签名,并且对跨链消息进行解析,得到解析结果,其中,中继链共识签名为中继链基于跨链消息通过共识机制生成的签名,解析结果包括用户标识符、l个用户凭证的默克尔根以及目标证明;通过每个区块链中的预设路由合约对中继链共识签名执行第一验证操作,并且对解析结果中的目标证明执行第二验证操作,其中,第一验证操作用于检测跨链消息是否被攻击者篡改,第二验证操作用于检测用户的新的角色属性的变更是否满足预设业务规则。

6、可选地,基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性,包括:获取通过验证操作的跨链消息的解析结果中的l个用户凭证的默克尔根;基于l个用户凭证的默克尔根在链下集群中查询得到l个用户凭证,其中,链下集群用于存储每个用户凭证;基于查询得到的l个用户凭证生成l个区块链中的每个区块链对应的更新指令;通过控制引擎基于每个区块链对应的更新指令对每个区块链的本地访问控制列表中的用户的角色属性进行更新。

7、可选地,在基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性之后,用户角色属性的更新方法还包括:将跨链消息、目标证明、l个用户凭证对应的哈希值以及每个区块链的本地访问控制列表的更新记录作为审计日志数据存储至预设审计区块链。

8、可选地,在基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性之后,用户角色属性的更新方法还包括:通过状态同步模块从标识符注册中心获取最新的撤销列表和链列表;基于链列表中的每个区块链的标识查询得到每个区块链的最新的本地访问控制列表;检测每个区块链的最新的本地访问控制列表中的角色属性所属用户的用户标识符与撤销列表中的已失效的历史标识符是否存在冲突;在第i个区块链的最新的本地访问控制列表中的角色属性所属用户的用户标识符与历史标识符存在冲突的情况下,对第i个区块链的最新的本地访问控制列表执行回滚操作。

9、根据本技术的另一方面,还提供了一种用户角色属性的更新装置,包括:第一生成单元,用于基于用户提交的角色变更请求生成用户标识符和l个用户凭证,其中,l为正整数,角色变更请求用于申请更新用户在l个区块链中的角色属性,每个用户凭证包括每个区块链中的用户对应的新的角色属性和新的角色属性的有效期;第二生成单元,用于基于用户标识符和l个用户凭证生成跨链消息,其中,跨链消息包括用户标识符、l个用户凭证的默克尔根以及目标证明,目标证明用于表征每个用户凭证中的角色属性的变更满足预设业务规则;目标验证单元,用于在通过异步广播的方式将跨链消息发送至l个区块链之后,通过每个区块链对接收到的跨链消息执行验证操作;目标更新单元,用于基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性。

10、根据本技术的另一个方面,还提供了一种计算机程序产品,该计算机程序产品中存储有计算机程序,其中,在计算机程序运行时控制计算机程序产品执行上述任意一项的用户角色属性的更新方法。

11、根据本技术的另一个方面,还提供了一种电子设备,其中,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项的用户角色属性的更新方法。

12、在本技术中,首先基于用户提交的角色变更请求生成用户标识符和l个用户凭证,其中,l为正整数,角色变更请求用于申请更新用户在l个区块链中的角色属性,每个用户凭证包括每个区块链中的用户对应的新的角色属性和新的角色属性的有效期,之后,基于用户标识符和l个用户凭证生成跨链消息,其中,跨链消息包括用户标识符、l个用户凭证的默克尔根以及目标证明,目标证明用于表征每个用户凭证中的角色属性的变更满足预设业务规则,然后,在通过异步广播的方式将跨链消息发送至l个区块链之后,通过每个区块链对接收到的跨链消息执行验证操作,随后,基于通过验证操作的跨链消息更新对应区块链的本地访问控制列表中的用户的角色属性。

13、由上述内容可知,本技术采用基于用户标识符和多用户凭证生成跨链消息的方式,通过异步广播该跨链消息至l个区块链,并由各区块链验证消息中的目标证明以更新本地访问控制列表中用户角色属性的手段,达到了在涉及多个区块链场景下集中且高效地更新用户角色属性的目的,从而实现了降低用户角色属性更新成本、避免单次角色变更需单独发送多条跨链消息或中继交易导致的gas手续费随链数线性增长的技术效果,进而解决了当用户角色变更涉及多个区块链时,用户角色属性更新的成本高的技术问题。