一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Token的跨链通信认证方法

2022-06-01 12:53:19 来源:中国专利 TAG:

一种基于token的跨链通信认证方法
技术领域
1.本发明涉及通信领域,特别是一种基于token的跨链通信认证方法。


背景技术:

2.区块链技术是由互不相信的多方共同维护同一种全局状态的分布式分类账本,具有去中心化、冗余存储、防篡改以及可追溯等优点,主要涉及的内容包括链式结构、共识机制和非对称加密等相关算法。在没有第三方介入的情况下,互不相信的人可以通过区块链技术进行数据的分享。因此,区块链在金融、经济以及科技方面都有重要应用。
3.区块链发展至今,各行业各领域都构建起不同的区块链网络,链上流转着各产业的信息与价值。当前阶段,无论是技术层面的可扩展性需求,还是业务层面的业务规模化或横向业务打通的需求,跨链已然成为业务发展的需求瓶颈,也是区块链技术急待突破的新技术难题。
4.跨链技术的基础需求可以分为两类:链与链之间发生了资产互换、链与链之间发生了资产转移。资产互换是指将一条链上的资产兑换成另一条链上等值的资产,资产所有权发生了变化;资产转移是指将一条链上的资产转移到另一条链上,即将原链上的资产进行锁定,在另一条链上重新铸造等量等值的资产。
5.当前业界主流的区块链跨链方案简单分为以下四种:公证人机制、侧链/中继、哈希锁定和分布式秘钥控制。但上述跨链方案主要聚焦于区块链上层事务的资产互换与资产转移,未涉及解决区块链间的底层通信信任难题。由于区块链项目的安全建设是以该区块链实例为边界的,未涉及链与链之间的信任,只能保证该区块链实例内部的安全,而申请跨链事务的区块链节点可能是无资格或是恶意的。因此在进行跨链事务之前,区块链间的信任建立是有必要的。本发明属于区块链技术领域,尤其涉及一种基于token的跨链通信认证方法。
6.现有技术一的技术方案
7.中国发明专利,名称:跨链场景下异构区块链的身份认证方法,申请号201910768793.4,公开号cn 110505058 a;中提出了一种跨链场景下异构区块链的身份认证方法。该方法实现了跨链场景下,架构中采用不同公钥密码体制的区块链系统间的身份认证,继而异构区块链系统双方可以安全地通信。其特征在于,公钥密码基础设施pki区块链系统中的用户节点a和无证书公钥密码体制clc区块链系统中的用户节点b分别与跨链平台进行注册,用户节点a执行签密算法,用户节点b执行解签密算法。
8.现有技术一的缺点
9.该方法存在的不足之处是:方法中两种不同架构的区块链系统之间的认证实际上是通过所述的跨链平台完成的,通过跨链平台来协商通信秘钥,区块链中的用户节点都需要在跨链平台中注册。这给予了跨链平台过大的权限,加强了中心化,如果跨链平台被攻击或是恶意的,会导致严重后果。且源链中的每个需要跨链的节点都需要与目的链中的节点协商会话秘钥,这会导致通信复杂度增加。
10.现有技术二的技术方案
11.中国发明专利,名称:跨链通信的方法、装置、网络节点和存储介质,申请号202010813044.1,公开号cn 112104607 a中,提供了一种跨链通信的方法、装置、网络节点和存储介质。在该发明中在该发明中当接入第一区块链的第一节点获取到用户向第二区块链发起跨链请求的信息时,需要第一节点为第一区块链和第二区块链共同的可信节点集合中的可信节点,第二区块链处理交易时需验证第一节点是否为两个链的共同的可信节点,并且消息中需包含可信节点集合与合法签名。
12.现有技术二的缺点
13.第一区块链与第二区块链是在相同对等网络中运行的,也就是两区块链间存在相同节点,一个节点上可以运行第一区块链也可以运行第二区块链,所以能够判定共同的可信节点,但此方法不涉及跨对等网络的节点认证及通信。


技术实现要素:

