云存储系统中的密文搜索方法技术方案

技术编号:18403514 阅读:45 留言:0更新日期:2018-07-08 21:58
本发明专利技术公开一种云存储系统中的密文搜索方法,包括:接收并存储数据拥有者发送的关键字的密文;接收数据使用者发送的检索关键字用的陷门;以及对陷门和密文进行匹配,获得搜索结果;其中,所述密文基于所述数据拥有者的私钥生成,所述陷门基于所述数据使用者的私钥生成,所述数据拥有者的私钥包括数据拥有者利用密钥生成中心生成的部分私钥和数据拥有者自己生成的私密值,所述数据使用者的私钥包括数据使用者利用密钥生成中心生成的部分私钥和数据使用者自己生成的私密值。本发明专利技术可以无证书公钥加密方式解决云存储系统中密文的可搜索性问题和关键字的安全性问题。

A ciphertext search method in cloud storage system

The present invention discloses a ciphertext search method in a cloud storage system, including: receiving and storing a ciphertext sent by a data owner; receiving a trapdoor for a retrieval keyword sent by a data user; and matching a trap and ciphertext to obtain a search result; in this, the ciphertext is based on the data described. The private key of the data owner is generated by the private key of the data user. The private key of the data owner includes the private key generated by the data owner using the key generation center and the private value generated by the data owner itself. The private key of the data user includes the data user using the key generation center to generate the center. The private values generated by some private keys and data users themselves. The invention can solve the problem of searchability and security of ciphertext in cloud storage system by certificateless public key encryption.

