一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链辅助的隐私保护图像检索方法

2022-06-05 06:31:01 来源:中国专利 TAG:


1.本发明属于图像处理以及数据审计技术领域,具体涉及一种区块链辅助的隐私保护图像检索方法。


背景技术:

2.随着移动设备的日益普及,每天都会生成大量的高分辨率图像,包括出版、教育、医学等。由于电子设备的存储空间有限,大多数图像所有者选择将其图像存储在云服务中,例如苹果云、百度云、腾讯云、阿里云等。面对大的图像数据集,有效的图像检索成为一种普遍的需求。目前,图像检索主要有两种技术:基于文本的检索和基于内容的检索。基于文本的图像检索方法需要为每一幅图像生成文本描述符,因此存在一些不足。首先,检索结果的准确性完全依赖于图像文本标注的准确性,但大多数图像很难准确标注文本。其次,这种方法需要大量的人工对图像进行标注,对于大规模的图像检索效率不高。由于基于文本的图像检索技术的局限性,研究者的兴趣逐渐转移到基于内容的图像检索,它从目标图像中检索数据库通过查询图像的视觉特征。
3.众所周知,图像通常包含敏感的隐私信息,因此在将图像存储到云服务器上之前对其进行加密是非常必要的。认识到图像隐私的重要性,研究人员和社交媒体网站开发了各种隐私政策和工具来保护图像所有者的隐私。但是,目前的研究成果大多集中在加密图像上,而不是加密图像的特性,这暴露了用户的检索意愿。可搜索加密可以在不丢失数据保密性的前提下实现密文域图像搜索。这种方法虽然保护了用户的搜索意图。但同时也带来了较高的计算和存储负担。
4.随着图像数据的爆炸式增长,人们希望通过多个云服务器而不是一个云服务器检索更多相似于查询图像的图像。现有的图像检索工作大多集中在单一的半信任云服务器上,在多云图像检索方面的研究非常有限。此外,多云图像检索还存在两个安全问题需要解决。一方面,由于多云的中心检索服务器为了获取商业利润可能会返回虚假或不完整的搜索结果,从而降低了检索的准确性,这严重损害了用户的利益。例如,用户付费并希望从云服务器下载相似的图像,但检索到的图像远远不是他/她想要的。另一方面,云服务器为了节省计算和带宽资源,可能会删除或篡改用户不常访问的图像,从而破坏图像数据的完整性,导致图像所有者的重要信息丢失,或者用户对图像的解密发生错误。
5.区块链是一种具有去中心化、匿名性和数据一致性等特点的网络新模式,它利用了分布式数据存储、点对点传输、共识机制、加密算法等技术。在区块链网络中,每个节点都有一个公私钥对。当节点结束交易时,它首先使用它的私钥对交易内容进行签名,并将签名附加到交易中。其他节点收到广播消息后,首先验证交易的附加签名,在完成消息完整性和交易合法性的验证后,才能确认交易。由于以上特点,区块链可以代替中心检索服务器,实现去中心化的图像检索。
6.综上所述,在多云环境下,有必要构建一个基于区块链的隐私保护图像检索方案。


技术实现要素:

7.发明目的:本发明提出了一种区块链辅助的隐私保护图像检索方法,结合局部敏感哈希算法构建索引表,用安全的knn算法对图像特征加密,不仅能快速高效地在多云上检索图像,而且可以检测云端图像数据是否被删除或者篡改。
8.技术方案:本发明所述的一种区块链辅助的隐私保护图像检索方法,包括以下步骤:
9.(1)图像所有者利用卷积神经网络模型提取图像特征;
10.(2)针对于每个图像特征采用knn算法进行加密;
11.(3)对于每个图像采用sm4算法进行加密,并将密文图像上传到云服务器;
12.(4)图像所有者计算密文图像的哈希并生成merkle哈希树;
13.(5)使用位置敏感哈希算法构建加密图像特征的索引表,并将索引表和merkle哈希树上传到联盟链;
14.(6)用户加密查询图像的特征并上传到联盟链;
15.(7)查询索引表,检索到与查询图像相似的前k张图像的id;
16.(8)将k个id返回给云端,云端发送相应的图像给用户,用户解密图像获得明文图像;
17.(9)图像所有者向云服务器发送一个验证请求和挑战信息;
18.(10)云服务器根据挑战信息将对应的图像、辅助验证信息和根哈希值返回给图像所有者;
19.(12)图像所有者计算返回图像的哈希,然后根据返回图像的哈希和辅助验证信息计算一个新的根哈希值;
20.(12)对比新的根哈希值和云服务器返回的根哈希值是否相等,若相等,则证明图像数据完整,否则证明图像数据不完整。
21.进一步地,所述步骤(2)实现过程如下:
22.对于每个图像ii的特征向量fi=(f
i1
,f
i2
,

,f
in
),图像所有者依次扩充fi为fi'=(f
i1
,f
i2
,

,f
in
,||fi||2)
t
,然后计算
[0023][0024]
其中sj∈s,s是一个随机比特串,v是一个随机值;最后得到加密后的图像特征其中m1和m2是两个可逆矩阵。
[0025]
进一步地,所述步骤(4)实现过程如下:
[0026]
对于每一个密文图像ci,依次计算其哈希hi=hash(ci),为了构建索引表,依次计算以下哈希值
[0027]h{1,2}
=hash(h1||h2);
[0028]h{3,4}
=hash(h3||h4);
[0029]h{1,4}
=hash(h
{1

2}
||h
{3,4}
);
[0030]h{1,n/2}
=hash(h
{1,n/4}
||h
{n/4,n/2}
);
[0031]h{n/2,n}
=hash(h
{n/2,3n/4}
||h
{3n/4,n}
);
[0032]
最后计算根哈希值hr=hash(h
{1,n/2}
||h
{n/2,n}
)。
[0033]
进一步地,所述步骤(6)实现过程如下:
[0034]
当用户想要检索图像q时,对于查询图像q,用户扩充q为
[0035]
q'=(q1,q2,

