[发明专利]一种区块链授权计算控制方法在审
申请号: | 202110293128.1 | 申请日: | 2021-03-18 |
公开(公告)号: | CN112907247A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 林乐;兰春嘉 | 申请(专利权)人: | 上海能链众合科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 授权 计算 控制 方法 | ||
本发明实现一种区块链授权计算控制方法,本发明在原有的能链开放许可链节点上,得到加密后的使用指令集扩展的密钥封装的字节流;被包围容器将加密后的使用指令集扩展的密钥封装的字节流发送至不信任环境,并将加密数据写入到磁盘中;密钥封装为在特定中CPU都包含两个存储在存储电路中的root密钥和根SealKey,并支持启用远程认证过程,root密钥仅被平台所支持。
技术领域
本发明属于能链开放许可链领域,具体涉及基于一种区块链授权计算控制方法的方法。
背景技术
在能链区块链中,用户的账户通常由私钥生成,而非用户名和密码组成。分布式的账户体系大大提高了账户的安全性,同时也带来了使用不方便和推广难度大等问题。建立中心化的托管账户体系大大提高了易用度,但同时由于私钥的托管,提高了风险。
区块链是由多个分布式节点参与的分布式数据账本,它具有不可篡改、伪造的特点。区块链由一串通过密码学方法产生的区块构成,每一个区块都包含了上一个区块的哈希值(hash),从创始区块直至到当前区块,形成链条。
在区块链中,用户的账户由三个部分组成:私钥,公钥,以及账户地址。私钥通过随机数算法生成,并根据私钥生成公钥和相应的地址,整个过程不可以。用户可以使用私钥对交易去进行签名,签名后的交易在节点处被执行的过程中可以提取出公钥,并验证签名的合法性。
发明内容
在本发明中,本发明解决的技术问题:提出了一种区块链授权计算控制方法,降低用户使用区块链的门槛。
为克服现有技术的不足,本发明提供一种区块链授权计算控制方法,为达此目的,本发明采用以下技术方案:步骤一、在能链区块链中,通过随机生成的256bit的0,1字符串生成私钥,并以一种在能链区块链存储私钥文件的格式的形式将私钥存在于文件中,用户通过存储私钥文件的格式和对称加密密码计算出私钥,存储私钥文件记录对称加密算法,以及对称加密后的密文;步骤二、开始私钥授权使用的加密传输,并在指令集扩展中托管用户私钥,然后转到步骤四;步骤三、在特定的被包围容器中,开始分步骤:分步骤1、开始进行能链加密算法,首先开始适用于区块链数据的网络传输和持久化存储标准对交易数据进行拍平操作,设定数字a、数据b和数字c为自然数,对于交易数据的值在[0,数字a]之间的单个字节,交易数据的拍平编码数据是其本身;如果交易数据的值转化为byte数组的长度l=数字a,拍平编码的结果是转化后byte数组本身,并加上设定的数字a+l作为前缀,如果交易数据的值转化为byte数组长度大于数字b,拍平编码结果第一个是数字c加交易数据的数组长度的编码的长度;分步骤2、然后是交易数据的数组长度的本身的编码;分步骤3、最后是转化后byte数组的编码,然后对交易数据的拍平编码数据开始进行签名,当对交易数据的拍平编码进行签名时,首先需要对交易数据的内容做哈希计算,能链加密算法的生成通过调用指令集扩展底层哈希算法实现;步骤四、交易行为包括客户端行为,第一步,客户端行为主要有收集交易行为,收集交易行为包括有知晓交易的内容,发送给谁,发送哪些数据,通过收集交易行为用以构造一笔无签名的交易数据;第二步,计算即对交易数据的内容做哈希计算中需要考虑tx.data,tx.price,tx.gaslimit,tx.payload字段;第三步,开始拿出交易数据的拍平编码数据,第三步,对交易数据的拍平编码数据进行签名,得到签名数据;第四步,将交易数据的拍平编码数据和签名数据拼接起来,以构造完整报文;第五步,节点对完整报文进行哈希计算;第六步、由于完整报文最终会上链,因此需要明文传输;步骤五、步骤四中客户端行为获得交易发送方的基本信息时,包括但不限于tx.data,tx.price,tx.gaslimit数据;步骤六、步骤四中对交易数据的拍平编码数据使用被包围容器托管的私钥进行签名,使用secp256k1算法,得到签名数据;步骤七、根据计算处理的签名数据提取V,R,S字段;首先需要实现存储私钥文件和私钥密码的加密传输;步骤八、存储私钥文件和密码通过非对称加密的方式进行传输;具体过程如下:被包围容器通过指令集扩展提供的基本库函数实现在启动初始化的过程中,首先生成一对rsa的公私钥,最终生成长度为3072位的rsa算法,通过长度为3072位可以对最长长度为384字节的数据进行加密;当被包围容器生成一对rsa私钥后,被包围容器通过获取远程报告工具获取远程认证报告;在生成远程认证报告的认证过程中,将一对rsa的公钥填充至远程认证报告的data字段中;被包围容器获取远程认证报告,并将远程认证报告上传至能链区块链上;被包围容器的代码公开,并允许用户编译,并允许用户查看被包围容器的度量,当用户获取能链区块链上存储的托管方的远程认证报告,对照托管方的远程认证报告中的度量字段与自己本地生成的度量字段;当校验成功,提取相应的rsa公钥,rsa公钥由mod和exp字段组成,用户通过mod和exp字段重新恢复rsa公钥;用户使用恢复后的rsa公钥对交易数据进行rsa算法加密,交易数据包括存储私钥文件和用户的存储私钥文件密码,在被包围容器内部对收到的数据,进行解密存储私钥文件以字节流的形式传入被包围容器中;在被包围容器中,使用托管私钥对数据签名,首先需要实现通过私钥对数据签名的算法,并与区块链上通用算法保持一致;当对交易数据进行签名时,首先需要对交易数据的内容进行哈希计算;哈希计算时中需要考虑tx.data,tx.price,tx.gaslimit,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海能链众合科技有限公司,未经上海能链众合科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110293128.1/2.html,转载请声明来源钻瓜专利网。