(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111538178.8
(22)申请日 2021.12.15
(71)申请人 北京工业大 学
地址 100124 北京市朝阳区平乐园10 0号
(72)发明人 林莉 郭馥宾
(74)专利代理 机构 北京思海天达知识产权代理
有限公司 1 1203
代理人 沈波
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/08(2006.01)
H04L 9/32(2006.01)
G06F 21/60(2013.01)
G06F 21/62(2013.01)
G06F 21/64(2013.01)
(54)发明名称
一种基于属性布隆过滤器的快速策略检索
方法
(57)摘要
本发明公开了一种基于属性布隆过滤器的
快速策略检索方法, 数据所有者生成平台运行所
需参数, 利用主体属性生 成数据使用者的可用私
钥; 数据拥有者制定访问控制策略, 并将策略转
化为线性秘密共享矩阵, 实现策略的构造并发布
至区块链中。 数据所有者在知 道要加密的消息 之
前, 根据公共参数进行大量预计算。 当要加密的
消息已知时快速生成密文。 策略检索时, 利用属
性布隆过滤器重新构造出属性匹配函数, 利用哈
希函数快速定位主体属性的具体位置, 如果能成
功构造出属性映射函数, 证明数据使用者的属性
满足数据拥有者制定的访问策略, 否则表明无权
限访问; 最终解密得到客体资源的地址, 通过多
客户端分散链上检索的压力, 提高系统检索时
间, 完成数据共享。
权利要求书3页 说明书5页 附图2页
CN 114268482 A
2022.04.01
CN 114268482 A
1.一种基于属性布隆过 滤器的快速策略检索方法, 其特 征在于, 包括以下步骤:
步骤1: 准备阶段;
步骤1.1: 生成策略加解密所需的参数;
1)数据所有者 根据安全参数生成公钥PK和主密钥MSK;
2)数据所有者针对不同的用户属性 生成密钥SK;
步骤1.2: 将数据拥有者指定的访问控制策略统一 转化为线性秘密共享矩阵;
步骤2: 策略生成阶段;
数据所有者 根据线性秘密共享矩阵和 属性布隆过 滤器构造访问控制策略;
步骤2.1: 生成客体资源地址的密文;
1)数据拥有者输入客体资源的地址ad dress;
2)数据拥有者输入线性秘密共享矩阵;
3)数据拥有者添加策略加密所需的公钥PK, 得到客体资源地址的密文CT;
步骤2.2: 构造属性布隆过 滤器;
1)数据拥有者输入构造好的线性秘密共享矩阵, 使用k个哈希函数将主体属性映射到
线性秘密共享矩阵中;
2)数据拥有者将新 生成的策略添加到策略库;
3)在知道要加密的消息之前, 用户根据公共参数进行大量预计算; 当要加密的消息已
知时, 快速生成密文;
步骤3: 策略检索阶段;
步骤3.1: 构造访问控制请求A AR;
1)PEP接收主体的原 始请求;
2)PIP合约查询区块链中的属性库, 验证主体属性;
3)PEP根据主体属性构建A AR,发送请求判决;
步骤3.2: 主体权限鉴别;
1)PAP合约根据主体属性 查询定位策略库中的策略;
2)PAP合约重新构造属性映射 函数ρ’;
3)如果2)构造成功, 返回三元组( ρ ’, CT,SK’), 否则返回nul l表示构造失败;
步骤3.3: 客体资源地址解密;
1)使用以太坊钱 包的私钥解密SK ’, 得到SK;
2)通过SK, ρ ’解密客体资源地址ad dress;
3)通过地址ad dress获取客体资源。
2.根据权利要求1所述的一种基于属性布隆过滤器的快速策略检索方法, 其特征在于,
首先假设云数据服务器是可信的, 数据所有者将数据存储到云端数据库服务器上, 返回所
存储数据的地址和摘要值; 摘要值用于对云端数据的完整性校验, 数据地址将作为客体资
源, 通过访问控制策略来控制不同主体对该地址的访问。
3.根据权利要求1所述的一种基于属性布隆过滤器的快速策略检索方法, 其特征在于,
数据所有者制定访问控制策略, 将访问控制策略存 储到策略管理合约管理的策略库中:
①将属性相关的逻辑表达式转化为线性秘密共享矩阵LSSS; 得到(M, ρ ); 此 时策略可以
表示为: Policy1:result(R,action,pid) →Θ{(M, ρ )}signature_owner, 其中signature_权 利 要 求 书 1/3 页
2
CN 114268482 A
2owner为数据所有者的签名, pi d表示策略ID,只有当Θ{(M, ρ )}为真时, 请求方能被允许对
资源R进行acti on操作; 其中ρ 是属性匹配函数, 会泄 露属性信息;
②去掉属性匹配函数ρ, 引入属性布隆过 滤器, 实现策略加密;
setup(1λ)→(PK,MSK) (1)
初始化算法输入安全参数λ, 输出公钥PK和主密钥MSK; 初始化算法选择两个阶为素数p
的循环群G0与G1,g是G0的生成元; 任意选取h,k,q∈G0, α, β ∈Zp, 计算公钥和主密钥;
PK={G0,p,gα,gβ,h,k,e(g,g)α} (2)
MSK={α } (3)
③数据所有者针对不同数据使用者的属性计算密钥SK,该算法输入公钥PK、 主密钥MSK
和数据使用者的属性集合, 输出密钥SK; 得到SK后, 使用数据使用者以太坊钱包中的公钥对
SK进行加密, 得到SK ’;
KeyGen(PK,MSK,S) →SK (4)
④数据所有者通过访问策略(M, ρ ),公钥PK对客体资源的地址address进行加密, 得到
密文CT;
Enc(PK,ad dress,(M, ρ ))→CT (5)
在加密阶段, 数据拥有者根据主体的属性信息进行预加密计算, 然后在知道要加密的
消息时, 数据拥有者加速生 成密文, 然后构 造ABF; 当加密信息未知时, 数据拥有者根据指 定
的访问控制结构对加密信息进 行线性秘密共享, 得到共享向量v1,v2, …vn, 当需要加密时,
输入密钥, 生成密文;
⑤数据所有者通过M, ρ构造属性布隆过滤器, 输入访问控制矩阵(M, ρ ), 访问控制策略
相关的属性与访问矩阵M对应的行号相关联;
对于属性元素集合Se={i||ate}i∈[1, ……l],M的第i行和ρ之间的关系是ρ(i )=
ate, 然后通过位字符串的左侧填零, 将行号和属性扩展到最大位长度, 最后通过调用ABF算
法构造ABF;
对于主体属性集合Attr, 选择属性布隆过滤器ABF生成二进制向量VABF(h,k), 对于k个
哈希函数, 对应hk(attrj), 第i个属性的存储位置是hk(attrj), 通过调用第k个哈希函数hk
(attrj),获取attrj的具体位置, 即hk(attrj)代表ABF的索引位置, 当继续向ABF添加元素
时, 某些位置可能已被先前添加的元素占用, 如果出现这种情况, 将现有共享作为新元素的
一个共享 来重用。
4.根据权利要求1所述的一种基于属性布隆过滤器的快速策略检索方法, 其特征在于,
策略执行阶段, 当主体发出对数据所有者的资源请求时, 根据主体的请求执 行如下操作,
①策略实施点接收到主体的请求后, 调用属性权威合约 查询区块链中存储的相关属性
信息, 构建出一个基于属性的访问请求AAR, AAR描述了主体、 资源、 操作和环 境属性; 然后将
AAR发送给策略抉择合约做访问的抉 择;
②策略抉择合约从属性权威合约中得到主体属性信息S, 然后将S传给策略管理合约;
PAP Contract得到要查询的主体属性S后, 利用属性布隆过滤器重新构造出属性匹配函数
ρ’, 输入属性集合S,ABF,和公共哈希函数hi, 对于每个属性at∈S,通过哈希函数hi可以得
到属性at的位置索引hi(at);
ABFQuery(S,ABF,PK) →ρ’ (7)权 利 要 求 书 2/3 页
3
CN 114268482 A
3
专利 一种基于属性布隆过滤器的快速策略检索方法
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 23:33:06上传分享