一种可验证细粒度加密图像检索方法及系统与流程

文档序号:26708854发布日期:2021-09-22 18:36阅读:181来源:国知局
一种可验证细粒度加密图像检索方法及系统与流程

1.本发明属于信息安全领域,具体涉及一种可验证细粒度加密图像检索方法及系统。


背景技术:

2.zhihua xia等人在其发表的论文“an efficient and privacy

preserving content

based image retrieval scheme in cloud computing”(information sciences,vol.387,pp.195

204,2017.)中公开了一种云计算环境下基于内容的高效隐私保护的图像检索方案。该方法首先基于局部描述符提取出图像特征f
i
并计算f
i
所对应的桶值,构建包含预过滤索引表和线性索引表,利用knn算法对f
i
进行加密得到f
i

,并对预过滤索引表中的桶值进一步加密后,图像所有者将加密的图像集、加密的索引表上传至云服务器;查询用户同样基于局部描述符提取出查询图像特征f
q
并计算f
q
所对应的查询桶值,并利用knn算法对f
q
进行加密得到f
q

,生成包含f
q

和查询桶值的查询陷门上传云服务器;云服务器首先利用查询桶值遍历预过滤表,从而过滤掉大部分不相似的图像结果,提高检索效率,之后遍历查询桶值所对应的线性索引表,计算f
q

与f
i

的内积,选出前k个内积值较大的项,并将top

k幅密文图像作为检索结果反馈给查询用户。
3.陈晓峰、汪园等人提出的专利申请“一种云环境下支持隐私保护的高效密文图像检索方法”(申请号cn201710467097.0,公布号cn107480163a)中公开了一种云环境下支持隐私保护的高效密文图像检索方案,即图像所有者首先对数据库中的图像提取特征向量,并使用aes或rsa加密方式对图像进行加密;所有者基于特征向量使用分层k

means算法建立索引,并使用安全模哈希技术对索引进行加密;将加密后的图像和索引上传到云服务器并执行检索操作。该方案可以同时实现密文图像检索的隐私保护和与明文图像检索相当的检索准确性。
4.以上现有技术存在以下技术问题:1)不支持细粒度的访问控制:第二种现有技术方案中加密图像集中的每一幅图像没有设置访问结构,从而可能引发隐私泄露问题。2)不支持多所有者多用户环境:两种现有技术的方案仅仅适用于单所有者单用户环境,应用前景低。3)无法验证检索结果的正确性:两种现有技术的方案中,云服务器都是诚实且好奇的,如果为了自身利益它可以对检索结果数据进行恶意篡改,而查询用户是无法得知的,因此安全性较低。


技术实现要素:

5.本发明的目的在于针对上述现有技术中存在的问题,提供一种可验证细粒度加密图像检索方法及系统,能够实现有效的细粒度访问控制以及多所有者多用户环境下的图像检索,并能有效地验证搜索结果的正确性。
6.为了实现上述目的,本发明有如下的技术方案:
7.一种可验证细粒度加密图像检索方法,包括以下步骤:
8.‑
生成图像向量;
9.‑
生成可搜索索引和最终索引签名;
10.‑
生成查询向量;
11.‑
生成可搜索陷门和最终陷门签名;
12.‑
查询图像密文集;
13.‑
验证所选图像密文的正确性。
14.作为本发明的一种优选方案,所述生成图像向量的具体步骤包括:
15.(1a)图像所有者提取每个图像f
i
的特征,并将提取出的特征降维成一个d维的比特特征向量p
i
,其中,i的取值范围为{1,2,

,m},m表示外包图像集的大小;
16.(1b)图像所有者将每个比特特征向量p
i
中所有的0转换为

1,得到向量
17.(1c)假设a
i
={a1,a2,

,a
ρ
}为可访问图像f
i
的所有角色组成的集合,图像所有者将集合a
i
中的所有元素作为根,构建多项式g
i
(x)=d
×
(x

a1)
×…×
(x

a
ρ
),作为第i个图像的角色多项式,其中,a1,a2,

,a
ρ
,d都为正整数,且d≥2d;
18.(1d)图像所有者将比特特征向量p
i
扩展为图像向量其中,代表第i个图像的角色多项式g
i
(x)展开式的各项系数,ε
i1


