[发明专利]一种区块链智能合约平台的隐私管理系统及其方法在审
申请号: | 201911275259.6 | 申请日: | 2019-12-12 |
公开(公告)号: | CN110941857A | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 骆扬杰;薛斌;谢雨 | 申请(专利权)人: | 合肥都市链情商务有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64;G06F21/60 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230031 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 智能 合约 平台 隐私 管理 系统 及其 方法 | ||
1.一种区块链智能合约平台的隐私管理系统,其特征是应用于由一个合约发起者与多个合约签订者之间签订智能合约所构成的网络环境中,将所述合约发起者记为用户A,将任意一个合约签订者记为用户B;所述隐私管理系统包括:智能合约子系统、私有合约子系统以及加密子系统;
所述智能合约分为:公开合约与私有合约;
所述智能合约子系统包括:智能合约提交模块、智能合约执行模块;
所述私有合约子系统包括:加密合约存储模块、加密合约查询模块;
所述加密子系统包括:公私钥生成模块、公私钥验证模块、合约加密解密模块ENC;
所述公私钥生成模块用于生成所述用户A和用户B的非对称公钥以及私钥,并记为用户A的公钥PubA以及私钥PriA,用户B的公钥PubB以及私钥PriB;所述公钥能公开给其他用户;
所述智能合约提交模块获取智能合约的属性信息和智能合约代码;
所述智能合约的属性参数包括:合约发起地址From、合约发起地址的私钥FromKey、合约发起使用非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey、合约接受使用的非对称公钥PrivateFor;
所述智能合约代码包括:智能合约方法以及方法的相关参数;
所述用户A利用所述智能合约提交模块在所述智能合约的属性信息中指定:所述合约发起使用非对称公钥PrivateFrom为自己的公钥PubA,所述合约发起使用的非对称私钥PrivateFromKey为自己的私钥PriA,所述合约接受使用的非对称公钥PrivateFor为用户B的公钥PubB;
所述智能合约提交模块根据智能合约的属性信息中的合约发起使用的非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey、合约接受使用的非对称公钥PrivateFor三个属性值,判断所述智能合约是否为私有合约;
若为私有合约,则所述公私钥验证模块对公私钥和公钥格式进行验证,若验证通过,则所述合约加密解密模块ENC对智能合约代码进行加密,得到合约密文cipherText;并对所述对称秘钥masterKey进行加密,得到加密后的对称秘钥EncMasterKey;
若为公开合约,则不对智能合约代码进行验证和加密处理;
所述加密合约存储模块对所述合约发起使用的非对称公钥PrivateFrom,合约接受使用的非对称公钥PrivateFor,加密后的合约密文cipherText,以及所述加密后的对称秘钥EncMasterKey进行存储,并取合约密文cipherText的Hash值做索引;
所述智能合约提交模块根据智能合约的属性参数打包成区块链交易数据,所述区块链交易数据包括:交易发起地址,交易接受地址,交易数据Input,交易类型V;
若为私有合约,则所述智能合约提交模块将交易数据Input的值设置为合约密文cipherText的Hash值,以及将交易类型V改为私有合约,从而使得区块链获知所述智能合约为私有合约;
若为公开合约,则所述智能合约提交模块将交易数据Input的值设置为智能合约代码,以及将交易类型V设置为公开合约;
所述智能合约提交模块将区块链交易数据通过区块链广播,并同步到区块链上其他的程序节点,从而获得一个智能合约的地址,以完成智能合约发布的过程;
当用户A或用户B需要调用或查看智能合约代码时,则利用所述智能合约执行模块提交相关参数包括:智能合约的地址,所述智能合约方法以及方法的相关参数,发送者公钥PrivateFrom,发送者私钥PrivateFromKey,接收者公钥PrivateFor;
所述智能合约执行模块据所述智能合约的地址查询所述区块链交易数据,根据所述区块链交易数据的交易类型V判断所述智能合约是否为私有合约;
若是私有合约,则所述公私钥验证模块对发送者公私钥和接收者公钥格式进行验证,若验证通过,则所述加密合约查询模块获取所述区块链交易数据的交易数据Input,即为合约密文cipherText的Hash值,若Hash值不存在,则表示所述智能合约调用失败,返回空值;
若Hash值存在,则所述合约加密解密模块ENC对所述对称秘钥EncMasterKey和合约密文cipherText进行解密,从而得到智能合约代码;
若是公开合约,则所述智能合约执行模块获取所述区块链交易数据的交易数据Input为所述智能合约代码;
所述智能合约执行模块根据所述智能合约方法以及方法的相关参数执行所述智能合约代码的对应方法,并返回结果给用户A或用户B。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥都市链情商务有限公司,未经合肥都市链情商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911275259.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:相机标定参数的保存方法、装置及存储介质
- 下一篇:一种可收集粪尿的尿不湿