【技术实现步骤摘要】
基于区块链的数据搜索细粒度访问控制方法及系统
[0001]本专利技术属于信息安全
,具体涉及一种基于区块链的数据搜索细粒度访问控制方法、系统。
技术介绍
[0002]随着云计算的普及,越来越多的人愿意将数据上传至第三方云平台进行存储,以缓解本地的存储和访问压力。通常情况下,服务器会如实按照用户需求进行数据的存取,但在面对恶意服务器时,数据服务的真实完整性和数据的隐私性保护性就无法得到有效保障。
[0003]为了抵抗诚实但好奇的服务器,敏感数据可以先加密再上传。密钥策略的属性加密技术和密文策略的属性加密技术的应用可以实现数据的加密上传和细粒度访问控制,只有满足相应访问策略的终端用户才能获取密文并解密密文。尽管加密在一定程度上保证了数据的机密性,却也导致传统的明文检索技术无法应用在密文上。可搜索加密技术提出让终端用户可以在密文上进行关键字搜索,在搜索过程中不会对恶意服务器泄漏任何的信息。
[0004]进一步,可搜索加密技术和属性加密技术的结合可以实现加密数据的搜索和数据的细粒度访问控制。但是,目前现有密文策 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的数据搜索细粒度访问控制方法,其特征在于:包括以下步骤:S1、系统初始化授权中心TA根据安全参数1
λ
和系统属性集L,输出系统公钥PK,主密钥MSK和搜索密钥QK;S2、密钥生成用户通过非对称加密算法生成用于申请注册的公钥pk
u
和私钥sk
u
,并向授权中心TA发送身份属性集合S和pk
u
以请求属性私钥;授权中心TA根据用户身份属性集合S和系统主密钥MSK,为用户生成属性私钥<skm,ska>,并将属性私钥<skm,ska>发送给用户;skm为属性主私钥,ska为属性副私钥;此处用户包括数据拥有者和数据使用者;S3、加密阶段数据拥有者先使用搜索密钥QK对关键词集kws
F
加密生成关键词密文集Ck
F
,然后使用其对称密钥fkey将文件F加密生成数据密文Cf
F
和相应数据密文的哈希值HCf
F
;数据拥用者向雾节点FP发送计算访问策略密文的请求;雾节点FP收到计算请求后,为数据拥有者生成访问策略密文Cp;数据拥有者接收到访问策略密文Cp后,对对称密钥fkey进行加密生成文件密钥密文Cfk
fkey
;S4、上传数据数据拥有者构造上传数据请求<Ck
F
,Cf
F
,HCf
F
,Cfk
fkey
>发送给雾节点FP;雾节点FP将数据密文Cf
F
上传至星际文件系统IPFS中并获得对应的文件存储地址Faddr
F
,接着将<Ck
F
,Faddr
F
,HCf
F
,Cfk
fkey
>发送给数据链智能合约SCdc;SCdc构造交易<Faddr
F
,HCf
F
,Cfk
fkey
>写入区块链中并获得交易号Tid
F
,然后将当前文件F的关键词密文集Ck
F
和其在区块链上的交易号Tid
F
加密存储在查询集CQM;此处,Faddr
F
表示数据密文Cf
F
在IPFS中的存储地址,HCf
F
表示数据密文Cf
F
的哈希值;S5、查询密文当数据使用者要查询关键词集为kws
′
的文件时,数据使用者使用搜索密钥QK加密查询关键词集kws
′
获得查询关键词密文集Ck
kws
′
,然后将搜索请求<Ck
kws
′
,pk
u
>发送给雾节点;雾节点一旦收到用户的搜索请求,首先向授权中心TA查询获取pk
u
对应的属性副私钥ska,然后把关键词密文集Ck
kws
′
发送给数据链智能合约SCdc;SCdc在查询集CQM中查找以关键词密文为键的集合TidSet
kw
;若未找到,则说明不存在以kw
′
为关键词的数据文件;若找到,返回交易号Tid
F
,并获取交易信息<Faddr
F
,HCf
F
,Cfk
fkey
>;数据链智能合约检索完成后,将搜索结果CResult
kws
′
按照文件出现频率的高低排序并发送给雾节点;CResult
kws
′
={<Faddr
F1
,HCf
F1
,Cfk
fkey1
>,<Faddr
F2
,HCf
F2
,Cfk
fkey2
>,...,<Faddr
Fn
,HCf
Fn
,Cfk
fkeyn
>};其中Faddr
Fn
表示数据密文Cf
Fn
在IPFS中的存储地址,HCf
Fn
表示数据密文Cf
Fn
的哈希值,Cfk
fkeyn
表示与数据密文Cf
Fn
相对应的文件密钥密文,Cf
Fn
表示与搜索关键词相匹配的第n个数据密文;S6、下载数据,即雾节点FP依次遍历搜索结果CResult
kws
′
;并构造下载密文信息MCResult
kws
′
,发送给数据使用者;MCResult
kws
′
={<Cp
T1
,C11,C21,Cf
F1
>,<Cp
T2
,C12,C22,Cf
F2
>,...,<Cp
Tn
,C1
n
,C2
n
,Cf
Fn
>};其中Cp
Tn
表示数据密文Cf
Fn
所对应的中间密钥密文,C1
n
表示与数据密文Cf
Fn
所对应的文件密钥密文Cfk
fkeyn
的第一分量,C2
n
表示与数据密文Cf
Fn
所对应的文件密钥密文Cfk
fkeyn
的
第二分量,Cf
Fn
表示返回的第n个数据密文;S7、解密数据数据使用者使用属性主私钥skm解密密文密钥集{Cp
Ti
,C1
i
,C2
i
}得到明文的对称密钥集{fkey
i
},根据对称密钥集{fkey
i
}解密返回的数据密文集{Cf
Fi
}得到明文集{F
i
};2.根据权利要求1所述的基于区块链的数据搜索细粒度访问控制方法,其特征在于:所述授权中心TA中相关参数构如下:主密钥MSK={α,β,{r
i
|l
i
∈L}};搜索密钥QK=F1({0,1}
λ
,l1||l2||
…
||l
n
);系统公钥其中G0和G
T
是p阶乘法循环群,g是群G0的生成元,e是双线性映射:G0*G0→
G
T
,h是G0的元素;α,β,r
i
为随机数且都∈Z
p
;L={l1,l2,l3,
…
l
n
}是系统属性集;F1表示伪随机化算法1:F1:{0,1}
λ
×
{0,1}
λ
→
{0,1}
λ
,F2表示伪随机算法2:F2:{0,1}
λ
×
{0,1}
λ
→
{0,1}
*
,其中{0,1}
λ
是随机生成的字符串;所述用户生成属性私钥<skm,ska>中,skm表示属性主私钥:skm=g
(α+γ)β
,ska表示属性副私钥...
【专利技术属性】
技术研发人员:谢晴晴,杨念民,郑嘉泓,冯霞,李长阔,
申请(专利权)人:江苏大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。