CN116318964A - 云边端环境下可验证的轻量化可搜索加密方法 - Google Patents
云边端环境下可验证的轻量化可搜索加密方法 Download PDFInfo
- Publication number
- CN116318964A CN116318964A CN202310246747.4A CN202310246747A CN116318964A CN 116318964 A CN116318964 A CN 116318964A CN 202310246747 A CN202310246747 A CN 202310246747A CN 116318964 A CN116318964 A CN 116318964A
- Authority
- CN
- China
- Prior art keywords
- cloud server
- user
- searchable
- search
- key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012795 verification Methods 0.000 claims abstract description 27
- 230000007246 mechanism Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 3
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 29
- 238000001914 filtration Methods 0.000 abstract description 21
- 230000006854 communication Effects 0.000 abstract description 15
- 238000004891 communication Methods 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Storage Device Security (AREA)
Abstract
本发明提供了一种云边端环境下可验证的轻量化可搜索加密方法。通过引入边缘结点代替客户端执行计算签名及验证的任务,轻量化了客户端验证与存储开销。边缘结点解决了客户端计算、存储资源匮乏的问题。利用分布式双陷门公钥密码系统、子集决策机制、跨域安全计算协议技术,设计了一种搜索前过滤搜索任务的算法,整个过程在密文下计算,保障用户隐私,能在任务集有较多的无意义任务的情况下减少系统的通信开销。实验结果表明本发明适用于任务集不完全匹配任务较多的情况。通过对比几种方案在离线关键字猜测攻击、多关键字、多用户、多数据持有人、可验证性等方面的差异,表明了本发明在整体的功能性、安全性、计算存储开销等方面具有一定的优势。
Description
技术领域
本发明涉及可搜索加密技术领域,具体地说是一种云边端环境下可验证的轻量化可搜索加密方法。
背景技术
可搜索加密主要包括对称可搜索加密和公钥可搜索加密(非对称)两种形式。对称可搜索加密计算速度快,但是存在严重的密钥管理问题。公钥可搜索加密面临关键字猜测攻击这一固有问题,主要原因是关键字空间远远小于密文空间,在实际搜索过程中,恶意用户通常会选择一些使用频率较高的热词进行搜索。2020年,Liu等人提出了在分布式系统中执行搜索的多关键字公钥可搜索加密方案(SE-EPOM),攻击者想要执行关键字猜测攻击需要获取多个服务器的密钥,因此方案SE-EPOM成功抵抗了来自内部、外部攻击者的攻击。但是,方案SE-EPOM在基于双服务器环境下进行计算,内部服务器之间需要多轮交互,设计一种过滤算法对无意义任务进行过滤,可以在一定程度上降低系统通信开销。
边缘计算技术近几年飞速发展,而物联网设备计算能力较弱,只能处理轻量级的任务,并且需要将复杂任务外包,因此逐渐形成了云边端模型。本发明搭建基于云边端环境的系统,在笔记本上部署多个虚拟机来模拟云边端环境,设计基于云边端环境下可验证的轻量化可搜索加密算法。
发明内容
本发明的目的是提供一种云边端环境下可验证的轻量化可搜索加密方法,以解决现有技术在任务集不完全匹配任务较多的情况下通信开销较大的问题。
本发明是这样实现的:一种云边端环境下可验证的轻量化可搜索加密方法,包括如下步骤:
a、密钥生成中心产生并分发公共参数给用户和数据持有人,同时向第一云服务器和第二云服务器分别分发部分强私钥,且为代理边缘结点产生密钥对;
b、用户和数据持有人根据公共参数产生属于自己的密钥对,数据持有人根据自己的公钥产生可搜索密文,并使用对称密钥加密文档;用户使用自己的公钥产生与可搜索密文对应的搜索陷门;用户和数据持有人将搜索陷门、可搜索密文和加密文档上传至边缘结点;边缘结点包括普通边缘结点和代理边缘结点;
c、普通边缘结点首先对加密文档计算至少阈值数量个签名,之后由代理边缘结点将所有签名进行整合;
d、普通边缘结点将加密文档、可搜索密文、搜索陷门和整合后的签名上传至第一云服务器;
e、第一云服务器首先将加密文档、可搜索密文、搜索陷门和整合后的签名在第二云服务器备份;之后第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值;
f、第二云服务器将步骤e所计算的加密值交给用户,由用户根据该加密值判断对应的加密文档是否属于最终的搜索结果;如果是,则由用户向第二云服务器申请获取该加密文档;
g、第二云服务器收到用户获取加密文档的请求后,通过与代理边缘结点交互对相关加密文档进行验证,删除其中被半可信云服务器增加的恶意文档;
h、第二云服务器将经过搜索和验证的的加密文档发送给用户;
i、用户收到加密文档后使用对称密钥进行解密。
优选的,步骤a中,密钥生成中心产生的公共参数为PP=(N,s,BP),其中,N和s为密钥生成中心执行KeyGen得到的参数,BP为双线性对参数,BP={G,GT,e,p,g},G和GT是两个大素数p阶循环群,g是循环群G的生成元,e:G×G→GT是一个双线性映射;密钥生成中心为代理边缘结点产生密钥对(pkm=gb,skm=b);
步骤c中,代理边缘结点首先输出ξ-1次的多项式f(x)=cξ-1xξ-1+...+c1x+c0,其中,c0=b,i≤2ξ-1;ξ为阈值,i为普通边缘结点数量;代理边缘结点选择i个满足多项式f(x)的元素对{(x1,y1),(x2,y2),...,(xi,yi)},并将y1,...,yi发送给普通边缘结点用于签名;
优选的,步骤e中,第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值,具体如下:
第一云服务器首先计算的反码/>其中,sum=2μ-1,μ代表sum二进制形式的位长;第一云服务器和第二云服务器运行交互式SBD协议,输出第一组:/>Ti和ti分别为可搜索密文的二进制形式和搜索陷门的二进制形式;
e-3、输入TD'm,pkMDO,pkMDU,λ1,λ2,使用SBD协议计算/>最终得到了两个所有位都被加密的二进制串/>在这两组二进制串中,使用SMD协议相乘得到/>使用SAD协议对/>中的每一位进行累加,结果记为/>将/>交给用户使用弱私钥skMDU解密得到ft,若ft=0,则用户返回“需要过滤”,否则返回“不需要过滤”,执行步骤e-4;
e-6、重复步骤e-2至e-5,直至完成m组数据的运算。
优选的,步骤f中,用户根据加密值判断对应的加密文档是否属于最终的搜索结果,具体是:用户收到加密值后使用弱私钥skMDU解密,若输出为0,则表示搜索陷门与可搜索密文不匹配,则对应的加密文档不是最终的搜索结果;若输出为1,表示搜索陷门与可搜索密文匹配,则对应的加密文档属于最终的搜索结果。
优选的,步骤g中,用ε表示搜索结果的数量,每一个结果文档/>都会关联一个γ∈[1,ε];代理边缘结点随机选择/>发送{γ,eγ}给第二云服务器,第二云服务器计算/>其中/>第二云服务器发送证明信息(υ*,τ*)给代理边缘结点;代理边缘结点验证下式是否成立:
若验证等式成立,表明文档验证通过;否则表示文档验证未通过。
本发明提出了可验证的轻量化VSE-EPOMFC方案,设计了一种过滤算法来降低系统开销。本发明的贡献主要体现在以下三个方面:
1)引入了边缘结点代替客户端执行计算签名及验证的任务,轻量化了客户端验证与存储开销。边缘结点解决了客户端计算、存储资源匮乏的问题。
2)利用分布式双陷门公钥密码系统、子集决策机制、跨域安全计算协议三种技术,设计了一种搜索前过滤搜索任务的算法,整个过程在密文下计算,保障用户隐私,能在任务集有较多的无意义任务的情况下,减少系统的通信开销。
3)仿真实验评估了本发明方案(VSE-EPOMFC)与SE-EPOM在搜索时的通信开销,与方案CP-ABKS比较了客户端的验证开销。实验结果表明本发明方案VSE-EPOMFC在搜索性能与验证性能方面都有一定程度的提升。
附图说明
图1是本发明的系统模型示意图。
图2是本发明过滤算法的流程图。
图3是随着匹配度变化本发明方案与其余方案在搜索时间上的对比。
图4是随着用户上传关键字数量的变化,客户端的验证开销。
图5是随着用户上传关键字数量的变化,客户端的存储开销。
图6是随着文档-关键字对数量变化,方案LGFS的验证开销。
具体实施方式
本发明利用了分布式双陷门公钥密码系统、子集决策机制、跨域安全计算协议三种技术,下面对这三种技术进行描述。
分布式双陷门公钥密码系统(DT-PKC):可以将一个强私钥SK=λ分成两部分,使得方案不仅支持弱私钥ski解密,还可以通过分解强私钥SKi=λi进行分布式解密,本发明主要用到以下算法:
(SK,N,g,ski,pki)←KeyGen(k).输入安全参数k,输出强私钥SK=λ,N=pq,g=-a2N,以及每一部分实体对应的密钥对ski,pki。
(SK1,SK2)←SkeyS(SK).使用剩余定理将强私钥SK=λ分成两部分SK1=λ1,SK2=λ2,递归的执行算法输出更多分解密钥。
m←PSDec2(SK2,CTi (1)).输入部分解密密文CTi (1)和部分强私钥SK2,运行部分解密算法输出明文消息m。
跨域安全计算协议:DT-PKC仅支持处在同一公钥下的同态加密,但是在实际分布式搜索时,为了保护用户、数据持有人隐私,需要对使用不同公钥的密文做部分同态加密,给出公钥pkMDU,pkMDO,密文满足以下协议:
部分同态运算性质:
E(x+y)←E(x)·E(y)mod N2
E(x·y)←E(x)y mod N2
子集决策机制:本发明采用了子集决策机制,可以用来判断某个子集是否属于另一个集合。它的设计思路是将关键字集合之间的关系通过二进制串来表示,类似邻接矩阵,从而减少了复杂的加密运算开销。
假设有两个二进制串W1=111001和W2=100001,n表示二进制串长度,需要判断两个二进制串的包含关系,可以执行以下运算:
2)当j<n时,执行;
4)用2减去cj得到dj;
5)对dj进行累乘得到R;
6)循环while结束;
系统模型:
在本发明方案VSE-EPOMFC中,系统由六部分实体组成,包括密钥生成中心KGC(KeyGenerate Center),数据持有人MDO,边缘结点(包括普通边缘结点EN和代理边缘结点ENM),用户MDU,云服务器CP1(Cloud Platform 1)和云服务器CP2(Cloud Platform 2)。边缘结点是处于客户端和云服务器之间的计算设备,本发明实施例中以两个云服务器为例进行说明,若是存在两个以上云服务器,则运算会更为复杂。
图1描述了系统模型。例如,企业将敏感数据外包给云服务器CP1和CP2,方便授权的公司员工能够随时随地访问这些数据。在外包存储到云服务器之前,由普通边缘结点EN和代理边缘结点ENM(Edge Node Manger)为上传的密文数据签名,避免了以往方案中必须全部数据持有人同时在线签名的限制。
对图1中标号①-⑧进行如下描述:
①密钥生成中心KGC负责产生并分发公共参数PP给用户MDU和数据持有人MDO,分发部分强私钥给CP1和CP2(实际生活中可以由政府等公信力强的机构担任),为代理边缘结点ENM产生密钥对。
②用户MDU和数据持有人MDO依靠从KGC产生的公共参数PP产生属于自己的密钥对,使用各自的公钥产生可搜索密文SC和陷门TD,使用对称密钥加密文件,分别将加密文档、可搜索密文和搜索陷门上传至边缘结点。
③边缘结点由两部分组成:代理边缘结点ENM和普通边缘结点EN。签名由EN和ENM完成,普通边缘结点EN首先进行签名,ENM再将多个普通边缘结点产生的签名进行整合,进一步缩短了签名长度。结果验证由CP2和ENM完成。
④边缘结点向CP1上传加密文档、可搜索密文、搜索陷门、签名。
⑤CP1将加密文档、可搜索密文、搜索陷门以及签名在CP2备份。CP1和CP2交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值。
⑥CP2将加密值交给MDU,由MDU判断对应的加密文档是否属于最终的搜索结果。MDU向CP2申请获取满足条件的加密文档。
⑦CP2收到MDU获取加密文档的请求后,通过与ENM交互对相关加密文档进行验证,删除其中被半可信云服务器增加的恶意文档。
⑧CP2返回经过搜索和验证的加密文档给MDU。
验证轻量化(VSE-EPOMFC)
SE-EPOM通过引入通用关键字集W,将多关键字用二进制串形式加密,保证可搜索密文和陷门的大小与关键字数量无关。但是考虑到恶意的数据持有人MDO、云服务器CP1、云服务器CP2可能上传错误的密文或者返回错误的搜索结果,通常是由MDO对密文进行签名,MDU负责对搜索结果验签,此时客户端(包括MDO和MDU)将承担计算密文、签名、验证签名的任务,对于资源受限的客户端设备,显然是不可取的。因此,本发明引入了边缘结点代替MDO对密文执行签名,代替MDU验证签名,轻量化客户端的验证开销。使用一种阈值签名机制,先由部分普通边缘结点代替阈值ξ数量的MDO对密文分别签名,设置一个代理边缘结点ENM,根据多个签名为每个文档生成唯一的阈值签名,缩短了签名长度。表1给出了各符号的含义。
表1符号表
任务过滤
由于实际搜索过程中,需要用到大量的交互式算法,通信较为复杂,为了解决通信过程中由于大量不匹配的任务产生的不必要的通信开销的问题,在子集决策机制的基础上设计了一个过滤算法用于过滤完全不匹配的任务。
本发明在搜索过程中用到了SE-EPOM中的子集决策机制,在密文的基础上使用CP1和CP2进行搜索。但是,当任务集中存在大量完全不匹配的加密二进制串时,方案SE-EPOM会产生多余的通信开销。本发明方案VSE-EPOMFC在搜索过程中增加了一个过滤算法,负责筛选完全不匹配的二进制串,如图2所示。筛选出来完全不匹配的二进制串后,将其进行过滤,后期不再进行重复搜索、计算。
只有当两个二进制串完全不匹配时,过滤算法生效。对密文进行计算,只能使用安全位加法和安全位乘法运算。为了便于理解,本发明实施例中演示的例子在明文状态下执行,如图2所示;实际情况下则需要在加密的二进制串上运行各种复杂的通信协议。过滤算法用于判断两个二进制串是否完全不匹配。首先当每个对应的加密位都不相同时,运用安全位乘法协议必定产生全为0的加密二进制串,接着使用安全位加法协议,对所有位累加,最后将结果交给用户MDU解密,如果结果为零表示两个二进制串必定完全不匹配,将其从任务集中删除。表2中的算法1展示了在明文状态下执行过滤的过程。
表2
具体方案构造
(SK,SK1,SK2,PP,H0,H1)←Setup(k).
KGC首先执行KeyGen得到强私钥SK=λ和参数N=pq,s=-a2N(其中是随机选取的,p、q是两个大质数)。然后KGC执行SKeyS对强私钥λ进行拆分,得到两个部分强私钥SK1=λ1,SK2=λ2。选择双线性对参数BP={G,GT,e,p,g},选择两个抗碰撞哈希函数H0:{0,1}*→Zp,H1:{0,1}*→G。G和GT是两个大素数p阶循环群,g是循环群G的生成元,e:G×G→GT是一个双线性映射。
KGC将产生的公共参数PP=(N,s,BP)发送给用户MDU和数据持有人MDO。将部分强私钥SK1=λ1,SK2=λ2分别分发给CP1和CP2,强私钥λ秘密保存。
(pkMDU,skMDU,pkMDO,skMDO,pkm,skm)←KeyGen(SK,SK1,SK2,PP,ENi,ENM).
MDU和MDO拿到公共参数PP=(N,s,BP)后执行KeyGen产生属于自己的密钥对pkMDU,skMDU,pkMDO,skMDO。将普通边缘结点设为EN={EN1,EN2,...,ENi},KGC会为ENM产生密钥对(pkm=gb,skm=b),ENM会输出一个ξ-1次的多项式f(x)=cξ-1xξ-1+...+c1x+c0,这里ENM选择i个满足多项式的元素对{(x1,y1),(x2,y2),...,(xi,yi)},y1,...,yi发送给普通边缘结点EN用于签名。
(Cm,SCm,τ)←Searchcp(Did,W,WT,pkMDO).
每一个文档Did,对应一个id,关联一个关键字集WT。MDO首先对WT使用算法Enc加密产生可搜索密文假设有m个文档,那么最终会产生m个可搜索密文同时对m个文档使用传统对称密钥K∈GT加密得到Cm。为了验证搜索结果的正确性,数据持有人MDO会委托EN对密文Cm计算签名/>在至少计算阈值数量个签名后(阈值ξ与EN中的边缘结点数量i之间的关系为:i≤2ξ-1,假设阈值数量设定为10,则EN中的边缘结点数量不超过19,此时签名至少计算10个,至多计算19个),ENM将所有签名整合成唯一阈值签名/>其中,/>从而缩短了签名长度,之后将签名上传到CP1。
(TDm)←Trapdoor(W,Wt,pkMDU).
MDU通过普通边缘结点将搜索陷门TDm上传至CP1。
(0\1)←Filtering(SCm,TDm,pkMDU,pkMDO,SK1,SK2).
CP1将加密文档、可搜索密文、搜索陷门以及签名在CP2备份。CP1和CP2交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值。具体如下:
执行文献[5](Wz A,Bqb C,Xd A,et al.Public-key Encryption withBidirectional Keyword Search and Its Application to Encrypted Emails[J].Computer Standards&Interfaces,2021.)中的算法3,由CP1和CP2对m组可搜索密文和搜索陷门进行交互式运算。下面以第m组可搜索密文和搜索陷门为例进行说明:
表3
然后执行表3中的过滤算法2,输入TD'm,pkMDU,SK1,SK2,pkMDO,使用SBD协议计算/>最终得到了两个所有位都被加密的二进制串在这两组字串中,使用SMD协议相乘得到/>使用SAD协议对/>中的每一位进行累加,结果记为/>交给用户使用弱私钥skMDU解密得到ft,若ft=0,则用户返回“需要过滤”,否则返回“不需要过滤”。
(0\1)←Test(SC'm,TD'm,pkMDU,pkMDO,SK1,SK2).
执行搜索需要获取公钥pkMDU,pkMDO,CP1和CP2提供部分强私钥λ1和λ2以及经过算法过滤后的可搜索密文SC'm和陷门TD'm,CP1和CP2继续执行以下算法,完成剩余的搜索:
CP2将加密值发送给用户,用户收到/>后使用弱私钥skMDU解密。若结果输出0,表示陷门与可搜索密文不匹配;若结果输出1,表示陷门与可搜索密文匹配;当陷门与可搜索密文匹配时,表示该可搜索密文对应的文档是想要的搜索结果,由用户向CP2申请获取相关的文档/>
用ε表示搜索结果的数量,每一个结果文档/>都会关联一个/>首先,ENM随机选择/>发送{γ,eγ}给CP2,CP2计算/>这里CP2发送证明信息(υ*,τ*)给ENM。如果满足以下等式,那么搜索结果经过验证是正确的:
用户收到经过验证的结果文档后,使用对称密钥K∈GT解密。
表4从性能和安全性两个方面出发,展示了各个方案实现的功能比较。其中MDU和MDO表示多用户和多数据持有人,LW表示轻量化,MK表示关键字,IKGA和OKGA分别表示内部、外部关键字猜测攻击。文献[1](L.Zhang,F.Jiang and X.Tang,"Verifiable ConjunctiveKeyword Search with Certificateless Searchable,"2021IEEE 20th InternationalConference on Trust,Security and Privacy in Computing and Communications(TrustCom),2021,pp.9-16,doi:10.1109/TrustCom53373.2021.00020.)是最早提出的公钥可搜索加密方案,支持单用户上传数据、多数据持有人查询,它的可搜索密文以及陷门大小必须随关键字数量|Wid|线性增长。在安全性方面,文献[2](Hwang,M.S.,Lee,C.C.andHsu,S.T.,2019.An ElGamal-like secure channel free public key encryption withkeyword search scheme.International Journal of Foundations of ComputerScience,30(02),pp.255-273.)基于一种密码系统,同时满足了IKGA与OKGA,文献[3](B.Chen,L.Wu,S.Zeadally and D.He,"Dual-Server Public-Key AuthenticatedEncryption with Keyword Search,"in IEEE Transactions on Cloud Computing,vol.10,no.1,pp.322-333,1Jan.-March 2022,doi:10.1109/TCC.2019.2945714.)通过使用双服务器抵抗IKGA,设计了免双线性对的算法,轻量化了客户端的开销。文献[5](Wz A,Bqb C,Xd A,et al.Public-key Encryption with Bidirectional Keyword Search andIts Application to Encrypted Emails[J].Computer Standards&Interfaces,2021.)提出了一种支持双向关键字搜索的PEKS方案,允许数据持有人检索上传的数据。文献[4](Liu,X.,Yang,G.,Susilo,W.,Tonien,J.,Liu,X.and Shen,J.,2020.Privacy-preservingmulti-keyword searchable encryption for distributed systems.IEEE Transactionson Parallel and Distributed Systems,32(3),pp.561-574.)中满足了大部分列举的需求,但是客户端不具备验证搜索结果这一功能。文献[6](Cao M,Wang L,Qin Z,et al.ALightweight Fine-Grained Search Scheme over Encrypted Data in Cloud-AssistedWireless Body Area Networks[J].Wireless Communications and Mobile Computing,2019.)支持轻量化和可验证性,但是其可搜索密文长度与属性数量|Ai|有关。本发明VSE-EPOMFC让边缘结点代替客户端验证搜索结果,轻量化了客户端存储和计算开销。
表4
MDU | NDO | LW | MK | OKGA | IKGA | Ciphertext size | Trapdoor size | Verifiable | |
[1] | × | √ | × | × | × | × | O(|Wid|) | O(|Q|) | × |
[2] | × | × | × | × | √ | √ | O(|Wid|) | O(|Wid|) | × |
[3] | × | × | √ | × | × | √ | O(|Wid|) | O(|Wid|) | × |
[4] | √ | √ | × | √ | √ | √ | O(1) | O(1) | × |
[5] | × | × | × | × | × | × | O(|Wid|) | O(|Wid|) | × |
[6] | √ | × | √ | × | × | × | O(|Ai|) | O(|Ai|) | √ |
本发明 | √ | √ | √ | O(1) | O(1) | √ | O(1) | O(1) | √ |
本发明主要对比分析了方案VSE-EPOMFC与其他方案在客户端存储、计算以及搜索方面的差异。本发明方案VSE-EPOMFC使用python模拟,通信过程使用了socket编程建立TCP可靠连接。设置了两台虚拟机,将KCG,CP1和MDO部署在2.90GHz,4核处理器、6G内存上,同时CP2和MDU部署在2.90GHz,2核处理器、4G内存上。为了与方案SE-EPOM对比,实验设置80位安全级别,参数N选择1024位长。
实验主要选择了两种参数,一种是任务集完全不匹配任务所占的比例(搜索任务完全不匹配意味着对应的两个二进制串中所有的位均不匹配),用匹配度IV,III,II,I表示。当任务集完全不匹配的任务数为0时,匹配度为IV,表示不存在完全不匹配的任务。当任务集中有的任务完全不匹配,匹配度为III;当任务集中有/>的任务完全不匹配,匹配度为II;当任务集中有/>的任务完全不匹配,匹配度为I。另一种参数选择用户上传的关键字数量,分别为5,10,15,20。
图3比较了三种方案在不同匹配度条件下,执行搜索的时间开销。PEBKS方案在单个服务器场景下执行搜索,所以搜索时间开销远远小于多台服务器环境下执行搜索的方案。SE-EPOM没有使用过滤算法,直接对任务集进行搜索,可以看出它的时间开销在11s上下波动,不受匹配度变化的影响。而本发明方案VSE-EPOMFC由于使用了过滤算法,在匹配度为IV和III的条件下,过滤算法产生的时间开销更多,当匹配度在II以下时,过滤算法能显著降低SE-EPOM的时间开销。
图4和图5比较了两种方案在客户端产生的验证时间开销与验证存储开销,本发明方案VSE-EPOMFC将客户端执行签名和验证的任务委托给边缘结点,因此在客户端的开销与关键字数量无关。验证使用了阈值签名机制,由于代理边缘结点整合了所有签名,缩短了签名长度,同时也缩短了验证的时间与存储开销。CP-ABKS(文献[6])同样支持搜索结果验证,但是需要用户执行部分解密和验证,给客户端的设备带来了额外开销。LFGS方案(文献[7],Y.Miao,et al.,"Lightweight Fine-Grained Search Over Encrypted Data in FogComputing"in IEEE Transactions on Services Computing,vol.12,no.05,pp.772-785,2019.doi:10.1109/TSC.2018.2823309)能准确的验证搜索结果,但是它需要用户和数据持有人之间的交互,当返回大量搜索结果时,会产生更多通信开销。此外,LFGS方案只能支持单关键字搜索,不能部署在MDU设置中执行搜索结果验证。LGFS方案使用的搜索结果验证机制主要依赖于本地存储的文件-关键字哈希表,如图6所示,当本地存储的文件-关键字哈希表较大时,会产生很高的计算开销,它的计算复杂度为O(|F||W|),而本发明VSE-EPOMFC采用的搜索结果验证机制与文件数量有关,计算复杂度为O(|F|)。
过滤算法节省时间需要任务集一半以上的任务不完全匹配,更适用于特殊的场景,比如在某个医疗系统中,需要对病人的隐私实现高度的保密,医生只能了解其身体状况,其余信息一无所知,只能使用少量关键字去查询病人以获取病例信息。在当前场景下,病人作为数据持有人上传加密的病例信息、可搜索密文到云中心,医生作为用户,可以借助边缘设备签名并验证搜索结果的正确性。病人的隐私信息保密程度越高,医生搜索到完全不匹配任务的可能性越大,最终必定会产生大量不匹配任务。本发明方案VSE-EPOMFC节省了医生与病人的时间,使其不用执行复杂的验证。
本发明设计了一个在云边端环境下可验证的轻量化可搜索加密方法,说明了其关于理想现实模型、关键字隐私模型的定义并给予证明。与先前的工作相比,轻量化客户端复杂的签名与验证开销。通过引入边缘结点,借助边缘结点的缓存,减少了主干网络上的流量负载。设计了一种过滤算法来降低搜索带来的通信开销。实验表明本发明VSE-EPOMFC方案适用于任务集不完全匹配任务较多的情况。通过对比了几种方案在离线关键字猜测攻击、多关键字、多用户、多数据持有人、可验证性等方面的差异,表明了VSE-EPOMFC在整体的功能性、安全性、计算存储开销等方面具有一定的优势。
Claims (5)
1.一种云边端环境下可验证的轻量化可搜索加密方法,其特征是,包括如下步骤:
a、密钥生成中心产生并分发公共参数给用户和数据持有人,同时向第一云服务器和第二云服务器分别分发部分强私钥,且为代理边缘结点产生密钥对;
b、用户和数据持有人根据公共参数产生属于自己的密钥对,数据持有人根据自己的公钥产生可搜索密文,并使用对称密钥加密文档;用户使用自己的公钥产生与可搜索密文对应的搜索陷门;用户和数据持有人将搜索陷门、可搜索密文和加密文档上传至边缘结点;边缘结点包括普通边缘结点和代理边缘结点;
c、普通边缘结点首先对加密文档计算至少阈值数量个签名,之后由代理边缘结点将所有签名进行整合;
d、普通边缘结点将加密文档、可搜索密文、搜索陷门和整合后的签名上传至第一云服务器;
e、第一云服务器首先将加密文档、可搜索密文、搜索陷门和整合后的签名在第二云服务器备份;之后第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值;
f、第二云服务器将步骤e所计算的加密值交给用户,由用户根据该加密值判断对应的加密文档是否属于最终的搜索结果;如果是,则由用户向第二云服务器申请获取该加密文档;
g、第二云服务器收到用户获取加密文档的请求后,通过与代理边缘结点交互对相关加密文档进行验证,删除其中被半可信云服务器增加的恶意文档;
h、第二云服务器将经过搜索和验证的的加密文档发送给用户;
i、用户收到加密文档后使用对称密钥进行解密。
2.根据权利要求1所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,
步骤a中,密钥生成中心产生的公共参数为PP=(N,s,BP),其中,N和s为密钥生成中心执行KeyGen得到的参数,BP为双线性对参数,BP={G,GT,e,p,g},G和GT是两个大素数p阶循环群,g是循环群G的生成元,e:G×G→GT是一个双线性映射;
密钥生成中心为代理边缘结点产生密钥对(pkm=gb,skm=b);
步骤c中,代理边缘结点首先输出ξ-1次的多项式f(x)=cξ-1xξ-1+...+c1x+c0,其中,c0=b,i≤2ξ-1;ξ为阈值,i为普通边缘结点数量;代理边缘结点选择i个满足多项式f(x)的元素对{(x1,y1),(x2,y2),...,(xi,yi)},并将y1,...,yi发送给普通边缘结点用于签名;
3.根据权利要求2所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,步骤e中,第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值,具体如下:
第一云服务器首先计算的反码/>其中,sum=2μ-1,μ代表sum二进制形式的位长;第一云服务器和第二云服务器运行交互式SBD协议,输出第一组:/>Ti和ti分别为可搜索密文的二进制形式和搜索陷门的二进制形式;
e-3、输入TD'm,pkMDO,pkMDU,λ1,λ2,使用SBD协议计算/>最终得到了两个所有位都被加密的二进制串/>在这两组二进制串中,使用SMD协议相乘得到/>使用SAD协议对/>中的每一位进行累加,结果记为/>将/>交给用户使用弱私钥skMDU解密得到ft,若ft=0,则用户返回“需要过滤”,否则返回“不需要过滤”,执行步骤e-4;
e-6、重复步骤e-2至e-5,直至完成m组数据的运算。
4.根据权利要求3所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,步骤f中,用户根据加密值判断对应的加密文档是否属于最终的搜索结果,具体是:用户收到加密值后使用弱私钥skMDU解密,若输出为0,则表示搜索陷门与可搜索密文不匹配,则对应的加密文档不是最终的搜索结果;若输出为1,表示搜索陷门与可搜索密文匹配,则对应的加密文档属于最终的搜索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246747.4A CN116318964A (zh) | 2023-03-15 | 2023-03-15 | 云边端环境下可验证的轻量化可搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246747.4A CN116318964A (zh) | 2023-03-15 | 2023-03-15 | 云边端环境下可验证的轻量化可搜索加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318964A true CN116318964A (zh) | 2023-06-23 |
Family
ID=86781121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310246747.4A Pending CN116318964A (zh) | 2023-03-15 | 2023-03-15 | 云边端环境下可验证的轻量化可搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318964A (zh) |
-
2023
- 2023-03-15 CN CN202310246747.4A patent/CN116318964A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN112106322B (zh) | 基于密码的阈值令牌生成 | |
Timothy et al. | A hybrid cryptography algorithm for cloud computing security | |
Casacuberta et al. | SoK: oblivious pseudorandom functions | |
CN107342859B (zh) | 一种匿名认证方法及其应用 | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
US11374910B2 (en) | Method and apparatus for effecting a data-based activity | |
Li et al. | Privacy-aware secure anonymous communication protocol in CPSS cloud computing | |
JP2024506026A (ja) | 閾値鍵交換 | |
Luo et al. | A security communication model based on certificateless online/offline signcryption for Internet of Things | |
Qin et al. | Simultaneous authentication and secrecy in identity-based data upload to cloud | |
Shen et al. | Group public key encryption supporting equality test without bilinear pairings | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
CN111079178B (zh) | 一种可信电子病历脱敏和回溯方法 | |
JP2018037938A (ja) | 鍵交換方法、鍵交換システム | |
CN114866244B (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
Jiang et al. | Device-enhanced secure cloud storage with keyword searchable encryption and deduplication | |
CN113836571A (zh) | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关系统 | |
Zhan et al. | Improved proxy re-encryption with delegatable verifiability | |
TWI853415B (zh) | 安全金鑰產生 | |
Harn et al. | A novel threshold cryptography with membership authentication and key establishment |
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 |