CN113569280A - 一种支持动态更新的可验证加密图像检索方法 - Google Patents

一种支持动态更新的可验证加密图像检索方法 Download PDF

Info

Publication number
CN113569280A
CN113569280A CN202110820009.7A CN202110820009A CN113569280A CN 113569280 A CN113569280 A CN 113569280A CN 202110820009 A CN202110820009 A CN 202110820009A CN 113569280 A CN113569280 A CN 113569280A
Authority
CN
China
Prior art keywords
node
image
tree
query
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.)
Granted
Application number
CN202110820009.7A
Other languages
English (en)
Other versions
CN113569280B (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.)
Xidian University
Nsfocus Technologies Group Co Ltd
Original Assignee
Xidian University
Nsfocus Technologies Group Co Ltd
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 Xidian University, Nsfocus Technologies Group Co Ltd filed Critical Xidian University
Priority to CN202110820009.7A priority Critical patent/CN113569280B/zh
Publication of CN113569280A publication Critical patent/CN113569280A/zh
Application granted granted Critical
Publication of CN113569280B publication Critical patent/CN113569280B/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/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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • 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/51Indexing; Data structures therefor; Storage structures
    • 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
    • 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/55Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开的一种支持动态更新的可验证加密图像检索方法,图像拥有者初始化系统生成密钥并将其分发给查询用户;数据拥有者加密图像集、构建加密索引、生成变色龙哈希验证树,将加密的图像集、加密索引和变色龙哈希验证树存储至云服务器;查询用户生成查询请求并提交给云服务器;云服务器收到查询请求时,基于加密索引与查询请求找出相关度值最大的前k个图像数据密文并生成相应的证据,将密文图像检索结果与相应的证据一起返回至查询用户;使用基于变色龙哈希验证树在动态环境下验证检索结果的正确性,若验证成功,查询用户解密出明文图像;图像拥有者将需要更新的信息发送到云服务器从而实现图像集的动态更新。

Description

