一种安全高效的跨用户密文检索与定制化数据分享方法

文档序号:33701991发布日期:2023-03-31 20:01阅读:59来源:国知局
一种安全高效的跨用户密文检索与定制化数据分享方法

1.本发明属于可搜索加密和密文数据分享领域,具体涉及一种安全高效的跨用户密文检索与定制化数据分享方法。


背景技术:

2.云计算作为一种存储便携、易扩展、价廉的新型服务模式,已在学术界和工业界具备广泛的应用。目前,越来越多的企业用户和个人用户将自身数据外包到云服务器中,如百度云、阿里云、icloud等。考虑到云服务器不是完全可信的实体,数据安全与隐私泄露问题备受关注,国内外学者对隐私保护的密文检索和数据分享方法开展了大量研究。
3.在密文检索系统中,数据拥有者在外包数据前需要对数据进行加密,并构建安全索引。数据请求者通过提交查询陷门,获得相应的查询结果。针对多用户模型,已有的安全查询方法通常假设用户是完全可信的,威胁模型仅考虑了云服务器作为不可信实体。但是,在密文检索与数据分享实际应用场景中,用户可能是恶意的,甚至可以与云服务器合谋,从而带来严重的隐私泄露问题,如访问模式和搜索模式的泄露。
4.在多用户模型中,部分用户可能是半可信,甚至是恶意的实体。由于恶意用户通常会与云服务器合谋,窃取用户的敏感信息,从而导致用户的机密性遭到破坏。例如,假设用户a是恶意用户,用户b是合法用户,当用户a与用户b访问相同的文件,则云服务器通过与用户a合谋,获取合法用户b的查询请求的隐私信息,以及查询结果的内容。云服务器通过分析两个不同用户的查询请求对应的查询结果,一旦查询结果一致,云服务器可以与恶意用户a合谋,获得查询结果的明文信息。因此,在恶意用户密文检索模型中,当两个不同用户之间的内容(如查询结果、认证信息)相关联时,那么在跨用户模型中,隐私泄露将会发生。


技术实现要素:

5.针对现有技术的不足,本发明的目的在于提供一种安全高效的跨用户密文检索与定制化数据分享方法。
6.本发明的目的可以通过以下技术方案实现:
7.一种安全高效的跨用户密文检索方法,包括以下步骤:
8.s1,设定系统安全参数并通过可信机构初始化系统,生成数据拥有者的主密钥msk=(k1,k2)、数据使用者的属性密钥以及认证服务器的传输密钥k
ot

9.s2,给定主密钥msk和关键字文件对(w,f),数据拥有者计算两个密钥k1和k2,并生成两个参数fw和ff;数据拥有者加密索引x
w,f
,并将x
w,f
加入到索引序列中;
10.s3,给定主密钥msk,认证用户u,文件访问策略auth(u),数据拥有者首先生成两个随机密钥r
u,1
和r
u,2
;然后,数据拥有者设定文件f的认证密钥随后,数据拥有者计算两个认证参数f
u,1
和p
u,f
,并将参数对(f
u,1
,p
u,f
)加入到加密的认证列表enc(auth(u))中;最后,认证服务器收到加密的认证列表enc(auth(u));
11.s4,给定查询关键字wq、用户密钥sku以及文件f的认证密钥数据使用者首先计算陷门参数认证令牌的文件参数p
u,f
;然后,数据使用者计算计算基于查询关键字的参数随后,数据使用者计算查询陷门t
p
;最后,数据使用者将(p
u,f
,t
p
)发送给认证服务器;
12.s5,认证服务器对用户合法性进行认证;对于认证后的用户查询陷门,认证服务器对查询陷门进行转换,并将转换陷门q
t
发送给数据服务器;数据服务器对转换陷门q
t
执行幂运算数据服务器检验与x
w,f
两者是否相等;若相等,密文检索成功;否则,密文检索失败。
13.进一步地,所述s2中加密索引如等式(1)所示:
[0014][0015]
式中,x
w,f
为加密索引,g为生成元,fw和ff为数据拥有者根据关键字文件对生成的两个参数。
[0016]
进一步地,所述认证用户u的认证令牌,如等式(2)所示:
[0017]
t
u,f
=ff/f
u,1
ꢀꢀꢀ
(2)
[0018]
式中,t
u,f
为数据拥有者计算的认证令牌,ff为数据拥有者根据文件生成的参数,f
u,1
为数据拥有着生成的认证参数。
[0019]
进一步地,s4中,生成基于关键字的查询陷门t
p
,如等式(3)所示:
[0020][0021]
式中,t
p
表示基于关键字的查询陷门,为数据使用者生成的基于查询关键字的参数。
[0022]
进一步地,数据服务器收到转换陷门q
t
后,对陷门令牌与转换陷门进行幂运算,如等式(4)所示:
[0023][0024]
式中,q
t
表示转换陷门,t
u,f
为认证令牌,和ff分别为数据使用者与数据拥有者生成的两个参数。
[0025]
一种安全高效的跨用户密文检索系统,包括:
[0026]
密钥生成模块:设定系统安全参数并通过可信机构初始化系统,生成数据拥有者的主密钥msk=(k1,k2)、数据使用者的属性密钥以及认证服务器的传输密钥k
ot