【技术实现步骤摘要】
云存储系统中的密文搜索方法
本专利技术涉及云存储技术,尤其涉及云存储系统中的密文搜索。
技术介绍
随着互联网的发展,云存储与云计算凭借远程存取服务、低成本、数据的高可靠性、存储空间易于扩展等优点备受用户青睐,在日常生活中变得越来越重要,个人和企业也越来越多的将自己的数据存储在了云端。然而,由于云端的数据管理脱离了用户的监管,很多敏感信息容易被泄露,云存储中数据的安全性也越来越受到云服务供应商和用户的关注。为了防止自己的隐私数据泄露,数据拥有者通常会先将隐私数据加密,然后再存储在云端,但是这会带来另一个问题,那就是当用户需要检索一个密文文件时,由于云服务器没有用户的密钥,只能对用户密文的文件名进行检索,这种方法缺乏对密文的关键字进行保护,在一定程度上也泄露了用户数据的一些信息。因此,云存储中密文的可搜索性和安全性问题已经成为一个急需解决的问题。对国内外现有的云存储系统进行调研分析可知,百度云使用明文存储,没有相关的加密模式,但支持用户使用第三方软件加密数据再上传到云端。百度云是使用明文进行存储,用户的明文数据在存储过程中容易受到攻击,因此,这种存储模式的安全性一般。而如果用户想保护自己的数据,则需要用户自己使用第三方软件进行加密然后再上传到云,这种加密模型的安全性是比较高的,但是云服务器检索用户的密文时却只能检索密文的文件名,并且用户密文的文件名也在一定程度上泄露了密文的相关信息。另外,如果用户想和别的用户共享密文时,必须告诉对方密文的解密密钥。这个过程中隐含着两个问题,第一个问题就是如果数据拥有者对不同的密文使用不同的密钥进行加密,那么数据拥有者需要记住大量的密钥,因此,这种方式很不方便,也不是用户期望的。而如果数据拥有者使用某一个密钥加密很多数据,则又可能会导致告诉别人某个密文的解密密钥之后,使用同一个密钥加密的数据可能会遭到泄漏。因此该方法还不是一个既能满足安全性又能满足用户功能需求的云存储加密方法。亚马逊云存储服务(AmazonS3)使用HTTPS来加密传输数据,并在云端对数据进行加密存储,安全性比百度云要好一些,可以防止外部攻击者的攻击。但由于它使用的SSE-S3、SSE-KMS和SSE-C三种加密方法中,数据加密和解密的密钥总会被云服务器获取,因此,这样的加密方式只能防止外部攻击者的攻击,不能防止云内部的攻击。另外,在密文搜索方面,总是先解密再搜索,在效率上也有一定的影响,尤其是在大量的数据和大文件的情况下,解密需要花费一定的时间,所以这种方式在安全性和效率上还有一定的提升空间。综上所述,百度云使用明文存储,安全性一般,如果要对数据进行加密再上传到云端,则只能支持对密文的文件名进行检索,而且这种方式也会泄漏密文的一些信息。亚马逊云存储服务虽然使用密文存储,支持对密文进行关键字检索,但加密和解密的密钥总会被云端获取,因此,仍然不能抵抗云内部的攻击。也就是说,这两种云存储方法均存在数据的安全性问题。针对密文的可搜索性问题和安全性问题,Song等人提出了第一个实用的对称式可搜索加密方法(Symmetricsearchableencryption,SSE),但该类方法却只能适用于单用户环境,不适合云存储环境。之后,Boneh等人提出了第一个可搜索公钥加密方法(publickeyencryptionwithkeywordsearch,PEKS),该方法可以用于多用户环境中,因此可以用于云存储环境中。PEKS方法可以让用户快速的检索出自己想要的密文,增强了公钥加密的实用性,创立了一个新的研究方向。PEKS方法虽然解决了密文的可搜索性问题,但Byun等人[3]对PEKS方法进行了攻击,指出PEKS方法会遭受离线关键字猜测攻击(off-linekeywordguessingattack,KG攻击),关键字信息仍然会遭到泄漏。之后,Rhee等人提出了指定服务器的可搜索公钥加密方案(SearchablePublic-KeyEncryptionSchemewithaDesignatedTester,dPEKS),该方案可以抵抗外部攻击者的KG攻击,但仍然不能抵抗服务器的KG攻击。由于无证书公钥加密系统继承了传统公钥加密系统的数据机密性和基于身份公钥加密系统不需要管理证书的优点,具有更好的安全性和实用性,Peng等人把可搜索加密和无证书加密系统相结合,提出了基于无证书的可搜索加密方法(Certificatelesspublickeyencryptionwithkeywordsearch,CLPEKS),充分发挥了无证书加密系统的优点,使得CLPEKS方法实用性更强、安全性更高。然而,不久之后,Wu等人指出Peng等人的CLPEKS方法同样遭受KG攻击问题。后来,很多学者对CLPEKS进行了改进,但到目前为止,没有发现可以抵抗KG攻击的CLPEKS方法。
技术实现思路
本专利技术提供一种云存储系统中的密文搜索方法,包括:接收并存储数据拥有者发送的关键字的密文;接收数据使用者发送的检索关键字用的陷门;以及对所述陷门和密文进行匹配,获得搜索结果;其中,所述密文基于所述数据拥有者的私钥生成,所述陷门基于所述数据使用者的私钥生成,所述数据拥有者的私钥包括数据拥有者利用密钥生成中心生成的部分私钥和数据拥有者自己生成的私密值,所述数据使用者的私钥包括数据使用者利用密钥生成中心生成的部分私钥和数据使用者自己生成的私密值。对所述陷门和密文进行匹配的过程中,需要使用云服务器的私钥。利用数据拥有者的私钥、数据使用者公钥、数据使用者标识及云服务器标识生成所述关键字的密文。利用数据拥有者公钥、数据使用者私钥及云服务器公钥生成所述关键字的陷门。数据使用者部分私钥、数据拥有者部分私钥及云服务器部分私钥分别基于数据使用者标识、数据拥有者标识及云服务器标识生成;数据使用者私钥基于数据使用者的部分私钥和数据使用者的私密值生成,数据拥有者私钥基于数据拥有者的部分私钥和数据拥有者的私密值生成,云服务器私钥基于云服务器部分私钥和云服务器的私密值生成;数据使用者公钥、数据拥有者公钥及云服务器公钥基于所述密钥生成中心生成的公开参数和分别对应于数据使用者、数据拥有者及云服务器的私密值生成。利用以下公式生成数据拥有者的私钥SKO、部分私钥DO和公钥PKO:DO=s·QO,SKO={xO,DO},PKO=xOP2;利用以下公式生成数据使用者的私钥SKU、部分私钥DU和公钥PKU:DU=s·QU,SKU={xU,DU},PKU=xUP2;利用以下公式生成云服务器的私钥SKS、部分私钥DS和公钥PKS:DS=s·QS,SKS={xS,DS},PKS=xS·P1;其中,xS、xO、xU分别为云服务器、数据拥有者、数据使用者的私密值,P1和P2为生成元,P1,P2∈G1;其中,QS=H1(IDS),QU=H1(IDU),QO=H1(IDO),IDS、IDU、IDO分别为云服务器标识、数据使用者标识及数据拥有者标识。利用以下公式生成关键字w的密文Cw={C1,C2,C3}:C1=rP1,C2=rP2,其中,r为随机数,xO为数据拥有者的私密值,P1和P2为生成元,P1,P2∈G1,PKU为数据使用者公钥,IDU为数据使用者标识,IDS为云服务器标识。利用以下公式生成检索关键本文档来自技高网
...