一种支持动态更新的可验证加密图像检索方法
技术领域
本发明涉及通信技术领域,具体为一种支持动态更新的可验证加密图像检索方法。
背景技术
现有的云计算环境下基于内容的高效隐私保护的图像检索方案。首先基于局部描述符提取出图像特征fi并计算fi所对应的桶值,构建包含预过滤索引表和线性索引表,利用安全k近邻算法对fi进行加密得到fi′并对预过滤索引表中的桶值进行进一步加密后,图像拥有者将加密的图像集、加密的索引表上传至云服务器;查询用户同样基于局部描述符提取出查询图像特征fq并计算fq所对应的查询桶值,并利用安全k近邻算法对fq进行加密得到fq′,生成包含fq′和查询桶值的查询陷门上传云服务器;云服务器首先根据查询桶值遍历预过滤表,从而过滤掉大部分不相似的图像结果,提高了检索效率,之后遍历查询桶值所对应的线性索引表,计算fq′与fi′的内积,选出前k个内积值较大的项,并将top-k幅密文图像作为检索结果反馈给查询用户。但是,在计算最相似的top-k个图像时,云服务器可能会为了自身利益在对检索结果进行恶意篡改,而用户无法验证检索结果的正确性,从而导致安全性低。除此之外,该方案图像数据集是固定的,图像拥有者无法对存储在云服务器的图像集进行增加、删除、替换等更新操作,因此该方案不具备灵活性。
另外,基于尺度不变特征的加密图像安全检索方案,图像检索服务器根据预先接收的从图像拥有者发来的各个待匹配图像的加密SIFT特征向量,确定与查询图像相似的待匹配图像的标识并发送至图像拥有者,以使图像拥有者根据图像标识向查询用户反馈图像检索结果。但是该方案仍存在不足之处,图像拥有者对图像进行SIFT特征提取时采用的是传统的SIFT特征提取算法,使得一幅图像对应多个特征向量,从而增加了检索开销,增加了检索过程中的计算复杂度,降低了图像检索效率。
其次,上述两个图像检索方案中云服务器为了自身利益对检索结果进行恶意篡改,而查询用户无法验证检索结果是否正确,因此安全性较低。
发明内容
针对现有隐私保护的图像检索方法,无法实现图像集动态更新以及无法验证检索结果的正确性的问题,提出一种支持动态更新的可验证加密图像检索方法,该方法用于查询用户在动态图像集中检索出与查询图像相关度值最大的前k个图像数据结果并对其进行正确性验证。
本发明是通过以下技术方案来实现:
一种支持动态更新的可验证加密图像检索方法,包括以下步骤:
步骤1、图像拥有者生成密钥并发送给查询用户;
步骤2、提取明文图像的特征向量,并根据特征向量构建加密索引树;
步骤3、图像拥有者根据加密图像集构建变色龙哈希认证树;
步骤4、云服务器根据查询用户的查询陷门检索加密索引树得到密文检索结果,并按照相似度大小排序,得到前k个密文检索结果;
步骤5、云服务器根据检索结果并结合变色龙哈希认证树,对各个密文检索结果生成对应的证据;
步骤6、查询用户根据证据对对应的检索结果进行验证;
步骤7、查询用户将图像加密密钥作为解密秘钥,对验证通过的检索结果进行解密得到明文图像。
优选的,步骤2中构建未加密的索引树的方法如下:
S2.1、采用卷积神经网络模型提取每一幅图像的特征向量;
S2.2、对所有未加密的特征向量递归地进行聚类;
S2.3、根据聚类结果,将每一个特征向量关联于一个叶子节点,将属于同一类的节点关联于同一个非叶子节点作为它们的父节点,并为每个非叶子节点分配一个d维向量,形成未加密的索引树。
优选的,采用混沌映射算法对明文图像集加密,得到步骤3所述的加密图像集。
优选的,步骤3中构建变色龙哈希认证树的方法如下:
S5.1、获取每一幅图像的哈希值;
S5.2、将变色龙哈希认证树的叶子节点c初始化为0;
S5.3、计算根节点的哈希值,在根节点的两个叶子节点上插入哈希值l1和l2,根据根节点的哈希值、哈希值l1和l2计算根节点的随机数,同时叶子节点c增加2;
S5.4、检查叶子节点c是否为2的幂次,若c是2的幂次,则执行步骤S5.5-S5.8;若叶子节点c不是2的幂次,则执行步骤S5.7-S5.8;
S5.5、将当前变色龙哈希认证树的深度d-1增加1变为d。
S5.6、将深度d-1时的根节点作为深度为d时根节点的左孩子节点,并选择两个随机数和计算一个虚拟节点作为右孩子节点;
S5.7、搜索变色龙哈希树最右下没有孩子的节点vi,j,以该节点vi,j为根节点创建一个子树,首先沿着vi,j下移,直到节点的高度为1,当非叶子节点为右孩子节点时用变色龙哈希ch()创建虚拟节点,当非叶子节点为左孩子节点时用抗碰撞哈希H()创建普通节点,并将相应的虚拟节点添加至状态st,将数据li作为叶子节点插入子树中,并计算vi,j=vi-1,2·j||vi-1,2·j+1以及r′i,j=col(csk,xi,j,ri,j,vi,j),将虚拟节点的随机数ri,j更新为r′i,j
S5.8、将下一个空叶子节点索引c增加1;
S5.9、重复执行步骤S5.4直至每一密文图像的哈希值与变色龙哈希认证树的叶子节点关联,完成变色龙哈希认证树的构建。
优选的,步骤4中查询用户根据查询图像生成查询陷门,查询陷门的生产方法如下:
查询用户采用卷积神经网络模型提取查询图像的特征向量,并对特征向量进行扩展,将扩展的特征向量加密生成查询陷门并发送给云服务器。
优选的,步骤4中得到前k个密文检索结果的方法如下:
云服务器首先计算存储在根节点的孩子节点中的加密向量和加密的查询向量的内积,然后比较出最大内积,继续计算存储在具有最大内积的孩子节点的孩子节点中的加密向量和查询向量的内积,一直迭代此过程直到找到内积最大的叶子节点;
S8.2、云服务器返回到上一步找到的叶子节点的兄弟节点或父节点,以找到下一个最近的邻居节点,重复该步骤直到找到k个最相似的叶子节点。
优选的,步骤5中生成证据的方法如下:
云服务器将检索结果图像ci对应的标识i减1之后转化为d位二进制数,其中d表示变色龙哈希树的当前高度;
按照“左0右1”的原则遍历变色龙哈希树,直到找到叶子节点;
将找到的叶子节点至根节点路径上每个节点的兄弟节点,以及该路径上所有变色龙哈希节点的随机数作为证据πi
优选的,步骤6中检索结果的验证公式如下:
vh,0=Hh(ρ)
当验证公式成立,则验证成功,否则,验证失败。
优选的,步骤7后还包括以下步骤:
根据增加、删除或替换的图像更新变色龙哈希认证树;
根据更新的节点信息对验证树进行更新;
根据需要增加、删除和替换的图像更新明文图像集和密文图像集中的图像,并将更新后的密文图像集重新上传至云服务器。
优选的,根据更新后的明文图像集更新加密索引树,并将更新后加密索引树重新上传至云服务器。
与现有技术相比,本发明具有以下有益的技术效果:
本发明体用的一种支持动态更新的可验证加密图像检索方法,图像拥有者初始化系统生成密钥并将其分发给查询用户;数据拥有者加密图像集、构建加密索引、生成变色龙哈希验证树,将加密的图像集、加密索引和变色龙哈希验证树存储至云服务器;查询用户生成查询请求并提交给云服务器;云服务器收到查询请求时,基于加密索引与查询请求找出相关度值最大的前k个图像数据密文并生成相应的证据,将密文图像检索结果与相应的证据一起返回至查询用户;使用基于变色龙哈希验证树在动态环境下验证检索结果的正确性,若验证成功,查询用户解密出明文图像;图像拥有者将需要更新的信息发送到云服务器从而实现图像集的动态更新。
进一步,利用预训练的卷积神经网络提取图像特征向量以提高检索精度和检索效率,然后根据基于K-means聚类算法的加密索引结构,在支持动态更新图像集的同时提高检索效率。
附图说明
图1为本发明一种支持动态更新的可验证加密图像检索方法的流程图;
图2为本发明一种支持动态更新的可验证加密图像检索方法的模型图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
参阅图1和2,一种支持动态更新的可验证加密图像检索方法,包括以下步骤:
步骤1、图像拥有者初始化系统,生成图像加密密钥、特征向量加密密钥、验证密钥和私钥,并将私钥和特征向量加密密钥的设定子集发送给查询用户,具体包括以下步骤如下:
S1.1、生成图像加密密钥km
S1.2、给定安全参数λ生成特征向量加密密钥kf=(γ,M,M-1),并将km,γ,M保存本地,将km、γ和M-1通过安全信道传送至查询用户。
其中,λ是安全参数,γ表示随机数:
Figure BDA0003171524000000061
表示p1阶整数域,M代表2d×2d维的随机可逆矩阵:
Figure BDA0003171524000000062
代表2d×2d维的随机可逆矩阵的元素都是p2阶整数域,p1、p2代表两个素数,M-1代表M的逆矩阵。
S1.3、生成验证密钥vk=(cpk,ρ)和私钥sk=(csk,st);
其中,cpk,csk是变色龙哈希函数所使用的密钥,ρ是{0,1}λ中的随机值,st是状态,其存储下一个空的叶子节点位置c,一组已删除的叶子节点位置和一组未使用的虚拟节点。
步骤2、提取每一幅明文图像的特征向量并对其进行聚类,得到未加密的索引树,具体包括以下步骤如下:
S2.1、采用卷积神经网络模型提取每一幅图像的特征向量fi,并利用主成分分析法对特征向量进行降维形成d维的特征向量fi=(fi1,fi2,...,fid),且i=1,2,...,n,n代表图像个数。
还可以采用SIFT、SURF和全局特征如MPEG-7等方法进行特征向量的提取。
S2.2、图像拥有者利用K-means聚类算法对所有未加密的特征向量递归地进行聚类后,得到K个类,且每一类的特征向量个数不超过K。
S2.3、根据聚类结果,图像拥有者将每一个特征向量关联于一个叶子节点,将属于同一类的节点关联于同一个非叶子节点作为它们的父节点,并为每个非叶子节点按照下式分配一个d维向量,形成未加密的索引树。
Figure BDA0003171524000000071
其中,h是高度,g是它在第h高度的索引,Children是它的孩子结点,而|Children|是它的孩子结点数目。属于同一类的非叶子节点继续向上合并以形成新的父节点,其值被设置为其孩子节点的平均值,以这种方式迭代,直到根节点出现。
步骤3、图像拥有者对未加密的索引树的每一个节点所关联的向量进行维度扩展,对扩展后的向量采用特征向量加密密钥进行加密,得到加密的索引树。
图像拥有者加密未加密索引中的每个向量;例如,对于fi来说,图像拥有者将fi=(fi1,fi2,...,fid)扩展为
Figure BDA0003171524000000081
其中α是一个d-1维的随机向量:
Figure BDA0003171524000000082
图像拥有者将fi加密为fi=(γfii)·M,其中εi是一个2d维的随机整数向量:
Figure BDA0003171524000000083
εi中最大元素的绝对值远小于
Figure BDA0003171524000000084
并且不同的向量使用不同的εi来加密,最终形成一个加密的索引树。
在另一实施例中,采用安全K近邻算法对对索引树进行加密。
步骤4、图像拥有者对图像加密得到加密图像集;
所述加密算法为混沌映射算法,即首先将图像分为大小为16个像素的块,再定义80bit的十六进制密钥和两个混沌逻辑映射的迭代公式,利用密钥计算迭代公式的初始迭代值之后,就可以进一步得到下一个迭代值,不同的迭代值便会与块内像素值进行不同操作的计算,从而更新像素值,直到整个块内像素都被加密。接下来会修改密钥重复上述加密操作进行下一个块的加密,直到加密完整个图像文件,图像拥有者利用此加密算法和图像加密密钥km对图像进行加密,得到加密图像集。图像加密算法细节请参考文献“Imageencryption using chaotic logistic map”(Image and Vision Computing 24(2006)926–934)。
步骤5、图像拥有者根据加密图像集构建变色龙哈希认证树,具体包括以下步骤如下:
S5.1、图像拥有者针对每一幅图像计算哈希值
Figure BDA0003171524000000085
其中h为哈希函数,ci为图像密文,
Figure BDA0003171524000000086
是图像mi的标识,||为级联操作。
S5.2、叶子节点c初始化为0。
S5.3、根据随机值ρ计算根节点v1,0的哈希值H(ρ),插入哈希值l1和l2之后,根据哈希值H(ρ)、哈希值l1和l2计算根节点的随机数r1,0=scol(csk,l1||l2,H(ρ)),同时叶子节点c增加2,其中H()为抗碰撞哈希函数,scol()为变色龙哈希函数ch()的逆函数。
S5.4、检查叶子节点c是否为2的幂次,即判断当前树是否为满二叉树。若c是2的幂次,则执行步骤S5.5-S5.8;若叶子节点c不是2的幂次,则执行步骤S5.7-S5.8。
S5.5、将当前变色龙哈希认证树的深度d-1增加1变为d。
S5.6、将深度d-1时的根节点Hd-1(ρ)作为深度为d时根节点Hd(ρ)的左孩子节点,并选择两个随机数xd-1,1和rd-1,1计算一个虚拟节点vd-1,1作为右孩子节点,计算深度为d时根节点的随机数rd,0=scol(csk,Hd-1(ρ)||vd-1,1,Hd(ρ)),并将(xd-1,1,rd-1,1)添加至私钥st中,其中vd-1,1=ch(xd-1,1,rd-1,1),ch()为变色龙哈希函数。
S5.7、搜索变色龙哈希树最右下没有孩子的节点vi,j,以vi,j为根节点创建一个子树,首先沿着vi,j下移,直到节点的高度为1,当非叶子节点为右孩子节点时用变色龙哈希ch()创建虚拟节点,当非叶子节点为左孩子节点时用抗碰撞哈希H()创建普通节点,并将相应的虚拟节点添加至st,将数据li作为叶子节点插入子树中,并计算vi,j=vi-1,2·j||vi-1,2·j+1以及r′i,j=col(csk,xi,j,ri,j,vi,j)将虚拟节点的随机数ri,j更新为r′i,j
S5.8、将下一个空叶子节点索引c增加1;
S5.9、重复执行步骤S5.4直至每一密文图像的哈希值与变色龙哈希认证树的叶子节点关联,完成变色龙哈希认证树的构建。
步骤6、图像拥有者本地存储未加密的索引树,并将加密后的索引树和变色龙哈希树发送至云服务器。
步骤7、查询用户根据查询图像生成查询陷门,并发送给云服务器,具体包括以下步骤:
S7.1、查询用户采用卷积神经网络模型提取查询图像的特征向量,并用主成分分析法降维至d维特征向量fq=(fq,1,fq,2,…,fq,d)。
S7.2、查询用户将fq扩展为fq=(λqfq,1qfq,2,...,λqfq,dqq),其中λq是一个随机数,且
Figure BDA0003171524000000101
βq是一个随机生成的向εq量,且
Figure BDA0003171524000000102
S7.3、查询用户根据接收的特征向量加密密钥的子集将fq加密为
Figure BDA0003171524000000103
其中
Figure BDA0003171524000000104
是一个2d维的随机整数向量,且
Figure BDA0003171524000000105
Figure BDA0003171524000000106
都是列向量。
S7.4、查询用户将fq发送至云服务器。
步骤8、云服务器根据查询陷门检索加密索引树得到密文检索结果,并按照相似度大小排序,得到前k个密文检索结果,具体包括以下步骤:
S8.1、云服务器首先计算存储在根节点的孩子节点中的加密向量和加密的查询向量的内积,然后比较出最大内积,继续计算存储在具有最大内积的孩子节点的孩子节点中的加密向量和查询向量的内积,一直迭代此过程直到找到内积最大的叶子节点,该叶子节点存储的特征向量即为与查询图像最相似的图像的特征向量。
所述计算方法为:
Figure BDA0003171524000000107
其中p1代表模p1之后的最近整数;如果需要找到前top-k(k>1)个最相似的图像,则继续执行步骤S8.2。
S8.2、云服务器返回到上一步找到的叶子节点的兄弟节点或父节点,以找到下一个最近的邻居节点。重复这一过程,直到找到k个最相似的叶子节点:
步骤9、云服务器根据检索结果并结合变色龙哈希认证树,对各个检索结果生成对应的证据,具体包括以下步骤:
S9.1、云服务器将检索结果图像ci对应的标识i减1之后转化为d位二进制数,其中d表示变色龙哈希树的当前高度。
S9.2、按照“左0右1”的原则遍历变色龙哈希树,直到找到叶子节点。
S9.3、云服务器将找到的叶子节点至根节点路径上每个节点的兄弟节点,以及该路径上所有变色龙哈希节点的随机数作为证据πi
S9.4、云服务器返回前k个检索结果以及对应的证据至查询用户。
步骤10、查询用户根据证据并结合验证密钥对对应的检索结果进行验证;
判断下式是否成立,若成立,则验证成功,执行步骤11;否则,验证失败。
vh,0=Hh(ρ)
步骤11、查询用户将图像加密密钥作为解密秘钥,对验证通过的检索结果进行解密得到明文图像。
查询用户利用图像拥有者传送的密钥对云服务器返回的密文图像结果进行解密,从而获得前top-k个相似明文图像。
步骤12、更新变色龙哈希认证树,具体方法如下:
S12.1、更新包括增加图像、删除图像和替换图像。
增加图像的方法如下:
S12.1-1a、图像拥有者获取添加图像的哈希值l′=h(c′||idm′)。
其中,h为哈希函数,c′为将要添加的图像密文,idm′是将要添加的图像m′的标识;
S12.1-2a、图像拥有者根据步骤9和步骤10生成l1的证据并验证,判断哈希认证树是否被恶意篡改,如果验证失败,则拒绝添加;否则可以添加。
S12.1-3a、图像拥有者找到私钥st中空叶子节点的位置i,并执行步骤9得到证据πi并验证,并将哈希值l′插入。
如果st中没有空叶子节点位置,图像拥有者则执行步骤S5.4创建一个节点,并将哈希值l′插入。
S12.1-4a、当哈希值l′被添加到变色龙哈希树后,图像所有者更新从l′到根节点路径上的所有节点直到遇到变色龙哈希节点为止。此外,图像所有者挑选新的ρ′∈{0,1}λ,并调用scol()函数更新每一层索引为0的节点。
S12.1-5a、图像所有者将所有要更新的节点发送到服务器。
图像拥有者删除图像li的方法如下:
S12.1-1b、图像拥有者根据步骤9和步骤10分别查找和验证li和l1,判断哈希认证树是否被恶意篡改,如果验证失败,则拒绝删除;否则可以删除。
S12.1-2b、图像拥有者用NULL替换li,并通过利用vi,j=vi-1,2·j||vi-1,2·j+1,重新计算从已删除节点到索引为0的相应子节点的路径上的所有节点,并将删除的位置索引i保存在st中,以供以后添加图像。
S12.1-3b、图像所有者挑选新的值ρ′∈{0,1}λ,并调用scol()函数更新每一层索引为0的节点。
S12.1-4b、图像所有者将所有要更新的节点发送到服务器。
图像拥有者替换图像的方法如下:
S12.1-1c、图像拥有者用新图像l′代替li
S12.2、云服务器根据收到要更新的节点信息对验证树进行更新。
S12.3、图像拥有者根据需要增加、删除和替换的图像更新明文图像集和密文图像集中的图像,并将更新后的密文图像集重新上传至云服务器。
步骤13、根据更新后的明文图像集,执行步骤2和步骤3更新加密索引树,并将更新后加密索引树重新上传至云服务器。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (10)