[0027]
索引构建模块:给定主密钥msk和关键字文件对(w,f),数据拥有者计算两个密钥k1和k2,并生成两个参数fw和ff;数据拥有者加密索引x
w,f
,并将x
w,f
加入到索引序列中;
[0028]
用户认证模块:给定主密钥msk,认证用户u,文件访问策略auth(u),数据拥有者首先生成两个随机密钥r
u,1
和r
u,2
;然后,数据拥有者设定文件f的认证密钥随后,数据拥有者计算两个认证参数f
u,1
和p
u,f
,并将参数对(f
u,1
,p
u,f
)加入到加密的认证列表enc(auth(u))中;最后,认证服务器收到加密的认证列表enc(auth(u));
[0029]
陷门生成模块:给定查询关键字wq、用户密钥sku以及文件f的认证密钥数据使用者首先计算陷门参数认证令牌的文件参数p
u,f
;然后,数据使用者计算计算基于查询关键字的参数随后,数据使用者计算查询陷门t
p
;最后,数据使用者将(p
u,f
,t
p
)发送给认证服务器;
[0030]
密文检索模块:认证服务器对用户合法性进行认证;对于认证后的用户查询陷门,认证服务器对查询陷门进行转换,并将转换陷门q
t
发送给数据服务器;数据服务器对转换陷门q
t
执行幂运算数据服务器检验与x
w,f
两者是否相等;若相等,密文检索成功;否则,密文检索失败。
[0031]
一种计算机存储介质,存储有可读程序,当程序运行时,执行上述方法。
[0032]
一种定制化的数据安全分享方法,包括以下步骤:
[0033]
1)输入安全参数λ,系统输出全局公开参数pp;
[0034]
2)输入全局公开参数pp,输出一对公私钥对(pk,sk);
[0035]
3)输入全局公开参数pp、用户私钥sk以及标签t,输出定制密钥sk
t

[0036]
4)输入全局公开参数pp、用户公钥pk、明文消息m以及标签t,输出密文ct
t