,ε
iv
表示从正态分布中独立随机选取的v个随机数,其中,h表示所有角色的总数,v≥1。
19.作为本发明的一种优选方案,所述的步骤(1c)中将构建的多项式g
i
(x)=d
×
(x

a1)
×…×
(x

a
ρ
)替换为g
i
(x)=(x

a1)
×…×
(x

a
ρ
),其中,{a1,a2,

,a
ρ
}满足特定关系,包括{a1,a2,

,a
ρ
}为等差数列,公差为大于等于2d的正整数;或{a1,a2,

,a
ρ
}为超递增数列,且τ的取值范围为{1,2,

,ρ},∑表示求和符号。
20.作为本发明的一种优选方案,所述生成可搜索索引和最终索引签名的具体步骤包括:
21.(2a)可信权威生成一个(d+h+v+1)维的随机比特向量s、两个(d+h+v+1)
×
(d+h+v+1)维的随机可逆矩阵m,一个验证密钥k={δ,α},其中,δ表示伪随机函数的种子,α是随机数,且α∈r
η
,r
η
表示η比特编码的实数集合;
22.(2b)可信权威为每个数据所有者生成一对所有者密钥k
do,1
,k
do,2
,将k
do,2
发送给云服务器,其中,k
do,1
表示第一所有者密钥分量:k
do,2
表示第二所有者密钥分量:m
o
,m

o
,均为(d+h+v+1)
×
(d+h+v+1)维的随机可逆矩阵,且m=m
o
·
m

o

23.(2c)图像所有者利用第一所有者密钥分量k
do,1
,将每个外包图像对应的图像向量加密为2(d+h+v+1)维的初始索引其中,为两个(d+h+v+1)维的向量,满足如果s[ι]=0;否则l的取值范围为{1,2,

,d+h+v+1},t表示转置操作;
[0024]
(2d)图像所有者计算r
i,j
=f
δ
(l
i,j
),其中,l
i,j
为初始索引i
i
中第j个元素的标签,j的取值范围为{1,2,

,d+h+v+1},得到2(d+h+v+1)维的向量r
i
=(r
i,1
,r
i,2


,r
i,2(d+h+v+1)
),计算得到初始索引签名
[0025]
(2e)图像所有者对图像集进行加密,得到加密的图像集;
[0026]
(2f)图像所有者将加密的图像集、初始图像索引{i
i
}
i∈[1,m]
、初始索引签名{σ
i,i
}
i∈[1,m]
发送至云服务器;
[0027]
(2g)云服务器利用第二所有者密钥分量将每个初始索引i
i
转化为一个可搜索索引将每个初始索引签名σ
i,i
转化为最终索引签名其中其中表示中前d+h+v+1个元素组成的向量,表示中后d+h+v+1个元素组成的向量。
[0028]
作为本发明的一种优选方案,所述的步骤(2e)通过图像加密算法对图像集进行加密,图像加密算法为混沌映射加密、des或rsa。
[0029]
作为本发明的一种优选方案,所述生成查询向量的具体步骤包括:
[0030]
(3a)可信权威为新加入的查询用户生成一对用户密钥k
en,1
,k
en,2
,将k
en,2
发送给云服务器其中,k
en,1
表示第一用户密钥分量:k
en,2
表示第二用户密钥分量:其中,m
u
,m

u
,均为(d+h+v+1)
×
(d+h+v+1)维的随机可逆矩阵,且m
‑1=m

u
·
m
u

[0031]
(3b)查询用户提取出查询图像的特征,并将提取出的特征降维成一个d维的比特查询特征向量q;
[0032]
(3c)查询用户将比特查询特征向量q中所有0转换为

1,得到向量
[0033]
(3d)查询用户将向量扩展为查询向量其中,a表示查询用户对应的角色,b代表v维的随机比特向量;
[0034]
(3e)查询用户利用第一用户密钥分量加密查询向量得到一个初始陷门其中,表示两个d+h+v+1维的向量,满足如果s[ι]=0,否则其中,l的取值范围为{1,2,

,d+h+v+1};
[0035]
(3f)查询计算r
j
=f
δ
(lj),其中,l
j
为初始陷门t中第j个元素的标签,j的取值范围为{1,2,

,d+h+v+1},得到2(d+h+v+1)维的向量r0=(r1,r2,

,r
2(d+h+v+1)
),计算得到初始陷门签名
[0036]
(3g)查询用户将初始陷门t和初始陷门签名σ
t
发送至云服务器。
[0037]
作为本发明的一种优选方案,所述生成可搜索陷门和最终陷门签名以及查询图像密文集的具体步骤包括:
[0038]
(4a)利用第二用户密钥分量将每个初始陷门t转化为一个可搜索陷门将每个初始陷门签名转化为最终陷门签名其中其中表示中前d+h+v+1个元素组成的向量,表示中后d+h+v+1个元素组成的向量;
[0039]
(4b)云服务器计算每个可搜索索引和可搜索陷门的内积,比较计算出的每个内积值的绝对值与d的大小,若内积值的绝对值小于d,则查询用户可以访问相应的图像;否则,
查询用户无权访问相应的图像密文;
[0040]
(4c)云服务器在可以访问的图像密文集中选择内积值最大的k个图像密文,计算所选的每个图像密文对应的最终索引签名和最终陷门签名的卷积得到相应图像密文的证明,其中,k为正整数,i

