当前位置: 首页 > 专利查询>暨南大学专利>正文

可验证完整性和完备性的多用户云加密关键字搜索方法技术

技术编号:12014724 阅读:102 留言:0更新日期:2015-09-06 01:13
本发明专利技术主要研究公钥密码体制下的可搜索加密技术,提出了一种可验证完整性和完备性的多用户云加密关键字搜索方法,该方法在云环境下可验证查询结果完备性和外包数据完整性,并对多用户权限进行设定。该方法使用签名绑定关键字索引和其关联加密文件,实现了查询结果完备性和完整性的验证,使用重加密技术实现了多用户隐查询,并可动态更新用户查询权限。本发明专利技术还优化加密文件的索引结构和查询机制,在查询过程中使用哈希查询提升查询效率,实现了对云数据的快速访问。

【技术实现步骤摘要】
可验证完整性和完备性的多用户云加密关键字搜索方法
本专利技术涉及公钥密码体制下的可搜索加密技术研究领域,特别涉及一种可验证完整性和完备性的多用户云加密关键字搜索方法,该方法在云环境下可验证查询结果完备性和外包数据完整性,并对多用户权限进行设定。
技术介绍
随着计算机网络技术的蓬勃发展和社会对信息资源需求的扩大,越来越多的企业和个人希望通过云存储降低本地的基础设施成本,并获得更高的服务质量。然而,云存储在带来方便、易用和低成本服务的同时,也带来了许多新的安全问题。如今数据存储在第三方云平台上,数据拥有者失去了对自己数据的控制,而云服务提供商并不是完全可信的,使得云端数据面临着泄露的风险。数据加密是保护云端数据的基本手段,用户在上传敏感数据之前首先将数据进行加密,这样攻击者和云服务提供商即使获得了加密的数据也无法获得其内容,从而保证了数据在云端存储的安全。然而,问题是如何在加密数据中搜索出用户所需的内容呢?2000年,Song在他的论文《A.Practicaltechniquesforsearchesonencrypteddata》中首次提出了可搜索加密的概念,并提出了第一个基于对称加密的关键字搜索方案,实现对加密的数据进行查询搜索,引发科研人员对可搜索加密技术的研究。2004年,Boneh在文献《Publickeyencryptionwithkeywordsearch》中提出基于离散对数通过线性配对实现了第一个公钥加密关键字搜索的方案,把可搜索加密技术应用在目前通用的公钥密码体制之中。随着可搜索加密技术的发展,为了更贴近实际应用需求,陆续有科研学者提出加密范围搜索方案、加密连接关键字搜索方案和加密模糊关键字搜索方案等研究方向。近些年,由于云计算和云存储的兴起,对加密数据库的访问控制、完整性验证和加密检索成为新的研究热点。应用在云平台的可搜索加密技术的研究不仅仅需要实现加密的数据请求和加密的文件索引的搜索匹配,还需要针对云平台多授权用户和大数据量存储的特点,实现多用户动态访问控制和巨大量数据中快速检索的功能。已有的大多数可搜索加密方案都着重于如何在加密数据中查询到所需的内容,而没有充分考虑外包数据的完整性和查询结果的完备性。然而,在云存储模式下,由于第三方服务提供者并非完全可信。用户担心云端数据是否已经被攻击者或云服务提供者替换或损坏。因此,用户需要对查询结果进行完整性和完备性的验证,从而保证用户得到查询结果是符合用户查询要求的所有数据,而且没有被替换或损坏。目前已有大多数加密可搜索方案都只能实现单用户查询。然而,在云存储环境下,数据拥有者希望与多个用户分享数据。因此,需要设计面向多用户的查询管理机制,实现多用户查询权限的授予与撤销。另外,已有大部分可搜索加密方案在搜索过程中,都是采用线性匹配的方法,将加密的查询请求逐一与加密的索引项进行匹配,而在存储巨大量数据的云平台,查询效率不足以满足云应用的需求。因此,寻求一种能够在云环境下验证查询结果完备性和外包数据完整性,并对多用户权限进行设定的加密关键字搜索方法具有重要的研究价值。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种可验证完整性和完备性的多用户云加密关键字搜索方法,该方法能够在云环境下验证查询结果完备性和外包数据完整性,同时还支持多用户查询,查询效率高。本专利技术的目的通过以下的技术方案实现:可验证完整性和完备性的多用户云加密关键字搜索方法,包括步骤:(1)数据拥有者对数据文件进行加密,同时从上传的数据文件中提取多个关键字进行加密以形成用于查询的关键字索引;同时对提取的每一个关键字,利用同态哈希函数生成关键字摘要,在本地建立一张关键字摘要表;数据拥有者生成用于对数据签名的签名公钥和签名私钥,在外包数据之前,用其签名私钥对每个关键字摘要进行签名,最后将加密的数据文件、关键字索引和签名发送给云端服务器;(2)云端服务器为上述加密的数据文件和关键字索引分配存储空间,同时云端服务器以每一个关键字索引作为查询项,建立查询索引表,保存索引信息和签名信息,并建立链表保存与每一个关键字索引关联的所有文件的地址,通过查询索引表的指针项连接链表和查询索引表;(3)数据拥有者通过安全通道为多个授权用户分配查询加密的数据文件所需的私钥,同时数据拥有者还生成对应授权用户的重加密密钥,并将所有重加密密钥组合形成的重加密密钥表发送给云端服务器,在查询过程中,授权用户用自己的私钥形成查询门限发送给云端服务器;(4)云端服务器根据查询索引表对查询门限进行查询,找出符合授权用户查询的文件组和签名信息,并返回给授权用户;(5)授权用户接收到关键字的签名信息和文件组后,用数据拥有者的签名公钥和同态哈希函数解出签名中的摘要,然后从加密文件组中解出文件,然后验证此解出文件和查询的关键字是否与摘要一致,如果一致,则表示文件组文件完整且查询结果完备,否则表示文件不完整,查询结果不完备;所述文件组文件完整表示数据文件没有被修改或替换,所述查询结果完备表示查询结果包括了所有索引含该关键字的数据文件。具体的,所述步骤(1)中,对每个数据文件M,数据拥有者使用对称密钥k进行加密,加密文件表示为Ek(M),其中Ek(·)是用于加密文件的对称加密算法;对于第i个关键字Wi,关键字索引为INDEX(Wi)=H2(t),其中设G1、G2都是阶为素数p的乘法群,其中g是乘法群G1的生成元,定义双线性映射e:G1×G1→G2,e(g,g)是乘法群G2的生成元,设H1(·):{0,1}*→G1,H2(·):G2→{0,1}logp,为数据拥有者为加密关键字索引采用的私钥,为云端服务器的公钥,为云端服务器的私钥。具体的,所述步骤(1)中,对于第i个关键字Wi,利用同态哈希函数生成关键字摘要的公式是:HMAC(Wi)=Hr(Z(M1)×f(Wi)+Z(M2)×f(Wi)+……+Z(Mi)×f(Wi));其中f(·):{0,1}*→{0,1}n是安全的单向哈希函数,Hr(·)是同态哈希函数,Z(·)是用于压缩的哈希函数,M1,M2,…Mi为数据文件。具体的,所述数据拥有者生成用于对数据签名的签名公钥PK′DO和签名私钥SK′DO,在外包数据之前,数据拥有者用其签名私钥SK′DO对每个关键字摘要HMAC(Wi)进行签名,即得到E′sk(·)是用于签名的公钥加密算法。优选的,所述步骤(3)中,数据拥有者选择作为其加密关键字索引的私钥,并计算公钥然后随机选择将SKUi分配给授权用户Ui作为其生成加密关键字查询门限的私钥,Ui为授权用户的身份号,生成该授权用户的重加密密钥最后将各个授权用户身份号与其重加密密钥一一对应的重加密密钥表发送到云端服务器。具体的,所述步骤(3)中,在查询过程中,授权用户用自己的私钥形成查询门限发送给云端服务器的步骤如下:授权用户Ui使用其密钥SKUi和要查询的关键字生成加密关键字查询门限其中Ui为该授权用户的身份号,授权用户把查询门限TW发送给云端服务器。具体的,所述步骤(4)中,云端服务器在接收到授权用户的查询门限后,通过查询重加密密钥表,查找到该授权用户Ui的重加密密钥进行代理重加密转换如下:云端服务器根据查询索引表定位到与门限T′W对应的关键字索引INDEX(Wi),并通过遍本文档来自技高网
...
可验证完整性和完备性的多用户云加密关键字搜索方法

