一种基于合约的跨联盟链的分布式身份聚合认证方法

文档序号:36482946发布日期:2023-12-25 14:41阅读:57来源:国知局
一种基于合约的跨联盟链的分布式身份聚合认证方法

本发明涉及分布式身份认证、联盟链、跨链互操作领域,尤其涉及一种基于合约的跨联盟链的分布式身份聚合认证方法。


背景技术:

1、近年来,随着区块链技术的不断发展,包括中国在内的很多国家逐渐意识到这项技术的重要性。从访问权限的维度来看,区块链可以划分为公链、联盟链和私链。其中,公链是非许可链,任何有意愿参与的用户都可以加入进来;联盟链和私链属于许可链,有相应的准入机制,只有获得许可的用户才能参与。以hyperledger、corda为代表的联盟链则是一个相对封闭的生态,只有获得许可的用户才能参与,主要特点包括弱中心化、强身份许可和安全隐私等。对于联盟链而言,参与者之间的信任是通过契约关系或共同利益来实现的,并不需要token经济模型来提供激励。联盟链对企业用户友好,可以整合联盟内部资源,重塑价值分配,优化使用效率,便于监管,更符合国内现阶段的发展要求。

2、随着区块链技术的快速发展,人们很快发现单一链存在性能、隐私、隔离性、可扩展性上的瓶颈,同时一些应用内部需要根据业务功能的需要对数据做平行切分,以达到数据隔离的业务要求和安全要求。区块链系统趋向于专业化、定制化。在实际生活中不同的区块链网络越来越多,区块链上的数据与资产也越来越多。很多时候,用户需要向服务商提供的个人信息才能提供对应的服务,例如在医院需要提供年龄、性别、病史等很多敏感信息。在当今互联网发展趋势下,用户总是在各种地方提供自己各方面的信息,其中很多地方都是重复的,这样不仅带来使用上的不方便,还会增加信息泄露的风险。同时由于身份信息的关联性,一部分身份信息的泄露会带来更多的风险。

3、因此用户可能在某一区块链系统上已经有了部分身份信息,在实际场景中不同区块链中的数据流通是必要的,每部份身份信息能够聚合而不打破原业务系统的隔离性有重大价值。现有的跨链身份管理方案是将用户身份存储在中继链上,一是随着系统的发展,中继链会存在性能瓶颈,二是以中继链为核心的存储方式需要对已有的身份加以改造,接入跨链的成本较高。

4、因此需要有一个能够在多链网络下进行身份聚合的方法,满足安全可控需求。


技术实现思路

1、针对现有技术的不足,本发明提供了一种基于合约的跨联盟链的分布式身份聚合认证方法,本发明要解决的问题是在身份信息分布在多链的场景下,如何将分布式身份信息安全有效聚合,实现身份信息在不同区块链中流通。为了解决该问题,本发明提出了基于合约的跨联盟链的分布式身份聚合方案。

2、本发明的目的是通过以下技术方案实现的:一种基于合约的跨联盟链的分布式身份聚合认证方法,该方法包括如下步骤:

3、(1)身份信息的注册,具体包括以下子步骤:

4、(1.1)用户或业务方u使用身份链提供的接口注册身份匹配规则;

5、(1.2)业务链a使用跨链平台向身份链i注册身份信息m;

6、(1.3)身份链上的i构造一颗merkle树,返回给业务链该身份信息的证明vc,该证明包含了:身份合约标识、身份信息内容、merkle根、merkle根的签名、以及对整个vc的签名;

7、(2)身份验证,具体包括以下子步骤:

8、(2.1)业务链a向业务链b发起跨链请求,需要携带某部分身份信息mp,将mp、mp到merkle根路径哈希、merkle根merkle根的签名、身份合约标识封装为vp发送给业务链b;

9、(2.2)业务链b获取业务链a发送到vp,运行验证合约sc进行验证;

10、(3)身份聚合与提供,具体包括以下子步骤:

11、(3.1)身份链i通过身份合约isc根据注册的身份匹配规则f进行身份聚合;

12、(3.2)用户或业务方u向身份链i请求某部分身份信息mp;

