基于区块链技术和属性加密的数据访问控制方法技术

技术编号:35483509 阅读:21 留言:0更新日期:2022-11-05 16:35
本发明专利技术属于数据安全技术领域,特别涉及基于区块链技术和属性加密的数据访问控制方法,安全性更高,包括以下步骤:数据属主使用对称秘钥对目标数据进行加密,生成数据密文,将其发送给第三方存储系统,该系统给数据属主返回存储地址;数据属主利用属性加密技术对对称秘钥和存储地址进行加密,生成秘钥密文和存储地址密文,并上传区块链系统中;数据消费者在与数据属主协商成功之后从区块链系统获取访问目标数据所需的属性、存储地址密文和秘钥密文,在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用其得到对称秘钥和存储地址;利用存储地址获取数据密文,并在验证数据密文没被篡改的情况下对数据密文进行解密,得到目标数据。到目标数据。到目标数据。

【技术实现步骤摘要】
基于区块链技术和属性加密的数据访问控制方法


[0001]本专利技术涉及数据安全
,特别涉及一种基于区块链技术和属性加密的数据访问控制方法。

技术介绍

[0002]数据交易平台的存储中心作为第三方存储平台,存在着数据泄露的问题。一项调查显示,出于安全方面的考虑,超过70%的用户仍然不愿意将数据置于自身控制域之外。目前密文访问控制技术是在存储中心不可信的情况下保证数据机密性的解决方案,即数据属主使用数据加密加密数据并上传密文数据,通过控制秘钥的分发来实现对数据的访问控制。
[0003]目前,常规的密文访问控制方法,通过使用用户的公钥加密数据秘钥,并将秘钥的密文存储在服务端,用户直接访问服务器获得数据秘钥;在该方法中,系统都需要维护大量的数据秘钥信息,秘钥获取权的管理的复杂程度将随数据量和数据消费者的增长显著增加,从而导致数据属主成为系统的瓶颈。
[0004]在分层访问控制(hierarchical access control,HAC)方法中,虽然减少了需要委会的秘钥数量,数据消费者可以通过私人秘钥和一份公开的信息表(token)推导出被授权访问的数据秘钥,但是HAC由于数据消费者权限的变更需要对token表进行繁琐的操作,大规模用户进行访问时,对用户的访问控制效率较低。在基于代理重加密的访问控制方法中,在假设服务器部分可信的情况下,通过代理重加密技术,数据属主根据用户信息计算出一个代理重加密秘钥交付给云存储供应商(cloud storage provider,CSP),CSP利用代理重加密秘钥对存储的密文数据进行重加密,生成只有指定用户能够解密的密文,但是,如果服务器不可信,将导致数据访问环境不可信,安全性低。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种基于区块链技术和属性加密的数据访问控制方法,以解决使用目前技术进行数据访问控制时存在的数据访问环境不可信,安全性低的问题。
[0006]本专利技术提供了一种基于区块链技术和属性加密的数据访问控制方法,包括以下步骤:
[0007]数据属主使用对称秘钥对目标数据进行加密,生成与所述目标数据对应的数据密文,并将所述数据密文发送给第三方存储系统进行存储,所述第三方存储系统给所述数据属主返回一个存储地址;
[0008]数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,生成与所述对称秘钥对应的秘钥密文和与所述存储地址对应的存储地址密文,并将所述秘钥密文和所述存储地址密文上传至区块链系统中;
[0009]数据消费者在与数据属主协商成功之后,数据消费者从区块链系统获取访问所述
目标数据所需的属性、所述存储地址密文和所述秘钥密文,并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用所述属性秘钥对所述秘钥密文和所述存储地址密文进行解密,得到所述对称秘钥和存储地址;利用所述存储地址从第三方存储系统获取所述数据密文,并在验证所述数据密文没被篡改的情况下利用所述对称秘钥对所述数据密文进行解密,得到所述目标数据。
[0010]优选的,所述并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,包括:
[0011]数据消费者在本地随机选取参数r∈Z
p
作为秘密共享对象,Z
p
为模p的整数环,并选取随机系数a1,a2,

,a
t
‑1构造一个t

1次多项式f(x),其中,
[0012]f(x)=r+a1x+a2x2+