1.一种支持动态更新的可验证加密图像检索方法,其特征在于,包括以下步骤:
步骤1、图像拥有者生成密钥并发送给查询用户;
步骤2、提取明文图像的特征向量,并根据特征向量构建加密索引树;
步骤3、图像拥有者根据加密图像集构建变色龙哈希认证树;
步骤4、云服务器根据查询用户的查询陷门检索加密索引树得到密文检索结果,并按照相似度大小排序,得到前k个密文检索结果;
步骤5、云服务器根据检索结果并结合变色龙哈希认证树,对各个密文检索结果生成对应的证据;
步骤6、查询用户根据证据对对应的检索结果进行验证;
步骤7、查询用户将图像加密密钥作为解密秘钥,对验证通过的检索结果进行解密得到明文图像。
2.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤2中构建未加密的索引树的方法如下:
S2.1、采用卷积神经网络模型提取每一幅图像的特征向量;
S2.2、对所有未加密的特征向量递归地进行聚类;
S2.3、根据聚类结果,将每一个特征向量关联于一个叶子节点,将属于同一类的节点关联于同一个非叶子节点作为它们的父节点,并为每个非叶子节点分配一个d维向量,形成未加密的索引树。
3.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,采用混沌映射算法对明文图像集加密,得到步骤3所述的加密图像集。
4.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤3中构建变色龙哈希认证树的方法如下:
S5.1、获取每一幅图像的哈希值;
S5.2、将变色龙哈希认证树的叶子节点c初始化为0;
S5.3、计算根节点的哈希值,在根节点的两个叶子节点上插入哈希值l1和l2,根据根节点的哈希值、哈希值l1和l2计算根节点的随机数,同时叶子节点c增加2;
S5.4、检查叶子节点c是否为2的幂次,若c是2的幂次,则执行步骤S5.5-S5.8;若叶子节点c不是2的幂次,则执行步骤S5.7-S5.8;
S5.5、将当前变色龙哈希认证树的深度d-1增加1变为d;
S5.6、将深度d-1时的根节点作为深度为d时根节点的左孩子节点,并选择两个随机数和计算一个虚拟节点作为右孩子节点;
S5.7、搜索变色龙哈希树最右下没有孩子的节点vi,j,以该节点vi,j为根节点创建一个子树,首先沿着vi,j下移,直到节点的高度为1,当非叶子节点为右孩子节点时用变色龙哈希ch()创建虚拟节点,当非叶子节点为左孩子节点时用抗碰撞哈希H()创建普通节点,并将相应的虚拟节点添加至状态st,将数据li作为叶子节点插入子树中,并计算vi,j=vi-1,2·j||vi-1,2·j+1以及r′i,j=col(csk,xi,j,ri,j,vi,j),将虚拟节点的随机数ri,j更新为r′i,j
S5.8、将下一个空叶子节点索引c增加1;
S5.9、重复执行步骤S5.4直至每一密文图像的哈希值与变色龙哈希认证树的叶子节点关联,完成变色龙哈希认证树的构建。
5.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤4中查询用户根据查询图像生成查询陷门,查询陷门的生产方法如下:
查询用户采用卷积神经网络模型提取查询图像的特征向量,并对特征向量进行扩展,将扩展的特征向量加密生成查询陷门并发送给云服务器。
6.根据权利要求5所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤4中得到前k个密文检索结果的方法如下:
云服务器首先计算存储在根节点的孩子节点中的加密向量和加密的查询向量的内积,然后比较出最大内积,继续计算存储在具有最大内积的孩子节点的孩子节点中的加密向量和查询向量的内积,一直迭代此过程直到找到内积最大的叶子节点;
S8.2、云服务器返回到上一步找到的叶子节点的兄弟节点或父节点,以找到下一个最近的邻居节点,重复该步骤直到找到k个最相似的叶子节点。
7.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤5中生成证据的方法如下:
云服务器将检索结果图像ci对应的标识i减1之后转化为d位二进制数,其中d表示变色龙哈希树的当前高度;
按照“左0右1”的原则遍历变色龙哈希树,直到找到叶子节点;
将找到的叶子节点至根节点路径上每个节点的兄弟节点,以及该路径上所有变色龙哈希节点的随机数作为证据πi
8.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤6中检索结果的验证公式如下:
vh,0=Hh(ρ)
当验证公式成立,则验证成功,否则,验证失败。
9.根据权利要求1所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,步骤7后还包括以下步骤:
根据增加、删除或替换的图像更新变色龙哈希认证树;
根据更新的节点信息对验证树进行更新;
根据需要增加、删除和替换的图像更新明文图像集和密文图像集中的图像,并将更新后的密文图像集重新上传至云服务器。
10.根据权利要求9所述的一种支持动态更新的可验证加密图像检索方法,其特征在于,根据更新后的明文图像集更新加密索引树,并将更新后加密索引树重新上传至云服务器。
CN202110820009.7A 2021-07-20 2021-07-20 一种支持动态更新的可验证加密图像检索方法 Active CN113569280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110820009.7A CN113569280B (zh) 2021-07-20 2021-07-20 一种支持动态更新的可验证加密图像检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110820009.7A CN113569280B (zh) 2021-07-20 2021-07-20 一种支持动态更新的可验证加密图像检索方法

Publications (2)

Publication Number Publication Date
CN113569280A true CN113569280A (zh) 2021-10-29
CN113569280B CN113569280B (zh) 2024-09-27

Family

ID=78165742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110820009.7A Active CN113569280B (zh) 2021-07-20 2021-07-20 一种支持动态更新的可验证加密图像检索方法

Country Status (1)

Country Link
CN (1) CN113569280B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114417073A (zh) * 2022-03-28 2022-04-29 之江实验室 一种加密图的邻居节点查询方法及装置、电子设备
CN114416720A (zh) * 2021-12-08 2022-04-29 西安电子科技大学 云环境中高效灵活可验证的多属性范围检索方法及系统
CN114629661A (zh) * 2022-04-27 2022-06-14 中国科学技术大学 加密信息处理方法及装置
CN115174072A (zh) * 2022-07-15 2022-10-11 杭州师范大学 一种保护隐私的医疗信息相似范围查询方法
CN115883108A (zh) * 2022-12-08 2023-03-31 杭州康晟健康管理咨询有限公司 一种医疗图像安全验证方法、服务器、终端和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN109543061A (zh) * 2018-11-16 2019-03-29 西安电子科技大学 一种支持多密钥的加密图像检索方法
US20200358610A1 (en) * 2019-05-09 2020-11-12 Google Llc Compression and Oblivious Expansion of RLWE Ciphertexts
CN112446041A (zh) * 2020-11-30 2021-03-05 西安电子科技大学 一种基于安全索引的可验证多关键词密文查询方法及系统
CN112528064A (zh) * 2020-12-10 2021-03-19 西安电子科技大学 一种隐私保护的加密图像检索方法及系统
CN113094747A (zh) * 2021-04-16 2021-07-09 深圳前海微众银行股份有限公司 一种图像查找方法、区块链、云服务器及图像查找装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN109543061A (zh) * 2018-11-16 2019-03-29 西安电子科技大学 一种支持多密钥的加密图像检索方法
US20200358610A1 (en) * 2019-05-09 2020-11-12 Google Llc Compression and Oblivious Expansion of RLWE Ciphertexts
CN112446041A (zh) * 2020-11-30 2021-03-05 西安电子科技大学 一种基于安全索引的可验证多关键词密文查询方法及系统
CN112528064A (zh) * 2020-12-10 2021-03-19 西安电子科技大学 一种隐私保护的加密图像检索方法及系统
CN113094747A (zh) * 2021-04-16 2021-07-09 深圳前海微众银行股份有限公司 一种图像查找方法、区块链、云服务器及图像查找装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李斌;李启明;: "云计算中数据存储安全的变色龙Hash认证树优化审计", 微电子学与计算机, no. 06, 5 June 2018 (2018-06-05) *
陈兰香;邱林冰;: "基于Merkle哈希树的可验证密文检索方案", 信息网络安全, no. 04, 10 April 2017 (2017-04-10) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416720A (zh) * 2021-12-08 2022-04-29 西安电子科技大学 云环境中高效灵活可验证的多属性范围检索方法及系统
CN114416720B (zh) * 2021-12-08 2024-04-30 西安电子科技大学 云环境中高效灵活可验证的多属性范围检索方法及系统
CN114417073A (zh) * 2022-03-28 2022-04-29 之江实验室 一种加密图的邻居节点查询方法及装置、电子设备
CN114629661A (zh) * 2022-04-27 2022-06-14 中国科学技术大学 加密信息处理方法及装置
CN114629661B (zh) * 2022-04-27 2024-02-23 中国科学技术大学 加密信息处理方法及装置
CN115174072A (zh) * 2022-07-15 2022-10-11 杭州师范大学 一种保护隐私的医疗信息相似范围查询方法
CN115174072B (zh) * 2022-07-15 2024-05-14 杭州师范大学 一种保护隐私的医疗信息相似范围查询方法
CN115883108A (zh) * 2022-12-08 2023-03-31 杭州康晟健康管理咨询有限公司 一种医疗图像安全验证方法、服务器、终端和系统
CN115883108B (zh) * 2022-12-08 2024-10-15 杭州康晟健康管理咨询有限公司 一种医疗图像安全验证方法、服务器、终端和系统

