实现隐私保护的动态细粒度IBPRE加密方法及系统

未命名 09-20 阅读:84 评论:0

实现隐私保护的动态细粒度ibpre加密方法及系统
技术领域
1.本发明涉及基于身份广播代理重加密方案,具体涉及实现隐私保护的动态细粒度ibpre加密方法及系统。


背景技术:

2.为解决重加密密钥生成的线性计算问题,基于身份广播代理重加密(identity-based broadcast proxy re-encryption,ibpre)的概念被提出。在ibpre中,代理不需要为组中每个授权数据使用者生成重加密密钥,只需要生成一个广播重加密密钥,即可实现密文转换。
3.进一步,为了实现数据使用者的身份隐私保护,maiti等人于2020年提出一种可保护数据使用者身份隐私的ibpre方案,该方案利用拉格朗日插值多项式定理,实现为广播重新加密密文的数据使用者集合的身份提供隐私保护。然而,maiti等人提出的方案未实现细粒度分享,在一些特定应用场景下,既需要保护授权数据使用者的身份隐私,还需要实现更加细粒度和灵活的数据分享与访问控制。


技术实现要素:

4.发明目的:本发明的目的是为了满足特定应用场景下,需要同时满足保护授权数据使用者的身份隐私并实现细粒度数据分享的需求,提供一种实现隐私保护的动态细粒度ibpre加密方法及系统。
5.技术方案:本发明所述的实现隐私保护的动态细粒度ibpre加密方法,包括:
6.(1)配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;
7.(2)根据主私钥msk和数据使用者的身份ida,生成该数据使用者的私钥
8.(3)根据主公钥mpk、数据拥有者的身份ida、会话密钥k以及条件集合l={l1,l2,...,lm},生成初始密文ct,m表示条件的最大数量;
9.(4)根据主公钥mpk、数据拥有者的身份ida、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,idn}以及一个包含l个条件的访问策略生成重加密密钥n≤n,l≤m;
10.(5)根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;
11.(6)根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;
12.(7)根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥以及重加密密文rct,生成用于恢复明文消息的会话密钥k。
13.进一步地,步骤(1)包括:
14.生成生成和为两个乘法循环群,群阶为λ比特的素数p,是一个双线性群;
15.选择群的生成元g、随机元素一个随机值以及两个哈希函数函数表示z
p
中所有对模乘可逆元构成的集合,z
p
表示以p为模的剩余类环z/pz,z表示所有整数组成的集合;
16.主公钥主私钥msk={g,r}。
17.进一步地,步骤(2)中,私钥
18.进一步地,ida∈{0,1}
*
,{0,1}
*
表示任意长度的比特字符串集合。
19.进一步地,步骤(3)包括:
20.随机选择会话密钥计算
21.c2=e(g,h)k·
k,
22.对于每个条件lj∈l,随机选择计算
23.初始密文
24.进一步地,步骤(4)包括:
25.选择一个随机值对于每个idi∈s,计算xi=h1(idi),
26.对于i=1,2,...,n,计算a0,a1,...,an表示多项式系数;
27.选择一个随机值计算d1=h2(e(g,h)k′
)
·hδ
,d2={a0,a1,...,an};
28.为访问策略生成一个其中q是l
×
q阶矩阵,函数将矩阵q的每一行映射到一个条件;
29.选择随机值构成向量对于矩阵q中γ行q
γ
=(q
γ,1
,...,q
γ,q
),计算的份额为
30.选择随机值对于每个γ∈[l],计算对于某未知值设则有其中
[0031]
对于γ从1到l,选择随机值计算
[0032]
重加密密钥
[0033]
进一步地,步骤(5)包括:
[0034]
利用lsss线性重构的特性找到计算∑
γ∈e
ω
γ
ψ
γ
=t,其中
[0035]
对于每个γ∈e,计算b
γ
=e(d
3,γ
,c1)
·
e(d
4,γ
,c
4,j
)
·
e(d
5,γ
,c
5,j
),
[0036]
重加密密文其中
[0037]
进一步地,步骤(6)包括:计算c2/(e(g,h)k)=k。
[0038]
进一步地,步骤(7)包括:计算a0,a1,...,an表示多项式系数;
[0039]
计算
[0040]
本发明所述的实现隐私保护的动态细粒度ibpre加密系统,包括:
[0041]
系统参数设置模块,用于配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;将主公钥mpk发送给加密模块、重加密密钥生成模块、重加密模块、第一解密模块和第二解密模块,将主私钥msk发送给私钥生成模块;
[0042]
私钥生成模块,用于根据主私钥msk和数据使用者的身份ida,生成该数据使用者的私钥将私钥发送给重加密密钥生成模块和第二解密模块;
[0043]
加密模块,用于根据主公钥mpk、数据拥有者的身份ida、会话密钥k以及条件集合l={l1,l2,...,lm},生成初始密文ct,m表示条件的最大数量;将初始密文ct发送给重加密模块和第一解密模块;
[0044]
重加密密钥生成模块,用于根据主公钥mpk、数据拥有者的身份ida、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,idn}以及一个包含l个条件的访问策略生成重加密密钥n≤n,l≤m;将重加密密钥发送给重加密模块;
[0045]
重加密模块,用于根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;将重加密密文rct发送给第二解密模块;
[0046]
第一解密模块,用于根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;
[0047]
以及,第二解密模块,用于根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥sk
idx
以及重加密密文rct,生成用于恢复明文消息的会话密钥k。
[0048]
有益效果:本发明与现有技术相比,具有如下显著优点:
[0049]
本发明将授权数据使用者的身份视为坐标系中的点,数据拥有者利用拉格朗日插值定理基于这些点建立多项式,从而达到保护授权数据使用者的身份隐私的目的。与此同时,为了实现数据拥有者与授权数据使用者分享部分数据的需求,本发明通过使用基于属性加密技术,首先设置一组描述性条件,然后根据条件指定访问结构以便实现数据拥有者动态地向多个授权数据使用者指定目标密文。在使用基于属性加密技术时,由于数据拥有者在不知道系统主私钥的情况下很难实现重加密密钥中的访问策略,因此利用线性秘密共享方案去分割数据拥有者的私钥,以实现其访问策略。
[0050]
本发明中,数据拥有者可动态地向多个授权数据使用者指定目标密文,从而实现更加灵活和细粒度的数据分享,同时利用拉格朗日插值多项式定理保护了数据使用者的身份隐私。
附图说明
[0051]
图1是本技术实施例提供的实现隐私保护的动态细粒度ibpre加密方法中数据交互示意图;
[0052]
图2是本技术实施例提供的实现隐私保护的动态细粒度ibpre加密系统用户使用状态示意图。
具体实施方式
[0053]
以下结合附图对本发明做进一步说明。
[0054]
如图1所示,为本技术实施例提供的实现隐私保护的动态细粒度ibpre加密方法中数据交互示意图,该实现隐私保护的动态细粒度ibpre加密方法具体包括如下的步骤。
[0055]
(1)配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;
[0056]
具体地,
[0057]
在私钥生成中心(privacy key generator,pkg)输入安全参数λ和授权数据使用者的最大数量n;
[0058]
pkg生成pkg生成和为两个乘法循环群,群阶为λ比特的素数p,是一个双线性群;
[0059]
选择群的生成元g、随机元素一个随机值以及两个哈希函数函数表示z
p
中所有对模乘可逆元构成的集合,z
p
表示以p为模的剩余类环z/pz,z表示所有整数组成的集合;
[0060]
输出主公钥主私钥msk={g,r}。
[0061]
(2)pkg根据主私钥msk和一个数据使用者的身份ida,生成该数据使用者的私钥
[0062]
具体地,
[0063]
给定数据使用者的身份ida∈{0,1}
*
以及主私钥msk,输出其私钥{0,1}
*
表示任意长度的比特字符串集合。
[0064]
(3)数据拥有者根据主公钥mpk、数据拥有者的身份ida、会话密钥k以及条件集合l={l1,l2,...,lm},生成初始密文ct,m表示条件的最大数量;
[0065]
具体地,
[0066]
给定会话密钥数据拥有者的身份ida、主公钥mpk以及条件集合l={l1,l2,...,lm},随机选择计算c2=e(g,h)k·
k,
[0067]
对于每个条件lj∈l,随机选择计算
[0068]
输出初始密文
[0069]
(4)数据拥有者根据主公钥mpk、数据拥有者的身份ida、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,idn}以及一个包含l个条件的访问策略生成重加密密钥n≤n,l≤m;
[0070]
具体地,
[0071]
给定主公钥mpk、数据拥有者的身份ida、数据拥有者的私钥确定数据使用者的身份s={id1,id2,...,idn}以及一个包含l个条件的访问策略选择一个随机值对于每个idi∈s,计算xi=h1(idi),
[0072]
对于i=1,2,...,n,计算a0,a1,...,an表示多项式系数;
[0073]
选择一个随机值计算d1=h2(e(g,h)k′
)
·hδ
,d2={a0,a1,...,an};
[0074]
数据拥有者为访问策略生成一个其中q是l
×
q阶矩阵,函数将矩阵q的每一行映射到一个条件;选择随机值构成向量对于矩阵q中γ行q
γ
=(q
γ,1
,...,q
γ,q
),计算的份额为
[0075]
选择随机值对于每个γ∈[l],计算对于某未知值设则上述式子可写为
[0076]
其中
[0077]
对于γ从1到l,选择随机值计算
[0078]
输出重加密密钥
[0079]
(5)代理服务器根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;
[0080]
具体地,
[0081]
由于lsss线性重构的特性,代理服务器可以找到计算∑
γ∈e
ω
γ
ψ
γ
=t,其中
[0082]
对于每个γ∈e,计算
[0083]
输出重加密密文其中
[0084]
(6)数据拥有者根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;
[0085]
具体地,
[0086]
给定主公钥mpk、私钥以及初始密文ct,计算c2/(e(g,h)k)=k。数据拥有者使用会话密钥k恢复明文消息。
[0087]
(7)授权数据使用者根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥以及重加密密文rct,生成用于恢复明文消息的会话密钥k。
[0088]
具体地,
[0089]
给定主公钥mpk、数据使用者的身份id
x
、相应的私钥以及重加密密文rct,计算a0,a1,...,an表示多项式系数;
[0090]
计算授权数据使用者使用会话密钥k恢复明文消息。
[0091]
本技术实施例还提供实现隐私保护的动态细粒度ibpre加密系统,包括若干用于实现上述动态细粒度ibpre加密方法中各步骤的功能模块,具体来说,包括:
[0092]
系统参数设置模块,用于配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;将主公钥mpk发送给加密模块、重加密密钥生成模块、重加密模块、第一解密模块和第二解密模块,将主私钥msk发送给私钥生成模块;
[0093]
私钥生成模块,用于根据主私钥msk和数据使用者的身份ida,生成该数据使用者的私钥将私钥发送给重加密密钥生成模块和第二解密模块;
[0094]
加密模块,用于根据主公钥mpk、数据拥有者的身份ida、会话密钥k以及条件集合l={l1,l2,...,lm},生成初始密文ct,m表示条件的最大数量;将初始密文ct发送给重加密模块和第一解密模块;
[0095]
重加密密钥生成模块,用于根据主公钥mpk、数据拥有者的身份ida、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,idn}以及一个包含l个条件的访问策略生成重加密密钥l≤m;将重加密密钥发送给重加密模块;
[0096]
重加密模块,用于根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;将重加密密文rct发送给第二解密模块;
[0097]
第一解密模块,用于根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;
[0098]
以及,第二解密模块,用于根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥以及重加密密文rct,生成用于恢复明文消息的会话密钥k。
[0099]
上述动态细粒度ibpre加密系统为模块化虚拟系统,本技术实施例还提供实现隐私保护的动态细粒度ibpre加密系统的实体系统,如图2所示,包括私钥生成中心(pkg)、代理服务器、数据拥有者(客户端)和数据使用者(客户端)四个实体,其中私钥生成中心负责建立系统,生成系统公开参数,为每个数据使用者生成私钥,授予新的数据使用者的消息解密能力;代理服务器用于存储加密消息,执行重加密过程;数据拥有者可对消息进行加密,将密文上传到服务器;授权数据使用者可以下载密文消息。
[0100]
下面对本技术实施例中所述的实现隐私保护的动态细粒度ibpre加密方法及系统应用于云计算中的实例场景进行说明。
[0101]
假设某公司发布招聘公告以招聘一名执行董事,有意向的求职者投递简历。该公司首先对招聘公告中部分涉及商业机密的信息(例如,具体的职位描述、薪资待遇)进行加密,然后对每个投递简历的求职者设置描述性标签,以方便该公司人力资源部筛选能够进入最终面试流程的求职者。例如,对于没有岗位工作经历的求职者a,其毕业于某一本大学的描述是{“求职者a”,“某一本大学”,“无岗位工作经历”}。由于部分招聘信息处于加密状态,这些已经签订保密协议并最终进入面试流程的求职者无法直接读取完整的招聘公告,因此公司则将标有筛选求职者标签的重加密密钥委托给猎头,猎头则为这些面试人员重加密密文。同时,最终进入面试流程的求职者无法知道还有哪些其他求职者也进入最终的面试。这样,最终进入面试流程的求职者便可以在不泄露自己信息的情况下访问招聘公告。

