[发明专利]一种基于区块链和可信执行环境的边缘计算框架在审
申请号: | 202011312050.5 | 申请日: | 2020-11-20 |
公开(公告)号: | CN112380578A | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 贺伟;汪昌帅;王庚乐;范磊;张迪路;严永峰 | 申请(专利权)人: | 天翼电子商务有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/62;G06F21/60;G06F21/57 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102200 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 可信 执行 环境 边缘 计算 框架 | ||
1.一种基于区块链和可信执行环境的边缘计算框架,其特征在于,将这状态,存储和计算三部分分离,构建一个状态,存储,计算相互分离又相辅相成的系统框架,整个系统框架中主要有6个实体:
一、数据拥有者:数据拥有者即为隐私数据的提供者,数据拥有者可以在保证隐私数据不泄露的条件下,有偿的将这些私人数据提供给需要分析数据的数据使用者;
二、数据使用者:数据使用者通过在区块链上发布智能合约,智能合约中指明自己需要的数据类型与相应的报酬,希望可以与数据拥有者进行数据匹配,以达到使用用户隐私数据进行相应分析的目的;
三、边缘计算节点TEE:边缘计算节点通过向密钥管理服务节点认证身份来获取所需密钥,解密数据后在TEE内完成数据使用者的计算分析任务并输出智能合约的状态更新以及分析结果;具有TEE环境的任意节点都可作为计算节点;
四、分布式数据存储服务:数据拥有者在提供隐私数据之前,先将加密隐私数据上传至分布式数据存储服务,分布式数据存储服务向用户发送数据索引,通过数据索引可以找到相应的数据,并保证数据的完整性;
五、分布式密钥管理TEE:分布式密钥管理服务可以由一定数量的计算节点TEE构成,认证边缘计算节点TEE的身份以及TEE内执行代码的正确性并向边缘计算节点发送相应密钥;
六、区块链:共识节点通过共识协议维护区块链,区块链上保存智能合约的最新状态以及正确性证明,共识节点需要不断验证边缘计算节点TEE发来的智能合约状态更新的有效性;
具体的系统框架工作流程包含以下步骤:
S1.数据生成与存储:
数据拥有者通过信息传感器等诸多物联网设备获取自身的隐私数据,这些隐私数据可以提供给数据使用者进行数据分析;例如用户的医疗记录可以在保证不被泄露的前提下提供给医疗机构进行医疗数据分析;在隐私数据data使用之前,数据拥有者需要生成数据密钥kdata,并使用数据密钥对隐私数进行对称加密,得到数据拥有者可将加密后的隐私数据发送给分布式数据存储服务,例如IPFS;分布式数据存储服务随后向数据拥有者发送数据索引index,通过数据索引,任何人均可访问加密过的隐私数据;例如在IPFS中,数据索引为隐私数据内容的值,通过搜索内容对应的值,即可得到用户保存的加密隐私数据,同时内容也保证了数据的完整性;
S2.密钥管理:
密钥管理节点由N个计算节点组成,N为系统预定参数,首先先从计算节点中随机筛选出N个节点,N个节点内部运行分布式密钥生成协议例如基于离散对数密码系统的安全分布式密钥生成来获取主密钥S,任意一个节点i均不知道完整的S是什么,但是S遵循shamir的(k,N)秘密共享形式,每个节点拥有各自的份额Si,只有拥有大于门限k的份额的节点才可以恢复出主密钥S,由于分布式密钥生成协议的复杂性,整个系统需要维持一个长期可用的主密钥,因此可以从主密钥生成系统所需的各个密钥;对于状态密钥kstate,每个密钥管理节点i计算并将计算结果发给边缘计算节点TEE,边缘计算节点i在得到大于k个计算结果后即可恢复出
其中λi为拉格朗日插值多项式系数,
S3.智能合约的创建与数据匹配:
1)数据使用者向边缘计算节点TEE发送身份信息以及智能合约代码,智能合约涉及的内容包括数据使用者身份信息,需要的数据类型,数据计算的代码以及抵押的押金;
2)边缘计算节点TEE加载代码并向分布式密钥管理TEE认证身份,分布式密钥管理TEE认证身份并审计代码安全性,确认代码安全后生成智能合约编号id,公私钥对(pkid,skid),以及状态密钥kstate分布式密钥管理TEE随后将(id,pkid,kstate)发送给边缘计算节点TEE;
3)边缘计算节点TEE使用状态密钥kstate加密初始状态得到智能合约初始加密状态并将(id,pkid,state0′ Contract,σTEE)发送给共识节点,其中Contract表示智能合约的内容,σTEE表示边缘计算节点TEE生成的正确性签名;签名内容包括pkid的正确性,智能合约状态初始化的正确性和智能合约代码的安全性;
4)共识节点确认σTEE,并将整个智能合约上链;拥有者观察到智能合约相关信息,先将数据密钥kdata用智能合约的合约公钥pkid加密,然后将加密结果与隐私数据索引信息index和数据拥有者的公钥pkDO一起发送给智能合约,以进行数据匹配;
S4.链下边缘计算
1)为了完成数据使用者的计算任务,边缘计算节点首先获取数据使用者的公钥pkDU并在TEE加载相应智能合约代码,读取智能合约保密状态stateold′;接着边缘计算节点读取相匹配的数据索引信息index,相应智能合约公钥加密过的数据密钥kdata′;
2)边缘计算节点TEE通过数据索引index向分布式数据存储服务请求数据,并得到加密过的隐私数据data′;
3)边缘计算节点TEE向分布式密钥管理TEE发起认证,认证内容包括边缘计算节点是否运行在TEE环境下,TEE内运行的二进制文件(即需要执行的内容)是否正确;认证成功后分布式密钥管理TEE向边缘计算节点TEE发送智能合约私钥skid和合约的状态密钥kstate;
4)边缘计算节点TEE在得到密钥后,解密合约状态以及加密过的数据密钥得到数据密钥后,边缘计算节点TEE使用数据密钥恢复隐私数据
5)边缘计算节点TEE执行计算任务,并输出计算结果output,智能合约新状态statenew,为了保证交易的原子性,即数据使用者获取数据结果的同时,数据拥有者和边缘计算节点获得相应的报酬,同时智能合约状态发生改变;边缘计算节点TEE将计算结果output用数据使用者的公钥加密得到将智能合约新状态用状态密钥加密边缘计算节点TEE随后将数据索引信息index,加密结果output′,智能合约的新加密状态statenew′和TEE的计算正确性签名σTEE发给共识节点,其中σTEE签名的内容包括数据索引信息index,智能合约旧的加密状态的值Hash(stateold′),智能合约新的加密状态的值Hash(statenew′),加密结果的值Hash(output′);
6)共识节点通过边缘计算节点TEE的公钥pkTEE将签名解密,并验证签名内各部分的正确性,验证通过后将所有内容打包成交易放在链上;交易上链后智能合约状态发生改变,数据使用者可以获取output′,并使用自身私钥解密得到同时智能合约自动将数据使用者的押金支付给数据拥有者和边缘计算节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼电子商务有限公司,未经天翼电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011312050.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种复杂环境下的自反馈文本分离方法及系统
- 下一篇:一种旋转出料阀