无证书的可验证多关键字密文查询系统及方法技术方案

技术编号:18208444 阅读:37 留言:0更新日期:2018-06-13 08:11
本发明专利技术公开了一种无证书的可验证多关键字密文查询系统及方法,该系统主要包括三个模块:密钥生成模块,密文查询模块和可验证模块,在云存储背景下,该系统利用可搜索加密技术支持多关键字密文检索,快速定位到数据用户感兴趣的密文文档;同时利用无证书加密技术解决了证书管理和私钥托管的难题;并利用公共审计技术对查询结果进行正确性验证,保证了数据的完整性,本发明专利技术利用无证书加密技术让密钥生成中心根据数据用户身份信息生成部分私钥,数据用户根据部分私钥和秘密值生成完整的私钥,密钥生成中心无法得到数据用户私钥,不仅避免了证书管理的开销并且解决了私钥托管的难题。

【技术实现步骤摘要】
无证书的可验证多关键字密文查询系统及方法
本专利技术属于信息安全
,涉及无证书加密技术,公共审计技术和密文检索技术,具体涉及一种无证书的可验证多关键字密文查询系统及方法,可用于在云存储背景下设计实现无证书的可验证多关键字密文查询。
技术介绍
云计算由于其便捷的存储服务,灵活的收费方式等优点,使得越来越多的企业和个人将本地数据存储在云服务器上,来降低本地数据的存储负担和管理开销。然而,存储在云服务器上的明文数据脱离了数据拥有者的直接物理控制,可能会遭受到恶意攻击而带来严峻的安全隐患。将数据外包给云服务器前利用密码算法对数据进行加密的方式虽然可以保护数据不被泄露及窥探,但是传统的明文检索技术无法应用在密文上,当数据用户想要获取感兴趣的文档时,将密文全部下载至本地再解密的方法会浪费大量的计算资源与带宽资源。可搜索加密技术的提出让数据用户可以进行密文关键字检索,快速定位到感兴趣的文档,解决了存储在云中数据的保密性和搜索功能性之间的矛盾。进一步地,由于单关键字检索会返回大量不相关的搜索结果而浪费带宽资源,因此,支持多关键字的可搜索加密技术成为了研究的热点。现有的基于证书的可搜索加密技术,尽管可以保证公钥的真实性和有效性,但是公钥证书库的管理和维护会带来较大的开销。为克服这一问题,基于身份的可搜索加密技术利用身份信息进行验证,从而避免了对证书的使用,却不可避免地带来了私钥托管的难题,不诚实的密钥生成中心知道任何数据用户的私钥,会带来巨大的安全隐患。为解决该问题,无证书可搜索加密技术让密钥生成中心根据数据用户身份信息生成部分私钥,数据用户根据部分私钥和秘密值生成完整的私钥,密钥生成中心无法得到数据用户私钥,因此,无证书可搜索加密技术避免了证书管理的开销并且解决了私钥托管的难题。大量的无证书的可搜索加密技术假定云服务器是诚实而好奇的,其诚实地执行既定协议,但又会好奇地获取敏感信息。但在现实中,云服务器有时候是不可信的,当数据用户进行密文关键字检索时,不可信的云服务器可能会为了节省计算和带宽资源而执行部分操作并返回部分错误搜索结果。因此,对密文检索的结果进行正确性验证是不可少的。因此,如何在云存储背景下设计实现无证书的可验证多关键字密文查询系统成为了急需解决的关键问题。
技术实现思路
针对现有技术存在的不足,本专利技术的目的是提供一种无证书的可验证多关键字密文查询系统及方法,利用可搜索加密技术支持多关键字密文检索,快速定位到数据用户感兴趣的密文文档;同时利用无证书加密技术解决了证书管理和私钥托管的难题;并利用公共审计技术对查询结果进行正确性验证,保证了数据的完整性。为了实现上述目的,本专利技术采用的技术方案是,无证书的可验证多关键字密文查询方法,包括以下步骤:步骤一:密钥生成模块进行初始化生成公共参数,主密钥,文档公钥和文档私钥;接着,密钥生成模块为数据拥有者生成数据拥有者部分私钥,数据拥有者根据数据拥有者部分公钥,在本地生成数据拥有者最终私钥和数据拥有者最终公钥,接着,密钥生成模块为数据用户输出数据用户部分私钥,数据用户根据数据用户部分私钥,在本地生成数据用户最终私钥和生成数据用户最终公钥;步骤二:数据拥有者调用密文查询模块,密文查询模块利用文档公钥对明文文档进行加密得到密文文档,根据关键字集对密文文档建立索引,并利用签名技术为文档集生成相对应的签名集,数据用户调用密文查询模块,密文查询模块进行密文检索得到查询结果;步骤三:密文查询模块调用可验证模块,可验证模块对查询结果的正确性进行验证,并将验证的结果返回给数据用户;步骤四:数据用户利用文档私钥解密查询结果得到明文文档。进一步的,所述步骤一包括以下步骤:第一步:密钥生成中心根据安全参数k生成公共参数pm,主密钥msk,文档公钥PKf和文档私钥SKf;第二步:密钥生成中心根据给定的数据拥有者身份信息IDo,为每个数据拥有者生成数据拥有者部分私钥psko,并将数据拥有者部分私钥psko返回给相应的数据拥有者;第三步:数据拥有者根据秘密值和数据拥有者部分私钥psko,生成数据拥有者最终私钥sko和数据拥有者最终公钥pko;第四步:密钥生成中心根据给定的数据用户的身份信息IDu,为每个数据用户生成数据用户部分私钥psku,并将数据用户部分私钥psku返回给数据用户;第五步:数据用户根据秘密值和数据用户部分私钥psku,生成数据用户最终私钥sku和数据用户最终公钥pku。进一步的,所述步骤二包括以下步骤:第一步:数据拥有者调用密文查询模块,给定明文文档集F={f1,f2,…fd},密文查询模块根据RSA公钥加密算法利用公钥PKf将明文文档集F加密成密文文档集C={c1,c2,…cd};给定关键字集W,数据拥有者生成索引集I;并利用签名技术为文档集生成对应的签名集δ={δ1,δ2,…δd}。其中fd表示第d个明文文档,cd表示第d个密文文档,δd表示第d个文档签名;第二步:数据拥有者将索引集I,密文文档集C和签名集δ发送给云服务器,并将数据拥有者的身份信息IDo发送给审计中心;第三步:数据用户调用密文查询模块,密文查询模块根据查询关键字集W'生成陷门Tw',并将陷门Tw'发送给云服务器;第四步:云服务器将陷门Tw'和索引集I进行匹配,得到匹配成功的返回密文集C'和相应的文档身份集id'。进一步的,所述步骤三包括以下步骤:第一步:密文检索模块调用可验证模块,密文检索模块将返回密文集C'={c'1,c'2,…,c'q}和相应的文档身份集id'发送给审计中心。其中c'q表示第q个返回密文文档;第二步:审计中心根据返回密文集C'和相应的文档身份集id'生成挑战信息并发送给云服务器;第三步:云服务器生成应答信息并返回给审计中心;第四步:审计中心验证应答信息是否合法,如果合法,则返回“1”,表示返回结果是正确的,最终将返回密文集C'返回给数据用户;否则返回“0”,表示返回结果是不正确的,终止操作。本专利技术还提供了一种无证书的可验证多关键字密文查询系统,该系统具体包括三个模块:密钥生成模块,密文查询模块和可验证模块,其中:密钥生成模块用于进行初始化生成公共参数,主密钥,文档公钥和文档私钥,密钥生成模块为数据拥有者生成数据拥有者部分私钥,密钥生成模块为数据用户输出数据用户部分私钥;密文查询模块用于利用文档公钥对明文文档进行加密得到密文文档,根据关键字集对密文文档建立索引,并利用签名技术为文档集生成相对应的签名集,密文查询模块用于进行密文检索得到查询结果;可验证模块用于接受密文查询模块的调用,对查询结果的正确性进行验证,并将验证的结果返回给数据用户。与现有技术相比,本专利技术具有以下有益的技术效果,通过让密钥生成中心根据数据用户身份信息生成部分私钥,数据用户根据部分私钥和秘密值生成完整的私钥,密钥生成中心无法得到数据用户私钥,不仅避免了证书管理的开销并且解决了私钥托管的难题;通过对文档进行签名,数据用户可以对查询结果进行正确性验证,避免云服务器非法篡改密文数据,保障了数据的完整性;通过建立有效的密文索引设计可搜索加密方法,让数据用户可以生成有效的陷门进行多关键字密文检索,不仅提升了用户体验,而且解决了由于单关键字检索会返回大量不相关的搜索结果而浪费带宽资源的问题,在实际的场景中是高效可行的。附图说本文档来自技高网
...
无证书的可验证多关键字密文查询系统及方法

