【技术实现步骤摘要】
一种时间感知的免扫描可搜索公钥加密方法及系统
[0001]本专利技术涉及可搜索公钥加密方案,具体涉及一种时间感知的免扫描可搜索公钥加密方法及系统。
技术介绍
[0002]可搜索加密(Searchable Encryption,SE)根据密码体制的不同,分为对称可搜索加密(Symmetric Searchable Encryption,SSE)和非对称可搜索对称加密(Asymmetric Searchable Encryption,ASE),后者也称为可搜索公钥加密(Public key Encryption with Keyword Search,PEKS)。PEKS通过提供陷门来搜索包含特定关键字的文档,其他各参与方除了陷门之外无法知道其他任何信息。
[0003]另一方面,电子病历(Electronic Health Records,EHRs)涉及患者隐私,通常加密后存储于云服务器。但出于医疗救治和科学研究的需要,其可能会在某个时间段内开放给医生、医疗机构等合法用户访问,这就需要加密方案具备时间感知、定时发布的功能,以及对授权用户身份进行验证的功能,而这是既有PEKS加密方案不具备的。此外,既有PEKS加密方案大多需要在搜索过程中扫描所有文档中每个关键字对应的索引,并将其与陷门进行匹配,导致搜索效率较低;并且既有PEKS加密方案未实现对搜索结果的有效验证。
技术实现思路
[0004]专利技术目的:本专利技术的第一目的是提供一种适用于EHRs场景的时间感知的免扫描可搜索公钥加密方法,该可搜索公 ...
【技术保护点】
【技术特征摘要】
1.一种时间感知的免扫描可搜索公钥加密方法,其特征在于,包括:(1)配置安全参数λ,生成系统主密钥S和系统主公钥P、云服务提供商的公钥pk
s
和私钥sk
s
、数据拥有者DO
i
的公钥y
i
和私钥(K
i
,x
i
)、数据用户DU
j
的公钥和私钥s
j
、以及公共参数pp;(2)根据文档d
j
、数据拥有者DO
i
的私钥(K
i
,x
i
)、公共参数pp、关键字集W、所有用户的身份ID、云服务提供商的公钥pk
s
以及特定时间t,生成加密文档e
j
和相应的搜索索引I;(3)基于TSS算法恢复出系统主密钥S,利用系统主密钥S生成搜索部分的陷门T和数据用户DU
j
的密钥k
j
;根据公共参数pp、云服务提供商的公钥pk
s
、关键字集W、数据用户DU
j
的密钥k
j
以及搜索部分的陷门T,生成验证部分的陷门T
w
,得到陷门T
z
={T,T
w
};(4)根据搜索索引I、云服务提供商的私钥sk
s
、当前时间t
′
以及陷门T
z
进行特定时间和授权用户身份的验证,若验证通过,则查询用户身份合法且在允许的查询时间范围内,执行步骤(5);否则,输出
⊥
;(5)根据陷门T
z
、公共参数pp、数据拥有者DO
i
的公钥y
i
及搜索索引I,生成结果集RST和对应的证明proof;(6)根据公共参数pp、结果集RST和对应的证明proof,对密文正确性进行验证,验证通过,则表明结果正确;否则结果错误,重新进行搜索;(7)进行文档删除时,根据公共参数pp、数据拥有者DO
i
的公钥y
i
、关键字集W以及文档d
j
,生成一个删除令牌del,通过搜索关键字找到相应文档并进行删除;进行文档添加时,执行步骤(2)生成加密文档和相应索引。2.根据权利要求1所述的时间感知的免扫描可搜索公钥加密方法,其特征在于,步骤(1)包括:(1.1)选择素数q,q阶的乘法循环群G和G
T
,群G的生成元g,双线性映射e:G
×
G
→
G
T
;选择系统主密钥选择系统主密钥表示Z
q
中所有对模乘可逆元构成的集合,Z
q
表示以q为模的剩余类环Z/qZ,Z表示所有整数组成的集合;系统主公钥P=g
S
;(1.2)选择五个哈希函数:H1:{0,1}
*
→
{0,1}
logq
,H2:G
T
→
{0,1}
logq
,H3:{0,1}
*
→
G,H4:H5:G
T
→
{0,1}
n
;其中{0,1}
*
表示任意长度的比特字符串,{0,1}
logq
表示logq长度的比特字符串;{0,1}
λ
表示λ长度的比特字符串,λ为安全参数;{0,1}
n
表示n长度的比特字符串,n为授权用户的个数;(1.3)选择μ∈G;随机选择作为云服务提供商的私钥sk
s
;云服务提供商的公钥pk
s
=(pk
s,1
,pk
s,2
)=(g
ζ
,μ
1/ζ
);从H1中随机选择一个密钥K
i
,从{2,3,
…
,q
‑
2}选择一个密钥x
i
,得到数据拥有者DO
i
的私钥(K
i
,x
i
);数据拥有者DO
i
的公钥根据数据用户DU
j
的身份ID
j
生成其公钥将系统主密钥S分割成n+l份,即{s1,s2,
…
,s
n
,s
n+1
,
…
,s
n+l
},其中的n份被秘密分给数
据用户DU
j
,即数据用户DU
j
的私钥为s
j
,1≤j≤n;l为备用密钥的个数;(1.4)公共参数pp={G,G
T
,g,q,e,P,y1,y2,
…
,y
m
,H1,H2,H3,H4,H5},其中m为数据拥有者的个数。3.根据权利要求2所述的时间感知的免扫描可搜索公钥加密方法,其特征在于,步骤(2)包括:(2.1)数据拥有者DO
i
为文档集合提供一个关键字空间W
i
,并在本地存储一个由键值对组成的字典σ;对于关键字空间W
i
中的每个关键字w
k
,都存在一个键值对(w
k
,ID(d)),表示关键字w
k
的文档d;(2.2)假设数据拥有者DO
i
要为文档d
j
建立一个索引,W(d
j
)为文档d
j
的关键字集合;用对称加密方法将文档d
j
加密为加密文档e
j
;(2.3)随机从关键字集合W(d
j
)中选择一个关键字w
k
,若σ[w
k
]为空,表示该关键字w
k
未被加密过,计算F=H1(K
i
,w
k
||ID(d
j
));随机选择用数据拥有者DO
i
的私钥(K
i
,x
i
)中的x
i
为文档d
j
的关键字w
k
建立索引I
k
=(A,(B,C,D));=(A,(B,C,D));=(A,(B,C,D));mod为取模运算,modq意为除以q的余数;将文档d
j
的标识符分配给σ[w
k
],即σ[w
k
]=ID(d
j
);(2.4)随机选择计算密文搜索索引I={I
k
,ψ}。4.根据权利要求3所述的时间感知的免扫描可搜索公钥加密方法,其特征在于,步骤(2.3)中,若关键字w
k
之前已经被加密,则通过访问σ[w
k
]获得对应的标识符;计算两个值F=H1(K
i
,w
k
||σ[w
k
]),F
′
=H1(K
i
,w
k
||ID...
【专利技术属性】
技术研发人员:陈礼青,董霞,陈晓兵,张正伟,高尚兵,许士国,陈诗雨,郭瑶,张萌,黎嘉怡,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。