[0037]
5)输入全局公开参数pp,密文ct
t
,以及用户私钥sk
t
,输出明文消息m。
[0038]
本发明的有益效果:
[0039]
1、本发明针对跨用户隐私泄露、陷门链接、以及密钥泄露问题,提出一种双服务器模型,即数据服务器与认证服务器,数据服务器用于存储密文数据,认证服务器用于存储认证信息,两者不合谋,各自进行密文计算;一方面,为了保护用户的认证信息,提出一种多密钥可搜索加密技术,保护用户的认证信息;另一方面,在陷门转换与索引构建阶段,采用零和混淆布鲁姆过滤器与不经意传输技术,实现查询陷门不可链接;
[0040]
2、针对数据分享过程中密钥泄露问题,以及灵活地数据分享需求,本发明提出定制化的数据安全分享方法,满足数据拥有者对数据分享范围的限定需求,实现多用户环境下可定制的数据安全分享。
附图说明
[0041]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1是本发明基于跨用户系统的密文检索与定制化数据分享系统模型图;
[0043]
图2是本发明基于跨用户系统的密文检索与定制化数据分享流程图。
具体实施方式
[0044]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0045]
如图1所示,跨用户隐私保护的密文检索系统主要包含四个实体,即数据拥有者、
数据使用者和双云服务器(即数据服务器和认证服务器)。
[0046]
1)数据拥有者:数据拥有者拥有大规模的明文数据集,考虑到自身存储资源和计算能力有限,数据拥有者通常将数据加密后外包到云服务器,用于提供数据检索服务;为了防止不合法用户窃取隐私数据,数据拥有者将密文数据发送至数据服务器,并将加密的认证信息(访问策略)发送给认证服务器。
[0047]
2)数据使用者:数据使用者根据查询关键字生成查询陷门,并将查询陷门提交至认证服务器;每个数据使用者拥有唯一的身份标识符,认证服务器可以根据数据使用者的身份判定用户的访问权限。
[0048]
3)数据服务器:数据服务器用于存储密文数据和索引,并在进行密文计算。为了防止查询结果的链接攻击,数据服务器需要对加密索引置乱,并在置乱索引与转换陷门之间完成匹配。
[0049]
4)认证服务器:认证服务器用于存储数据拥有者发送的密文认证信息。认证服务器用于认证数据使用者的合法性,并执行陷门转换,最后将查询结果返回给合法用户。
[0050]
在跨用户隐私保护的密文检索系统中,数据拥有者通常是可信的,也就是说,数据拥有者分别提交有效的加密索引和认证信息至数据服务器和认证服务器,并根据认证信息为数据使用者颁发授权密钥。在威胁模型中,数据使用者可能是可信的或者恶意的。对于恶意用户而言,他们会和双云服务器合谋,将获得的信息泄露给云服务器,其中包括推测出的用户隐私信息。此外,数据服务器和认证服务器都是半可信的,且双云不会合谋,他们会正确地执行密文检索算法,但是他们会通过已有的背景知识窃取用户的敏感信息,包括索引、查询请求、以及查询结果。
[0051]
如图2所示,一种安全高效的跨用户密文检索方法,包括以下步骤:
[0052]
s1,密钥生成;
[0053]
给定系统安全参数λ,系统初始化,生成数据拥有者的密钥(k1,k2)、数据使用者的属性密钥以及认证服务器的传输密钥k
ot
;此外,针对用户的关键字和文件集,系统选择一个伪随机函数g1。
[0054]
s2,索引构建;
[0055]
在索引构建过程,用户的认证信息不能被云服务器窃取,也就意味着用户的认证策略应被隐藏且可被解除链接。为了构造加密索引,数据拥有者计算两个密钥k1←
g1(k1,f)和k2←
g1(k2,f),并加密关键字文件对(w,f);然后,数据拥有者分别为关键字和文件生成参数,即fw=g1(k1,w)和ff=g1(k2,f),其中,g1是伪随机函数;接着,数据拥有者使用密钥加密索引,并将加密索引上传至数据服务器中;
[0056]
上述加密索引如等式(1)所示:
[0057][0058]
式中,x
w,f
为加密索引,g为生成元,fw和ff为数据拥有者根据关键字文件对生成的两个参数。
[0059]
为了实现细粒度的数据访问控制,数据拥有者根据用户的属性设计基于属性密钥的访问策略auth(u),即可访问数据的用户u通常满足文件f的属性集合,该用户密钥记为
数据拥有者计算该用户u的认证令牌,如等式(2)所示:
[0060]
t
u,f
=ff/f
u,1
ꢀꢀꢀ
(2)
[0061]
式中,t
u,f
为数据拥有者计算的认证令牌,ff为数据拥有者根据文件生成的参数,f
u,1
为数据拥有着生成的认证参数。
[0062]
s3,用户认证;
[0063]
给定主密钥msk,认证用户u,文件访问策略auth(u),数据拥有者首先生成两个随机密钥r
u,1
和r
u,2
;然后,数据拥有者设定文件f的认证密钥随后,数据拥有者计算两个认证参数f
u,1
=g1(r
u,1
,f)和p
u,f
=g1(r
u,2
,f),并将参数对(f
u,1
,p
u,f
)加入到加密的认证列表enc(auth(u))中;最后,认证服务器收到加密的认证列表enc(auth(u))。
[0064]
s4,陷门生成;
[0065]
给定查询关键字wq,用户密钥sku,以及文件f的认证密钥数据使用者首先计算陷门参数认证令牌的文件参数p
u,f
;然后,数据使用者计算计算基于查询关键字的参数随后,数据使用者计算查询陷门t
p
;最后,数据使用者将(p
u,f
,t
p
)发送给认证服务器;
[0066]
其中,生成基于关键字的查询陷门t
p
,如等式(3)所示:
[0067][0068]
式中,t
p
表示基于关键字的查询陷门,为数据使用者生成的基于查询关键字的参数。
[0069]
s5,密文检索;
[0070]
在密文检索过程,认证服务器收到查询陷门(p
u,f
,t
p
)后,首先认证数据使用者的合法性;如果用户是合法的,则认证服务器利用零和混淆布鲁姆过滤器技术,对查询陷门进行转换,并将转换后的陷门q
t
发送给数据服务器;数据服务器收到转换陷门q
t
后,对陷门令牌与转换陷门进行幂运算,如等式(4)所示:
[0071][0072]
式中,q
t
表示转换陷门,t
u,f
为认证令牌,和ff分别为数据使用者与数据拥有者生成的两个参数。
[0073]
通过数据拥有者构建的索引与数据使用者生成的查询陷门,数据服务器只需要检验等式(4)的结果是否与等式(1)的结果是否一致,即数据服务器检验与x
w,f
两者是否相等;若相等,则索引与陷门匹配,密文检索成功,数据使用者可以获得查询请求所对应的查询结果;否则,密文检索失败。
[0074]
由于云服务器可以根据不同的查询请求对应的查询结果和索引,并与恶意用户合谋,获取用户的敏感信息。为了解决陷门链接导致的跨用户隐私泄露,本发明采用不合谋的双云服务器模型,认证服务器判定用户的认证权限,数据服务器进行密文计算。在密文检索过程中,通过零和混淆布鲁姆过滤器技术和不经意传输方法置乱查询陷门和认证信息,实
现查询陷门与认证信息不可链接。通过零和混淆布鲁姆过滤器方法,即使两个查询结果来自于同一个查询请求,它们的密文也不相同,从而使得每个查询陷门对应的查询结果都不相同。
[0075]
此外,针对数据分享过程中密钥泄露问题,以及灵活地数据分享需求,本发明提出一种定制化的数据安全分享方法,满足数据拥有者对数据分享范围的限定需求,实现多用户环境下可定制的数据安全分享;
[0076]
如图2所示,定制化的数据安全分享方法包含五个步骤:全局参数生成、密钥生成、密钥定制、数据加密以及数据解密,
[0077]
全局参数生成算法:globalsetup(1
λ
)