【技术保护点】
可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,包括步骤:(1)数据拥有者对数据文件进行加密,同时从上传的数据文件中提取多个关键字进行加密以形成用于查询的关键字索引;同时对提取的每一个关键字,利用同态哈希函数生成关键字摘要,在本地建立一张关键字摘要表;数据拥有者生成用于对数据签名的签名公钥和签名私钥,在外包数据之前,用其签名私钥对每个关键字摘要进行签名,最后将加密的数据文件、关键字索引和签名发送给云端服务器;(2)云端服务器为上述加密的数据文件和关键字索引分配存储空间,同时云端服务器以每一个关键字索引作为查询项,建立查询索引表,保存索引信息和签名信息,并建立链表保存与每一个关键字索引关联的所有文件的地址,通过查询索引表的指针项连接链表和查询索引表;(3)数据拥有者通过安全信道为多个授权用户分配查询加密的数据文件所需的私钥,同时数据拥有者还生成对应授权用户的重加密密钥,并将所有重加密密钥组合形成的重加密密钥表使用安全信道发送给云端服务器,在查询过程中,授权用户用自己的私钥形成查询门限发送给云端服务器;(4)云端服务器根据查询索引表对查询门限进行查询,找出符合授权用户查询的文件组和签名信息,并返回给授权用户;(5)授权用户接收到关键字的签名信息和文件组后,用数据拥有者的签名公钥和同态哈希函数解出签名中的摘要,然后从加密文件组中解出文件,然后验证此解出文件和查询的关键字是否与摘要一致,如果一致,则表示文件组文件完整且查询结果完备,否则表示文件不完整,查询结果不完备;所述文件组文件完整表示数据文件没有被修改或替换,所述查询结果完备表示查询结果包括了所有索引含该关键字的数据文件。...