,qn,||qi||2)
t
,然后计算
[0036][0037]
其中sj∈s,s是一个随机比特串,v是一个随机值;最后得到加密后的查询特征其中0《α《1,m1和m2是两个可逆矩阵。
[0038]
进一步地,所述步骤(7)实现过程如下:
[0039]
通过查询索引表,定位到包含与查询图像相似的图像的一类中,然后计算这类图像中每个图像密文特征与查询图像密文特征的距离e
t
·ei
,其中e
t
是加密的查询特征e的转置,找到距离较小的前k个图像的id。
[0040]
进一步地,所述步骤(10)实现过程如下:
[0041]
当图像所有者想要验证存储在云端的数据是否完整时,先向云服务器发送一个验证请求和随机生成的一个比特串{b
l
},其中l表示图像的id;如果b
l
=1,图像所有者将图像的id发送给云服务器,云服务器将相应的图像发送给图像所有者,然后图像所有者计算这些图像的哈希;将邻接节点的哈希值和存储在区块链中的根哈希值hr等辅助信息返回给图像所有者。
[0042]
有益效果:与现有技术相比,本发明的有益效果:本发明采用先进的环签名技术设计数据标签,不仅能够快速有效的检验云端数据完整性,而且保证了安全性;同时解决了多云环境下数据完整性验证的问题,提高了该类验证方案的效率。
附图说明
[0043]
图1是区块链辅助图像检索的流程图;
[0044]
图2是数据完整性验证的流程图。
具体实施方式
[0045]
下面结合附图对本发明做进一步详细说明。
[0046]
本发明提出一种区块链辅助的隐私保护图像检索方法,如图1所示,具体包括以下步骤:
[0047]
在数据上传到云端之前,先对数据进行处理。处理过程如下:
[0048]
首先,图像所有者利用卷积神经网络模型提取图像特征;然后针对于每个图像特征采用knn算法进行加密,具体过程如下:
[0049]
对于每个图像ii的特征向量fi=(f
i1
,f
i2
,

,f
in
),图像所有者依次扩充fi为fi'=(f
i1
,f
i2
,

,f
in
,||fi||2)
t
,然后将fi'分成两部分f
i1
和f
i2
,计算如下:
[0050][0051]
其中,sj∈s,f
ij
∈(f
i1
,f
i2
,

,f
in
),s是一个随机比特串,v是一个随机值,fi是图
像ii的特征向量,f
i1
,f
i2
,

,f
in
是fi的每一个分量。最后得到加密后的图像特征其中m1和m2是两个可逆矩阵。
[0052]
对于每个图像采用sm4算法进行加密,并将密文图像上传到云服务器;其次,图像所有者计算密文图像的哈希并生成merkle哈希树。具体过程如下:
[0053]
对于每一个密文图像ci,依次计算其哈希hi=hash(ci),为了构建索引表,依次计算以下哈希值:
[0054]h{1,2}
=hash(h1||h2);
[0055]h{3,4}
=hash(h3||h4);
[0056]h{1,4}
=hash(h
{1

2}
||h
{3,4}
);
[0057]h{1,n/2}
=hash(h
{1,n/4}
||h
{n/4,n/2}
);
[0058]h{n/2,n}
=hash(h
{n/2,3n/4}
||h
{3n/4,n}
);
[0059]
然后计算根哈希值hr=hash(h
{1,n/2}
||h
{n/2,n}
)。
[0060]
图像所有者使用位置敏感哈希算法构建加密图像特征的索引表,并将索引表和merkle哈希树上传到联盟链;当用户想要检索图像q时,对于查询图像q,用户扩充q为q'=(q1,q2,

,qn,||qi||2)
t
,然后计算:
[0061][0062]
其中sj∈s,s是一个随机比特串,v是一个随机值。最后得到加密后的查询图像特征其中0《α《1,m1和m2是两个可逆矩阵。
[0063]
通过查询索引表,检索到与查询图像相似的前k张图像的id。具体过程如下:
[0064]
首先通过查询索引表,定位到包含与查询图像相似的图像的一类中,然后计算这类图像中每个图像密文特征与查询图像密文特征的距离e
t
·ei
,找到距离较小的前k个图像的id。将k个id返回给云端,云端发送相应的图像给用户,用户解密图像获得明文图像。
[0065]
图像所有者向云服务器发送一个验证请求和挑战信息,云服务器根据挑战信息将对应的图像、辅助验证信息和根哈希值返回给图像所有者。当图像所有者想要验证存储在云端的数据是否完整时,先向云服务器发送一个验证请求和随机生成的一个比特串{b
l
},其中l表示图像的id。如果b
l
=1,图像所有者将图像的id发送给云服务器,云服务器将相应的图像发送给图像所有者,然后图像所有者计算这些图像的哈希。
[0066]
将邻接节点的哈希值和存储在区块链中的根哈希值hr等辅助信息返回给图像所有者。最后图像所有者根据图像的哈希值和辅助验证信息计算一个新的根哈希值hr'。对比新的根哈希值和云服务器返回的根哈希值是否相等,若相等,则证明图像数据完整,否则证明图像数据破坏,具体如图2所示。
[0067]
本发明采用区块链技术,不仅能够快速有效的在多云上检索图像,而且能够验证存储在云端的图像数据的完整性。同时解决了多云环境下图像检索的问题,提高了该类检索方案的效率。
[0068]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献