技术特征:
1.实现隐私保护的动态细粒度ibpre加密方法,其特征在于,包括:(1)配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;(2)根据主私钥msk和数据使用者的身份id
a
,生成该数据使用者的私钥(3)根据主公钥mpk、数据拥有者的身份id
a
、会话密钥k以及条件集合l={l1,l2,...,l
m
},生成初始密文ct,m表示条件的最大数量;(4)根据主公钥mpk、数据拥有者的身份id
a
、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,id
n
}以及一个包含l个条件的访问策略生成重加密密钥n≤n,l≤m;(5)根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;(6)根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;(7)根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥以及重加密密文rct,生成用于恢复明文消息的会话密钥k。2.根据权利要求1所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(1)包括:生成和为两个乘法循环群,群阶为λ比特的素数p,e:是一个双线性群;选择群的生成元g、随机元素一个随机值以及两个哈希函数h1:h2:表示z
p
中所有对模乘可逆元构成的集合,z
p
表示以p为模的剩余类环z/pz,z表示所有整数组成的集合;主公钥主私钥msk={g,r}。3.根据权利要求2所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(2)中,私钥4.根据权利要求3所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,id
a
∈{0,1}
*
,{0,1}
*
表示任意长度的比特字符串集合。5.根据权利要求3所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(3)包括:随机选择会话密钥计算c2=e(g,h)
k
·
k,对于每个条件l
j
∈l,随机选择计算初始密文6.根据权利要求5所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(4)包括:
选择一个随机值对于每个id
i
∈s,计算x
i
=h1(id
i
),对于i=1,2,...,n,计算a0,a1,...,a
n
表示多项式系数;选择一个随机值计算d1=h2(e(g,h)
k

)
·
h
δ
,d2={a0,a1,...,a
n
};为访问策略生成一个其中q是l
×
q阶矩阵,函数将矩阵q的每一行映射到一个条件;选择随机值构成向量对于矩阵q中γ行q
γ
=(q
γ,1
,...,q
γ,q
),计算的份额为选择随机值对于每个γ∈[l],计算对于某未知值设则有其中其中对于γ从1到l,选择随机值计算计算计算重加密密钥7.根据权利要求6所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(5)包括:利用lsss线性重构的特性找到计算∑
γ∈e
ω
γ
ψ
γ
=t,其中对于每个γ∈e,计算b
γ
=e(d
3,γ
,c1)
·
e(d
4,γ
,c
4,j
)
·
e(d
5,γ
,c
5,j
),重加密密文其中8.根据权利要求7所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(6)包括:计算c2/(e(g,h)
k
)=k。9.根据权利要求8所述的实现隐私保护的动态细粒度ibpre加密方法,其特征在于,步骤(7)包括:计算a0,a1,...,a
n
表示多项式系数;计算10.实现隐私保护的动态细粒度ibpre加密系统,其特征在于,包括:系统参数设置模块,用于配置安全参数λ和授权数据使用者的最大数量n,生成主公钥mpk和主私钥msk;将主公钥mpk发送给加密模块、重加密密钥生成模块、重加密模块、第一解密模块和第二解密模块,将主私钥msk发送给私钥生成模块;私钥生成模块,用于根据主私钥msk和数据使用者的身份id
a
,生成该数据使用者的私钥将私钥发送给重加密密钥生成模块和第二解密模块;加密模块,用于根据主公钥mpk、数据拥有者的身份id
a
、会话密钥k以及条件集合l={l1,l2,...,l
m
},生成初始密文ct,m表示条件的最大数量;将初始密文ct发送给重加密模块和第一解密模块;
重加密密钥生成模块,用于根据主公钥mpk、数据拥有者的身份id
a
、数据拥有者的私钥授权数据使用者身份集合s={id1,id2,...,id
n
}以及一个包含l个条件的访问策略生成重加密密钥将重加密密钥发送给重加密模块;重加密模块,用于根据主公钥mpk、重加密密钥初始密文ct以及满足访问策略的条件集合,生成重加密密文rct;将重加密密文rct发送给第二解密模块;第一解密模块,用于根据主公钥mpk、数据拥有者的私钥以及初始密文ct,生成用于恢复明文消息的会话密钥k;以及,第二解密模块,用于根据主公钥mpk、数据使用者的身份id
x
、数据使用者的私钥以及重加密密文rct,生成用于恢复明文消息的会话密钥k。

技术总结
本发明公开了实现隐私保护的动态细粒度IBPRE加密方法及系统,其利用拉格朗日插值多项式定理保护数据使用者身份隐私的同时,通过使用基于属性加密技术,实现了细粒度数据分享与访问控制。在使用基于属性加密技术时,通过线性秘密共享方案去分割数据拥有者的私钥,实现其访问策略。本发明能够同时满足授权数据使用者的身份隐私保护和实现细粒度数据分享,能够满足特定应用场景需求。够满足特定应用场景需求。够满足特定应用场景需求。


技术研发人员:陈礼青 张萌 陈晓兵 张正伟 张海艳 郭瑶 黎嘉怡 许士国 陈诗雨 董霞
受保护的技术使用者:淮阴工学院
技术研发日:2023.06.28
技术公布日:2023/9/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