13、(3.3)身份链为用户颁发这部份身份信息的证明vc,包含身份合约标识、身份信息内容、merkle根、merkle根的签名、以及对整个vc的签名。

14、进一步地,所述步骤(1.1)中身份匹配规则包括:该用户或业务方注册身份信息格式,该用户或业务方使用的身份匹配算法,当匹配成功后可以提供的身份信息。

15、进一步地,所述步骤(1.3)中的构造一颗merkle树,具体过程如下:

16、(1.3.1)身份信息混合进特殊的随机<k,v>排序后形成一组<k,v>列表;

17、(1.3.2)一组<k,v>列表经过哈希运算组合成的树节点的一层,树节点递归地两两组和继续哈希运算组成树的上一层,直到构造完成。

18、进一步地,所述步骤(2.2)中验证的具体流程如下:

19、(2.2.1)sc验证对merkle根的签名;

20、(2.2.2)计算待验证部份身份mp的哈希值;

21、(2.2.3)sc从vp中获得merkle树哈希认证路径及merkle根;

22、(2.2.4)sc根据哈西认证路径和mp计算出merkle根与vp中的merkle根对比。

23、进一步地,所述步骤(3.1)中聚合的具体流程如下:

24、(3.1.1)业务链a的用户或业务方注册的身份ma根据身份匹配规则集f形成索引;

25、(3.1.2)业务链b的用户或业务方注册的身份mb根据身份匹配规则集f形成索引;

26、(3.1.3)当ma应用fb匹配成功时,将mb的信息聚合到ma上,同理当mb应用fa匹配成功时,将ma的信息聚合到mb上;

27、(3.1.4)当mb和ma同时匹配成功时,双方的身份信息可以合并成一个。

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

29、1、提供了对现有用户身份信息跨链融合的方式,能够有效应对身份信息跨应用链获取、验证的需求。

30、2、与跨链方案耦合性低,仅需要跨链合约调用的能力。

31、3、易扩展,针对身份信息膨胀的问题,可以对其进行划分处理,存储在不同的区块链上。

32、4、接入灵活,部署身份合约的身份链既可以是系统中独立的一条链,也可以是跨链组件中的中继链。



技术特征:

1.一种基于合约的跨联盟链的分布式身份聚合认证方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的一种基于合约的跨联盟链的分布式身份聚合认证方法,其特征在于,所述步骤(1.1)中身份匹配规则包括:该用户或业务方注册身份信息格式,该用户或业务方使用的身份匹配算法,当匹配成功后可以提供的身份信息。

3.根据权利要求1所述的一种基于合约的跨联盟链的分布式身份聚合认证方法,其特征在于,所述步骤(1.3)中的构造一颗merkle树,具体过程如下:

4.根据权利要求1所述的一种基于合约的跨联盟链的分布式身份聚合认证方法,其特征在于,所述步骤(2.2)中验证的具体流程如下:

5.根据权利要求1所述的一种基于合约的跨联盟链的分布式身份聚合认证方法,其特征在于,所述步骤(3.1)中聚合的具体流程如下:


技术总结
本发明公开了一种基于合约的跨联盟链的分布式身份聚合认证方法,首先业务方需要注册身份信息匹配规则和身份提供规则。根据身份信息构造Merkle树,通过提供Merkle树的路径来验证身份信息,加入了随机化以避免提供多余信息。根据身份信息匹配规则,将业务方认为可以提供的信息聚合到满足匹配算法的身份上。提供了对现有用户身份信息跨链融合的方式,能够有效应对身份信息跨应用链获取、验证的需求。具有良好的泛化性,与跨链方案耦合性低,仅需要跨链合约调用的能力。具有良好的扩展性,可以较为简单地实现身份信息的水平分片。接入灵活,部署身份合约的身份链既可以是系统中独立的一条链,也可以是跨链组件中的中继链。本发明可以实现基于合约的跨联盟链身份聚合,保证身份聚合分享的安全性和有效性。

技术研发人员:刘泽宇,陈晓丰,尹可挺,马振军,张一剑
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1