【技术保护点】
1.一种云存储系统中的密文搜索方法,包括:接收并存储数据拥有者发送的关键字的密文;接收数据使用者发送的检索关键字用的陷门;以及对所述陷门和密文进行匹配,获得搜索结果;其中,所述密文基于所述数据拥有者的私钥生成,所述陷门基于所述数据使用者的私钥生成,所述数据拥有者的私钥包括数据拥有者利用密钥生成中心生成的部分私钥和数据拥有者自己生成的私密值,所述数据使用者的私钥包括数据使用者利用密钥生成中心生成的部分私钥和数据使用者自己生成的私密值。

【技术特征摘要】
1.一种云存储系统中的密文搜索方法,包括:接收并存储数据拥有者发送的关键字的密文;接收数据使用者发送的检索关键字用的陷门;以及对所述陷门和密文进行匹配,获得搜索结果;其中,所述密文基于所述数据拥有者的私钥生成,所述陷门基于所述数据使用者的私钥生成,所述数据拥有者的私钥包括数据拥有者利用密钥生成中心生成的部分私钥和数据拥有者自己生成的私密值,所述数据使用者的私钥包括数据使用者利用密钥生成中心生成的部分私钥和数据使用者自己生成的私密值。2.如权利要求1所述的方法,其特征在于,对所述陷门和密文进行匹配的过程中利用云服务器的私钥。3.如权利要求2所述的方法,其特征在于,利用数据拥有者的私钥、数据使用者公钥、数据使用者标识及云服务器标识生成所述关键字的密文。4.如权利要求3所述的方法,其特征在于,利用数据拥有者公钥、数据使用者私钥及云服务器公钥生成所述关键字的陷门。5.如权利要求4所述的方法,其特征在于:数据使用者部分私钥、数据拥有者部分私钥及云服务器部分私钥分别基于数据使用者标识、数据拥有者标识及云服务器标识生成;数据使用者私钥基于数据使用者的部分私钥和数据使用者的私密值生成;数据拥有者私钥基于数据拥有者的部分私钥和数据拥有者的私密值生成,云服务器私钥基于云服务器的部分私钥和云服务器的私密值生成;所述数据使用者公钥、数据拥有者公钥及云服务器公钥基于所述密钥生成中心生成的公开参数和分别对应于数据使用者、数据拥有者及云服务器的私密值生成。6.如权利要求5所述的方法,其特征在于:利用以下公式生成数据拥有者的私钥SKO、部分私钥DO和公钥PKO:DO=s·QO,SKO={xO,DO},PKO=x...

【专利技术属性】
技术研发人员:陈建铭吴祖扬孟超王景行
申请(专利权)人:哈尔滨工业大学深圳研究生院
类型:发明
国别省市:广东,44

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

1