的取值范围为{1,2,

,k};
[0041]
(4d)云服务器将所选的k个图像密文、相应的内积值以及证明,作为查询结果返回至查询用户。
[0042]
作为本发明的一种优选方案,所述验证所选图像密文的正确性的具体步骤包括:
[0043]
(5a)查询用户利用相应的第二用户密钥分量加密向量r0=(r1,r2,

,r
2(d+h+v+1)
),得到密文其中,表示r0的前d+h+v+1个元素组成的向量,表示r0的后d+h+v+1个元素组成的向量;
[0044]
(5b)计算所选的每个图像密文对应的向量r
i

=(r
i

,1
,r
i

,2
,

,r
i

,2(d+h+v+1)
)与密文的内积ψ
i

,计算φ
i

与向量(α0,α1,α2)的内积ψ

i


[0045]
(5c)判断ψ
i

与ψ

i

是否相等,判断是否与相应图像密文对应的内积值相等,若都相等,则利用图像加密算法所使用的密钥解密图像密文,得到满足要求的明文图像,否则,拒绝接受相应图像密文。
[0046]
本发明还提出一种可验证细粒度加密图像检索系统,包括:
[0047]
图像向量生成模块,用于生成图像向量;
[0048]
索引生成模块,用于生成可搜索索引和最终索引签名;
[0049]
查询向量生成模块,用于生成查询向量;
[0050]
陷门生成模块,用于生成可搜索陷门和最终陷门签名;
[0051]
图像密文集查询模块,用于查询图像密文集;
[0052]
验证模块,用于验证所选图像密文的正确性。
[0053]
相较于现有技术,本发明有如下的有益效果:通过基于多项式的访问策略来实现有效的细粒度访问控制。具体来说,通过构造角色多项式来指定每个图像的访问结构,并且根据不同查询用户的身份将不同的访问角色分配给他们。如果查询用户无法访问某个图像,则相应的计算结果会比给定的阈值大得多。利用双重安全k

近邻技术将不同的搜索关键字分配给不同的图像所有者和查询用户,其中云服务器应用安全k近邻技术将初始索引和陷门分别转换为可搜索索引和陷门,实现了支持多所有者多用户环境下的图像检索。利用自适应同态消息认证技术有效地验证相似度计算结果,具体来说,在上传初始索引和陷门之前,图像所有者和查询用户对它们进行认证,以分别获得索引签名和陷门签名。然后,云服务器基于签名为搜索结果生成证明。最后,查询用户可以基于证明有效地验证搜索结果的正确性。
附图说明
[0054]
图1本发明可验证细粒度加密图像检索方法流程图;
[0055]
图2本发明多所有者多用户环境下可验证细粒度加密图像检索方法信号流图。
具体实施方式
[0056]
下面结合附图及实施例对本发明做进一步的详细说明。
[0057]
本发明针对现有隐私保护的图像检索方法无法实现轻量级细粒度访问控制以及无法验证检索结果正确性的问题,提出这种可验证细粒度加密图像检索方法,该方法用于查询用户找出与查询图像相关度值最大的前k个图像密文,并对其进行正确性验证。
[0058]
本发明的设计思路在于,可信权威初始化系统,生成相关的密钥;数据所有者加密图像集、构建初始索引、生成初始索引签名,将图像密文集、初始索引和初始索引签名存储在云服务器;云服务器对初始索引和初始索引签名进行转换,生成可搜索索引和最终索引签名;查询用户对查询向量进行加密,生成初始陷门以及初始陷门签名并提交给云服务器;云服务器对初始陷门以及初始陷门签名进行转换,得到可搜索陷门和最终陷门签名,并根据可搜索索引与可搜索陷门的内积计算结果,找出可访问范围内图像相关度值最大的前k个密文图像数据并生成相应的证明,将密文图像检索结果与相应的证明一起返回至查询用户;查询用户对检索结果进行正确性验证,若验证成功,查询用户解密出明文图像结果。
[0059]
具体的,参见图1,图2,可验证细粒度加密图像检索方法包括以下步骤:
[0060]
(1)生成图像向量:
[0061]
(1a)图像所有者利用卷积神经网络模型提取每个图像f
i
的特征,并利用迭代量化方法将提取出的特征降维成一个d维的比特特征向量p
i
,其中,i的取值范围为{1,2,

,m},m表示外包图像集的大小;d为正整数且通常取128或256,d越大特征丢失越少,计算复杂度越大;
[0062]
(1b)图像所有者将每个比特特征向量p
i
中所有的0转换为

