(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210374329.9
(22)申请日 2022.04.11
(71)申请人 江苏大学
地址 212013 江苏省镇江市京口区学府路
301号
(72)发明人 谢晴晴 杨念民 郑嘉泓 冯霞
李长阔
(74)专利代理 机构 南京华恒专利代理事务所
(普通合伙) 32335
专利代理师 宋方园
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 67/10(2022.01)G06F 21/62(2013.01)
G06F 21/64(2013.01)
(54)发明名称
基于区块链的数据搜索细粒度访问控制方
法及系统
(57)摘要
本发明公开一种基于区块链的数据搜索细
粒度访问控制方法, 包括系统初始化、 密钥生成、
加密阶段、 上传数据、 查询密文、 下载数据和解密
数据。 本发明将区块链系统部署于雾计算节点,
让雾节点承担主要计算和存储任务, 本发明还通
过密文策略属性基加密算法的部分加解密计算
任务外包给雾节点, 以减少用户端的计算负担;
再次, 本发 明利用智能合约来实现密文之上的搜
索操作, 预防了恶意服务器的非法操作, 实现了
高效、 安全且透明可信的可搜索类数据分享功
能。
权利要求书4页 说明书9页 附图2页
CN 114826703 A
2022.07.29
CN 114826703 A
1.一种基于区块链的数据搜索 细粒度访问控制方法, 其特 征在于: 包括以下步骤:
S1、 系统初始化
授权中心TA根据安全参数1λ和系统属性集L, 输出系统公钥PK, 主密钥MSK和搜索密钥
QK;
S2、 密钥生成
用户通过非对称加密算法生成用于申请注册的公钥pku和私钥sku, 并向授权中心TA发
送身份属性集合S和pku以请求属性私钥; 授权中心TA根据用户身份属性集合S和系统主密
钥MSK, 为用户生 成属性私钥<skm,ska>, 并将属性私钥<skm,ska> 发送给用户; skm为属性主
私钥, ska为属性副私钥; 此处用户包括数据拥有者和数据使用者;
S3、 加密阶段
数据拥有者先使用搜索密钥QK对 关键词集kwsF加密生成关键词 密文集CkF, 然后使用其
对称密钥fkey将文件F加密生成数据密文CfF和相应数据密文的哈希值HCfF; 数据拥用者向
雾节点FP发送计算访问策略密文的请求; 雾节点FP收到计算请求后, 为数据拥有者生成访
问策略密文Cp; 数据拥有者接收到访问策 略密文Cp后, 对对称密钥fkey进行加密生成文件
密钥密文Cfkfkey;
S4、 上传数据
数据拥有者构造上传数据请求<CkF,CfF,HCfF,Cfkfkey>发送给雾节点FP; 雾节点FP将数
据密文CfF上传至星 际文件系统IPFS中并获得对应的文件存储地址FaddrF, 接着将<CkF,
FaddrF,HCfF,Cfkfkey>发送给数据链智能合约SCdc; SCdc构造交易<FaddrF,HCfF,Cfkfkey>写
入区块链中并获得交易号TidF, 然后将当前文件F的关键词密文集CkF和其在区块链上的交
易号TidF加密存储在查询集CQM;
此处, Fad drF表示数据密文CfF在IPFS中的存 储地址, H CfF表示数据密文CfF的哈希值;
S5、 查询密文
当数据使用者要查询关键词集为kws ′的文件时, 数据使用者使用搜索密钥QK加密查询
关键词集kw s′获得查询关键词密文集Ckkws′, 然后将搜索请求<Ckkws′, pku>发送给雾节点; 雾
节点一旦收到用户的搜索请求, 首先向授权中心TA查询获取pku对应的属性副私钥ska, 然
后把关键词密文集Ckkws′发送给数据链智能合约SCdc; SCdc在查询集CQM中查找以关键词 密
文为键的集合TidSetkw; 若未找到, 则说明不存在以kw ′为关键词的数据文件; 若找到, 返回
交易号TidF, 并获取交易信息<FaddrF, HCfF, Cfkfkey>; 数据链智能合约检索完成后, 将搜索
结果CResultkws′按照文件出现频率的高低排序并发送给雾节点;
CResultkws′={<FaddrF1, HCfF1, Cfkfkey1>, <FaddrF2, HCfF2, Cfkfkey2>, ..., <FaddrFn,
HCfFn, Cfkfkeyn>}; 其中FaddrFn表示数据密文C fFn在IPFS中的存储地址, HC fFn表示数据密文
CfFn的哈希值, Cfkfkeyn表示与数据密文CfFn相对应的文件密钥密文, CfFn表示与搜索关键词
相匹配的第n个数据密文;
S6、 下载数据, 即雾节点FP依次遍历搜索结果CResultkws′; 并构造下载密文信息
MCResultkws′, 发送给数据使用者;
MCResultkws′={<CpT1, C11, C21, CfF1>, <CpT2, C12, C22, CfF2>, ..., <CpTn, C1n, C2n, CfFn>};
其中CpTn表示数据密文CfFn所对应的中间密钥密文, C1n表示与数据密文CfFn所对应的文
件密钥密文Cfkfkeyn的第一分量, C2n表示与数据密文CfFn所对应的文件密钥密文Cfkfkeyn的权 利 要 求 书 1/4 页
2
CN 114826703 A
2第二分量, CfFn表示返回的第n个数据密文;
S7、 解密数据
数据使用者使用属性主私钥skm解密密文密钥集{CpTi, C1i, C2i}得到明文的对称密钥集
{fkeyi}, 根据对称密钥集{fkeyi}解密返回的数据密文集{CfFi}得到明文集{Fi};
2.根据权利要求1所述的基于区块链的数据搜索细粒度访问控制方法, 其特征在于: 所
述授权中心TA中相关参数构如下:
主密钥MSK={α, β, {ri|li∈L}}; 搜索密钥QK=F1({0, 1}λ, l1||l2||…||ln); 系统公钥
其中G0和GT是p阶乘法循环群, g是群G0的生成元, e是双线性映射: G0*G0→GT, h是G0的元
素; α, β,ri为随机数且都∈Zp;
L={l1,l2,l3,…ln}是系统属性 集;
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表示属性
副私钥:
γ, ε∈ZP为随机数, Sj为S中
的一个属性, D1表示属性副私钥第一分量, D2表示属性副私钥第二分量, Dj表示属性副私钥
第三分量。
3.根据权利要求2所述的基于区块链的数据搜索细粒度访问控制方法, 其特征在于: 所
述步骤S3中具体过程 为:
S3 .1、 数据拥有者使用搜索密钥QK对关键词集kwsF加密生成关键词密文集
其中kw表示关键词集中 的一关键词, Kkw表示关键词
密文,
表示关键词密文分量1:
表示关键词密文分量2:
S3.2、 数据拥有者基于AES算法使用对称密钥fkey来加密数据F得到密文CfF=EncAES
(fkey,F), 并根据单向抗碰撞哈希函数计算密文哈希值 为HCfF=H(CfF);
S3.3、 雾节点计算访问策略密文
雾节点首先为访问策略树T中的每个节点x选择一个阶数为dx的多项式qx, 其中阶数dx
=kx‑1, 1≤kx≤numx是节点x的门限值, numx表示节点x的子节点数量; 多项式qx的生成方式
自上而下: 从根节点R出发, 选择一个随机数s∈Zp并设置qR(0)=s, 随机选择另外dR个点以
完整定义多项式qR; 对于其他节点x, 设置qx(0)=qparent(x)(index(x))并同样随机选择另外
dx个点来确定多项式qx, 其中parent(x)表示节点x的父节点, index(x)表示节点x的索引值;
最后, 生成的访问策略密文为
T表示
访问策略树, X表示访问策略树的叶节点集合, C ′3表示访问策略密文第一分量, C ′4表示访问权 利 要 求 书 2/4 页
3
CN 114826703 A
3
专利 基于区块链的数据搜索细粒度访问控制方法及系统
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:39:41上传分享