【技术保护点】
无证书的可验证多关键字密文查询方法,其特征在于,包括以下步骤:步骤一:密钥生成模块进行初始化生成公共参数,主密钥,文档公钥和文档私钥;接着,密钥生成模块为数据拥有者生成数据拥有者部分私钥,数据拥有者根据数据拥有者部分公钥,在本地生成数据拥有者最终私钥和数据拥有者最终公钥,接着,密钥生成模块为数据用户输出数据用户部分私钥,数据用户根据数据用户部分私钥,在本地生成数据用户最终私钥和生成数据用户最终公钥;步骤二:数据拥有者调用密文查询模块,密文查询模块利用文档公钥对明文文档进行加密得到密文文档,根据关键字集对密文文档建立索引,并利用签名技术为文档集生成相对应的签名集,数据用户调用密文查询模块,密文查询模块进行密文检索得到查询结果;步骤三:密文查询模块调用可验证模块,可验证模块对查询结果的正确性进行验证,并将验证的结果返回给数据用户;步骤四:数据用户利用文档私钥解密查询结果得到明文文档。

【技术特征摘要】
1.无证书的可验证多关键字密文查询方法,其特征在于,包括以下步骤:步骤一:密钥生成模块进行初始化生成公共参数,主密钥,文档公钥和文档私钥;接着,密钥生成模块为数据拥有者生成数据拥有者部分私钥,数据拥有者根据数据拥有者部分公钥,在本地生成数据拥有者最终私钥和数据拥有者最终公钥,接着,密钥生成模块为数据用户输出数据用户部分私钥,数据用户根据数据用户部分私钥,在本地生成数据用户最终私钥和生成数据用户最终公钥;步骤二:数据拥有者调用密文查询模块,密文查询模块利用文档公钥对明文文档进行加密得到密文文档,根据关键字集对密文文档建立索引,并利用签名技术为文档集生成相对应的签名集,数据用户调用密文查询模块,密文查询模块进行密文检索得到查询结果;步骤三:密文查询模块调用可验证模块,可验证模块对查询结果的正确性进行验证,并将验证的结果返回给数据用户;步骤四:数据用户利用文档私钥解密查询结果得到明文文档。2.根据权利要求1所述的无证书的可验证多关键字密文查询方法,其特征在于,所述步骤一包括以下步骤:第一步:密钥生成中心根据安全参数k生成公共参数pm,主密钥msk,文档公钥PKf和文档私钥SKf;第二步:密钥生成中心根据给定的数据拥有者身份信息IDo,为每个数据拥有者生成数据拥有者部分私钥psko,并将数据拥有者部分私钥psko返回给相应的数据拥有者;第三步:数据拥有者根据秘密值和数据拥有者部分私钥psko,生成数据拥有者最终私钥sko和数据拥有者最终公钥pko;第四步:密钥生成中心根据给定的数据用户的身份信息IDu,为每个数据用户生成数据用户部分私钥psku,并将数据用户部分私钥psku返回给数据用户;第五步:数据用户根据秘密值和数据用户部分私钥psku,生成数据用户最终私钥sku和数据用户最终公钥pku。3.根据权利要求1所述的无证书的可验证多关键字密文查询方法,其特征在于,所述步骤二包括以下步骤:第一步:数据拥有者调用密文查询模块,给定明文文档集F={f1,f2,…fd},密文查询模块根据RSA公钥加...

【专利技术属性】
技术研发人员:苗银宾马建峰伍祈应王祥宇
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1