1,得到向量
[0063]
(1c)假设a
i
={a1,a2,

,a
ρ
}为可访问图像f
i
的所有角色组成的集合,图像所有者将集合a
i
中的所有元素作为根,构建多项式g
i
(x)=d
×
(x

a1)
×…×
(x

a
ρ
),作为第i个图像的角色多项式,其中,a1,a2,

,a
ρ
,d都为正整数,且d≥2d;
[0064]
所述角色多项式g
i
(x)=d
×
(x

a1)
×…×
(x

a
ρ
)还可替换为g
i
(x)=(x

a1)
×…×
(x

a
ρ
),其中,{a1,a2,

,a
ρ
}满足一定的关系,如{a1,a2,

,a
ρ
}为等差数列,公差为大于等于2d的正整数;或{a1,a2,

,a
ρ
}为超递增数列,且τ的取值范围为{1,2,

,ρ}。
[0065]
(1d)图像所有者将比特特征向量p
i
扩展为图像向量其中,代表第i个图像的角色多项式g
i
(x)展开式的各项系数,ε
i1


,ε
iv
表示从正态分布中独立随机选取的v个随机数,其中,h表示所有角色的总数,v≥1;
[0066]
本发明的实施例中,集合{1,6,12,24,48}可作为访问角色集。若角色1,12,24有权访问外包图像f
i
,则外包图像f
i
的角色多项式为g1=(x

1)(x

12)(x

24)=

288+324x

36x2+1x3+0x4+0x5,因此,外包图像f
i
的中间数据向量为
[0067]
(2)生成可搜索索引和最终索引签名:
[0068]
(2a)可信权威生成一个(d+h+v+1)维的随机比特向量s、两个(d+h+v+1)
×
(d+h+v+
1)维的随机可逆矩阵m,一个验证密钥k={δ,α},其中,δ表示伪随机函数的种子,α是随机数,且α∈r
η
,r
η
表示η比特编码的实数集合;
[0069]
(2b)可信权威为每个数据所有者生成一对所有者密钥k
do,1
,k
do,2
,将k
do,2
发送给云服务器,其中,k
do,1
表示第一所有者密钥分量:k
do,2
表示第二所有者密钥分量:m
o
,m

o
,均为(d+h+v+1)
×
(d+h+v+1)维的随机可逆矩阵,且m=m
o
·
m

o

