一种基于SGX的公证人跨链数据安全保护系统及方法

文档序号:30496046发布日期:2022-06-22 04:35阅读:来源:国知局

技术特征:
1.一种基于sgx的公证人跨链数据安全保护系统,其特征在于,包括:跨链控制智能合约,其部署在区块链上,包括源链和目标链,用于管理跨链任务;中继节点,其用于负责跨链数据从源链到目标链的传递,包括运行在安全区外的不可信部分和安全区内的可信部分;所述的不可信部分包括区块链全节点、跨链请求监听模块、交易广播模块,所述的区块链全节点用于同步源链和目标链的全部历史区块,保存在本地存储中;跨链请求监听模块用于借助区块链全节点来获取源链上的最新区块,监控源链上新发生的跨链请求,并下载跨链请求中的跨链数据、目标链、目标智能合约信息;所述的交易广播模块用于接收跨链交易并发布到目标链上;所述的可信部分包括数据验证模块和交易构建模块;所述的数据验证模块负责接收跨链请求监听模块传入的跨链数据、目标链、目标智能合约信息,在验证其真实性和完整性后将这些数据提供给交易构建模块;所述的交易构建模块负责构建将跨链数据上传到目标链的交易,用只存在于安全区内部的私钥签名后提供给交易广播模块。2.根据权利要求1所述的基于sgx的公证人跨链数据安全保护系统,其特征在于,部署在源链上的跨链控制智能合约用于接受注册跨链管道,以及接受源智能合约的跨链请求,并分配任务给可信中继节点;部署在目标链上的跨链控制智能合约用于接受注册跨链管道,以及接受中继节点的跨链交易,验证跨链交易中的跨链数据是否经由已注册的跨链管道传输,验证通过后,调用或通知目标智能合约提供跨链数据。3.根据权利要求1所述的基于sgx的公证人跨链数据安全保护系统,其特征在于,所述的交易构建模块使用的私钥是在中继节点初始化时生成的,所述私钥受到安全区保护。4.一种基于权利要求1所述系统的公证人跨链数据安全保护方法,其特征在于,包括以下步骤:(1)中继节点初始化:在安全区内生成目标链公私钥及对应的钱包地址;用户通过远程认证选定可信的中继节点并获取其钱包地址;(2)注册跨链管道:用户向源链和目标链的跨链控制智能合约注册跨链管道,所述的跨链管道包含源智能合约地址、目标智能合约地址、可信中继节点钱包地址列表信息;(3)中继跨链数据,用户在源链上提交跨链请求后,由中继节点将跨链数据传输到目标链上。5.根据权利要求4所述的公证人跨链数据安全保护方法,其特征在于,所述的步骤(1)包括:(1-1)启动中继节点安全区外的区块链全节点、跨链请求监听模块、交易广播模块;所述的区块链全节点开始同步源链和目标链的历史区块;(1-2)检查系统环境对于sgx是否支持,若是,则进入步骤(1-3),若否,则进行环境修复;若修复成功,则进入步骤(1-3),若修复失败,则发出对应的警告等待管理员处理;(1-3)初始化安全区;(1-4)用户通过sgx提供的远程认证服务验证安全区内运行未经篡改的公开代码实例,确认该中继节点可信,获得该中继节点钱包地址,向源链和目标链的跨链控制智能合约注册跨链管道。
6.根据权利要求4所述的公证人跨链数据安全保护方法,其特征在于,所述的步骤(1-3)具体为:(1-3a)估计安全区内预定运行的代码和数据的预计占用空间;(1-3b)为安全区分配对应内存空间,在安全区内加载数据验证模块和交易构建模块,保证数据验证模块和交易构建模块的相关数据仅存在于安全区内;(1-3c)在安全区内生成目标链的公私钥及对应的钱包地址,私钥封存于安全存储区内。7.根据权利要求4所述的公证人跨链数据安全保护方法,其特征在于,所述的步骤(3)包括:(3-1)提交跨链请求:源智能合约向源链上的跨链控制智能合约提交跨链请求,所述跨链请求包括待跨链数据、目标链、目标智能合约信息;(3-2)监听新的跨链请求:中继节点中的跨链请求监听模块监听到新发生的跨链请求,从区块链上获取跨链请求数据,传递给中继节点的数据验证模块;(3-3)验证待跨链数据:中继节点中的数据验证模块验证待跨链数据确实存在于源链中且未经篡改后,将跨链请求数据传递给中继节点中的交易构建模块;(3-4)发布待跨链数据:中继节点的交易构建模块创建将待跨链数据发布到目标链上的交易,并使用只存在于安全区内部的私钥签名,将交易传递给中继节点中的交易广播模块;(3-5)向目标链发布交易:中继节点中的交易广播模块向目标链发布交易;(3-6)目标链上的跨链控制智能合约接收到交易,验证交易来自于已注册的跨链管道的可信中继节点钱包地址,调用目标智能合约提供跨链数据;(3-7)中继节点向源链上的跨链控制智能合约报告跨链任务已完成。8.根据权利要求7所述的公证人跨链数据安全保护方法,其特征在于,提交跨链请求的步骤中,源链的跨链控制智能合约检查是否存在对应所述跨链请求中的源智能合约地址和目标智能合约地址的跨链管道,若存在,则发出一个事件,事件数据包含跨链请求和由跨链管道确定的指定中继节点。9.根据权利要求8所述的公证人跨链数据安全保护方法,其特征在于,监听新的跨链请求步骤中,跨链请求监听模块借助区块链全节点来获取源链上的最新区块,并遍历区块内的事件列表;若发现由源链的跨链控制智能合约发出的事件,且指派的中继节点为自己,则获取相应的跨链请求及对应的区块高度,并传递给数据验证模块。10.根据权利要求4或9所述的公证人跨链数据安全保护方法,其特征在于,所述的验证待跨链数据的步骤包括:(3-3-1)验证本地保存的历史区块运行在中继节点安全区内的数据验证模块读取本地由区块链全节点同步的源链历史区块;验证方法是依据工作量证明,从创世区块开始逐一检查区块是否有效,在首次验证完成后,数据验证模块将本次验证过的最新区块的区块高度及哈希封存于本地安全存储区内,下一次验证时就从当前区块开始验证,不必再从创世区块开始;(3-3-2)验证跨链数据来自源链区块使用源链区块头中的bloom过滤器字段,判断给定的事件是否真实存在于源链区块中;
(3-3-3)验证全部通过后,将跨链请求数据传递给中继节点中的交易构建模块。

技术总结
本发明公开了一种基于SGX的公证人跨链数据安全保护系统及方法,属于区块链跨链技术数据安全保护领域。系统包括跨链控制智能合约,其部署在需要应用本系统的区块链上,包括源链上的和目标链上的跨链控制智能合约;中继节点,是运行在链下的程序,负责跨链数据从源链到目标链的传递,包括运行在安全区外的不可信部分和安全区内的可信部分。本发明通过引入SGX硬件保护机制,并对公证人跨链数据转移的全过程实施验证,可有效保障链间数据转移的安全。全。全。


技术研发人员:陈建海 肖元星 杨特 范俊松 沈睿 何钦铭 许端清
受保护的技术使用者:浙江大学
技术研发日:2022.04.02
技术公布日:2022/6/21
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1