14.为解决现有技术中存在的问题,本发明提供了一种基于token的跨链通信认证方法,本发明通过生成加密的token并验证请求的token,从而实现了链间信息交互真实可靠的信任基础以及跨链通信的安全性。
15.本发明提供以下技术方案:
16.一种基于token的跨链通信认证方法,包括以下步骤:
17.s1:源链用户或应用预发起跨链事务到目的链,判断源链用户发起的请求中是否带有token,若带有token判断token是否过期,没有过期则执行s4,过期则执行s3,若不带有token执行s2;
18.s2:代表源链用户第一次发送跨链请求,目的链需要根据源链发送请求时源链用户带的基本信息和目的链设置的有效期用密码学生成一个token并返回给源链;
19.s3:代表源链用户的token已经过期,需要刷新token,目的链需要根据源链发送请求时源链用户带的基本信息和目的链设置的新有效期用密码学生成一个refreshtoken并返回给源链,源链将refreshtoken当成新的token再次发送给目的链;
20.s4:判断目的链需要验证源链用户发送过来的token是否合法;若合法则验证通过,允许跨链通信;若不合法则就不允许跨链通信。
21.优选地,s2包括以下子步骤:
22.s21:源链用户发送请求时,目的链根据源链用户发送请求时带有私钥sk、自身节点标识nid和目的链设置的有效期限term作为hmac-sha256哈希算法的输入,生成一个digest,digest的计算公式为digest=hmac-sha256(sk,nid,term);
23.s22:目的链再用自己的私钥sk对s21生成的digest加密生成一个token;
24.s23:目的链将token返回给源链用户,由源链用户保存token。
25.优选地,s3包括以下子步骤:
26.s31:源链用户发送请求时,监测到token已经过期,目的链根据源链用户发送请求时带有私钥sk、自身节点标识nid和目的链设置的新的有效期限term'作为hmac-sha256哈希算法的输入,生成一个digest,digest的计算公式为digest=hmac-sha256(sk,nid,term');
27.s32:目的链再用自己的私钥sk对s31生成的digest加密生成一个refreshtoken;
28.s33:目的链将refreshtoken返回给源链用户,由源链用户保存refreshtoken,将refreshtoken作为新的token。
29.优选地,s4包括以下子步骤:
30.s41:源链用户发送请求时,目的链根据源链用户发送请求时带有私钥sk、自身节点标识nid和目的链设置的有效期term作为hmac-sha256哈希算法的输入,生成一个digest,digest的计算公式为digest=hmac-sha256(sk,nid,term);
31.s42:目的链再用自己的私钥sk对s41生成的digest加密生成一个token;
32.s43:比较源链用户发送过来的token和目的链计算出来的token是否相等;若相等,则验证通过,允许跨链通信;否则就不允许跨链通信。
33.本发明基于token的跨链通信认证方法的有益效果如下:
34.1.跨链通信双方进行通信不需要在第三方跨链平台上进行,符合区块链去中心化的思想。不会发生跨链平台被攻击或是恶意的,从而导致严重的后果。
35.2.采用基于token的跨链方式,跨链通信的速度将大大提高,在实现起来的难度上也将大大降低,且用密码学保证token的安全性,跨链事务请求需要包含跨链通信节点的token,在建立节点信任的基础上增强跨链事务的安全性。
附图说明
36.图1是本发明的联盟链跨链系统示意图;
37.图2是本发明的链token的生成方法流程图;
38.图3是本发明的链token过期时,生成refreshtoken的方法流程图;
39.图4是本发明实施验证源链token是否合法的流程图。
具体实施方式
40.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
41.如图1所示,本发明实施例中包括:跨链事务发起链源链、跨链事务接受链目的链;
42.各节点利用函数秘钥生成算法keygen(pk,sk)生成一个秘钥对(pk,sk),其中pk是公钥,是公开的,sk是该节点的私钥,是不公开的,私钥只由被节点自己保存。
43.本发明基于token的跨链通信方法包括目的链token的生成和验证源链用户发送过来的token是否合法两大步骤,在本实施例中假设源链用户的token没有过期,在此基础上源链发起跨链事务到目的链,具体的包括以下步骤:
44.s1、源链用户或应用预发起跨链事务到目的链,判断源链用户发起的请求中是否带有token,若带有token则执行s3,若不带有token则执行s2。
45.参照附图2,对本实施例的目的链token的生成步骤做进一步描述。
46.s2、代表源链用户第一次发送跨链请求,目的链需要根据源链发送请求时源链用户带的基本信息用密码学生成一个token并返回给源链。包括以下子步骤:
47.s21、源链用户发送请求时,目的链根据源链用户发送请求时带有私钥sk以及自身节点标识nid作为hmac-sha256哈希算法的输入,生成一个digest,digest的计算公式为digest=hmac-sha256(sk,nid)。
48.s22、目的链再用自己的私钥sk对s21生成的digest加密生成一个token。
49.s23、目的链将token返回给源链用户,由源链用户保存token
50.参照附图3,对本发明的步骤3做进一步的描述。
51.s3、目的链需要验证源链用户发送过来的token是否合法。包括以下子步骤:
52.s31、源链用户发送请求时,目的链根据源链用户发送请求时带有私钥sk以及自身节点标识nid作为hmac-sha256哈希算法的输入,生成一个digest,digest的计算公式为digest=hmac-sha256(sk,nid)。
53.s32、目的链再用自己的私钥sk对s21生成的digest加密生成一个token。
54.s33、目的链比较用户发送过来的token和自己计算出来的token是否相等。相等则验证通过,允许跨链通信,否则就不允许跨链通信。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献