[发明专利]在可信执行环境中安全地执行智能合约操作在审
申请号: | 201980004374.1 | 申请日: | 2019-04-26 |
公开(公告)号: | CN111095256A | 公开(公告)日: | 2020-05-01 |
发明(设计)人: | 魏长征;闫莺;赵博然;宋旭阳;杜华兵 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06Q20/40 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 艾佳 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可信 执行 环境 安全地 智能 合约 操作 | ||
1.一种计算机实现的用于在可信执行环境TEE中安全地执行智能合约操作的方法,所述方法包括:
参与区块链网络的区块链节点接收用于执行由所述区块链节点承载的服务TEE中的一个或多个软件指令的请求,其中,所述请求由与所述服务TEE相关联的公钥进行加密;
所述区块链节点在所述服务TEE中使用与所述服务TEE相关联的第一私钥对所述请求进行解密,其中,所述第一私钥与所述公钥配对;
响应于对所述请求进行了解密,所述区块链节点在所述服务TEE中执行所述一个或多个软件指令以产生执行结果;
所述区块链节点在所述服务TEE中使用与所述服务TEE相关联的客户端加密密钥对所述执行结果进行加密,以产生加密结果;以及
所述区块链节点在所述TEE中使用与所述TEE相关联的第二私钥对所述加密结果进行签名,以产生签名的加密结果。
2.如权利要求1所述的计算机实现的方法,其中,所述公钥是第一公钥,并且所述客户端加密密钥是第二公钥或基于密钥导出函数从根密钥导出的对称密钥之一。
3.如权利要求2所述的计算机实现的方法,其中,
所述区块链节点还承载密钥管理TEE,所述密钥管理TEE存储所述第一私钥和/或所述第二私钥,并且
在基于进行由所述密钥管理TEE发起的本地认证来认证所述服务TEE的身份之后,所述密钥管理TEE将所述第一私钥、所述第二私钥和所述根密钥提供给所述服务TEE。
4.如前述任一项权利要求所述的计算机实现的方法,其中,
所述第一私钥、所述第二私钥和所述根密钥是由密钥管理中心生成的,并且
在基于进行由所述密钥管理中心发起的远程认证来认证所述密钥管理TEE的身份之后,所述第一私钥、所述第二私钥和所述根密钥被提供给所述密钥管理TEE。
5.如前述任一项权利要求所述的计算机实现的方法,其中,响应于所述服务TEE的重启操作,所述密钥管理TEE向所述服务TEE提供所述第一私钥和所述根密钥。
6.如前述任一项权利要求所述的计算机实现的方法,其中,
所述一个或多个软件指令与智能合约相关联,并且
所述根密钥是基于所述智能合约的状态从所述密钥管理TEE中存储的多个根密钥中选择的。
7.如前述任一项权利要求所述的计算机实现的方法,其中,所述第一公钥是由所述密钥管理中心生成的并被提供给客户端以对所述请求进行加密。
8.如前述任一项权利要求所述的计算机实现的方法,其中,所述区块链节点接收到的所述请求还包括使用所述客户端加密密钥对所述一个或多个软件指令进行加密。
9.如权利要求8所述的计算机实现的方法,其中,使用所述第一私钥对所述请求进行解密还包括:
使用所述第一私钥对所述客户端加密密钥进行解密;以及
使用所述客户端加密密钥对所述一个或多个软件指令进行解密。
10.如前述任一项权利要求所述的计算机实现的方法,其中,所述密钥管理中心存储与所述第二私钥相对应的验证公钥,并将所述验证公钥提供给所述客户端以验证所述签名的加密结果。
11.一种用于在可信执行环境TEE中安全地执行智能合约操作的系统,包括:
一个或多个处理器;和
耦接到所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行权利要求1-10中任一项所述的方法。
12.一种用于在可信执行环境TEE中安全地执行智能合约操作的装置,所述装置包括用于进行权利要求1-10中任一项所述的方法的多个模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980004374.1/1.html,转载请声明来源钻瓜专利网。