行业标准网
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210765013.2 (22)申请日 2022.07.01 (65)同一申请的已公布的文献号 申请公布号 CN 114826625 A (43)申请公布日 2022.07.29 (73)专利权人 广东电力交易中心有限责任公司 地址 510600 广东省广州市越秀区东 风东 路761号丽丰中心12 楼 (72)发明人 向德军 周睿 黄康乾 黄志生  田琳 王宣定 王宁 姚星安  董剑 谷博文  (74)专利代理 机构 哈尔滨市晨晟知识产权代理 有限公司 23219 专利代理师 刘坤(51)Int.Cl. H04L 9/32(2006.01) H04L 9/40(2022.01) H04L 9/08(2006.01) H04L 9/30(2006.01) (56)对比文件 CN 1089890 53 A,2018.12.1 1 CN 110138799 A,2019.08.16 CN 114006741 A,202 2.02.01 CN 114338043 A,202 2.04.12 US 201421 1938 A1,2014.07.31 审查员 李文聪 (54)发明名称 基于SGX的区块链密钥存储 方法及评价方法 及装置 (57)摘要 基于SGX的区块链密钥存储 方法及评价方法 及装置, 属于信息安全技术领域。 为解决网络密 钥存储的安全性的问题。 本发明建立SGX的可信 运行环境, 利用SM2算法生成密钥对, 将私钥使用 SGX的密封机制进行密封, 导出密钥对, 对私钥进 行解封, 利用SM2算法根据对应的椭圆曲线计算 出公钥, 导出公钥, 将密封后的私钥与签名信息 和椭圆曲线参数输入Enclave内部, 对私钥进行 解封, 利用SM2算法对信息进行签名, 将密封后的 私钥与派生密钥对的随机值和椭圆曲线参数输 入Enclave内部, 对私钥进行解封, 根据随机值生 成新的私钥并对其进行密封, 再根据椭圆 曲线类 型计算出其对应的公钥, 导出密钥对。 本发明方 法安全高效。 权利要求书2页 说明书7页 附图4页 CN 114826625 B 2022.09.02 CN 114826625 B 1.一种基于SGX的区块链密钥存 储方法, 其特 征在于: 包括如下步骤: S1、 建立SGX的可信运行环境Enclave, 定义应用程序接口、 可信函数, 应用程序的接 口 定义为初始化Enclave配置, 创建Enclave实例, 调用Enclave可信函数, 在可信 函数执行完 毕后, 销毁Enclave实例; S2、 生成密钥对: 在SGX的可信运行环境下, 利用SGX  SSL的SM2算法生成密钥对, 并且将 私钥使用SGX的密封 机制进行密封, 导出密钥对; S3、 私钥导出公钥: 将步骤S2密封后的私钥以及椭圆曲线参数输入Enclave内部, 在 Enclave内部对私钥进行解封, 利用SM2算法根据对应的椭圆曲线类型计算出公钥, 导出公 钥; S4、 签名: 将步骤S2密封后的私钥与签名信息和椭圆曲线参数输入Enclave内部, 在 Enclave内部对私钥进行解封, 利用SM2算法对信息进行签名; S5、 密钥对派生: 将步骤S2密封后的私钥与派生密钥对的随机值和椭圆曲线参数输入 Enclave内部, 在Enclave内部对私钥进行解封, 根据随机值生 成新的私钥并对其进行密封, 再根据椭圆曲线类型计算出其对应的公钥, 导出密钥对。 2.根据权利要求1所述的一种基于SGX的区块链密钥存储方法, 其特征在于: 步骤S1中 SGX的可信运行环境Enclave的构建包括如下步骤: S1.1、 SGX应用程序分为可信运行环境部分Enclave和不可信运行环境部分App, 其 中可 信运行环境部分Enclave主要包括SM2算法模块的具体实现, 不可信运行环境部分App通过 使用ECALL和OCALL来调用可信运行环境中的函数, 实现与Enclave的交 互; S1.2、 通过可信运行环境Enclave配置文件来设置使用的Enclave的基本属性, 并编写 EDL文件对在可信运行环境中运行的函数ECALL进行明确的定义, 然后使用Edger8r工具读 取定义好的EDL文件; S1.3、 通过动态链接库来调用SGX应用程序中的可信函数, SGX应用程序主要是通过C/C ++来实现的; S1.4、 使用Golang实现SM2私钥的算法, 通过SGX硬件机制来保障Fabric节点私钥运行 环境的安全; S1.5、 完成Hyperledger  Fabric中的BCCSP模块修改; 其SW方式是通过调用Golang底层 的加密库来实现加密算法服务, 在实现Fabric对该方法的扩展应用后, 需要对Fabric的源 码进行重新编译以生成新的可 执行文件以及Docker镜像。 3.根据权利要求2所述的一种基于SGX的区块链密钥存储方法, 其特征在于: 步骤S3中 的私钥导出公钥包括如下步骤: S3.1、 生成一个随机keyid; S3.2、 进入SGX 可信环境; S3.3、 生成临时缓冲区tmpad dr; S3.4、 调用指令去启动密钥; S3.5、 将缓冲区数据复制给调用者缓冲区; S3.6、 将临时缓冲区销毁; S3.7、 将临时缓冲区资源释放; S3.8、 通过令牌计算 生成公钥;权 利 要 求 书 1/2 页 2 CN 114826625 B 2S3.9、 将公钥返回。 4.根据权利要求3所述的一种基于SGX的区块链密钥存储方法, 其特征在于: 步骤S4签 名前, 首先比较待签名区块数据值和Enclave 可用空间值, 区块数据值计算公式如下: 其中BlockSize为签名后的区块数据值, preBlockHash为前一区块的哈希值, merkleRoot为本区块的merkle树的根, Transaction为交易的集合, version为版本号, restMsg为 其他相关信息, n 为区块中包 含交易总数, i 为区块中第i笔交易。 5.根据权利要求4所述的一种基于SGX的区块链密钥存储方法, 其特征在于: 步骤S4签 名的具体实现为: S4.1、 获取SGX 可用区域大小  ; S4.2、 比较区块大小和缓冲区大小; S4.3、 生成临时缓冲区tmpad dr; S4.4、 调用指令去启动密钥; S4.5、 将缓冲区数据复制给调用者缓冲区; S4.6、 将临时缓冲区销毁; S4.7、 将临时缓冲区资源释放 S4.8、 输入签名所用加密算法名称; S4.9、 对区块信息转 为utf‑8编码; S4.10、 进行签名并返回。 6.根据权利要求5所述的一种基于SGX的区块链密钥存储方法, 其特征在于: 椭圆曲线 函数方程为  , a和b为方程 参数。 7.一种权利要求1 ‑6之一所述的一种基于SGX的区块链密钥 存储方法的评价方法, 其特 征在于: 网络通信复杂度计算方法如下式所示: 其中Commun_comple为 网络通信复杂度, 为本次视图和上次视图 切换网络通信量的比较值, signTran s_num为签名交易数量, Consensus(k)为  第k轮投票通 信量, n为本轮共识视图号, i为第i轮投票, j为第j轮投票, k为第k轮投票, 取j ‑i轮投票的通 信量相加, 取平均值, 算出最终的网络通信复杂度。 8.一种权利要求1 ‑6之一所述的基于SGX的区块链密钥存储方法的装置, 其特征在于: 包括存储器, 用于存储程序指令; 处理器, 用于调用所述存储器中存储的所述程序指 令以实 现如权利要求1 ‑6中任一项所述的一种基于SGX的区块链密钥存 储方法。权 利 要 求 书 2/2 页 3 CN 114826625 B 3

PDF文档 专利 基于SGX的区块链密钥存储方法及评价方法及装置

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于SGX的区块链密钥存储方法及评价方法及装置 第 1 页 专利 基于SGX的区块链密钥存储方法及评价方法及装置 第 2 页 专利 基于SGX的区块链密钥存储方法及评价方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-03-03 12:16:45上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。