【技术特征摘要】
1.可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,包括步骤:(1)数据拥有者对数据文件进行加密,同时从上传的数据文件中提取多个关键字进行加密以形成用于查询的关键字索引;同时对提取的每一个关键字,利用同态哈希函数生成关键字摘要,在本地建立一张关键字摘要表;数据拥有者生成用于对数据签名的签名公钥和签名私钥,在外包数据之前,用其签名私钥对每个关键字摘要进行签名,最后将加密的数据文件、关键字索引和签名发送给云端服务器;对于第i个关键字Wi,利用同态哈希函数生成关键字摘要的公式是:HMAC(Wi)=Hr(Z(M1)×f(Wi)+Z(M2)×f(Wi)+……+Z(Mi)×f(Wi));其中f(·):{0,1}*→{0,1}n是安全的单向哈希函数,Hr(·)是同态哈希函数,Z(·)是用于压缩的哈希函数,M1,M2,…Mi的数据文件;(2)云端服务器为上述加密的数据文件和关键字索引分配存储空间,同时云端服务器以每一个关键字索引作为查询项,建立查询索引表,保存索引信息和签名信息,并建立链表保存与每一个关键字索引关联的所有文件的地址,通过查询索引表的指针项连接链表和查询索引表;(3)数据拥有者通过安全信道为多个授权用户分配查询加密的数据文件所需的私钥,同时数据拥有者还生成对应授权用户的重加密密钥,并将所有重加密密钥组合形成的重加密密钥表使用安全信道发送给云端服务器,在查询过程中,授权用户用自己的私钥形成查询门限发送给云端服务器;(4)云端服务器根据查询索引表对查询门限进行查询,找出符合授权用户查询的文件组和签名信息,并返回给授权用户;(5)授权用户接收到关键字的签名信息和文件组后,用数据拥有者的签名公钥和同态哈希函数解出签名中的摘要,然后从加密文件组中解出文件,然后验证此解出文件和查询的关键字是否与摘要一致,如果一致,则表示文件组文件完整且查询结果完备,否则表示文件不完整,查询结果不完备;所述文件组文件完整表示数据文件没有被修改或替换,所述查询结果完备表示查询结果包括了所有索引含该关键字的数据文件。2.根据权利要求1所述的可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,所述步骤(1)中,对每个数据文件M,数据拥有者使用对称密钥k进行加密,加密文件表示为Ek(M),其中Ek(·)是用于加密文件的对称加密算法;对于第i个关键字Wi,关键字索引为INDEX(Wi)=H2(t),其中设G1、G2都是阶为素数p的乘法群,其中g是乘法群G1的生成元,定义双线性映射e:G1×G1→G2,e(g,g)是乘法群G2的生成元,设H1(·):{0,1}*→G1,H2(·):G2→{0,1}logp,为数据拥有者为加密关键字索引采用的私钥,为云端服务器的公钥,为云端服务器的私钥。3.根据权利要求1所述的可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,所述步骤(1)中,所述数据拥有者生成用于对数据签名的签名公钥PK′DO和签名私钥SK′DO,在外包数据之前,数据拥有者用其签名私钥SK′DO对每个关键字摘要HMAC(Wi)进行签名,即得到E′sk(·)是用于签名的公钥加密算法。4.根据权利要求1所述的可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,所述步骤(3)中,数据拥有者选择作为其加密关键字索引的私钥,并计算公钥然后随机选择将SKUi分配给授权用户Ui作为其生成加密关键字查询门限的私钥,Ui为授权用户的身份号,生成该授权用户的重加密密钥最后将各个授权用户身份号与其重加密密钥一一对应的重加密密钥表发送到云端服务器。5.根据权利要求4所述的可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,所述步骤(3)中,在查询过程中,授权用户用自己的私钥形成查询门限发送给云端服务器的步骤如下:授权用户Ui使用其密钥SKUi和要查询的关键字生成加密关键字查询门限其中Ui为该授权用户的身份号,授权用户把查询门限TW发送给云端服务器。6.根据权利要求5所述的可验证完整性和完备性的多用户云加密关键字搜索方法,其特征在于,所述步骤(4)中,云端服务器在接收到授权用户的查询门限后,通过查询重加密密钥表,...

【专利技术属性】
技术研发人员:王晓明李诗旸吴岱霓甘庆晴王耄周锐
申请(专利权)人:暨南大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1