CN108055122B - 可验证的防内存泄露动态可搜索加密方法、云服务器 - Google Patents
可验证的防内存泄露动态可搜索加密方法、云服务器 Download PDFInfo
- Publication number
- CN108055122B CN108055122B CN201711146556.1A CN201711146556A CN108055122B CN 108055122 B CN108055122 B CN 108055122B CN 201711146556 A CN201711146556 A CN 201711146556A CN 108055122 B CN108055122 B CN 108055122B
- Authority
- CN
- China
- Prior art keywords
- data owner
- key
- vht
- node
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于云计算技术领域,公开了一种可验证的防内存泄露动态可搜索加密方法、云服务器,包括:数据拥有者,用于建立索引和加密文件集,并将索引和加密文件集外包给云服务器,同时向云服务器提交关键词陷门搜索相关文件,并对返回的搜索结果进行验证;数据拥有者也可以对加密文件集进行更新;云服务器,用于存储加密文件集和索引,根据陷门在索引上搜索,返回相应的结果和证据,并根据数据拥有者的更新操作更新相应的证据。本发明提出了第一个同时实现防内存信息泄露和可验证的动态对称可搜索加密方案,保证了密钥的安全性、搜索结果的正确性和完整性;解决了物理不可克隆函数密钥产生不稳定的问题,建立了一个更可靠的密钥产生机制。
Description
技术领域
本发明属于云计算技术领域,尤其涉及一种可验证的防内存泄露动态可搜索加密方法、云服务器。
背景技术
在信息化时代,互联网上汇聚的资源越来越多。为了高效的管理和利用互联网资源,云计算作为一种可扩展的和高吞吐量的计算范式出现在人们的视线中。云计算可以提供强大的数据存储能力,越来越多的个人和公司愿意将数据外包给云服务器。云外包存储服务可以减少数据拥有者巨大的本地数据管理开销。然而,数据外包也会不可避免的带来一些数据安全与隐私问题。因此,数据拥有者通常将数据加密后外包,但这带来了如何在密文上进行关键字检索的问题。为了解决这种困境,现有技术可搜索加密(searchableencryption,SE)允许客户端将文件集以密文的形式外包给云服务器,同时客户端仍然保有关键字检索的能力。根据使用的加密算法,可搜索加密可以分为对称可搜索加密(searchable symmetric encryption,SSE)和公钥加密关键字搜索(public keyencryption with keyword search,PEKS)。与SSE相比,现有技术的PEKS可以实现更丰富的查询功能,但在处理大量数据时比SSE要低效。由于云环境中处理的数据量巨大,相比PEKS,SSE更适合用来构建云计算应用。SSE的安全性包含两方面:一是索引和搜索陷门可能泄露一些不应该暴露给云服务器的敏感信息;二是一个恶意服务器可能会因为利益原因返回不正确的搜索结果。一个安全的SSE方案应该拥有安全的索引和陷门构造,且面对恶意服务器时,客户端有能力验证搜索结果的正确性和完整性。关于构建安全的SSE方案研究现在已经有许多,但目前存在一些快速有效的物理攻击,如侧信道攻击,可以轻松的获取用户存储在非易失性内存中的秘密信息,使得现有绝大多数SSE方案中的索引与陷门不再安全。现有技术中唯一的防内存泄露的动态SSE方案是由Dai[Dai S,Li H,Zhang F.Memory Leakage-resilient Searchable Symmetric Encryption[J].Future Generation ComputerSystems,2016,62:76-84]提出的,该方案通过用物理不可克隆函数(physicallyunclonablefunctions,PUFs)代替存储在非易失性内存中的长期信息来抵抗内存攻击;但该方案假设云服务器是诚实且好奇的,也就是没有考虑恶意服务器的情况,客户端不具有验证搜索结果的能力。
综上所述,现有技术存在的问题是:现有的对称可搜索加密方法无法同时抵抗内存攻击和恶意服务器,具体表现为以下两方面:其一,现存的针对恶意服务器的可验证的对称可搜索加密方法都是简单的假设密钥存储在非易失性内存中,一旦攻击者利用侧信道攻击等方法获取内存中的密钥,这些可验证的对称可搜索加密方法的验证都将失效;其二,现存的抵抗内存攻击的对称可搜索加密方法无法对搜索结果进行验证。
发明内容
针对现有技术存在的问题,本发明提供了一种可验证的防内存泄露动态可搜索加密方法、云服务器。
本发明是这样实现的,一种可验证的防内存泄露动态可搜索加密方法,所述可验证的防内存泄露动态可搜索加密方法通过结合物理不可克隆函数与秘密分享技术来构建分享,使用密钥时利用分享恢复密钥,而不在非易失性内存中存储任何秘密信息,从而达到抵御内存攻击的目的;一种结合Merkle哈希树和二叉搜索树特点的二叉树VHT被用来构建安全的索引,对文件集的更新就是对VHT上节点的更新;对VHT根节点的哈希值和计数器进行MAC计算,在索引上的搜索路径和MAC值会作为证据返回给数据拥有者,数据拥有者通过搜索路径重新计算VHT根节点值,并与本地保存的计数器进行MAC计算,然后与返回的MAC比较,若相同,则验证通过,否则验证失败;云服务器需要对本地保存的计数器进行签名,确保计数器的有效性。
其中,在VHT上的每一个节点N都是一个元组(nkey,v,cl,cr,hN),其中nkey表示节点N的键(key),v表示节点N的值(value),cl和cr分别表示节点N的左右孩子节点,hN表示节点N的哈希值,定义为节点N的键大于左子树上所有节点的键,小于右子树上所有的键。
进一步,所述可验证的防内存泄露动态可搜索加密方法使用防碰撞的哈希函数和PCPA-安全的对称加密算法E1=(Enc1,Dec1)和E2=(Enc2,Dec2),其中 伪随机置换消息认证码和一个安全的签名方案SIGN,如BLS短签名,其中d表示字典中包含的关键字数。
进一步,所述可验证的防内存泄露动态可搜索加密方法包括以下六个算法:
KeyGen(1λ):输入安全变量λ,产生密钥K;数据拥有者随机选择t个(n1,d1,m1)-PUF,一个n1比特字符串s和一个秘密信息a0;
TrapGen(w,K,PP):给定一个查询关键字w∈Δ,Δ为包含所有可能关键字的字典,数据拥有者运行该算法产生一个w的陷门;
Verify(R(w),τ,K,PP,σ):数据拥有者运行验证算法验证搜索结果的有效性;当证据τ通过验证时,数据拥有者接受搜索结果R(w),否则拒绝;
Update(op,K,PP):op={upd,c,W′}表示更新操作,其中upd表示更新类型,c表示更新的文件,W′表示更新的关键字集;根据op,数据拥有者分别进行不同的更新操作。
计算:
ri=PUFi(s),(zi,hdi)←FE.Gen(ri),i∈[1,t];
f(x)=a0+a1x+…+ak-2xk-2+ak-1xk-1modp;
其中a1,…,ak-1是从[0,p)里均匀随机选取的整数;数据拥有者计算分享:
输出公共参数PP={f1,…,ft,hd1,…,hdt,s,p}和密钥K={PUF1,…,PUFt}。
结合相应的分享恢复多项式f(x)并计算出a0=f(0)。构造索引对每一个关键字j∈[1,m],数据拥有者建立和其中表示文件集中包含关键字wj的标识符集合,表示关键字wj的字典序;将转化为一个l比特长字符串Vw,l>n;对于i∈[1,l],当且仅当时,同时,数据拥有者计算:
用hroot表示VHT根节点的哈希值。数据拥有者设置计数器T=1,并计算:
设置ci拥有和DBi一样的标识符,数据拥有者将T和用户标签ID发送给云服务器,云服务器计算签名δ=SIGN(T‖ID),并返回给数据拥有者。最后,该算法输出 和σ={T,δ}。数据拥有者外包和给云服务器,本地保存σ。
进一步,所述TrapGen(w,K,PP)中,数据拥有者需要恢复a0并计算:
进一步,所述的中,云服务器在索引上搜索键等于TKw的节点,若找到这样的节点N',设R(w)←(N',N');否则设键大于TKw的节点中的最小的为Nbig,键小于TKw的节点中的最大的为Nsmall,R(w)←(Nbig,Nsmall);将搜索路径记为证据τ,返回给数据拥有者R(w)和τ。
进一步,所述Verify(R(w),τ,K,PP,σ)中,数据拥有者从密钥K中恢复a0并检验:
两个等式成立,数据拥有者就接受R(w)并继续接下来的验证,否则输出⊥;
如果接受的R(w)是一样的节点组成,数据拥有者计算:
进一步,所述Update(op,K,PP)根据op,数据拥有者进行:
修改:op={modify,ci,W′},数据拥有者想将ci修改成ci′,对于每一个关键字wj∈W′,数据拥有者产生相应的陷门并获取搜索结果R(wj);R(wj)通过验证数据拥有者从R(wj)中恢复并设加密为以替换每一个关键字wj都更新后,设T←T+1,计算新的根节点哈希值hroot′以及发送(ci′,hroot′,β′,T,ID)和给云服务器;云服务设置hroot←hroot′,β←β′,ci←ci′,用更新VHT并计算δ′=SIGN(T‖ID);云服务器将δ′发送给数据拥有者,如果δ′是有效的,则数据拥有者设置δ←δ′;
添加:op={add,cn+1,W′},数据拥有者添加一个新文件cn+1,对于每一个新关键字wj∈W′,数据拥有者产生相应的陷门获取搜索结果R(wj),并验证数据拥有者在搜索路径的最后一个节点上创建一个孩子节点每一个关键字wj都更新后,设T←T+1,计算新的根节点哈希值hroot′以及发送(cn+1,hroot′,β′,T,ID)和给云服务器;云服务设置hroot←hroot′,β←β′,插入cn+1,用更新VHT并计算δ′=SIGN(T‖ID);云服务器将δ′发送给数据拥有者,如果δ′是有效的,则数据拥有者设置δ←δ′。
本发明的另一目的在于提供一种应用所述可验证的防内存泄露动态可搜索加密方法的云服务器。
本发明基于物理不可克隆函数和可验证哈希表VHT,是第一个同时实现抵抗内存攻击和搜索结果可验证的对称可搜索加密方案。为了实现抵抗内存攻击,本发明不在非易失性内存中存储任何秘密信息,而是利用物理不可克隆函数的输出实时的产生密钥。由于物理不可克隆函数仅能通过物理系统实现,且不可克隆,确保了内存攻击者无法获取任何秘密信息。同时,本发明将物理不可克隆函数与秘密分享技术相结合,解决了物理不可克隆函数密钥产生不稳定的问题,即使一些物理不可克隆函数损坏,仍然可以通过剩余的物理不可克隆函数恢复密钥;为了实现搜索结果可验证,本发明利用可验证哈希表构建安全的索引。如果服务器恶意篡改搜索结果,可验证哈希表的完整性就会被破坏,导致通过搜索路径计算的根节点哈希值无法通过验证。同时,根节点哈希值与一个计数器绑定,阻止了重放攻击。
与Dai的防内存泄露可搜索加密方案[DaiS,LiH,ZhangF.Memory Leakage-resilientSearchableSymmetricEncryption[J].FutureGenerationComputer Systems,2016,62:76-84]相比,本发明增加了搜索结果可验证性,提高了安全性,并且本发明还降低了空间复杂度(如表1所示)。表1中d表示字典中包含的关键字数,m表示外包的文件集中包含的关键字数。
表1方案比较
附图说明
图1是本发明实施例提供的可验证的防内存泄露动态可搜索加密方法流程图。
图2是本发明实施例提供的查找表示意图。
图3是本发明实施例提供的关键字数目相同时的索引建立时间(关键字数4000)示意图。
图4是本发明实施例提供的文件数目相同时的索引建立时间(文件数4000)示意图。
图5是本发明实施例提供的关键字数目相同时的搜索时间(关键字数4000)示意图。
图6是本发明实施例提供的文件数目相同时的搜索时间(文件数4000)示意图。
图7是本发明实施例提供的文件数为4000时的验证时间示意图。
图8是本发明实施例提供的文件数目相同时的添加操作时间(文件数4000)示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
对称可搜索加密(searchable symmetric encryption,SSE)允许数据拥有者将自己的加密数据外包给云服务器,并能够对外包的加密数据进行关键字检索。SSE已经成为了云计算领域的重要技术。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的可验证的防内存泄露动态可搜索加密方法包括以下步骤:
步骤一,设置:数据拥有者扫描外包文件集,建立安全的索引,并加密文件集,将索引与加密文件集外包给云服务器;
步骤二,搜索:数据拥有者生成待检索关键字的陷门,并将陷门发送给云服务器;云服务器利用陷门在索引上检索,返回给数据拥有者搜索结果和证据。数据拥有者验证证据的有效性,若通过验证,则接受搜索结果,否则拒绝;
步骤三,更新:数据拥有者更新加密文件集和索引上相应的关键字,并对云服务器保存的证据进行更新。
下面结合附图对本发明的应用原理作进一步的描述。
1、本发明利用物理不可克隆函数取代长期信息,将每一个物理不可克隆函数的输出作为秘密分享技术中的一个输入来构建相应的分享,秘密信息不用存储在非易失性内存中。一旦一个物理不可克隆函数损坏,仍然可以使用剩余的物理不可克隆函数来恢复所用的秘密信息。可验证哈希表VHT被用来构建安全的索引。VHT根节点的哈希值可以用来作为证据验证搜索结果。在VHT上,每一个节点对应一个关键字。由于VHT拥有二叉搜索树的性质,在VHT上进行搜索是高效的,并且对关键字的更新就是对VHT上相应节点的更新。为了阻止重放攻击,将VHT根节点哈希值与计数器进行绑定,并且服务器需要对计数器进行签名来确保计数器的有效性。密文数据的完整性则可以通过MAC函数来解决。
1.1在表2中总结了方案中使用的符号含义。为了不失一般性,假设在DB中文件拥有一样的长度,即对所有i∈[1,n],DBi∈{0,1}q。
表2符号定义
1.2具体构造
和是防碰撞的哈希函数。E1=(Enc1,Dec1)和E2=(Enc2,Dec2)是PCPA-安全的对称加密算法,其中此外,还用到了伪随机置换消息认证码和一个安全的签名方案SIGN,如BLS短签名,其中d表示字典中包含的关键字数。本发明是由如下6个算法(KeyGen,Enc,TrapGen,Search,Verify,Update)组成:
KeyGen(1λ)
λ是安全变量。数据拥有者运行这个算法产生密钥K。首先,数据拥有者随机选择t个(n1,d1,m1)-PUF,一个n1比特字符串s和一个秘密信息a0。每一个物理不可克隆函数如下所示:
计算:
ri=PUFi(s),(zi,hdi)←FE.Gen(ri),i∈[1,t];
f(x)=a0+a1x+…+ak-2xk-2+ak-1xk-1modp;
其中a1,…,ak-1是从[0,p)里均匀随机选取的整数。最后,数据拥有者计算分享:
输出公共参数PP={f1,…,ft,hd1,…,hdt,s,p}和密钥K={PUF1,…,PUFt}。
结合相应的分享可以轻松恢复多项式f(x)并计算出a0=f(0)。构造索引对每一个关键字j∈[1,m],数据拥有者首先建立和然后将转化为一个l比特长字符串Vw,l>n。对于i∈[1,l],当且仅当时,同时,数据拥有者计算:
图2给出了一个查找表的例子。在查找表中的每一个节点都映射一个关键字。用hroot表示VHT根节点的哈希值。数据拥有者设置T=1,并计算:
TrapGen(w,K,PP)
给定一个查询关键字w∈Δ,数据拥有者运行该算法产生一个w的陷门。首先,数据拥有者需要恢复a0并计算:
设索引当接受到陷门TKw时,云服务器运行这个算法在索引上匹配陷门。VHT上TKw的闭合节点将会作为搜索结果R(w)与搜索证据τ一起返回给数据拥有者。搜索过程总结在算法1中。为了简单起见,用nkey表示节点的键,用表示VHT根节点。
在算法1中,L包含从根节点到闭合节点的搜索路径、闭合节点的孩子节点和搜索路径上节点的兄弟节点。
Verify(R(w),τ,K,PP,σ)
由于恶意服务器可能返回错误的结果,数据拥有者运行验证算法验证搜索结果的有效性。
当接受到搜索结果R(w)和证据τ时,数据拥有者根据搜索路径重新计算根节点哈希值,记为hroot′。同时,数据拥有者从密钥K中恢复a0并检验:
其中。如果这两个等式成立,数据拥有者就接受R(w)并继续接下来的验证,否则输出⊥。
如果接受的R(w)是由两个一样的节点组成,数据拥有者计算:
Update(op,K,PP)
op={upd,c,W′}表示更新操作,其中upd表示更新类型,c表示更新的文件,W′表示更新的关键字集。根据op,数据拥有者进行以下的算法操作:
修改:op={modify,ci,W′},假设数据拥有者想将ci修改成ci′。对于每一个关键字wj∈W′,数据拥有者首先产生相应的陷门并获取搜索结果R(wj)。R(wj)需要通过验证接着数据拥有者从R(wj)中恢复并设加密为以替换每一个关键字wj都更新后,设T←T+1,计算新的根节点哈希值hroot′以及发送(ci′,hroot′,β′,T,ID)和给云服务器。最后,云服务设置hroot←hroot′,β←β′,ci←ci′,用更新VHT并计算δ′=SIGN(T‖ID)。云服务器将δ′发送给数据拥有者,如果δ′是有效的,则数据拥有者设置δ←δ′。
添加:op={add,cn+1,W′},假设数据拥有者添加一个新文件cn+1。对于每一个关键字wj∈W′,如果则添加操作可以看成一种设的特殊的修改操作。否则,数据拥有者首先产生相应的陷门获取搜索结果R(wj),并验证接着,数据拥有者在搜索路径的最后一个节点上创建一个孩子节点每一个关键字wj都更新后,设T←T+1,计算新的根节点哈希值hroot′以及发送(cn+1,hroot′,β′,T,ID)和给云服务器。最后,云服务设置hroot←hroot′,β←β′,插入cn+1,用更新VHT并计算δ′=SIGN(T‖ID)。云服务器将δ′发送给数据拥有者,如果δ′是有效的,则数据拥有者设置δ←δ′。
下面结合效率分析对本发明的应用效果作详细的描述。
1、将Kurosawa的方案[Kurosawa K,OhtakiY.How to Update DocumentsVerifiably in Searchable Symmetric Encryption[C]//International Conference onCryptology and Network Security.Springer,Cham,2013:309-328.]、Dai的方案[Dai S,Li H,Zhang F.Memory Leakage-resilient Searchable Symmetric Encryption[J].Future Generation Computer Systems,2016,62:76-84]和本发明进行比较。首先,本发明能同时实现防内存泄露和搜索结果可验证。其次,本发明是高效的,因为本发明不涉及群中的指数运算和对称全同态加密,并且客户端的计算开销是与文件集大小无关的。最后,在Dai的方案中,客户端需要在本地存储一个O(d)大小的表来完成搜索,d表示字典中包含的所有可能关键字数。但是在本发明中客户端仅需在本地保存一个计数器和一个签名。相比Dai的方案,本发明空间复杂度更小。此外,即使一些物理不可克隆函数损坏了,本发明仍然能恢复密钥,而Dai的方案不行。
表3展示了三种方案的比较。表中,n表示在文件集中的文件数,m表示在关键字集合中的关键字数目,u表示搜索返回的文件数,|W|表示更新的关键字数,k表示选择用来重构秘密信息的物理不可克隆函数数目,U表示一次在物理不可克隆函数和模糊提取器上的一次操作,I表示一次整数比较操作,P表示一次对称全同态加密操作,D表示一次群指数运算,Z表示一次哈希运算,A表示一次MAC函数运算。
表3三种方案比较
方案 | Kurosawa方案 | Dai方案 | 本发明的方案 |
抗内存泄露 | 不支持 | 支持 | 支持 |
可验证性 | 支持 | 不支持 | 支持 |
搜索计算量(服务器) | (mn-u)(Z+A) | 1P | logmI |
验证计算量(客户端) | (u+n)(Z+A) | _ | logmA+(u+1)M+1D+kU |
添加计算量(客户端) | (m+1)(Z+A) | |W|(2U+P) | (|W|+1)(logmA+M)+|W|D+kU |
1.1效率分析
对提出的可验证的防内存泄露动态SSE方案进行了实验仿真,实验环境是Windows系统,2.60GHZ的CPU,8G运行内存。
图3到图8展示了与Dai的方案的建立索引、搜索、验证和更新时间对比。在这个时间对比仿真实验中,设置字典的关键字数为40000,且本发明中k=4,t=5。图3和图4说明了在发明中索引建立时间与关键字数m线性相关,与文件集数n无关。尽管索引建立时间开销较大,但这是一个一次性开销。图5和图6说明在搜索阶段,当文件数合适时,本发明优于Dai的方案。事实上,本发明的搜索时间与logm线性相关。即使m为8000时,本发明的搜索时间也仅有11ms,这是足够高效的。图7表明本发明的验证是非常快的,且验证时间随关键字数增长而缓慢增加。在提高安全性的同时,客户端的开销仅增加了一点点。图8给出添加操作的时间对比,本发明在添加时的时间开销都是毫秒级,足以应用在实际应用中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种可验证的防内存泄露动态可搜索加密方法,其特征在于,所述可验证的防内存泄露动态可搜索加密方法利用物理不可克隆函数取代存储在非易失性内存中的长期信息,每一个物理不可克隆函数的输出作为秘密分享技术中多项式的一个输入来构建相应的分享;验证哈希表VHT被用来构建安全的索引,VHT根节点的哈希值可以用来作为证据验证搜索结果的正确性和完整性,在VHT上,每一个节点对应一个关键字;对关键字的更新就是对VHT上相应节点的更新;将VHT根节点哈希值与计数器进行绑定,云服务器对计数器进行签名;
所述可验证的防内存泄露动态可搜索加密方法使用防碰撞的哈希函数和PCPA-安全的对称加密算法E1=(Enc1,Dec1)和E2=(Enc2,Dec2),其中 伪随机置换消息认证码和一个安全的签名方案SIGN-BLS短签名,其中d表示字典中包含的关键字数;
所述可验证的防内存泄露动态可搜索加密方法进一步包括以下六个算法:
KeyGen(1λ):输入一个安全参数λ,输出一个由数据拥有者存储的密钥K和一个公共参数PP;
TrapGen(w,K,PP):输入搜索关键字w,密钥K和公共参数PP,输出一个陷门TKw;
2.如权利要求1所述的可验证的防内存泄露动态可搜索加密方法,其特征在于,所述KeyGen(1λ)中,数据拥有者首先随机选择t个物理不可克隆函数(n1,d1,m1)-PUF,一个(n1,d1,m1)模糊提取器FE和一个秘密信息a0;数据拥有者之后构建一个包含秘密信息a0的多项式f(x),利用f(x)、物理不可克隆函数(n1,d1,m1)-PUF和模糊提取器FE计算秘密分享技术中的分享;则密钥K为选择的物理不可克隆函数,计算的分享为公共参数。
3.如权利要求1所述的可验证的防内存泄露动态可搜索加密方法,其特征在于,所述中,数据拥有者首先通过密钥K和公共参数恢复秘密信息a0,算法中使用的密码学工具的密钥通过a0构建;数据拥有者扫描外包文件集,构建关键字集合和相应的文件标识符集合,然后使用可验证哈希表VHT建立索引计算VHT的根节点哈希值,并将哈希值与计数器做MAC计算;VHT是一种二叉树结构,结合了Merkle哈希树和二叉搜索树的特点;在VHT上的每一个节点N都是一个元组(nkey,v,cl,cr,hN),其中nkey表示节点N的键key,v表示节点N的值value,cl和cr分别表示节点N的左右孩子节点,hN表示节点N的哈希值,定义为节点N的键大于左子树上所有节点的键,小于右子树上所有的键。
4.如权利要求1所述的可验证的防内存泄露动态可搜索加密方法,其特征在于,所述TrapGen(w,K,PP)中,待搜索关键字的字典序的伪随机置换就是该关键字的搜索陷门。
6.如权利要求1所述的可验证的防内存泄露动态可搜索加密方法,其特征在于,所述Verify(R(w),τ,K,PP,σ)中,数据拥有者通过搜索路径重新计算VHT的根节点哈希值,并将计算的哈希值与本地保存的计数器做MAC计算;若计算出的MAC值与云服务器返回的MAC一致,则通过验证,否则验证不通过。
7.如权利要求1所述的可验证的防内存泄露动态可搜索加密方法,其特征在于,所述Update(op,K,PP)中,已有关键字的更新操作即是对VHT上相应节点值的修改,新增关键字的更新操作是添加新的节点;所有更新操作都需要将计数器加一,并重新计算VHT的根节点哈希值和MAC值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146556.1A CN108055122B (zh) | 2017-11-17 | 2017-11-17 | 可验证的防内存泄露动态可搜索加密方法、云服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146556.1A CN108055122B (zh) | 2017-11-17 | 2017-11-17 | 可验证的防内存泄露动态可搜索加密方法、云服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108055122A CN108055122A (zh) | 2018-05-18 |
CN108055122B true CN108055122B (zh) | 2021-03-23 |
Family
ID=62120291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146556.1A Active CN108055122B (zh) | 2017-11-17 | 2017-11-17 | 可验证的防内存泄露动态可搜索加密方法、云服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108055122B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088719B (zh) * | 2018-08-14 | 2019-06-04 | 重庆第二师范学院 | 外包数据库多关键词可验证密文搜索方法、数据处理系统 |
CN109492410B (zh) * | 2018-10-09 | 2020-09-01 | 华南农业大学 | 数据可搜索加密和关键词搜索方法、系统及终端、设备 |
CN110334526B (zh) * | 2019-05-30 | 2023-01-03 | 西安电子科技大学 | 一种支持验证的前向安全可搜索加密存储系统及方法 |
CN110392038B (zh) * | 2019-06-03 | 2021-07-13 | 西安电子科技大学 | 一种多用户场景下可验证的多密钥可搜索加密方法 |
CN110457915B (zh) * | 2019-07-17 | 2020-12-29 | 华中科技大学 | 高效且具有前后向安全性的可搜索对称加密方法及系统 |
CN110851481B (zh) * | 2019-11-08 | 2022-06-28 | 青岛大学 | 一种可搜索加密方法、装置、设备及可读存储介质 |
CN111614470A (zh) * | 2020-05-27 | 2020-09-01 | 贵州大学 | 基于改进Merkle-Tree认证方法的可验证多关键字搜索方法 |
CN111917759B (zh) * | 2020-07-27 | 2021-02-19 | 八维通科技有限公司 | 一种加油站用的数据安全交互方法 |
CN112416948B (zh) * | 2020-12-15 | 2022-11-01 | 暨南大学 | 一种可验证的基因数据外包查询方法及系统 |
CN113282542B (zh) * | 2021-05-20 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 具有前向安全的可验证可搜索加密方法、装置以及设备 |
CN113282543B (zh) * | 2021-05-20 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 具有前向安全的可验证可搜索加密方法、装置以及设备 |
CN114584286B (zh) * | 2022-05-06 | 2022-08-05 | 武汉大学 | 支持全向量操作的动态密文检索、验证方法及系统 |
CN114900318B (zh) * | 2022-06-02 | 2024-04-19 | 浙江工商大学 | 基于密钥协商协议以及可验证的一轮通信可搜索加密方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1958373B1 (en) * | 2005-11-29 | 2009-03-25 | Koninklijke Philips Electronics N.V. | Physical secret sharing and proofs of vicinity using pufs |
CN103763362B (zh) * | 2014-01-13 | 2016-12-21 | 西安电子科技大学 | 一种安全的分布式重复数据删除方法 |
US9292692B2 (en) * | 2014-05-05 | 2016-03-22 | Sypris Electronics, Llc | System and device for verifying the integrity of a system from its subcomponents |
-
2017
- 2017-11-17 CN CN201711146556.1A patent/CN108055122B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108055122A (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055122B (zh) | 可验证的防内存泄露动态可搜索加密方法、云服务器 | |
Yang et al. | Lightweight and privacy-preserving delegatable proofs of storage with data dynamics in cloud storage | |
CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
Sun et al. | Catch you if you lie to me: Efficient verifiable conjunctive keyword search over large dynamic encrypted cloud data | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
Bellare et al. | Interactive message-locked encryption and secure deduplication | |
Zhang et al. | Provable multiple replication data possession with full dynamics for secure cloud storage | |
Chase et al. | Substring-searchable symmetric encryption | |
Schröder et al. | Verifiable data streaming | |
CN106803784A (zh) | 安全多媒体云存储中基于格的多用户模糊可搜索加密方法 | |
Zhu et al. | A novel verifiable and dynamic fuzzy keyword search scheme over encrypted data in cloud computing | |
Li et al. | Integrity-verifiable conjunctive keyword searchable encryption in cloud storage | |
Zhang et al. | Improved secure fuzzy auditing protocol for cloud data storage | |
CN109088719B (zh) | 外包数据库多关键词可验证密文搜索方法、数据处理系统 | |
Leontiadis et al. | Storage efficient substring searchable symmetric encryption | |
Wei et al. | Forward-secure identity-based signature with efficient revocation | |
Sengupta et al. | Secure cloud storage with data dynamics using secure network coding techniques | |
Wang et al. | A Verifiable Fuzzy Keyword Search Scheme Over Encrypted Data. | |
Luo et al. | MHB* T based dynamic data integrity auditing in cloud storage | |
CN113434739A (zh) | 一种云环境下前向安全的多用户动态对称加密检索方法 | |
Sengupta et al. | Publicly verifiable secure cloud storage for dynamic data using secure network coding | |
Xu et al. | Dynamic chameleon authentication tree for verifiable data streaming in 5G networks | |
Zhou et al. | Integrity preserving multi-keyword searchable encryption for cloud computing | |
Srimathi et al. | Improved Cloud Storage Encryption Using Block Cipher-Based DNA Anti-Codify Model. | |
Pang et al. | Privacy-preserving noisy keyword search in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |