CN110866135B - 一种基于响应长度隐藏的k-NN图像检索方法及系统 - Google Patents

一种基于响应长度隐藏的k-NN图像检索方法及系统 Download PDF

Info

Publication number
CN110866135B
CN110866135B CN201911098577.XA CN201911098577A CN110866135B CN 110866135 B CN110866135 B CN 110866135B CN 201911098577 A CN201911098577 A CN 201911098577A CN 110866135 B CN110866135 B CN 110866135B
Authority
CN
China
Prior art keywords
image
key
ciphertext
user
cloud server
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
Application number
CN201911098577.XA
Other languages
English (en)
Other versions
CN110866135A (zh
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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201911098577.XA priority Critical patent/CN110866135B/zh
Publication of CN110866135A publication Critical patent/CN110866135A/zh
Application granted granted Critical
Publication of CN110866135B publication Critical patent/CN110866135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Abstract

本发明属于云计算安全技术领域,特别涉及一种基于响应长度隐藏的k‑NN图像检索方法及系统,所述方法包括在云服务器中基于响应长度隐藏的k‑NN图像检索系统中用户加密上传以及用户搜索图像的过程,即包括:可信的密钥代理商生成密钥并分发密钥,需要上传图像的用户通过属性加密制定对加密图像提供细粒度的访问控制的访问策略;加密上传图像,将图像存储在云服务器中;图像用户通过个人属性信息和私钥获取查询所需的辅助信息;根据辅助信息找出由查询视觉单词索引的图像和图像的加权词频向量;本发明使用稠密子图对二部图进行转换,获得比简单填充或截断变换更小的多映射,从而降低存储开销。

Description

一种基于响应长度隐藏的k-NN图像检索方法及系统
技术领域
本发明属于云计算安全技术领域,特别涉及一种基于响应长度隐藏的k-NN图像检索方法及系统。
背景技术
随着互联网和数字成像技术的飞速发展,大量数字图像被创建并运用于各个领域,包括医学、出版、教育等。由于用户终端的计算资源和存储资源非常有限,越来越多的企业开始将图像数据存储在云服务器,以减少图像数据的存储和管理开销。面对海量图像数据集,有效的检索成为一项基本要求。信息检索常用的方法之一是k近邻(k-NN)查询。k-NN查询是Knuth在1973年提出来的,可以简单描述为:在给定有n个m维特征向量的图像库I中找到与查询图像Iq相似度最接近的图像集。需要注意的是,这些k-NN查询算法虽然可以快速有效地检索到相似的图像,但是泄露了图像特征的敏感信息。为了在检索图像的同时保护图像特征的敏感信息,研究人员们提出了许多安全k-NN查询算法。
安全k-NN查询算法中的信息泄漏包含k-NN响应泄漏和响应长度泄漏。其中k-NN响应泄漏是指查询图像与视觉单词索引的图像的相似度。响应长度泄漏是指查询的视觉单词所匹配的图像数量。然而攻击者可以利用这些泄漏信息,发动一些恶意攻击。Kornaropoulos等人描述了一种针对k-NN查询泄漏的数据恢复攻击,研究表明对于以查询图像为基准,按图像相似性升序排列的有序k元组,攻击者可以在时间内非常准确地估计客户端的加密数据库。为了抵御这种k-NN查询泄漏的数据恢复攻击,最近Chen等人提出了一种基于加性同态加密、混淆电路和不经意RAM的安全近似k-NN查询方案。响应长度泄漏是一种非常难以抑制的泄漏模式。事实上,即使是基于ORAM的解决方案也会泄漏响应长度。Kellaris等人描述了一种针对响应长度泄漏的数据恢复攻击。研究表明对于大小为N的数据集,攻击者不需要具有关于数据的先验知识,并且不需要知道已发布的查询及其结果,在大约N4个查询之后便可以重建明文数据库。Kamara等人首次提出了隐藏响应长度的PBS方案。
虽然Chen等人提出的方案可以抵御k-NN响应泄漏攻击,但由于混淆电路的操作是逐位执行的,导致该方案的计算时间和空间开销过大。Xiao等人和Zhang等人提出了一种非电路的同态加密算法,该算法不需要额外的电路计算开销,因此效率更高。我们观察到安全k-NN查询实际上也是响应长度隐藏的一种,即查询结果的响应长度隐藏。目前研究者大多采用简单填充的方法来实现响应长度的隐藏,但这导致了不小的存储开销。Bost等人提出了数据库填充算法,以较小的存储开销实现了响应长度的隐藏。但是它忽略了所存储的图像数据可能存在冗余存储的情况。Kamara等人提出了一个基于集中多映射的数据库填充算法,通过减少冗余图像数据的存储从而降低方案的存储开销。但它将所有关键字的响应长度均填充至最大响应长度,导致增加了一些不必要的存储开销。
发明内容
为了以最小化的存储开销实现了响应长度隐藏,本发明提出一种云服务器中基于响应长度隐藏的k-NN图像检索方法及系统,所述系统包括包括用户、第三方、云服务器和密钥代理商,其中:
所述用户包括图像拥有者和图像用户,图像拥有者将加密的图像存储到云服务器,并自定义访问策略控制图像用户的查询权限;图像用户在拥有查询权限的情况下,根据其自身的私钥生成搜索令牌来查询图像;
所述云服务器存储加密图像、查询所需的视觉词典和辅助多映射以及计算图像的相似度;
所述第三方用于比较图像之间的相似度以及转发用户与云服务器之间的交易;
所述密钥代理商用于生成密钥以及分发密钥。
本发明提供一种基于响应长度隐藏的k-NN图像检索方法,在云服务器中基于响应长度隐藏的k-NN图像检索系统中用户加密上传以及用户搜索图像的过程包括以下步骤:
S1、密钥代理商生成密钥并分发密钥,需要上传图像的用户通过属性加密制定对加密图像提供细粒度的访问控制的访问策略;
S2、图像拥有者加密上传图像,将图像存储在云服务器中;
S3、进行一级搜索,在一级搜索中,图像用户通过个人属性信息和私钥获取查询所需的辅助信息;
S4、进行二级搜索,在二级搜索中,根据辅助信息找出由查询视觉单词索引的图像和图像的加权词频向量。
进一步的,步骤S2具体包括:
利用SIFT对图像集进行特征提取,通过K-means算法对特征进行聚类,生成视觉词典;
按照视觉单词的响应长度进行聚类,按类进行填充;
使用视觉词典对图像特征进行量化,并利用TF-IDF计算图像的加权词频向量得到加权词频向量;
采用辅助多映射和字典来存储图像,并构建一个响应长度隐藏的二部图;
利用属性加密方法加密辅助信息和授权用户信息,并利用多级同态加密视觉词典。
进一步的,按照视觉单词的响应长度进行聚类,按类进行填充的过程包括:
根据主流的手肘法确定视觉单词的最优聚类数k;
使用K-Means聚类算法对视觉单词按其响应长度进行聚类,得到最优聚类;
根据最优聚类计算令分簇填充最优的插入的混淆图像和真实图像的比值;
根据最优的插入的混淆图像和真实图像的比值对图像进行填充。
本发明使用稠密子图对二部图进行转换,获得比简单填充或截断变换更小的多映射,从而降低存储开销。
附图说明
图1是本发明一种基于响应长度隐藏的k-NN图像检索系统模型图;
图2是本发明的集中多映射的响应长度隐藏的二部图;
图3是本发明的一级搜索交互图:获取查询的辅助信息;
图4是本发明的二级搜索交互图:实现图像的安全k-NN查询。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于响应长度隐藏的k-NN图像检索系统,如图1,包括用户、第三方(简称TP)、云服务器(简称CS)和密钥代理商(简称KA),其中:
所述用户包括图像拥有者(简称I0)和图像用户(简称IU),图像拥有者将加密的图像存储到云服务器,并自定义访问策略控制图像用户的查询权限;图像用户在拥有查询权限的情况下,根据其自身的私钥生成搜索令牌来查询图像;一个用户可以既是图像拥有者又是图像用户;
所述云服务器存储加密图像、查询所需的视觉词典和辅助多映射以及计算图像的相似度;当云服务器接收到合法的搜索请求时,云服务器可以通过计算处理该合法请求;
所述第三方用于比较图像之间的相似度以及转发用户与云服务器之间的交易;第三方通常指合同关系双方的两个主体之外相对独立的,有一定公正性的第三主体,一般引入第三方的目的是为了确保交易的公平、公正,避免纠纷和欺诈,在本发明中,第三方主要是指任何不可能或者不太可能与云服务器串通的代理人;
所述密钥代理商用于生成密钥以及分发密钥。
如图1,密钥代理商生成密钥并为用户、云服务器以及第三方分配密钥,其中,密钥代理商将密钥Ku发送给用户,将密钥K′u和KTP发送给第三方,将密钥K″u和KCS发送给云服务器,然后进行以下操作:
1、用户与云服务器执行访问控制(Access Control);
2、用户通过第三方执行上传或者查询(Upload or Query);
3、第三方执行密钥转换以及相似性比较(Key Conversion and SimilarityComparison),并在云服务器中进行查询;
4、云服务器执行图像存储(Store)、相似性计算(Similarity Calculate)以及图像检索(Search),并将结果反馈给第三方;
5、第三方将结果反馈(response)给用户。
与现有技术相比,本发明系统引入第三方,将图像的相似度计算和比较分离到云服务器和第三方,云服务器仅负责计算图像间的相似度,第三方负责比较图像间的相似度,这样可以抵御k-NN响应泄露的数据恢复攻击。
本发明还提供一种基于响应长度隐藏的k-NN图像检索方法,在云服务器中基于响应长度隐藏的k-NN图像检索系统中用户加密上传以及用户搜索图像的过程包括以下步骤:
S1、密钥代理商生成密钥并分发密钥,需要上传图像的用户通过属性加密制定对加密图像提供细粒度的访问控制的访问策略;
S2、图像拥有者加密上传图像,将图像存储在云服务器中;
S3、进行一级搜索,在一级搜索中,图像用户通过个人属性信息和私钥获取查询所需的辅助信息;
S4、进行二级搜索,在二级搜索中,根据辅助信息找出由查询视觉单词索引的图像和图像的加权词频向量。
在本实施例中,密钥代理商运行密钥生成算法KeyGen(1λ)→K生成要在同态加密中使用的主密钥K,根据K再次运行KeyGen(1λ)→(KTP,KCS)生成两个随机密钥KTP和KCS使得KTPKCS=K;
通过安全信道分别向云服务器和第三方发送KCS和KTP,第三方利用密钥KTP解密距离对,云服务器利用密钥KCS生成由密钥KTP加密的距离对;
每当新用户加入时,密钥代理商就会运行密钥生成算法生成三个随机密钥Ku、K′u、K″u,使得KuK′uK″u=K;
通过安全通道分别向云服务器提供密钥K″u,云服务器利用密钥K″u将由密钥KuK′u加密的密文转换为由密钥K加密的密文;向第三方提供密钥K′u,第三方利用密钥K″u进行转发用户和云服务器之间交易的转换;向用户提供密钥Ku
在搜索相似图像集时,云服务器使用密钥KCS将加权词频向量的密钥由K转换成KTP,使得第三方可以解密加权词频向量间的距离从而比较图像的相似度;
图像拥有者通过属性加密方法定义了一种简单的访问策略,可以对加密图像提供细粒度的访问控制,表示为:
AC=(AC.Enc(·),AC.Token(·),AC.Query(·),AC.Dec(·));
其中,AC表示访问策略;
AC.Enc(·)表示属性加密方法,具体表示为:AC.Enc(K,m,μ)→c,该方法是由图像拥有者运行的(概率性)属性加密算法,该算法将密钥K、辅助消息m∈M和属性信息μ∈U作为输入,输出与(μ,m)相关联的密文c,U表示属性信息的集合,M表示辅助信息的集合;
AC.Token(·)表示搜素令牌生成算法,具体表示为:AC.Token(K,μ)→tk,如图3,该算法是由图像拥有者或授权用户运行的(概率性)算法,用于生成搜索令牌;该算法将密钥K和属性信息μ∈U作为输入,输出搜索令牌tk;
AC.Query(·)表示辅助信息查询算法,具体表示为:AC.Query(tk,c)→cq,如图3,该算法是由云服务器运行的(确定性)算法,用于检索授权用户查询图像所需辅助信息的相关密文,该算法将搜索令牌tk和密文c作为输入,输出一系列与(μ,m)相关联的密文cq
AC.Dec(·)表示属性解密算法,具体表示为:AC.Dec(K,cq)→mq,如图3,该算法是由图像拥有者或授权用户运行的(确定性)属性解密算法,用于解密授权用户查询图像所需的辅助信息,该算法将密钥K和密文cq作为输入,输出查询所需的辅助信息mq
分发了密钥之后,图片拥有者可以上传图片,包括:
利用SIFT对图像集进行特征提取,通过K-means算法对特征进行聚类,生成视觉词典;
按照视觉单词的响应长度进行聚类,按类进行填充;
为了提高图像检索的准确率,使用视觉词典对图像特征进行量化,并利用TF-IDF计算图像的加权词频向量得到加权词频向量;
采用辅助多映射和字典DX来存储图像,并构建一个响应长度隐藏的二部图;
利用属性加密方法加密辅助信息和授权用户信息,并利用多级同态加密视觉词典。
本发明为了确保二部图可以实现有效地查询,使用辅助多映射MMG和字典DX来表示二部图中的结构和存储在桶中的数据。更详细地说,辅助多映射MMG将视觉单词映射到与其相关联的桶标识符,字典DX将桶标识符映射到存储在桶中的图像和图像的加权词频向量。为了检索与查询视觉单词w相关联的图像以及图像的加权词频向量,查询w上的辅助多映射MMG以检索其t个桶标识符,然后查询t个桶标识符上的字典DX以检索存储在桶中的图像和图像的加权词频向量。
进一步的,按照视觉单词的响应长度进行聚类,按类进行填充的过程包括:
根据主流的手肘法确定视觉单词的最优聚类数k;
使用K-Means聚类算法对视觉单词按其响应长度进行聚类,得到最优聚类;
根据最优聚类计算令分簇填充最优的插入的混淆图像和真实图像的比值;
根据最优的插入的混淆图像和真实图像的比值对图像进行填充。
在响应视觉单词w的查询时,服务器将看到它匹配
Figure BDA0002269145160000081
个图像,其中
Figure BDA0002269145160000082
是w匹配的真实图像的数量,
Figure BDA0002269145160000083
是用于填充的混淆图像的数量。同样,填充后图像库中的图像总数为No=Nr+Np,其中Nr为真实图像数,Np为混淆图像数。则视觉单词的观察概率
Figure BDA0002269145160000084
真实概率
Figure BDA0002269145160000085
和混淆概率
Figure BDA0002269145160000086
可以表示为
Figure BDA0002269145160000087
通过γ表示插入的混淆图像和真实图像的比值:
Figure BDA0002269145160000088
结合
Figure BDA0002269145160000089
得到
Figure BDA00022691451600000810
Figure BDA00022691451600000811
之间的关系:
Figure BDA00022691451600000812
由于
Figure BDA00022691451600000813
必须在0和1之间,因此可以得到γ的下界:
Figure BDA00022691451600000814
为了实现最优填充使得γ最小化,首先根据主流的手肘法确定视觉单词的最优聚类数k,然后使用经典的K-Means聚类算法对视觉单词按其响应长度进行聚类。对于给定的最优聚类Γ=(G1,...,Gm),当w∈Gi时,
Figure BDA00022691451600000815
表示
Figure BDA00022691451600000816
的最大值,
Figure BDA00022691451600000817
表示
Figure BDA00022691451600000818
的最小值;γ的最小值表示为:
Figure BDA00022691451600000819
因此,当
Figure BDA00022691451600000820
时,γ的值最小:即为了达到最优填充,每个簇的预期观测概率应为
Figure BDA00022691451600000821
注意,在这个过程的最后,将视觉单词根据其所属簇的预期观测概率
Figure BDA00022691451600000822
进行填充。
响应长度隐藏的二部图包括由(DS.Setup(·),DS.GetB(·),DS.GetDX(·))三个多项式时间算法组成的稠密子图变换协议;为了确保这种二部图可以实现有效地查询,使用辅助多映射MMG和字典DX来表示二部图中的结构和存储在桶中的数据;
其中,DS.Setup(1λ,n,MM)→(MMG,DX)是由图像拥有者运行的(概率性)稠密子图变换算法,用于构建响应长度隐藏的二部图,该算法以安全参数1λ;整数n和多映射MM作为输入,输出辅助多映射MMG和字典DX,具体包括:
实例化一个以WMM作为顶部顶点,n个空桶作为底部顶点的二部图,并计算多映射的集中组件
Figure BDA0002269145160000091
如果
Figure BDA0002269145160000092
则随机均匀地采样
Figure BDA0002269145160000093
并选择由集合
Figure BDA0002269145160000094
索引的桶:
Figure BDA0002269145160000095
将集合{(fI,I)}:=MM[w]中的值分别存储到桶Bi中;
如果
Figure BDA0002269145160000096
则多映射MM是(η,τ)集中的,也就是说存在个视觉单词所匹配的图像中有个交集,为了利用这种冗余,先随机均匀地采样
Figure BDA0002269145160000097
并选择由集合
Figure BDA0002269145160000098
索引的桶:
Figure BDA0002269145160000099
其中,
Figure BDA00022691451600000910
k表示随机采样一个k位的值;
将集合
Figure BDA00022691451600000911
中的值分别存储在桶
Figure BDA00022691451600000912
中;
Figure BDA00022691451600000913
中的桶从1到n-τ进行排序,并选择由集合Bi=(B1,...,BNw-τ)索引的桶:
Figure BDA00022691451600000914
将集合
Figure BDA00022691451600000915
中的值分别存储在桶Bi中;
其中,集中多映射指计算多映射中有哪些集中组件存在多少冗余图像,然后把冗余图像分情况进行存储以减少存储的开销;辅助多映射是在生成二部图以后,为了保证二部图的检索效率,使用辅助多映射和字典来表示这个二部图,辅助多映射中存储的是视觉单词和桶标识符之间的映射。
根据上述情况,本实施例举一个例子:如图2,对于数据库I={I1,...,I11},VD={w1,w2,w3,w4},存在图像{I2,I3}均包含视觉单词{w2,w3,w4},则η=3,τ=2,图2(a)和图2(b)分别为在稠密子图方案(DST)和基于响应长度隐藏的k-NN图像检索方案方案(RKIR)中隐藏响应长度的集中多映射的结果图。其中,浅色星号表示对视觉单词的填充,深色星号表示对桶的填充;其中,η表示有η个视觉单词共享相同的桶,即这些冗余图像均可由这η个视觉单词表示。
创建一个辅助多映射MMG和一个字典DX,辅助多映射MMG
Figure BDA0002269145160000101
映射到{rand,KB},将
Figure BDA0002269145160000102
映射到{(rand,rand*),KB},字典DX将桶标识符映射到存储在桶中的图像和图像的加权词频向量;
其中,⊥表示集合为空;$表示随机生成过程;rand表示随机生成的随机值;k为安全参数;
Figure BDA0002269145160000103
表示Nw个桶,Nw为视觉单词w的响应长度;
Figure BDA0002269145160000104
表示利用伪随机函数F计算Nw个桶的位置;rand*表示随机生成的用于计算存储冗余图像的桶的位置的随机值;
Figure BDA0002269145160000105
表示利用伪随机函数F计算τ个桶的位置;
Figure BDA0002269145160000106
表示存储冗余图像的τ个桶;
Figure BDA0002269145160000107
表示利用伪随机函数H计算Nw-τ个桶的位置;
Figure BDA0002269145160000108
表示滑动窗口数,用于确定地将Nw-τ中H的输出映射回Nw中的相应桶标识符,即使得同一个视觉单词w索引的两幅图像不会存储在同一个桶中;fI表示图像I的加权词频向量;MM[w]表示多映射中w的集合;
Figure BDA0002269145160000109
表示多映射的集中组件;KB表示加密桶位置的密钥,该密钥由图像拥有者随机生成,并存储在辅助多映射中;
Figure BDA00022691451600001010
表示冗余图像
Figure BDA00022691451600001011
的加权词频向量;τ为集中多映射中冗余图像的数量,表示为
Figure BDA00022691451600001012
#表示集合的基数。
本实施例中,利用多级同态加密视觉词典的过程包括:
图像拥有者运行HE.E(·)多级同态加密算法,使用密钥Ku加密字典DX,输出密文EDX′并将其发送给第三方;
第三方在接收到密文EDX′后,运行HE.E(·)多级同态加密算法改变密文的密钥,表示为:
Figure BDA00022691451600001013
其中,DX为创建的字典;
得到使用密钥KuK′u加密的新密文EDX″并将其发送给云服务器;
云服务器在接收到新密文EDX″后,运行HE.E(·)多级同态加密算法改变新密文的密钥,表示为:
Figure BDA0002269145160000111
得到最终的密文HE.E(K,DX)=EDX并存储到加密字典。
在本实施例中,一级搜索的过程,如图3,包括:
当图像用户希望搜索图像库时,通过使用属性信息μ和密钥Ku运行AC.Token(·)算法获得查询令牌tkμ并提交给云服务器;
云服务器通过令牌tkμ运行AC.Query(·)算法获取辅助信息的密文cq:=(EVD,EMMG)并将其返回给图像用户;
图像用户运行属性解密算法AC.Dec(·),使用密钥Ku解密cq得到视觉词典VD和辅助多映射MMG;
图像用户在搜索查询图像Iq的相似图像集时,首先从Iq中提取特征向量,并用VD对其进行量化,获得视觉单词w和词频向量;
通过TF-IDF权重度量方法计算得到Iq的加权词频向量fq,完成一级搜索;
其中,EVD表示加密的视觉词典;EMMG表示加密的辅助多映射。
在本实施例中,二级搜索的过程,如图4,包括:
对于查询视觉单词w,图像用户首先运行DS.GetB(·)算法查询辅助多映射MMG,从中计算桶标识符B;
运行HE.E(·)多级同态加密算法,使用密钥Ku加密视觉单词w、加权词频向量fq和桶标识符B,输出密文HE.E(Ku,(w,fq,B))并将其发送给第三方;
第三方在接收到密文HE.E(Ku,(w,fq,B))后,运行HE.E(·)多级同态加密算法改变密文的密钥,表示为:
Figure BDA0002269145160000121
得到使用密钥KuK′u加密的新密文HE.E(KuK′u,(w,fq,B))并将其发送给云服务器;
云服务器在接收到新密文HE.E(KuK′u,(w,fq,B))后,运行HE.E(·)多级同态加密算法改变新密文的密钥,得到最终的密文
Figure BDA0002269145160000122
表示为:
Figure BDA0002269145160000123
其中,
Figure BDA0002269145160000124
表示桶标识符的密文;
Figure BDA0002269145160000125
表示加密的视觉单词。
云服务器运行DS.GetDX(·)算法,返回与查询视觉单词
Figure BDA0002269145160000126
相关联的加密图像和图像的加权词频向量
Figure BDA0002269145160000127
使用密钥KCS运行多级同态解密算法HE.D(·),得到使用密钥KTP加密的加权词频向量,表示为:
Figure BDA0002269145160000128
根据同态加密的特性,即对加密数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的;
云服务器使用距离函数D(·)分别计算查询图像的加权词频向量与查询视觉单词索引的加权词频向量间的距离,并将这些距离发送到第三方,该距离表示:
D(HE.E(KTP,fq),HE.E(KTP,fI))=HE.E(KTP,D(fq,fI));
第三方在接收到距离密文后对其进行解密,将明文距离按从小到大的顺序排列,并将前k个最小距离的加权词频向量对Dmin(fq,fI)经过使用密钥KTP的HE.E(·)多级同态加密算法加密后得到HE.E(KTP,D(fq,fI)),并将其发送给云服务器;
云服务器在接收到k个加权词频向量对的密文距离HE.E(KTP,D(fq,fI))后,使用密钥转换将其密钥更改为K;
检索与
Figure BDA0002269145160000131
相关联的图像集
Figure BDA0002269145160000137
运行多级同态解密算法HE.D(·)使用密钥K″u解密
Figure BDA0002269145160000132
获得使用密钥KuK′u加密的密文HE.E(KuK′u,I)并将其发送给第三方;
第三方在收到密文HE.E(KuK′u,I)后使用密钥K′u运行多级同态解密算法HE.D(·),获得使用密钥Ku加密的密文HE.E(Ku,I)并将其发送给图像用户;
图像用户使用密钥Ku运行多级同态解密算法HE.D(·)解密密文HE.E(Ku,I)得到相似图像集I;
其中,fq表示查询图像Iq的加权词频向量;fI为图像I的加权词频向量;
Figure BDA0002269145160000133
表示加密的视觉单词;
Figure BDA0002269145160000134
表示查询图像Iq的加权词频向量的密文;
Figure BDA0002269145160000135
表示桶标识符的密文;
Figure BDA0002269145160000136
表示图像I的加权词频向量的密文;Dmin(fq,fI)表示fq与fI之间的前k个最小距离的加权词频向量对。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (6)

1.一种基于响应长度隐藏的k-NN图像检索方法,其特征在于,在云服务器中基于响应长度隐藏的k-NN图像检索系统中用户加密上传以及用户搜索图像的过程包括以下步骤:
S1、密钥代理商生成密钥并分发密钥,需要上传图像的用户通过属性加密制定对加密图像提供细粒度的访问控制的访问策略;具体包括:
密钥代理商运行密钥生成算法生成在同态加密中使用的主密钥K,再次运行密钥生成算法生成两个随机密钥KTP和KCS,使得KTPKCS=K;
通过安全信道将随机密钥KCS发送给云服务器,将随机密钥KTP发送给第三方;
每当新用户加入时,密钥代理商就会运行密钥生成算法生成三个随机密钥Ku、K′u、K″u,使得KuK′uK″u=K;
通过安全通道分别向云服务器提供密钥K″u,向第三方提供密钥K′u,向新加入的用户提供密钥Ku
用户通过属性加密制定对加密图像提供细粒度的访问控制的访问策略,表示为:
AC=(AC.Enc(·),AC.Token(·),AC.Query(·),AC.Dec(·));
其中,AC表示访问策略;AC.Enc(·)表示属性加密方法;AC.Token(·)表示搜索令牌生成算法;AC.Query(·)表示辅助信息查询算法;AC.Dec(·)表示属性解密算法;
S2、图像拥有者加密上传图像,将图像存储在云服务器中;具体包括:
利用SIFT对图像集进行特征提取,通过K-means算法对特征进行聚类,生成视觉词典;
按照视觉单词的响应长度进行聚类,按类进行填充;
使用视觉词典对图像特征进行量化,并利用TF-IDF权重度量方法计算图像的加权词频向量;
采用辅助多映射和字典来存储图像,并构建一个响应长度隐藏的二部图;
利用属性加密方法加密辅助信息和授权用户信息,并利用多级同态加密视觉词典;
S3、进行一级搜索,在一级搜索中,图像用户通过个人属性信息和私钥获取查询所需的辅助信息;一级搜索具体包括:
当图像用户希望搜索图像库时,通过使用属性信息μ和密钥Ku运行AC.Token(·)算法获得查询令牌tkμ并提交给云服务器;
云服务器通过令牌tkμ运行
Figure FDA0003782919650000021
算法获取辅助信息的密文cq:=(EVD,EMMG)并将其返回给图像用户;
图像用户运行属性解密算法AC.Dec(·),使用密钥Ku解密辅助信息的密文cq得到视觉词典和辅助多映射MMG
图像用户在搜索查询图像Iq的相似图像集时,首先从Iq中提取特征向量,并用视觉词典对其进行量化,获得查询图像的视觉单词w和查询图像的词频向量;
通过TF-IDF权重度量方法计算得到Iq的加权词频向量fq,完成一级搜索;
其中,EVD表示加密的视觉词典;EMMG表示加密的辅助多映射;属性信息μ∈U,U表示用户属性的集合;
S4、进行二级搜索,在二级搜索中,根据辅助信息找出由查询视觉单词索引的图像和图像的加权词频向量;二级搜索的过程包括:
对于查询视觉单词w,图像用户运行DS.GetB(·)算法查询辅助多映射MMG,从中计算桶标识符B;
运行HE.E(·)多级同态加密算法,使用密钥Ku加密视觉单词w、加权词频向量fq和桶标识符B,输出密文HE.E(Ku,(w,fq,B))并将其发送给第三方;
第三方在接收到密文HE.E(Ku,(w,fq,B))后,运行HE.E(·)多级同态加密算法改变密文的密钥,得到使用密钥KuK′u加密的新密文HE.E(KuK′u,(w,fq,B))并将其发送给云服务器;
云服务器在接收到新密文HE.E(KuK′u,(w,fq,B))后,运行HE.E(·)多级同态加密算法改变新密文的密钥,得到最终的密文
Figure FDA0003782919650000031
云服务器运行DS.GetDX(·)算法,返回与查询视觉单词
Figure FDA0003782919650000038
相关联的加密图像和图像的加权词频向量
Figure FDA0003782919650000032
使用云服务器密钥KCS运行多级同态解密算法HE.D(·),得到使用第三方密钥KTP加密的加权词频向量;
云服务器使用距离函数分别计算查询图像的加权词频向量fq与查询视觉单词索引的加权词频向量fI间的距离,并将这些距离的密文发送到第三方;
第三方在接收到距离密文后对其进行解密,将明文距离按从小到大的顺序排列,并将前k个最小距离的加权词频向量对Dmin(fq,fI)经过使用密钥KTP的HE.E(·)多级同态加密算法加密后得到HE.E(KTP,D(fq,fI)),并将其发送给云服务器;
云服务器在接收到k个加权词频向量对的密文距离HE.E(KTP,D(fq,fI))后,使用密钥转换将其密钥更改为K;
检索与
Figure FDA0003782919650000033
相关联的图像集
Figure FDA0003782919650000034
运行多级同态解密算法HE.D(·)使用密钥K″u解密
Figure FDA0003782919650000035
获得使用密钥KuK′u加密的密文HE.E(KuK′u,I)并将其发送给第三方;
第三方在收到密文HE.E(KuK′u,I)后使用密钥K′u运行多级同态解密算法HE.D(·),获得使用密钥Ku加密的密文HE.E(Ku,I)并将其发送给图像用户;
图像用户使用密钥Ku运行多级同态解密算法HE.D(·)解密密文HE.E(Ku,I)得到相似图像集I,完成二级搜索;
其中,K表示同态加密的主密钥;Ku是用户的密钥;K′u是第三方用于转发用户和云服务器之间交易的转换密钥;K″u是云服务器用于将由密钥KuK′u加密的密文转换为由密钥K加密的密文的密钥;KTP是第三方用于解密距离对的密钥;KCS是云服务器用于生成由密钥KTP加密的距离对的密钥;fq表示查询图像Iq的加权词频向量;fI为图像I的加权词频向量;
Figure FDA0003782919650000036
表示加密的视觉单词;
Figure FDA0003782919650000037
表示查询图像Iq的加权词频向量的密文;
Figure FDA0003782919650000041
表示桶标识符的密文;
Figure FDA0003782919650000042
表示图像I的加权词频向量的密文;Dmin(fq,fI)表示fq与fI之间的前k个最小距离的加权词频向量对。
2.根据权利要求1所述的一种基于响应长度隐藏的k-NN图像检索方法,其特征在于,按照视觉单词的响应长度进行聚类,按类进行填充的过程包括:
根据主流的手肘法确定视觉单词的最优聚类数k;
使用K-Means聚类算法对视觉单词按其响应长度进行聚类,得到最优聚类;
根据最优聚类计算令分簇填充最优的插入的混淆图像和真实图像的比值;
根据最优的插入的混淆图像和真实图像的比值对图像进行填充。
3.根据权利要求2所述的一种基于响应长度隐藏的k-NN图像检索方法,其特征在于,最优的插入的混淆图像和真实图像的比值表示为:
Figure FDA0003782919650000043
其中,
Figure FDA0003782919650000044
为最优的插入的混淆图像和真实图像的比值;
Figure FDA0003782919650000045
表示视觉单词的观察概率;
Figure FDA0003782919650000046
表示视觉单词的真实概率,
Figure FDA0003782919650000047
表示
Figure FDA0003782919650000048
的最大值,
Figure FDA0003782919650000049
表示
Figure FDA00037829196500000410
的最小值;
Figure FDA00037829196500000411
表示视觉单词的混淆概率,m表示最优聚类中元素的数量;Gi表示最优聚类中第i个元素;
Figure FDA00037829196500000412
表示视觉单词所属簇的预期观测概率;w表示视觉单词;W表示视觉单词w所属的簇的集合;Γ为最优聚类。
4.根据权利要求1所述的一种基于响应长度隐藏的k-NN图像检索方法,其特征在于,构建响应长度隐藏的二部图包括:
实例化一个以WMM作为顶部顶点,n个空桶作为底部顶点的二部图,并计算多映射的集中组件
Figure FDA00037829196500000413
如果
Figure FDA00037829196500000414
则随机均匀地采样
Figure FDA00037829196500000415
并选择由集合
Figure FDA00037829196500000416
索引的桶:
Figure FDA00037829196500000417
如果
Figure FDA00037829196500000418
则随机均匀地采样
Figure FDA00037829196500000419
并选择由集合
Figure FDA0003782919650000051
索引的桶:
Figure FDA0003782919650000052
将集合
Figure FDA0003782919650000053
中的值分别存储在桶
Figure FDA0003782919650000054
中;
对B\
Figure FDA0003782919650000055
中的桶从1到n-τ进行排序,并选择由集合
Figure FDA0003782919650000056
索引的桶:
Figure FDA0003782919650000057
将集合
Figure FDA0003782919650000058
中的元素随机分配在桶Bi中,且每个桶分配一个元素;
创建一个辅助多映射MMG和一个字典DX,辅助多映射MMG
Figure FDA0003782919650000059
映射到{rand,KB},将
Figure FDA00037829196500000510
映射到{(rand,rand*),KB},字典DX将桶标识符映射到存储在桶中的图像和图像的加权词频向量;
其中,⊥表示集合为空;$表示随机生成过程;rand表示随机生成的随机值;k为安全参数;
Figure FDA00037829196500000521
表示Nw个桶,Nw为视觉单词w的响应长度;
Figure FDA00037829196500000511
表示利用伪随机函数F计算Nw个桶的位置;rand*表示随机生成的用于计算存储冗余图像的桶的位置的随机值;
Figure FDA00037829196500000512
表示利用伪随机函数F计算τ个桶的位置;
Figure FDA00037829196500000513
表示存储冗余图像的τ个桶;
Figure FDA00037829196500000514
表示利用伪随机函数H计算Nw-τ个桶的位置;
Figure FDA00037829196500000515
表示滑动窗口数;fI表示图像I的加权词频向量;MM[w]表示多映射中w的集合;
Figure FDA00037829196500000516
表示多映射的集中组件;KB表示加密桶位置的密钥;
Figure FDA00037829196500000517
表示冗余图像
Figure FDA00037829196500000518
的加权词频向量;τ为集中多映射中冗余图像的数量,表示为
Figure FDA00037829196500000519
#表示集合的基数,MM表示多映射操作;B\
Figure FDA00037829196500000520
表示存储非冗余图像的桶。
5.根据权利要求1所述的一种基于响应长度隐藏的k-NN图像检索方法,其特征在于,多级同态加密包括:
图像拥有者运行HE.E(·)多级同态加密算法,使用密钥Ku加密字典DX,输出第一密文EDX′并将其发送给第三方;
第三方在接收到第一密文EDX′后,运行HE.E(·)多级同态加密算法改变密文的密钥,得到使用密钥KuK′u加密的第二密文EDX″并将其发送给云服务器;
云服务器在接收到第二密文EDX″后,运行HE.E(·)多级同态加密算法改变新密文的密钥,得到第三密文HE.E(K,DX)=EDX并存储到加密字典;
其中,Ku是用户的密钥;K′u是第三方用于转发用户和云服务器之间交易的转换密钥。
6.一种基于响应长度隐藏的k-NN图像检索系统,其特征在于,用于实现权利要求1所述的一种基于响应长度隐藏的k-NN图像检索方法,该系统包括用户、第三方、云服务器和密钥代理商,其中:
所述用户包括图像拥有者和图像用户,图像拥有者将加密的图像存储到云服务器,并自定义访问策略控制图像用户的查询权限;图像用户在拥有查询权限的情况下,根据其自身的私钥生成搜索令牌来查询图像;
所述云服务器存储加密图像、查询所需的视觉词典和辅助多映射以及计算图像的相似度;
所述第三方用于比较图像之间的相似度以及转发用户与云服务器之间的交易;
所述密钥代理商用于生成密钥以及分发密钥。
CN201911098577.XA 2019-11-12 2019-11-12 一种基于响应长度隐藏的k-NN图像检索方法及系统 Active CN110866135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911098577.XA CN110866135B (zh) 2019-11-12 2019-11-12 一种基于响应长度隐藏的k-NN图像检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911098577.XA CN110866135B (zh) 2019-11-12 2019-11-12 一种基于响应长度隐藏的k-NN图像检索方法及系统

Publications (2)

Publication Number Publication Date
CN110866135A CN110866135A (zh) 2020-03-06
CN110866135B true CN110866135B (zh) 2022-09-23

Family

ID=69653601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911098577.XA Active CN110866135B (zh) 2019-11-12 2019-11-12 一种基于响应长度隐藏的k-NN图像检索方法及系统

Country Status (1)

Country Link
CN (1) CN110866135B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111862925B (zh) * 2020-07-03 2024-04-12 天津大学 一种基于惰性学习的自适应有源噪声控制系统及其方法
CN111814171B (zh) * 2020-07-23 2024-01-09 华侨大学 一种基于属性和图的云资源访问控制方法
CN113420175B (zh) * 2021-06-15 2022-12-09 西安电子科技大学 一种可验证细粒度加密图像检索方法及系统
CN113468575B (zh) * 2021-07-22 2023-09-19 东北大学 一种支持访问模式隐藏的密态流式数据检索系统及方法
CN116994125B (zh) * 2023-06-05 2024-04-02 中国公路工程咨询集团有限公司 一种云计算遥感的公路数据信息处理方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN104008174A (zh) * 2014-06-04 2014-08-27 北京工业大学 一种海量图像检索的隐私保护索引生成方法
CN107480163A (zh) * 2017-06-19 2017-12-15 西安电子科技大学 一种云环境下支持隐私保护的高效密文图像检索方法
CN108256031A (zh) * 2018-01-11 2018-07-06 北京理工大学 一种支持隐私保护的多源加密图像检索方法
CN108959567A (zh) * 2018-07-04 2018-12-07 武汉大学 一种云环境下适用于大规模图像的安全检索方法
CN108959478A (zh) * 2018-06-21 2018-12-07 中南林业科技大学 一种云环境下的密文图像检索方法及系统
CN109246096A (zh) * 2018-08-30 2019-01-18 西安电子科技大学 适用于云存储的多功能细粒度访问控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496638B2 (en) * 2016-12-07 2019-12-03 City University Of Hong Kong Systems and methods for privacy-assured similarity joins over encrypted datasets
CN107315812B (zh) * 2017-06-28 2019-10-25 武汉大学 一种云环境下基于词袋模型的图像安全检索方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN104008174A (zh) * 2014-06-04 2014-08-27 北京工业大学 一种海量图像检索的隐私保护索引生成方法
CN107480163A (zh) * 2017-06-19 2017-12-15 西安电子科技大学 一种云环境下支持隐私保护的高效密文图像检索方法
CN108256031A (zh) * 2018-01-11 2018-07-06 北京理工大学 一种支持隐私保护的多源加密图像检索方法
CN108959478A (zh) * 2018-06-21 2018-12-07 中南林业科技大学 一种云环境下的密文图像检索方法及系统
CN108959567A (zh) * 2018-07-04 2018-12-07 武汉大学 一种云环境下适用于大规模图像的安全检索方法
CN109246096A (zh) * 2018-08-30 2019-01-18 西安电子科技大学 适用于云存储的多功能细粒度访问控制方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Privacy-preserving Image Retrieval Method Based on Improved BoVW Model in Cloud Environment;Jiaying Gong et al.;《IETE Technical Review》;20181002;第35卷;76-84 *
PIC: Enable Large-Scale Privacy Preserving Content-Based Image Search on Cloud;Lan Zhang et al.;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;20170605;第28卷(第11期);3258-3271 *
密文图像检索的密码技术研究;董琳珏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20210215(第2期);I136-481 *
高效隐私保护的多用户图像外包检索方案;王祥宇 等;《通信学报》;20190225;第40卷(第2期);31-39 *

Also Published As

Publication number Publication date
CN110866135A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN110224986B (zh) 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
WO2022007889A1 (zh) 基于区块链与同态加密的可搜索加密数据共享方法及系统
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
Li et al. Efficient medical big data management with keyword-searchable encryption in healthchain
CN106803784B (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
CN108418681B (zh) 一种支持代理重加密的基于属性的密文检索系统及方法
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
Yang et al. A comprehensive survey on secure outsourced computation and its applications
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
Cui et al. Harnessing encrypted data in cloud for secure and efficient mobile image sharing
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
CN112163854B (zh) 一种层级化基于区块链公钥可搜索加密方法及系统
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN114598472A (zh) 基于区块链的条件隐藏可搜索代理重加密方法及存储介质
CN115767722A (zh) 一种云环境下基于内积函数加密的室内定位隐私保护方法
CN112100649A (zh) 支持布尔访问控制策略的多关键字可搜索加密方法及系统
CN115309861A (zh) 一种密文检索系统、方法、计算机设备及存储介质
CN115310125A (zh) 一种加密数据检索系统、方法、计算机设备及存储介质
CN109740383B (zh) 一种面向雾计算医疗系统的隐私保护控制方法
CN114142996A (zh) 一种基于sm9密码算法的可搜索加密方法
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
CN116611083A (zh) 一种医疗数据共享方法及系统

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