本发明专利技术提供一种面向云存储的关键字密文检索方法。方法中包括数据拥有者、云服务器和数据使用者三个角色。数据拥有者将加密后的文档、标题、关键字和使用数据者验证证书等保存到云服务器中;云服务器负责存储并建立好加密的文档、标题和关键字之间的对应关系,存储数据使用者的验证证书等;数据使用者访问云服务器中密文时,需要获得数据拥有者颁发的授权证书,向云服务器提供关键字陷门等信息,云服务器根据关键字陷门等信息将用户所需要的密文发送给数据使用者;数据使用者利用密钥解密密文。该一种面向云存储的关键字密文检索方法和现有技术相比,具备较高安全性,能够有效地减轻通信、存储和计算负担,提高密文检索的精度和效率。
【技术实现步骤摘要】
一种面向云存储的关键字密文检索方法
本专利技术涉及计算机信息安全
,具体是利用一种面向云存储的关键字密文检索方法。
技术介绍
云计算可以在互联网中为用户提供更廉价的计算、存储和应用等服务。越来越多的企业、甚至是个人也愿意将数据存贮到云服务器中,并在需要的时候可以重新取回数据。但用户将数据存储到云环境后就失去了对数据的直接控制,又可能导致用户隐私数据的泄露和滥用,如Google、MediaMax等云服务商都发生过数据泄露或丢失用户数据的现象。存储在云环境中的数据面临着更大的安全问题,它不仅要防止网络黑客对数据的非法获取,还要防止云服务商或外包数据库服务提供商的窥探敏感数据的行为。在云存储环境中,由于数据存贮在不可靠或半可信的环境中,采用数据加密是保证数据安全的基本和有效的方法。但对数据加密的同时,也给数据的访问带来困难。由于云服务器是半可信的,数据的加密和解密只能在用户端完成,数据检索要消耗大量的时间用于数据传输和解密上,因此,研究高效、安全的密文存储与检索方法具有重要的现实意义。有很多学者针对密文存储安全性问题进行了深入地研究,取得了一些研究成果。已有的研究成果可以分为支持运算的加密技术和支持检索的加密技术。BonehD等首次提出了用公开密钥算法加密关键字检索方法PEKS,也是首个断言加密方法。方法的基本思想是Bob用Alice的公钥加密一个邮件发送给Alice。Boneh定义了一个陷门,使Alice的邮件网关能够测试出邮件中是否包含Alice指定的关键字,如果有Alice指定的关键字才会将邮件发送给Alice。在这个过程中,邮件网关是无法知道Alice指定的关键字,邮件网关也不能解密邮件。后来很多学者对Bonech方法的安全性进行了改进,Liu等提出了针对云环境下的密文检索方法EPPKS,该方法将密文检索部分计算移到云服务器中,减少了客户端的计算量。他们提出的方法都是基于双线性映射的加密方法,其语义安全性是建立在BDH(BilinearDiffie-Hellman)数学难题上。OhtakiY等提出了基于bloom过滤器的密文检索方法。但使用bloom过滤器进行密文检索时,尽管出现错误的概率很小,但不是绝对准确。同时,扩展性能也不太好。
技术实现思路
本专利技术的技术任务是解决现有技术的不足,提供一种面向云存储的关键字密文检索方法。本专利技术的技术方案是按以下方式实现的,一种面向云存储的关键字密文检索方法,其特征在于:其具体密文检索过程为:1)数据拥有者产生整个检索过程需要的初始化参数,使产生的参数确保检索的安全性:这个过程由数据拥有者DO完成,设有存储到云服务器中的文档有个,文档集合为M,文档标题集合为T,文档关键字集合为W,DO选用对称加密算法AES-256,并选择密钥,KDOM、KDOT和KDOW,分别用于加密文档Mi∈M,标题Ti∈T和关键字Wi∈W;DO选用公开密钥算法NTRU,构造NTRU算法所需要的参数,产生密钥对(SKDO1,PKDO1)和(SKDO2,PKDO2)用于构造关键字陷门和数据使用者身份验证;DO在方法中选用单项散列函数SHA-256算法,用H(·)表示;2)由数据拥有者将数据存储到云服务器上;在该过程中,假设[H]要将文档集合U存储到云服务器(S中,[H]为每个文档Mi∈M创建一个标题Ti∈T,i∈m;[H]用密钥KDOT加密H(Ti),得到CTj,用KDOM加密Mi得到CMj,分别用CTi=Enc(AES,KDOT,H(Ti)(1),CMi=Enc(AES,KDOM,Mi)表示;设DO从第i个文档和标题中取出n个关键字,Wij表示从第i个文档Mi和标题Ti中取出的第j个关键字,i∈m+,j∈n,Wij∈W,DO用密钥KDOW加密H(Wij),用CWij=Enc(AES,KDOW,H(Wij))表示:DO将DOCS={CWij,CTi,CMi,PKDO1,PKDO2}发送给CS,令CW为加密关键字集合,CT为加密标题集合,CW为加密文档集合,则CWij∈CW、CTi∈CT、CMi∈CM,这样就完成了关键字Wij,标题Ti,和文档Mi对应的检索关系,3)数据使用者向数据拥有者提出使用数据申请,经过数据拥有者的认证,分别将授权证书和验证证书发送给数据使用者和云服务器;假设有u个DU,每个DUv∈DU有自己的密钥对向DO发出使用数据请求信息DO收到后,给DUv分配唯一的IDv号,然后DO按照CIDv=SKDOv*γ+H(IDv)modq进行计算,其中的r是NTRU算法加密时作为临时眩值的多项式,q为多项式或整数,DUv的使用数据证书为DODUv={CIDv,KDOW,KDOT,KDOM,SKDO2,r,q}用表示:DO将EDODUv发送给DUv;DUv|收到EDODUv后,用解密EDODUv,还原出DODUv;DUv的验证证书为DOCSv={H(IDv),PKDOvp),其中ρ为整数DO将DOCSv发送给CS,v∈u;当需要提前解除DUv使用数据权限时,只需要将的验证证书改为DOCSv={error,PKDOvp};4)通过验证后,云服务器向合法的数据使用者提供数据,数据使用者完成数据检索过程;当DO需要使用数据时,DO的身份将自动转变成DU,假设DU向CS请求密文检索时输入n个关键字,用集合表示,根据每个关键字Wj∈W′,计算陷门TWj,j∈n,DU用密钥KDOW加密H(Wj),用CWj=Enc(AES,KDOW,H(Wj))表示:DU计算关键字陷门TWj=SKDO2*r+CWjmodq+DU向CS发送密文检索信息MSGDUCS={CIDv,TWj},j∈n,v∈u,其中CIDv是DU身份信息;CS收到MSGDUCS后,用H(IDv)=PKDO1*CIDv(modp),v∈u,对DU身份进行验证如果不成立,用户验证失败,CS将验证error消息发送给DU,拒绝用户数据查询请求,否则CS认为DU是合法用户,并进行检索判断,其中x为不定数,x∈z+,i∈m,如果判断失败,CS将检索fail消息发送给DU,如果判断成功,假设有t个满足条件,这就意味着在集合CT中有t个加密标题CTi∈CT满足检索条件,i∈m;设满足检索条件的加密标题集合为将CT′发送给[H],设T′为满足检索条件的标题集合,DU用密钥KDOT解密还原出Ti,即;Ti=Dec(AES,KDOT,CTi),i∈m,DU从T′中找出自己所需要的标题Ti后,用密钥KDOT加密H(Ti)得到CTi,用CTi=Enc(AES,KDOT,H(Ti))表示,DU计算标题陷门TCTi=SKDO2*r+CTimodq,DU向CS发送密文检索信息MSGDUCS={CIDv,TCTi},CS收到MSGDUCS后,按照H(IDv)=PKDO1*CIDv(modp)对DU身份进行验证,其中v∈u如果验证没有通过,CS将error消息否则CS认为DU是合法用户,并计算CTi=PKDO2*TCTi(modp),CS根据CTi将CMi发送给DU,DU用密钥KDOM解密CMi,还原出Mi,检索完成。所述步骤2)的数据存储过程为:a、数据拥有者负责加密数据,并将加密后的数据保存到云服务器中,这里的数据是指文档、标题、关键字;b、云服务器负责存储并建本文档来自技高网...

