[发明专利]基于区块链的数据权限的获取方法有效
申请号: | 201910346045.7 | 申请日: | 2019-04-26 |
公开(公告)号: | CN110098919B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 高军涛;于海勇;刘奇;吴通 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/14;H04L29/08;G06F21/30 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 数据 权限 获取 方法 | ||
1.一种基于区块链的数据权限的获取方法,其特征在于,包括如下:
(1)初始化:
(1a)使用安全参数生成属性加密所需的公共参数PP,包括乘法循环群G1及其生成元g和阶p,以及乘法循环群上的双线性映射e:G1×G1→GT;
(1b)为每个常驻属性权威AAK分配需要管理的属性集合,使用属性权威密钥生成方法,生成每个常驻属性权威的公私钥对实现如下:
第一步,由每个属性权威选择两个随机数αk,βk∈Zp,对每个管理的属性x选择一个随机数vx∈Zp,其中,Zp表示阶为p的有限域;
第二步,计算以及其中,e(g,g)表示G1×G1→GT的双线性映射,GT是一个乘法循环群,g是乘法循环群G1的生成元;
第三步,由第一步中属性权威选择的随机数,得到属性权威的私钥由第二步的计算结果,得到属性权威的公钥其中,x∈SAA表示属性权威AA管理的属性x;
(2)用户注册:
(2a)每个用户在区块链上进行注册,获得区块链上的公私钥对(pku-ecc,sku-ecc);
(2b)使用用户全局密钥生成方法,生成用户的全局公钥pku及全局私钥sku;
(3)身份授权:
(3a)将需要出售数据的用户授权为一个临时属性权威管理一组属性使用属性权威密钥生成方法,生成临时属性权威的公私钥对
(3b)将代理机构授权为一个额外属性权威管理一组属性使用属性权威密钥生成方法,生成额外属性权威的公私钥对
(4)用户处理数据:
(4a)用户使用自己生成的对称密钥key加密要转移权限的数据m,得到数据的密文cnum;
(4b)每个常驻属性权威AAK使用用户解密密钥生成方法,根据用户属性x为用户生成解密私钥SKj;实现步骤如下:
第一步,由每个属性权威为用户选择一个随机数rj,K∈Zp;
第二步,根据系统公共参数PP、用户的全局公钥pku、已产生的属性权威私钥和第一步选择的随机数rj,K,属性权威计算用户的解密私钥SKj:
其中,表示第一解密私钥,表示第二解密私钥,表示第三解密私钥,表示第四解密私钥,αk和βk表示属性权威选择的两个随机数,rj,K表示属性权威在为用户生成解密私钥时选择的随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,Su表示用户的属性集合;
(4c)用户使用对称密钥密文生成方法,得到对称密钥key的密文CT;实现步骤如下:
(4c1)用户选择第一随机数s∈Zp,构造向量其中v2,v3,...,vn是从有限域Zp中选择的随机数;
(4c2)用户选择第一个m×n的矩阵M和一个单射函数ρ,将矩阵M的每一行映射到属性集合S(M,ρ)中的每一个属性,即ρ(Mi)→x,其中,Mi表示M的第i行,x是S(M,ρ)中的一个属性;
(4c3)根据(4c1)得到的向量和(4c2)得到的矩阵M,用户计算秘密份额(4c4)用户选择n个随机数ri∈Zp,并根据选择的随机数ri,属性权威公钥系统公共参数PP,计算对称密钥key的密文CT:
CT=(C0,C1,Ci,2,C3,Ci,4,Ci,5),
其中,C1=gs表示第一密文,表示第二密文,表示第三密文,表示第四密文,表示第五密文,表示第六密文,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,e(g,g)表示G1×G1→GT的双线性映射,GT是一个乘法循环群,g是乘法循环群G1的生成元,K∈IA表示属性集合S(M,ρ)中的属性对应的属性权威;
(4d)用户使用抗碰撞的哈希函数,计算数据密文的哈希Hc和对称密钥的哈希Hkey;
(4e)用户生成数据编号num及数据描述信息desnum,并将数据编号num、数据描述信息desnum、数据密文cnum、对称密钥密文CT发送给代理商;
(4f)用户将数据编号num、数据描述信息desnum、数据密文的哈希Hc、对称密钥的哈希Hkey记录在区块链上;
(4g)用户生成数据的价格,发送给代理商,并向代理商支付保证金;
(5)协商新的访问策略:
(5a)代理商制定需要转移权限的数据访问策略,并将该访问策略对应的属性集SP发送给用户;
(5b)用户选择自己管理的属性集中的一个子集加入SP,得到新的访问策略对应的属性集合S(M',ρ'),根据属性集合S(M',ρ')使用重加密密钥生成算法,计算对称密钥密文CT的重加密密钥rkc,将rkc发送给代理商;实现步骤如下:
(5b1)用户选择第二随机数k∈Zp和第三随机数X∈G1,其中Zp表示阶为p的有限域;
(5b2)根据(5b1)选择的随机数,用户的解密私钥SKj,属性权威AAK的公钥系统公共参数PP,用户计算第一部分重加密密钥rk1:
rk1=(rkj,1,rkj,2,rkj,3),
其中,表示第一重加密密钥,表示第二重加密密钥,表示第三重加密密钥,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,rj,K表示属性权威在为用户生成解密私钥时选择的随机数,H2(·)是一个抗碰撞的哈希函数,表示{0,1}*→G1的映射;
(5b3)用户选择第四随机数x1∈Zp,并根据随机数x1、用户的解密私钥SKj、属性权威AAK的公钥及系统公共参数PP,计算第二部分重加密密钥Ct':
其中,表示第一隐藏私钥,表示第二隐藏私钥,表示第三隐藏私钥,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,rj,K表示属性权威在为用户生成解密私钥时选择的随机数;
(5b4)用户选择第五随机数s'∈Zp,构造向量其中v2',v3',...,vn'是从有限域Zp中选择的随机数;
(5b5)用户选择第二个m×n的矩阵M',其中,M'i表示M'的第i行;
(5b6)根据(5b4)得到的向量和(5b5)得到的矩阵M',计算秘密份额(5b7)用户选择n个随机数ri'∈RZp,根据选择的随机数ri'、(5b4)选择的随机数s'、属性x'对应的属性权威公钥及系统公共参数PP,计算第三部分重加密密钥C'x:
C'x=(C'1,C'i,2,C'i,4,C'i,5,C'0),
其中,C'1=gs'表示新访问策略的第一密文,表示新访问策略的第二密文,表示新访问策略的第三密文,表示新访问策略的第四密文,表示新访问策略的第五密文,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,K∈IA'表示属性集合S(M',ρ')中的属性对应的属性权威;
(5b8)根据第一部分重加密密钥rk1,第二部分重加密密钥C't和第三部分重加密密钥C'x,得到重加密密钥rkc=(rk1,C't,C'x);
其中,表示第一重加密密钥,表示第二重加密密钥,表示第三重加密密钥,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,rj,K表示属性权威在为用户生成解密私钥时选择的随机数,H2(·)是一个抗碰撞的哈希函数,表示{0,1}*→G1的映射;
(5c)代理商使用代理重加密算法,重新加密对称密钥密文CT,得到新的访问策略对应的密文CT';
(5d)代理商将数据描述信息desnum以及新的访问策略(M',ρ')广播出去;
(6)获取数据权限:
(6a)权限请求者查看代理商的广播信息,查找需要购买的数据;
(6b)常驻属性权威AAK使用用户解密密钥生成方法,为权限请求者生成与其属性对应的解密私钥SKj;
(6c)额外属性权威使用用户解密密钥生成方法,生成额外属性权威管理的属性所对应的解密私钥
(6d)临时属性权威使用用户解密密钥生成方法,生成临时属性权威管理的属性所对应的解密私钥
(6e)权限请求者向额外属性权威购买解密私钥并向临时属性权威购买解密私钥
(6f)权限请求者使用属性加密的解密算法,解密得到对称密钥key',并用对称密钥key'解密数据密文cnum得到数据明文m';实现步骤如下:
(6f1)根据用户的解密私钥SKj,新的访问策略(M',ρ')对应的密文CT',用户通过下式进行云端半解密,得到半解密密文T:
其中,θi'是由线性秘密共享方案确定的值,并且∑ρ(i)∈x'θ'i·λ'i=s',ρ(i)∈x'表示用户的属性x'满足映射ρ(M'i)映射的属性,λ'i表示用户在计算第三部分重加密密钥C'x时得到的秘密份额,s'表示用户选择的第五个随机数,表示新访问策略的第二密文,表示新访问策略的第三密文,表示新访问策略的第四密文,表示第一解密私钥,表示第三解密私钥,表示第四解密私钥,ri'表示用户生成第三部分重加密密钥C'x时,选择的n个随机数,rj,K表示属性权威在为用户生成解密私钥时选择的随机数,Su表示用户的属性集合,αk和βk表示属性权威选择的两个随机数,vx表示属性权威根据所管理的属性x生成的随机数,e(g,g)表示G1×G1→GT的双线性映射,GT是一个乘法循环群,g是乘法循环群G1的生成元;
(6f2)根据用户的全局私钥sku和(6f1)得到的半解密密文T,用户计算第三随机数其中,表示新访问策略的第五密文;
(6f3)用户根据新的访问策略(M',ρ')对应的密文CT'和第三随机数X,计算对称密钥其中,表示第六密文,表示第一部分重加密密文,C1=gs表示第一密文,表示第二密文,表示第三密文,表示第一重加密密钥,表示第二重加密密钥,表示第三重加密密钥,H2(·)是一个抗碰撞的哈希函数,表示{0,1}*→G1的映射;
(7)权限请求者查看数据明文m'是否符合数据描述信息desnum,若是,则退出系统,否则,请求仲裁机构进行仲裁,对权限请求者进行赔偿,实现步骤如下:
(7a)权限请求者将对称密钥key'发送给仲裁机构,仲裁机构使用对称密钥key'解密数据密文cnum,得到数据明文m',并计算数据密文cnum的哈希H'c以及对称密钥key'的哈希H'key;
(7b)仲裁机构将(4d)得到的结果与(7a)得到的结果进行对比,判断以下三个条件是否同时满足:
用户在区块链上记录的数据密文的哈希Hc与(7a)得到的H'c相同;
用户在区块链上记录的对称密钥的哈希Hkey与(7a)得到的H'key相同;
解密得到的数据明文m'符合数据描述文件desnum;
若上述三个条件都满足,则驳回权限请求者的仲裁请求,退出系统;
否则,代理商通知用户,并扣除用户的保证金,然后向权限请求者赔偿数据价格三倍的赔偿金,并将用户的恶意行为记录在区块链上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910346045.7/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置