+a
t
‑1x
t
‑1;
[0013]然后随机选择x
i
,i=1,2..t,计算系数m
i
=f(x
i
),并将系数m
i
,i=1,2,..t和数据消费者拥有的属性j∈S分享至秘钥生成中心,其中S为数据消费者的属性集合;
[0014]秘钥生成中心为每个属性j随机生成对应的参数r
j
∈Z
p
,并基于系统主秘钥MK和系统公钥PK生成部分秘钥SK1,然后返回给数据消费者,其中:
[0015]PK=(G0,g,h=g
β
,f=g
1/β
,e(g,g)
α
)
[0016]MK=(β,g
α
)
[0017][0018]其中,G0为系统初始化选择的双线性群,素数p为G0的阶,g为群G0的生成元,α和β初始化时选择的加密参数;
[0019]数据消费在本地构造重构函数h(x
i
),计算出h(x1)分享至秘钥生成中心,委托秘钥生成中心计算D
j,i
,并将计算结果记录在区块链系统中并返回给数据消费者,其中,
[0020][0021][0022]数据消费者在本地构造重构函数h(x
i
),并计算子秘钥SK2=g
r/β
和子秘钥SK3={D
j
},其中:
[0023][0024][0025]根据拉格朗日插值法得出计算得出:
[0026]SK2=g
r/β
[0027][0028]数据消费者在本地将子秘钥SK1,SK2,SK3进行组合获取完整的秘钥SK:
[0029][0030]优选的,所述数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,包括:
[0031]数据属主自定义访问树结构,并利用属性加密技术将所述访问树结构嵌入到秘钥密文和存储地址密文中,所述访问树结构支持小于操作符,所述小于操作符的表达方式为:
[0032]将目标日期转化为二进制a1a2a3

an;
[0033]基于a1a2a3

an生成集合A={A1,A2,

,An},且集合A中元素A
i
的长度为n或者为A
i
=null,其中:
[0034][0035]对于b
index,i
定义如下:
[0036][0037]将集合A中的元素为null值的A
i
剔除,然后使用或操作符将集合A中的各个元素连接。
[0038]优选的,所述访问树结构还支持大于操作符,所述大于操作符的表达方式为:
[0039]将(目标日期+1)转化为二进制a1a2a3

an;
[0040]基于二进制a1a2a3

an生成表达式B=b1b2b3

bn,其中b
i
定义如下:
[0041][0042]优选的,所述第三方存储系统为IPFS星际文件系统。
[0043]本专利技术的有益效果:
[0044]本专利技术的基于区块链技术和属性加密的数据访问控制方法,数据以密文的形式进行存储,即使数据存储系统是不安全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链技术和属性加密的数据访问控制方法,其特征在于,包括以下步骤:数据属主使用对称秘钥对目标数据进行加密,生成与所述目标数据对应的数据密文,并将所述数据密文发送给第三方存储系统进行存储,所述第三方存储系统给所述数据属主返回存储地址;数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,生成与所述对称秘钥对应的秘钥密文和与所述存储地址对应的存储地址密文,并将所述秘钥密文和所述存储地址密文上传至区块链系统中;数据消费者在与数据属主协商成功之后,数据消费者从区块链系统获取访问所述目标数据所需的属性、所述存储地址密文和所述秘钥密文,并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用所述属性秘钥对所述秘钥密文和所述存储地址密文进行解密,得到所述对称秘钥和存储地址;利用所述存储地址从第三方存储系统获取所述数据密文,并在验证所述数据密文没被篡改的情况下利用所述对称秘钥对所述数据密文进行解密,得到所述目标数据。2.根据权利要求1所述的基于区块链技术和属性加密的数据访问控制方法,其特征在于,所述并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,包括:数据消费者在本地随机选取参数r∈Z
p
作为秘密共享对象,Z
p
为模p的整数环,并选取随机系数a1,a2,

,a
t
‑1构造一个t

1次多项式f(x),其中,f(x)=r+a1x+a2x2+

+a
t
‑1x
t
‑1;然后随机选择x
i
,i=1,2..t,计算系数m
i
=f(x
i
),并将系数m
i
,i=1,2,..t和数据消费者拥有的属性j∈S分享至秘钥生成中心,其中S为数据消费者的属性集合;秘钥生成中心为每个属性j随机生成对应的参数r
j
∈Z
p
,并基于系统主秘钥MK和系统公钥PK生成部分秘钥SK1,然后返回给数据消费者,其中:PK=(G0,g,h=g
β
,f=g
1/β
,e(g,g)
α
)MK=(β,g<...

【专利技术属性】
技术研发人员:胡凯陈回归冯艳沈韬孔庆雯高建李承晴柏粉花刘英莉
申请(专利权)人:云南省科学技术院昆明理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1