[0070]
(2c)图像所有者利用第一所有者密钥分量k
do,1
,将每个外包图像对应的图像向量加密为2(d+h+v+1)维的初始索引其中,为两个(d+h+v+1)维的向量,满足如果s[ι]=0;否则l的取值范围为{1,2,

,d+h+v+1},t表示转置操作;
[0071]
(2d)图像所有者计算r
i,j
=f
δ
(l
i,j
),其中,l
i,j
为初始索引i
i
中第j个元素的标签,j的取值范围为{1,2,

,d+h+v+1},得到2(d+h+v+1)维的向量r
i
=(r
i,1
,r
i,2


,r
i,2(d+h+v+11
),计算得到初始索引签名
[0072]
(2e)图像所有者采用图像加密算法对图像集进行加密,得到加密的图像集;所述图像加密算法是指:混沌映射加密、des、rsa中的任意一个算法;
[0073]
(2f)图像所有者将加密的图像集、初始图像索引{i
i
}
i∈[1,m]
、初始索引签名{σ
i,i
}
i∈[1,m]
发送至云服务器;
[0074]
(2g)云服务器利用第二所有者密钥分量将每个初始索引i
i
转化为一个可搜索索引将每个初始索引签名σ
i,i
转化为最终索引签名其中其中表示中前d+h+v+1个元素组成的向量,表示中后d+h+v+1个元素组成的向量。
[0075]
(3)生成查询向量:
[0076]
(3a)可信权威为新加入的查询用户生成一对用户密钥k
en,1
,k
en,2
,将k
en,2
发送给云服务器其中,k
en,1
表示第一用户密钥分量:k
en,2
表示第二用户密钥分量:其中,m
u
,m

u
,均为(d+h+v+1)
×
(d+h+v+1)维的随机可逆矩阵,且m
‑1=m

u
·
m
u

[0077]
(3b)查询用户根据卷积神经网络模型提取出查询图像的特征,并利用迭代量化方法将提取出的特征降维成一个d维的比特查询特征向量q;
[0078]
(3c)查询用户将比特查询特征向量q中所有0转换为

1,得到向量
[0079]
(3d)查询用户将向量扩展为查询向量其中,a表示查询用户对应的角色,b代表v维的随机比特向量;
[0080]
(3e)查询用户利用第一用户密钥分量加密查询向量得到一个初始陷门其中,表示两个d+h+v+1维的向量,满足如果s[ι]=0,否则其中,l的取值范围为{1,2,

,d+h+v+1};
[0081]
(3f)查询计算r
j
=f
δ
(l
j
),其中,l
j
为初始陷门t中第j个元素的标签,j的取值范围为{1,2,

,d+h+v+1},得到2(d+h+v+1)维的向量r0=(r1,r2,

,r
2(d+h+v+1)
),计算得到初始陷门签名
[0082]
(3g)查询用户将初始陷门t和初始陷门签名σ
t
发送至云服务器;
[0083]
(4)查询图像密文集:
[0084]
(4a)利用第二用户密钥分量将每个初始陷门t转化为一个可搜索陷门将每个初始陷门签名转化为最终陷门签名其中其中表示中前d+h+v+1个元素组成的向量,表示中后d+h+v+1个元素组成的向量;
[0085]
(4b)云服务器计算每个可搜索索引和可搜索陷门的内积,比较计算出的每个内积值的绝对值与d的大小,若内积值的绝对值小于d,则查询用户可以访问相应的图像;否则,查询用户无权访问相应的图像密文;
[0086]
(4c)云服务器在可以访问的图像密文集中选择内积值最大的k个图像密文,计算所选的每个图像密文对应的最终索引签名和最终陷门签名的卷积得到相应图像密文的证明,其中,k为正整数,i

的取值范围为{1,2,

,k};
[0087]
(4d)云服务器将所选的k个图像密文、相应的内积值和证明,作为查询结果返回至查询用户;
[0088]
(5)验证所选的k个图像密文的正确性:
[0089]
(5a)查询用户利用相应的第二用户密钥分量加密向量r0=(r1,r2,

,r
2(d+h+v+1)
),得到密文其中,表示r0的前d+h+v+1个元素组成的向量,表示r0的后d+h+v+1个元素组成的向量;
[0090]
(5b)计算所选的每个图像密文对应的向量r
i

=(r
i

,1
,r
i

,1


,r
i

,2(d+h+v+1)
)与密文的内积ψ
i

,计算φ
i

与向量(α0,α1,α2)的内积ψ

i


[0091]
(5c)判断ψ
i

与ψ

i

是否相等,判断是否与相应图像密文对应的内积值相等,若都相等,则利用图像加密算法所使用的密钥解密图像密文,得到满足要求的明文图像,否则,拒绝接受相应图像密文。
[0092]
本发明还提出一种可验证细粒度加密图像检索系统,包括:
[0093]
图像向量生成模块,用于生成图像向量;
[0094]
索引生成模块,用于生成可搜索索引和最终索引签名;
[0095]
查询向量生成模块,用于生成查询向量;
[0096]
陷门生成模块,用于生成可搜索陷门和最终陷门签名;
[0097]
图像密文集查询模块,用于查询图像密文集;
[0098]
验证模块,用于验证所选图像密文的正确性。
[0099]
本发明的上述系统可以由特定功能的硬件模块实现或者由设置在计算机程序中的软件模块实现,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明可验证细粒度加密图像检索方法。
[0100]
以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1