pp.
[0078]
在定制化数据安全分享系统模型中,没有为用户生成公钥和私钥的中央密钥生成机构;相反,任何用户都可以自己生成公私钥对,从而实现真正的分布式数据分享。另一方面,为了实现不同用户之间的数据分享,我们要求所有用户分享全局公开参数,以便系统算法能够在不同用户端正确运行。因此,我们假设有一个初始用户调用以下算法生成全局公开参数,输入安全参数λ,算法首先选择阶为素数p的双线性群和以及双线性映射e:然后,选择生成元以及随机数ω,h;最后,输出全局公开参数
[0079]
密钥生成算法:keygen(pp)

(pk,sk).
[0080]
密钥生成过程中,用户能够自己生成一对公钥pk和私钥sk,唯一需要的信息是全局公开参数pp。我们省略了用户获取公开参数的方式,而只关注密钥的生成。在定制化数据安全分享方案中,用户可以通过调用密钥生成算法生成公钥和私钥。
[0081]
输入全局公开参数pp,密钥生成算法随机选择整数α,然后计算公钥pk=g
α
,私钥sk=(k1,k2),其中,k1=ω
αhr
,k2=gr。密钥生成算法输出(pk,sk)。
[0082]
密钥定制算法:keycustomize(pp,sk,t)