Also Published As

Publication number Publication date
CN113569280B (zh) 2024-09-27

Similar Documents

Publication Publication Date Title
CN113569280B (zh) 一种支持动态更新的可验证加密图像检索方法
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
CN108197499B (zh) 一种可验证的密文数据范围查询方法
CN112752232B (zh) 面向隐私保护的司机-乘客匹配方法
CN108055122A (zh) 可验证的防内存泄露动态可搜索加密方法、云服务器
CN106776904A (zh) 一种不可信云计算环境中支持动态验证的模糊查询加密方法
CN109740362B (zh) 一种基于熵编码的密文索引生成与检索方法及系统
CN111143471A (zh) 一种基于区块链的密文检索方法
CN108595554B (zh) 一种基于云环境的多属性范围查询方法
CN109739945B (zh) 一种基于混合索引的多关键词密文排序检索方法
CN108182220A (zh) 云服务器中基于用户隐私保护的图像检索方法
Yiu et al. Outsourcing search services on private spatial data
CN111859421B (zh) 一种基于词向量的多关键字密文存储、检索方法及系统
CN114884650A (zh) 一种基于安全倒排索引的可搜索加密方法
CN114417073A (zh) 一种加密图的邻居节点查询方法及装置、电子设备
CN113254743B (zh) 一种车联网中动态空间数据的安全语义感知搜索方法
CN109815730B (zh) 一种支持skyline查询的可搜索加密方法与系统
CN118332159A (zh) 保护隐私的数值范围查询方法、索引构建方法及装置
CN105897419B (zh) 一种多用户动态关键词可搜索加密方法
CN111859425B (zh) 一种基于属性的通配符可搜索加密方法
CN108011713B (zh) 一种云存储中基于同态加密的密文检索方法
CN105763324A (zh) 可控制的可验证多用户端可搜索加密搜索方法
CN117951730A (zh) 一种基于哈希索引的云端安全可搜索加密方法
CN115495792A (zh) 一种具有隐私保护的模糊关键词可搜索加密方法和系统
CN116244453A (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