[go: up one dir, main page]

CN116318964A - 云边端环境下可验证的轻量化可搜索加密方法 - Google Patents

云边端环境下可验证的轻量化可搜索加密方法 Download PDF

Info

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
Application number
CN202310246747.4A
Other languages
English (en)
Inventor
杜瑞忠
蒋浩宇
李明月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hebei University
Original Assignee
Hebei University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hebei University filed Critical Hebei University
Priority to CN202310246747.4A priority Critical patent/CN116318964A/zh
Publication of CN116318964A publication Critical patent/CN116318964A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3255Cryptographic 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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发送给普通边缘结点用于签名;
普通边缘结点对加密文档计算签名,具体如下:
Figure BDA0004126184180000021
其中,H0和H1是两个抗碰撞哈希函数,H0:{0,1}*→Zp,H1:{0,1}*→G;Cm为加密文档;
代理边缘结点将所有签名进行整合,具体如下:
Figure BDA0004126184180000022
其中,
Figure BDA0004126184180000023
优选的,步骤e中,第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值,具体如下:
e-1、设有m个加密文档,以及对应的m个可搜索密文
Figure BDA0004126184180000024
和m个搜索陷门/>
Figure BDA0004126184180000031
T和t分别为可搜索密文的十进制形式和搜索陷门的十进制形式;
e-2、首先对第一组可搜索密文和搜索陷门进行交互式运算,输入
Figure BDA0004126184180000032
pkMDO,pkMDU,λ1,λ2,其中,pkMDO和pkMDU分别为数据持有人和用户的公钥;λ1和λ2为密钥生成中心生成的部分强私钥;
第一云服务器首先计算
Figure BDA0004126184180000033
的反码/>
Figure BDA0004126184180000034
其中,sum=2μ-1,μ代表sum二进制形式的位长;第一云服务器和第二云服务器运行交互式SBD协议,输出第一组:/>
Figure BDA0004126184180000035
Ti和ti分别为可搜索密文的二进制形式和搜索陷门的二进制形式;
e-3、输入
Figure BDA0004126184180000036
TD'm,pkMDO,pkMDU,λ1,λ2,使用SBD协议计算/>
Figure BDA0004126184180000037
最终得到了两个所有位都被加密的二进制串/>
Figure BDA0004126184180000038
在这两组二进制串中,使用SMD协议相乘得到/>
Figure BDA0004126184180000039
使用SAD协议对/>
Figure BDA00041261841800000310
中的每一位进行累加,结果记为/>
Figure BDA00041261841800000311
将/>
Figure BDA00041261841800000312
交给用户使用弱私钥skMDU解密得到ft,若ft=0,则用户返回“需要过滤”,否则返回“不需要过滤”,执行步骤e-4;
e-4、第一云服务器和第二云服务器输入
Figure BDA00041261841800000313
Figure BDA00041261841800000314
pkMDO,pkMDU,λ1,λ2,执行子集决策机制计算
Figure BDA00041261841800000315
Figure BDA00041261841800000316
e-5、第一云服务器和第二云服务器将
Figure BDA00041261841800000317
进行累乘得到
Figure BDA00041261841800000318
对/>
Figure BDA00041261841800000319
加入随机化种子r1得到加密值/>
Figure BDA00041261841800000320
其中/>
Figure BDA00041261841800000321
e-6、重复步骤e-2至e-5,直至完成m组数据的运算。
优选的,步骤f中,用户根据加密值判断对应的加密文档是否属于最终的搜索结果,具体是:用户收到加密值后使用弱私钥skMDU解密,若输出为0,则表示搜索陷门与可搜索密文不匹配,则对应的加密文档不是最终的搜索结果;若输出为1,表示搜索陷门与可搜索密文匹配,则对应的加密文档属于最终的搜索结果。
优选的,步骤g中,用ε表示搜索结果
Figure BDA0004126184180000041
的数量,每一个结果文档/>
Figure BDA0004126184180000042
都会关联一个
Figure BDA0004126184180000043
γ∈[1,ε];代理边缘结点随机选择/>
Figure BDA0004126184180000044
发送{γ,eγ}给第二云服务器,第二云服务器计算/>
Figure BDA0004126184180000045
其中/>
Figure BDA0004126184180000046
第二云服务器发送证明信息(υ*,τ*)给代理边缘结点;代理边缘结点验证下式是否成立:
Figure BDA0004126184180000047
若验证等式成立,表明文档验证通过;否则表示文档验证未通过。
本发明提出了可验证的轻量化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
Figure BDA0004126184180000051
输入消息m和公钥pki,输出密文/>
Figure BDA0004126184180000052
Figure BDA0004126184180000053
Figure BDA0004126184180000054
可以通过解密算法使用弱私钥ski解密。
(SK1,SK2)←SkeyS(SK).使用剩余定理将强私钥SK=λ分成两部分SK1=λ1,SK2=λ2,递归的执行算法输出更多分解密钥。
Figure BDA0004126184180000055
输入密文/>
Figure BDA0004126184180000056
和部分强私钥SK1,运行部分解密算法输出部分解密密文CTi (1)
m←PSDec2(SK2,CTi (1)).输入部分解密密文CTi (1)和部分强私钥SK2,运行部分解密算法输出明文消息m。
Figure BDA0004126184180000057
输入密文/>
Figure BDA0004126184180000058
输出明文消息m的另一个密文。
跨域安全计算协议:DT-PKC仅支持处在同一公钥下的同态加密,但是在实际分布式搜索时,为了保护用户、数据持有人隐私,需要对使用不同公钥的密文做部分同态加密,给出公钥pkMDU,pkMDO,密文
Figure BDA0004126184180000059
满足以下协议:
Figure BDA00041261841800000510
安全位乘法协议给出密文/>
Figure BDA00041261841800000511
输出/>
Figure BDA00041261841800000512
Figure BDA00041261841800000513
安全位加法协议给出密文/>
Figure BDA00041261841800000514
输出/>
Figure BDA00041261841800000515
Figure BDA00041261841800000516
安全位分解协议给出密文二进制形式/>
Figure BDA00041261841800000517
输出对单个二进制位的密文/>
Figure BDA00041261841800000518
部分同态运算性质:
E(x+y)←E(x)·E(y)mod N2
E(x·y)←E(x)y mod N2
子集决策机制:本发明采用了子集决策机制,可以用来判断某个子集是否属于另一个集合。它的设计思路是将关键字集合之间的关系通过二进制串来表示,类似邻接矩阵,从而减少了复杂的加密运算开销。
假设有两个二进制串W1=111001和W2=100001,n表示二进制串长度,需要判断两个二进制串的包含关系,可以执行以下运算:
1)取二进制串W1=111001,计算它的反码
Figure BDA0004126184180000061
2)当j<n时,执行;
3)按位加法得到
Figure BDA0004126184180000062
4)用2减去cj得到dj
5)对dj进行累乘得到R;
6)循环while结束;
7)如果R=0,
Figure BDA0004126184180000063
否则,W2∈W1
系统模型:
在本发明方案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符号表
Figure BDA0004126184180000071
Figure BDA0004126184180000081
任务过滤
由于实际搜索过程中,需要用到大量的交互式算法,通信较为复杂,为了解决通信过程中由于大量不匹配的任务产生的不必要的通信开销的问题,在子集决策机制的基础上设计了一个过滤算法用于过滤完全不匹配的任务。
本发明在搜索过程中用到了SE-EPOM中的子集决策机制,在密文的基础上使用CP1和CP2进行搜索。但是,当任务集中存在大量完全不匹配的加密二进制串时,方案SE-EPOM会产生多余的通信开销。本发明方案VSE-EPOMFC在搜索过程中增加了一个过滤算法,负责筛选完全不匹配的二进制串,如图2所示。筛选出来完全不匹配的二进制串后,将其进行过滤,后期不再进行重复搜索、计算。
只有当两个二进制串完全不匹配时,过滤算法生效。对密文进行计算,只能使用安全位加法和安全位乘法运算。为了便于理解,本发明实施例中演示的例子在明文状态下执行,如图2所示;实际情况下则需要在加密的二进制串上运行各种复杂的通信协议。过滤算法用于判断两个二进制串是否完全不匹配。首先当每个对应的加密位都不相同时,运用安全位乘法协议必定产生全为0的加密二进制串,接着使用安全位加法协议,对所有位累加,最后将结果交给用户MDU解密,如果结果为零表示两个二进制串必定完全不匹配,将其从任务集中删除。表2中的算法1展示了在明文状态下执行过滤的过程。
表2
Figure BDA0004126184180000082
Figure BDA0004126184180000091
具体方案构造
(SK,SK1,SK2,PP,H0,H1)←Setup(k).
KGC首先执行KeyGen得到强私钥SK=λ和参数N=pq,s=-a2N(其中
Figure BDA0004126184180000092
是随机选取的,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),
Figure BDA0004126184180000093
ENM会输出一个ξ-1次的多项式f(x)=cξ-1xξ-1+...+c1x+c0,这里
Figure BDA0004126184180000094
ENM选择i个满足多项式的元素对{(x1,y1),(x2,y2),...,(xi,yi)},y1,...,yi发送给普通边缘结点EN用于签名。
(Cm,SCm,τ)←Searchcp(Did,W,WT,pkMDO).
每一个文档Did,对应一个id,关联一个关键字集WT。MDO首先对WT使用算法Enc加密产生可搜索密文
Figure BDA0004126184180000095
假设有m个文档,那么最终会产生m个可搜索密文
Figure BDA0004126184180000096
同时对m个文档使用传统对称密钥K∈GT加密得到Cm。为了验证搜索结果的正确性,数据持有人MDO会委托EN对密文Cm计算签名/>
Figure BDA0004126184180000097
在至少计算阈值数量个签名后(阈值ξ与EN中的边缘结点数量i之间的关系为:i≤2ξ-1,假设阈值数量设定为10,则EN中的边缘结点数量不超过19,此时签名至少计算10个,至多计算19个),ENM将所有签名整合成唯一阈值签名/>
Figure BDA0004126184180000101
其中,/>
Figure BDA0004126184180000102
从而缩短了签名长度,之后将签名上传到CP1。
(TDm)←Trapdoor(W,Wt,pkMDU).
MDU对Wt使用Enc产生搜索陷门,对于m个可搜索密文,产生m个对应的搜索陷门
Figure BDA0004126184180000103
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组可搜索密文和搜索陷门为例进行说明:
输入
Figure BDA0004126184180000104
pkMDU,pkMDO,SK1=λ1,SK2=λ2,CP1先计算
Figure BDA0004126184180000105
这里,sum=2μ-1,μ代表sum二进制形式的位长,CP1和CP2运行交互式SBD协议,输出第m组(取第m组密文进行计算)
Figure BDA0004126184180000106
表3
Figure BDA0004126184180000107
Figure BDA0004126184180000111
然后执行表3中的过滤算法2,输入
Figure BDA0004126184180000112
TD'm,pkMDU,SK1,SK2,pkMDO,使用SBD协议计算/>
Figure BDA0004126184180000113
最终得到了两个所有位都被加密的二进制串
Figure BDA0004126184180000114
在这两组字串中,使用SMD协议相乘得到/>
Figure BDA0004126184180000115
使用SAD协议对/>
Figure BDA0004126184180000116
中的每一位进行累加,结果记为/>
Figure BDA0004126184180000117
交给用户使用弱私钥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继续执行以下算法,完成剩余的搜索:
CP1和CP2输入
Figure BDA0004126184180000118
Figure BDA0004126184180000119
pkMDU,pkMDO,SK1=λ1,SK2=λ2,执行子集决策机制计算
Figure BDA00041261841800001110
(每两个对应位都做SAD运算),/>
Figure BDA00041261841800001111
CP1和CP2将
Figure BDA00041261841800001112
进行累乘得到/>
Figure BDA00041261841800001113
对/>
Figure BDA00041261841800001114
加入随机化种子rm得到加密值/>
Figure BDA00041261841800001115
其中/>
Figure BDA00041261841800001116
这一步的目的是为了防止用户解密后从中推断敏感的关键字信息。
CP2将加密值
Figure BDA00041261841800001117
发送给用户,用户收到/>
Figure BDA00041261841800001118
后使用弱私钥skMDU解密。若结果输出0,表示陷门与可搜索密文不匹配;若结果输出1,表示陷门与可搜索密文匹配;当陷门与可搜索密文匹配时,表示该可搜索密文对应的文档是想要的搜索结果,由用户向CP2申请获取相关的文档/>
Figure BDA0004126184180000121
Figure BDA0004126184180000122
用ε表示搜索结果
Figure BDA0004126184180000123
的数量,每一个结果文档/>
Figure BDA0004126184180000124
都会关联一个/>
Figure BDA0004126184180000125
首先,ENM随机选择/>
Figure BDA0004126184180000126
发送{γ,eγ}给CP2,CP2计算/>
Figure BDA0004126184180000127
这里
Figure BDA0004126184180000128
CP2发送证明信息(υ*,τ*)给ENM。如果满足以下等式,那么搜索结果经过验证是正确的:
Figure BDA0004126184180000129
用户收到经过验证的结果文档后,使用对称密钥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,表示不存在完全不匹配的任务。当任务集中有
Figure BDA0004126184180000131
的任务完全不匹配,匹配度为III;当任务集中有/>
Figure BDA0004126184180000132
的任务完全不匹配,匹配度为II;当任务集中有/>
Figure BDA0004126184180000133
的任务完全不匹配,匹配度为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发送给普通边缘结点用于签名;
普通边缘结点对加密文档计算签名,具体如下:
Figure FDA0004126184170000021
其中,H0和H1是两个抗碰撞哈希函数,H0:{0,1}*→Zp,H1:{0,1}*→G;Cm为加密文档;
代理边缘结点将所有签名进行整合,具体如下:
Figure FDA0004126184170000022
其中,
Figure FDA0004126184170000023
3.根据权利要求2所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,步骤e中,第一云服务器和第二云服务器交互式的执行子集决策机制、跨域安全计算协议,计算一个加密值,具体如下:
e-1、设有m个加密文档,以及对应的m个可搜索密文
Figure FDA0004126184170000024
和m个搜索陷门/>
Figure FDA0004126184170000025
T和t分别为可搜索密文的十进制形式和搜索陷门的十进制形式;
e-2、首先对第一组可搜索密文和搜索陷门进行交互式运算,输入
Figure FDA0004126184170000026
pkMDO,pkMDU,λ1,λ2,其中,pkMDO和pkMDU分别为数据持有人和用户的公钥;λ1和λ2为密钥生成中心生成的部分强私钥;
第一云服务器首先计算
Figure FDA0004126184170000027
的反码/>
Figure FDA0004126184170000028
其中,sum=2μ-1,μ代表sum二进制形式的位长;第一云服务器和第二云服务器运行交互式SBD协议,输出第一组:/>
Figure FDA0004126184170000029
Ti和ti分别为可搜索密文的二进制形式和搜索陷门的二进制形式;
e-3、输入
Figure FDA00041261841700000210
TD'm,pkMDO,pkMDU,λ1,λ2,使用SBD协议计算/>
Figure FDA00041261841700000211
最终得到了两个所有位都被加密的二进制串/>
Figure FDA00041261841700000212
在这两组二进制串中,使用SMD协议相乘得到/>
Figure FDA00041261841700000213
使用SAD协议对/>
Figure FDA00041261841700000214
中的每一位进行累加,结果记为/>
Figure FDA00041261841700000215
将/>
Figure FDA00041261841700000216
交给用户使用弱私钥skMDU解密得到ft,若ft=0,则用户返回“需要过滤”,否则返回“不需要过滤”,执行步骤e-4;
e-4、第一云服务器和第二云服务器输入
Figure FDA00041261841700000217
Figure FDA00041261841700000218
pkMDO,pkMDU,λ1,λ2,执行子集决策机制计算
Figure FDA00041261841700000219
Figure FDA0004126184170000031
e-5、第一云服务器和第二云服务器将
Figure FDA0004126184170000032
进行累乘得到/>
Figure FDA0004126184170000033
对/>
Figure FDA0004126184170000034
加入随机化种子r1得到加密值/>
Figure FDA0004126184170000035
其中/>
Figure FDA0004126184170000036
e-6、重复步骤e-2至e-5,直至完成m组数据的运算。
4.根据权利要求3所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,步骤f中,用户根据加密值判断对应的加密文档是否属于最终的搜索结果,具体是:用户收到加密值后使用弱私钥skMDU解密,若输出为0,则表示搜索陷门与可搜索密文不匹配,则对应的加密文档不是最终的搜索结果;若输出为1,表示搜索陷门与可搜索密文匹配,则对应的加密文档属于最终的搜索结果。
5.根据权利要求4所述的云边端环境下可验证的轻量化可搜索加密方法,其特征是,步骤g中,用ε表示搜索结果
Figure FDA0004126184170000037
的数量,每一个结果文档/>
Figure FDA0004126184170000038
都会关联一个/>
Figure FDA0004126184170000039
代理边缘结点随机选择/>
Figure FDA00041261841700000310
发送{γ,eγ}给第二云服务器,第二云服务器计算/>
Figure FDA00041261841700000311
Figure FDA00041261841700000312
其中/>
Figure FDA00041261841700000313
第二云服务器发送证明信息(υ*,τ*)给代理边缘结点;代理边缘结点验证下式是否成立:
Figure FDA00041261841700000314
若验证等式成立,表明文档验证通过;否则表示文档验证未通过。
CN202310246747.4A 2023-03-15 2023-03-15 云边端环境下可验证的轻量化可搜索加密方法 Pending CN116318964A (zh)

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)

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