sk
t
.
[0083]
在密钥自定义过程中,数据拥有者可以使用私钥sk为标签t生成定制化密钥。然后,数据使用者使用定制化密钥可以解密基于标签t(以及公钥pk)生成的密文。密钥定制允许数据拥有者指定要分享的数据范围。例如,假设患者访问了医院的不同科室(例如泌尿科、皮肤科、心脏外科),因此拥有不同的医疗记录。当前往一个新的地方并需要看皮肤科医生时,患者(数据拥有者)可能需要授权皮肤科医生(数据使用者)阅读其皮肤病医疗记录。通过密钥定制机制,数据拥有者可以生成一个标签t为“皮肤病”的定制密钥,并将该密钥发送给数据使用者,以便他/她可以访问患者的皮肤病医疗记录(但不能访问其他记录)。
[0084]
要生成一个基于标签t的定制化密钥,数据拥有者调用密钥定制算法;即输入全局公开参数pp、数据拥有者私钥sk=(k1,k2),以及标签该算法随机选择元素计算d1=k1tm,d2=k2,d3=gm;输出定制密钥sk
t
=(d1,d2,d3)。
[0085]
加密算法:encrypt(pp,m,pk,t)

ct
t
.
[0086]
定制化数据安全分享方法中的真实数据(如电子医疗记录)是离线存储的,只有数据加密密钥(以及位置引用、哈希摘要和其他必要信息)存储在数据服务器上。为了保护数据隐私,定制化数据安全分享方法遵循许多数据加密方案中普遍采用的密钥封装方法。使
用该方法,真实数据首先通过对称加密(如aes)进行加密,然后使用公钥加密对称加密密钥(即数据加密密钥)。因此,公钥加密的性能与数据大小无关。在定制化数据安全分享方法中,数据拥有者首先使用对称密钥m加密其数据,然后使用定制化数据安全分享的加密算法加密m。加密数据存储在医疗服务提供商(医院的数据中心)中,加密过的对称密钥(以及数据位置参考、数据摘要)存储在数据服务器上。在定制化数据安全分享方法加密算法中,数据拥有者可以指定标签t,用于指示数据所属的范围(例如,产生医疗数据的个人或机构的名称)。
[0087]
定制化数据安全分享方法加密算法主要包括如下步骤:输入全局公开参数pp、数据拥有者公钥pk=g
α
、标签以及待加密的对称密钥加密算法随机选择元素然后计算c1=gs,c2=hs,c3=ts,输出密文ct
t
=(c0,c1,c2,c3)。
[0088]
解密算法:decrypt(pp,ct
t
,sk
t
)

m.
[0089]
为了访问数据拥有者的数据,数据使用者首先调用定制化数据安全分享方法的解密算法解密存储在数据服务器上的密文并获得明文m,然后使用m解密存储在医疗服务提供商中的加密数据。
[0090]
定制化数据安全分享方法的解密算法包括如下步骤:输入全局公开参数pp、密文ct
t
=(c0,c1,c2,c3)以及数据使用者的定制密钥sk
t
=(d1,d2,d3),算法计算b,如下所示:
[0091][0092]
最后,解密算法输出
[0093]
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0094]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1