[发明专利]一种区块链授权计算控制方法在审
申请号: | 202110293128.1 | 申请日: | 2021-03-18 |
公开(公告)号: | CN112907247A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 林乐;兰春嘉 | 申请(专利权)人: | 上海能链众合科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 授权 计算 控制 方法 | ||
1.一种区块链授权计算控制方法,其特征在于,包括有:步骤一、在能链区块链中,通过随机生成的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,tx.payload字段;根据计算处理的签名提取V,R,S字段;V,R,S字段是交易签名后的值,被用来生成签名者的公钥;R字段,S字段是ECDSA椭圆加密算法的输出值,V字段是用于恢复结果的ID;当用户的私钥托管在可信硬件指令集扩展中时,当涉及到多个用户时,需要考虑私钥信息在内存中的存储;同时当被包围容器发生异常终止时,需要将之前的信息还原,因此需要考虑私钥信息的初始化问题;步骤九、在被包围容器中,需要考虑私钥的存储方式;私钥由两种表现形式,一种为私钥存储文件,一种为用户私钥;出于安全的考虑,在每一次需要做交易做签名的过程中,都需要用户将私钥存储文件的密码发送过来,重新解锁区块链私钥;私钥存储文件的相关处理过程为:用户将发送使用在被包围容器rsa公钥加密私钥存储文件,以及所述私钥存储文件保护账户的公钥地址得到加密数据;被包围容器使用被包围容器自己的rsa私钥对加密数据进行解密,将字节流和地址通过哈希映射的方式存放于内存中;被包围容器对私钥存储字节流调用指令集扩展的底层密封函数,得到加密后的使用指令集扩展的密钥封装的字节流;被包围容器将加密后的使用指令集扩展的密钥封装的字节流发送至不信任环境,并将加密数据写入到磁盘中;密钥封装为在特定中CPU都包含两个存储在存储电路中的root密钥和根Seal Key,并支持启用远程认证过程,root密钥仅被平台所支持。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海能链众合科技有限公司,未经上海能链众合科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110293128.1/1.html,转载请声明来源钻瓜专利网。