一种基于可信任执行环境的跨链系统及跨链交易实现方法与流程

未命名 07-19 阅读:54 评论:0


1.本发明涉及区块链跨链技术领域,具体涉及一种基于可信任执行环境的跨链系统和一种基于可信任执行环境的跨链交易实现方法。


背景技术:

2.传统跨链方式主要分为公证人系统、侧链、中继链等,其中,公证人系统模式是通过公证人作为第三方,来保证多链之间数据的传输,该方式最重要的是确保公证人的可信性,确保公证人不会对跨链交易的数据进行篡改,故对公证人的本身权威性要求极高;而中继链、侧链等模式则是通过第三方链来保证其可信任性,额外的一条第三方链用于去信任化,但是,额外维护一条第三方业务无关的区块链,极大的提高了运维成本。


技术实现要素:

3.针对现有技术中存在的缺陷,本发明的目的在于提供一种基于可信任执行环境的跨链系统和一种基于可信任执行环境的跨链交易实现方法,既能保证跨链交易数据的安全性,又能降低跨链成本。
4.为达到以上目的,本发明提供的一种基于可信任执行环境的跨链系统,包括tee环境,以及位于所述tee环境内的:
5.异构链接入模块,其用于接入区块链以实现各区块链间的数据传输,以及进行区块链上交易数据的接收和发送;
6.交易验证模块,其用于对区块链上的交易数据进行验证;
7.tee远程证明模块,其用于基于远程证明方式确保所述异构链接入模块和交易验证模块运行于所述tee环境内。
8.在上述技术方案的基础上,所述异构链接入模块内配置有各区块链的通信模式,以及各区块链的智能合约语言的数据格式。
9.在上述技术方案的基础上,
10.所述交易验证模块具体通过交易验签和默克尔证明,实现对区块链上交易数据的验证;
11.所述交易验签为通过数字签名算法对交易的真伪性进行验证;
12.所述默克尔证明为通过默克尔证明对交易的存在性进行验证。
13.在上述技术方案的基础上,对于交易真伪性的验证,具体为:
14.所述交易验证模块接收区块链的交易数据,并对所接收交易数据的签名进行验证,以实现交易真伪性的验证。
15.在上述技术方案的基础上,对于交易存在性的验证,具体过程为:
16.交易验证模块获取与交易相关联的各默克尔树枝叶上的哈希值;
17.轮次计算出当前默克尔树根的哈希值,并与区块链上的默克尔树根哈希值进行对比,基于比对结果:
18.若一致,则表明交易存在;
19.若不一致,则表明交易异常。
20.在上述技术方案的基础上,所述tee远程证明模块具体通过保证tee运行平台真实性、tee虚拟机启动认证和tee虚拟机数据保密的安全性,以确保所述异构链接入模块和交易验证模块运行于所述tee环境内,以确保跨链交易任务执行于tee环境中。
21.在上述技术方案的基础上,
22.所述tee运行平台真实性通过身份密钥进行证明实现;
23.所述身份密钥由tee提供厂商与tee运行平台所有者共同签名得到。
24.在上述技术方案的基础上,
25.所述tee虚拟机启动认证通过tee虚拟机启动时向tee虚拟机所有者提供证明实现;
26.所述证明由私钥签名实现。
27.在上述技术方案的基础上,
28.所述tee虚拟机数据保密由tee虚拟机固件内部密钥对内存数据加密实现,且密钥数据仅能被tee虚拟机读取。
29.本发明提供的一种基于可信任执行环境的跨链交易实现方法,基于上述所述跨链系统实现,所述跨链交易实现方法的具体步骤包括:
30.基于tee环境进行区块链上跨链交易的接收,并对源区块链的交易数据进行真伪性和存在性校验;
31.获取目标区块链,并基于交易数据生成新数字签名,以确保目标区块链进行交易数据来源的验证;
32.获取目标区块链上对应当前跨链交易的默克尔树哈希值,以确保当前跨链交易存在于目标区块链。
33.与现有技术相比,本发明的优点在于:通过构建tee环境,tee环境是基于可信计算实现的,包括安全内存加密,以及加密虚拟化等技术,对比于公证人系统模式而言,其信任问题由tee环境保证,无需依赖于第三方的公证人,便可保证跨链数据的安全;而对比于侧链、中继链模式,基于tee环境的跨链方式无需额外维护一条第三方链,极大的降低了跨链的成本,因此,本发明既能保证跨链交易数据的安全性,又能降低跨链成本。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为基于tee环境实现跨链交易的示意图;
36.图2为本发明实施例中一种基于可信任执行环境的跨链系统的结构示意图;
37.图3为本发明实施例中一种基于可信任执行环境的跨链交易实现方法的流程图。
具体实施方式
38.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。
39.本发明提供一种基于可信任执行环境的跨链系统,通过tee(trusted execution environment,可信任执行环境)环境进行跨链交易数据安全性的保证,参见图1所示,即将tee环境作为多方区块链之间进行跨链交易的桥梁。
40.具体的,参见图2所示,本发明实施例提供的一种基于可信任执行环境的跨链系统,包括tee环境,以及位于tee环境内的异构链接入模块、交易验证模块和tee远程证明模块。
41.对于异构链接入模块,异构链接入模块用于接入区块链以实现各区块链间的数据传输,以及进行区块链上交易数据的接收和发送。即异构链接入模块提供各主流类型区块链的接入能力,一方面维持与各主流区块链之间稳定的数据传输通信,另一方面接收并发送各主流区块链上的交易数据。
42.具体的,异构链接入模块内配置有各区块链的通信模式,以及各区块链的智能合约语言的数据格式。
43.当前主流的区块链包括包括fabric区块链、fisco区块链等。具体的,fabric区块链采用的是grpc远程调用,采用protobuf(一种数据描述语言)的序列化方式,基于http/2协议实现;fisco区块链则采用的是jsonrpc远程调用,采用json格式的序列化方式,基于amop协议实现。因此,异构链接入模块内兼容了多种区块链的通信模式,确保交易传输的稳定性。此外,fabric区块链本身使用的智能合约语言为golang、nodejs等,fisco区块链使用智能合约语言则为sodility,故异构链接入模块内还适配不同智能合约语言的数据格式,确保不同编程语言实现的交易数据转化。
44.对于交易验证模块,交易验证模块用于对区块链上的交易数据进行验证。交易验证模块具体通过交易验签和默克尔证明,实现对区块链上交易数据的验证;交易验签为通过数字签名算法对交易的真伪性进行验证;默克尔证明为通过默克尔证明对交易的存在性进行验证。
45.本发明中,对于交易真伪性的验证,具体为:交易验证模块接收区块链的交易数据,并对所接收交易数据的签名进行验证,以实现交易真伪性的验证。
46.本发明中,对于交易存在性的验证,具体过程为:
47.交易验证模块获取与交易相关联的各默克尔树枝叶上的哈希值;
48.轮次计算出当前默克尔树根的哈希值,并与区块链上的默克尔树根哈希值进行对比,基于比对结果:
49.若一致,则表明交易存在;
50.若不一致,则表明交易异常。
51.即交易验证模块具体为来自主流区块链上的交易数据进行验证,其中最核心部分的为交易验签和默克尔证明,交易验签为对来自区块链上的交易数据的签名做验证,确保交易本身未被篡改。
52.当前主流的区块链包括fabric区块链、fisco区块链等,其主要使用的签名算法包
括基于secp256r1、secp256k1、sm2p256v1等椭圆曲线的数字签名算法,fabric区块链主要使用的是基于secp256r1椭圆曲线的签名算法,而fisco区块链则包含基于sm2p256v1国密版与基于secp256k1非国密版的的签名算法。
53.默克尔证明则是为保证交易数据真实存在于各区块链上,默克尔证明本身是基于默克尔树实现的,只需要获取与交易相关联的各个默克尔树枝叶上的哈希值,轮次计算出当前的默克尔树根的哈希值,与区块链上的默克尔树根哈希值进行对比,一致则说明交易存在,不一致则说明交易异常。fabric区块链与fisco区块链所使用到的哈希算法包括sha256、keccak256、sm3等,其中fabric区块链主要包含sha256算法,而fisco区块链则分为国密版的sm3算法和非国密版的keccak256算法。
54.对于tee远程证明模块,tee远程证明模块用于基于远程证明方式确保所述异构链接入模块和交易验证模块运行于所述tee环境内。tee远程证明模块具体通过保证tee运行平台真实性、tee虚拟机启动认证和tee虚拟机数据保密的安全性,以确保所述异构链接入模块和交易验证模块运行于所述tee环境内,以确保跨链交易任务执行于tee环境中。
55.即tee远程证明模块具体用于验证跨链任务执行在tee环境中,tee环境内的内存本身是处于加密的状态,故写入到磁盘的数据也是处于加密状态,而tee虚拟机内部的内存加密安全性则由加密密钥的安全性来保证,为此,需要保证三个属性的安全性:tee运行平台真实性、tee虚拟机启动认证和tee虚拟机数据保密的安全性。
56.tee运行平台真实性通过身份密钥进行证明实现;身份密钥由tee提供厂商与tee运行平台所有者共同签名得到。对平台身份的认证可以防止恶意程序或设备的伪装,tee运行平台真实性是通过身份密钥来证明的,该身份证明是由tee提供厂商与tee运行平台所有者共同签名得到,这就保证了不持有密钥的第三方是无法伪装成真实的跨链程序。
57.tee虚拟机启动认证通过tee虚拟机启动时向tee虚拟机所有者提供证明实现;证明由私钥签名实现。tee虚拟机启动认证是向tee虚拟机所有者提供证明,该证明由私钥签名实现,确保程序启动过程是可信任的。
58.tee虚拟机数据保密由tee虚拟机固件内部密钥对内存数据加密实现,且密钥数据仅能被tee虚拟机读取。tee虚拟机数据保密性是由虚拟机固件内部的密钥对内存数据加密实现的,该密钥数据无法被外部获取,从而保证了跨链任务运行过程中的数据不会被外部获取。
59.因此,接入跨链交易的多方区块链只需证明跨链任务运行于tee环境中,即可确保跨链交易数据不会被篡改。证明跨链任务运行于tee环境中依赖于tee虚拟机生成的远程报告证书,而外部验证该远程报告证书签名时会从证书服务器下载证书,故此,只需外部验证环境接入网络即可验证。
60.本发明实施例的基于可信任执行环境的跨链系统,通过构建tee环境,tee环境是基于可信计算实现的,包括安全内存加密,以及加密虚拟化等技术,对比于公证人系统模式而言,其信任问题由tee环境保证,无需依赖于第三方的公证人,便可保证跨链数据的安全;而对比于侧链、中继链模式,基于tee环境的跨链方式无需额外维护一条第三方链,极大的降低了跨链的成本,因此,本发明既能保证跨链交易数据的安全性,又能降低跨链成本。
61.参见图3所示,本发明实施例提供的一种基于可信任执行环境的跨链交易实现方法,基于上述跨链系统实现,该跨链交易实现方法具体包括以下步骤:
62.s1:基于tee环境进行区块链上跨链交易的接收,并对源区块链的交易数据进行真伪性和存在性校验;
63.具体的,可通过tee环境内的可执行任务对来自区块链上的跨链交易进行接收,然后对源区块链的交易数据进行验签,确保交易数据未被篡改过,并对该跨链交易所在默克尔树上的哈希值进行校验,确保交易的真实存在性。
64.s2:获取目标区块链,并基于交易数据生成新数字签名,以确保目标区块链进行交易数据来源的验证;
65.具体的,通过tee环境内的可执行任务获取当前跨链交易要去的目标区块链,同时在获取当前跨链交易内的交易数据后,生成新数字签名,以确保目标区块链得到交易后能验证交易数据来源于tee环境。
66.s3:获取目标区块链上对应当前跨链交易的默克尔树哈希值,以确保当前跨链交易存在于目标区块链。
67.具体的,通过tee环境内的可执行任务获取目标区块链上对应当前跨链交易的默克尔树哈希值,以确保交易真实存在于目标区块链上。
68.需要说明的是,tee环境负责确保上述步骤流程中数据的安全性,tee远程证明过程则是向外部证明跨链任务真实运行于tee环境中。
69.在本技术的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
70.需要说明的是,在本技术中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
71.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种基于可信任执行环境的跨链系统,其特征在于,包括tee环境,以及位于所述tee环境内的:异构链接入模块,其用于接入区块链以实现各区块链间的数据传输,以及进行区块链上交易数据的接收和发送;交易验证模块,其用于对区块链上的交易数据进行验证;tee远程证明模块,其用于基于远程证明方式确保所述异构链接入模块和交易验证模块运行于所述tee环境内。2.如权利要求1所述的一种基于可信任执行环境的跨链系统,其特征在于:所述异构链接入模块内配置有各区块链的通信模式,以及各区块链的智能合约语言的数据格式。3.如权利要求1所述的一种基于可信任执行环境的跨链系统,其特征在于:所述交易验证模块具体通过交易验签和默克尔证明,实现对区块链上交易数据的验证;所述交易验签为通过数字签名算法对交易的真伪性进行验证;所述默克尔证明为通过默克尔证明对交易的存在性进行验证。4.如权利要求3所述的一种基于可信任执行环境的跨链系统,其特征在于,对于交易真伪性的验证,具体为:所述交易验证模块接收区块链的交易数据,并对所接收交易数据的签名进行验证,以实现交易真伪性的验证。5.如权利要求3所述的一种基于可信任执行环境的跨链系统,其特征在于,对于交易存在性的验证,具体过程为:交易验证模块获取与交易相关联的各默克尔树枝叶上的哈希值;轮次计算出当前默克尔树根的哈希值,并与区块链上的默克尔树根哈希值进行对比,基于比对结果:若一致,则表明交易存在;若不一致,则表明交易异常。6.如权利要求1所述的一种基于可信任执行环境的跨链系统,其特征在于:所述tee远程证明模块具体通过保证tee运行平台真实性、tee虚拟机启动认证和tee虚拟机数据保密的安全性,以确保所述异构链接入模块和交易验证模块运行于所述tee环境内,以确保跨链交易任务执行于tee环境中。7.如权利要求6所述的一种基于可信任执行环境的跨链系统,其特征在于:所述tee运行平台真实性通过身份密钥进行证明实现;所述身份密钥由tee提供厂商与tee运行平台所有者共同签名得到。8.如权利要求6所述的一种基于可信任执行环境的跨链系统,其特征在于:所述tee虚拟机启动认证通过tee虚拟机启动时向tee虚拟机所有者提供证明实现;所述证明由私钥签名实现。9.如权利要求6所述的一种基于可信任执行环境的跨链系统,其特征在于:所述tee虚拟机数据保密由tee虚拟机固件内部密钥对内存数据加密实现,且密钥数据仅能被tee虚拟机读取。10.一种基于可信任执行环境的跨链交易实现方法,基于权利要求1至9任一项所述跨
链系统实现,其特征在于,所述跨链交易实现方法的具体步骤包括:基于tee环境进行区块链上跨链交易的接收,并对源区块链的交易数据进行真伪性和存在性校验;获取目标区块链,并基于交易数据生成新数字签名,以确保目标区块链进行交易数据来源的验证;获取目标区块链上对应当前跨链交易的默克尔树哈希值,以确保当前跨链交易存在于目标区块链。

技术总结
本发明公开了一种基于可信任执行环境的跨链系统及跨链交易实现方法,涉及区块链跨链技术领域,该系统包括TEE环境,以及位于所述TEE环境内的异构链接入模块、交易验证模块和TEE远程证明模块,异构链接入模块用于接入区块链以实现各区块链间的数据传输,以及进行区块链上交易数据的接收和发送;交易验证模块用于对区块链上的交易数据进行验证;TEE远程证明模块用于基于远程证明方式确保所述异构链接入模块和交易验证模块运行于所述TEE环境内。本发明既能保证跨链交易数据的安全性,又能降低跨链成本。能降低跨链成本。能降低跨链成本。


技术研发人员:徐熠 李炎 匡翌婕 孟庆树 董逢华
受保护的技术使用者:武汉天喻信息产业股份有限公司
技术研发日:2023.03.20
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