【技术保护点】
一种面向云存储的关键字密文检索方法,其特征在于:数据拥有者、数据使用者和云服务器,其具体密文检索过程为:1)数据拥有者产生整个检索过程需要的初始化参数,使产生的参数确保检索的安全性;2)由数据拥有者将数据存储到云服务器上;3)数据使用者向数据拥有者提出使用数据申请,经过数据拥有者的认证,分别将授权证书和验证证书发送给数据使用者和云服务器;4)通过验证后,云服务器向合法的数据使用者提供数据,数据使用者完成数据检索过程。
【技术特征摘要】
1.一种面向云存储的关键字密文检索方法,其特征在于:其具体密文检索过程为:1)数据拥有者产生整个检索过程需要的初始化参数,使产生的参数确保检索的安全性:这个过程由数据拥有者DO完成,设有存储到云服务器中的文档有m个,文档集合为M,文档标题集合为T,文档关键字集合为W;DO选用对称加密算法AES-256,并选择密钥,KDOM、KDOT和KDOW,分别用于加密文档Mi∈M、标题Ti∈T和关键字Wi∈W;DO选用公开密钥算法NTRU,构造NTRU算法所需要的参数,产生密钥对(SKDO1、PKDO1)和(SKDO2、PKDO2)用于构造关键字陷门和数据使用者身份验证,DO在方法中选用单项散列函数SHA-256算法,用H(·)表示,2)由数据拥有者将数据存储到云服务器上;在该过程中,假设DO要将文档集合U存储到云服务器CS中,DO为每个文档Mi∈M创建一个标题Ti∈T,i∈m;DO用密钥KDOT加密H(Ti),得到CTi,用KDOM加密Mi得到CMj,分别用CTi=Enc(AES,KDOT,H(Ti))(1),CMi=Enc(AES,KDOM,Mi)表示:设DO从第i个文档和标题中取出n个关键字,Wij表示从第i个文档Mi和标题Ti中取出的第j个关键字,i∈m:j∈n,Wij∈W,DO用密钥KDOW加密H(Wij),用CWij=Enc(AES,KDOW,H(Wij))表示;DO将DOCS={CWij,CTi,CMi,PKDO1,PKDO2}发送给CS,令CW为加密关键字集合,CT为加密标题集合,CW为加密文档集合,则CWij∈CW、CTi∈CT、CMi∈CM,这样成完成了关键字Wij,标题Ti和文档Mi对应的检索关系,3)数据使用者向数据拥有者提出使用数据申请,经过数据拥有者的认证,分别将授权证书和验证证书发送给数据使用者和云服务器;假设有u个DU,每个DUv∈DU有自己的密钥对向DO发出使用数据请求信息DO收到DUv后,给DUv分配唯一的IDv号,然后DO按照CIDv=SKDOv*r+H(IDv)modq进行计算,其中的r是NTRU算法加密时作为临时眩值的多项式,q为多项式或整数,DUv的使用数据证书为DODUv={CIDv,KDOW,KDOT,KDOM,SKDO2,r,q}DO用密钥PKDUv加密DODUv用EDODUv=En...
【专利技术属性】
技术研发人员:步山岳,杨荣根,张粤,钮冰清,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。