[发明专利]一种基于可信执行环境的加密智能合约隐私保护方法有效
| 申请号: | 202110815893.5 | 申请日: | 2021-07-19 |
| 公开(公告)号: | CN113726733B | 公开(公告)日: | 2022-07-22 |
| 发明(设计)人: | 李必信;何嘉昊;胡甜媛 | 申请(专利权)人: | 东南大学 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32;G06F21/62;G06F21/60 |
| 代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
| 地址: | 210096 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 可信 执行 环境 加密 智能 合约 隐私 保护 方法 | ||
1.一种基于可信执行环境的加密智能合约隐私保护方法,其特征在于,所述方法包括三种节点:用户节点、计算节点和认证中心,两个步骤:合约部署以及合约调用,具体如下:
两个步骤:
Step1合约部署:用户节点user_node使用认证中心certificate_authority提供的合法计算节点表legal_table选择一个承载合法TEE的计算节点compute_node,计算节点compute_node承载的服务TEE,所述服务TEE为当前执行用户节点合约部署请求的计算节点承载的TEE,通过远程认证的方式确认其他计算节点computeNode_other承载的TEE身份是否合法,在服务TEE与其他计算节点computeNode_other承载的合法TEE之间使用对称密钥交换算法生成会议密钥session_key用于智能合约字节码bytecode的安全传输,所有TEE通过对称加密的方式对智能合约字节码bytecode加密并存储到计算节点本地;
Step2合约调用:用户节点user_node通过广播智能合约字节码的哈希值hash_bytecode并对做出响应的计算节点compute_nodes进行认证的方式,选择一个本地存储对应智能合约字节码bytecode以及承载合法TEE的计算节点compute_node,在得到执行结果result后,在用户节点user_node与服务TEE之间使用密钥交换算法生成会议密钥session_key2,将验证私钥privateKey_attestation用会议密钥session_key2加密并传输给服务TEE,使用验证私钥对加密的执行结果private_result签名result_signature,用户节点通过验证执行结果签名确认是否执行正确的智能合约字节码以及执行结果的正确性。
2.根据权利要求1所述的基于可信执行环境的加密智能合约隐私保护方法,其特征在于,Step1合约部署,针对智能合约代码contract进行编译后部署,具体如下:
Step1.1:区块链网络中的用户节点user_node根据认证中心certificate_authority提供的一个合法计算节点表legal_table选择一个计算节点compute_node,向其传输加密的智能合约字节码private_bytecode以及智能合约字节码的hash值hash_bytecode;
其中,使用计算节点承载的TEE的公钥public_key对智能合约字节码bytecode加密;合法计算节点表legal_table中记录承载合法TEE的公钥public_key以及合法TEE的信息摘要information_abstract;用户节点user_node可以通过请求认证中心certificate_authority获取合法计算节点表legal_table;
Step1.2:计算节点compute_node将加密的智能合约字节码private_bytecode传输到服务TEE解密得到bytecode,服务TEE通过认证中心certificate_authority以远程认证的方式,确认其他计算节点computeNode_other承载TEE的身份是否合法,具体过程如下:
1)服务TEE以广播的形式向其他计算节点computeNode_other发送身份验证请求certificate_request;
2)其他计算节点computeNode_other承载的TEE根据自身的状态信息state_information生成一个摘要abstract,TEE通过报告生成命令Instruction生成一个报告report,请求CPU对报告report签名得到signature,随后将签名signature和摘要abstract发送给服务TEE;
3)服务TEE将签名signature和摘要abstract发送给认证中心certificate_authority,认证中心certificate_authority根据合法计算节点表legal_table中记录公钥public_key对签名进行认证,并比较摘要abstract以及公钥public_key对应的合法TEE的信息摘要information_abstract,判断其他计算节点computeNode_other承载的TEE的合法性并返回结果;
其中服务TEE指当前执行用户节点请求的计算节点所承载的TEE;使用服务TEE的私钥private_key解密加密的智能合约字节码private_bytecode;
Step1.3:服务TEE与其他合法的TEE之间进行智能合约字节码bytecode的安全传输,具体如下:
1)在服务TEE与其他计算节点computeNode_other承载的TEE之间使用对称密钥交换算法生成会议密钥session_key;
2)服务TEE使用会议密钥session_key对智能合约字节码bytecode进行加密得到private_bytecode2,传输给其他计算节点computeNode_other承载的TEE,其他计算节点computeNode_other承载的TEE使用会议密钥session_key解密得到智能合约字节码bytecode;
Step1.4:所有计算节点承载的TEE使用对称密钥symmetric_key对智能合约字节码bytecode加密,得到对称加密的智能合约字节码private_bytecode3并输出存储在计算节点本地,同时根据智能合约字节码的哈希值hash_bytecode更新本地的代码表code_table。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110815893.5/1.html,转载请声明来源钻瓜专利网。





