【技术实现步骤摘要】
基于区块链的数据权限的获取方法
本专利技术属于网络安全
,更进一步涉及的一种数据权限的获取方法,可用于虚拟网络中数据权限的获取。
技术介绍
随着智能设备大量的使用,每天产生越来越多的数据,人们渐渐意识到数据的价值。传统的数据交易方法容易造成数据泄露,损害数据拥有者的利益。分布式的交易方案,用户需要保持在线状态,辅助数据购买者验证及购买数据。如果用户时间或计算能力有限,就需要借助代理商出售数据。但是必须保证代理商不会获得数据内容的任何信息,同时要保证数据的真实性。这样才能既减少用户的操作,又保证交易的公平性。皇家飞利浦有限公司在其申请的专利文献“用于匿名数字内容共享的数字权限管理”(公开号:CN109416709A,申请号:201780029276.4,申请日:2019.03.01)公开了一种用于管理从第一设备到第二设备、的数字内容使用权限转移的方法,包括:在认证设备处通过使用针对由所述认证设备列入黑名单中的至少一个设备的至少一个公钥加密第一验证码R1来生成第一认证数据集C;将所述第一认证数据集C和第二验证码R2从所述认证设备提供到所述第一设备,并且将响应消息 ...
【技术保护点】
1.一种基于区块链的数据权限的获取方法,其特征在于,包括如下:(1)初始化:(1a)使用安全参数生成属性加密所需的公共参数PP,包括乘法循环群G1及其生成元g和阶p,以及乘法循环群上的双线性映射e:G1×G1→GT;(1b)为每个常驻属性权威AAK分配需要管理的属性集合,使用属性权威密钥生成方法,生成每个常驻属性权威的公私钥对
【技术特征摘要】
1.一种基于区块链的数据权限的获取方法,其特征在于,包括如下:(1)初始化:(1a)使用安全参数生成属性加密所需的公共参数PP,包括乘法循环群G1及其生成元g和阶p,以及乘法循环群上的双线性映射e:G1×G1→GT;(1b)为每个常驻属性权威AAK分配需要管理的属性集合,使用属性权威密钥生成方法,生成每个常驻属性权威的公私钥对(2)用户注册:(2a)每个用户在区块链上进行注册,获得区块链上的公私钥对(pku-ecc,sku-ecc);(2b)使用用户全局密钥生成方法,生成用户的全局公钥pku及全局私钥sku;(3)身份授权:(3a)将需要出售数据的用户授权为一个临时属性权威管理一组属性使用属性权威密钥生成方法,生成临时属性权威的公私钥对(3b)将代理机构授权为一个额外属性权威管理一组属性使用属性权威密钥生成方法,生成额外属性权威的公私钥对(4)用户处理数据:(4a)用户使用自己生成的对称密钥key加密要转移权限的数据m,得到数据的密文cnum;(4b)每个常驻属性权威AAK使用用户解密密钥生成方法,根据用户属性x为用户生成解密私钥SKj;(4c)用户使用对称密钥密文生成方法,得到对称密钥key的密文CT:(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发送给代理商:(5c)代理商使用代理重加密算法,重新加密对称密钥密文CT,得到新的访问策略对应的密文CT';(5d)代理商将数据描述信息desnum以及新的访问策略(M',ρ')广播出去;(6)获取数据权限:(6a)权限请求者查看代理商的广播信息,查找需要购买的数据;(6b)常驻属性权威AAK使用用户解密密钥生成方法,为权限请求者生成与其属性对应的解密私钥SKj;(6c)额外属性权威使用用户解密密钥生成方法,生成额外属性权威管理的属性所对应的解密私钥(6d)临时属性权威使用用户解密密钥生成方法,生成临时属性权威管理的属性所对应的解密私钥(6e)权限请求者向额外属性权威购买解密私钥并向临时属性权威购买解密私钥(6f)权限请求者使用属性加密的解密算法,解密得到对称密钥key',并用对称密钥key'解密数据密文cnum得到数据明文m';(7)权限请求者查看数据明文m'是否符合数据描述信息desnum,若是,则退出系统,否则,请求仲裁机构进行仲裁,对权限请求者进行赔偿。2.根据权利要求1所述的方法,其特征在于,(1b)、(3a)、(3b)中的属性权威密钥生成方法,实现如下:第一步,由每个属性权威选择两个随机数αk,βk∈Zp,对每个管理的属性x选择一个随机数vx∈Zp,其中,Zp表示阶为p的有限域;第二步,计算以及其中,e(g,g)表示G1×G1→GT的双线性映射,GT是一个乘法循环群,g是乘法循环群G1的生成元;第三步,由第一步中属性权威选择的随机数,得到属性权威的私钥由第二步的计算结果,得到属性权威的公钥其中,x∈SAA表示属性权威AA管理的属性x。3.根据权利要求1所述的方法,其特征在于,(2b)中使用用户全局密钥生成方法,生成用户的全局公钥pku及全局私钥sku,实现步骤如下:(2b1)根据用户的区块链私钥sku-ecc,计算用户的全局私钥:sku=H1(sku-ecc),其中,H1(·)是一个抗碰撞哈希函数,表示{0,1}*→Zp的映射;(2b2)根据用户的全局私钥,得到用户的全局公钥:4.根据权利要求1所述的方法,其特征在于,(4b)、(6b)、(6c)、(6d)中的用户解密私钥生成算法,实现步骤如下:第一步,由每个属性权威为用户选择一个随机数rj,K∈Zp;第二步,根据系统公共参数PP、用户的全局公钥pku、已产生的属性权威私钥和第一步选择的随机数rj,K,属性权威计算用户的解密私钥SKj:其中,表示第一解密私钥,表示第二解密私钥,表示第三解密私钥,表示第四解密私钥,αk和βk表示属性权威选择的两个随机数,rj,K表示属性权威在为用户生成解密私钥时选择的随机数,vx表示属性权威根据所管理的属性x生成的随机数,g是乘法循环群G1的生成元,Su表示用户的属性集合。5.根据权利要求1所述的方法,其特征在于,(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,ρ)中的属性对应的属性权威。6.根据权利要求1所述的方法,其特征在于,(4d)中用户使用抗碰撞的哈希函数,计算数据密文的哈希Hc和对称密钥的哈希Hkey,通过如下公式计算:Hc=H(cnum)Hkey=H(key)其中,H(cnum)表示使用抗碰撞的哈希函数H计算数据密文cnum的哈希,H(key)表示使用抗碰撞的哈希函数H计算数据对称密钥key的哈希。7.根据权利要求1所述的方法,其特征在于,(5b)中用户根据属性集合S(M',ρ')使用重加密密钥生成算法,计算对称密钥密文CT的重加密密钥rkc,实现步骤如下:(5b1)用户选择第二随机数k∈Zp和第三随机数X∈G1,其中Zp表示阶为p的有限域;(5b2)根据(5b1)选择的随机数,用户的解密私钥SKj,属性权威AAK的公钥系统公共参数PP,用户计算第一部分重加密密钥r...
【专利技术属性】
技术研发人员:高军涛,于海勇,刘奇,吴通,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。