本发明实施例涉及图像检索,尤其涉及一种图像的安全检索方法、计算节点及计算机可读存储介质。
背景技术:
1、随着智能手机、数码相机的普及,图像的数量越来越丰富,图像拥有者经常将图像外包至云计算平台存储,但是云计算的集中式体系架构有可能成为攻击者主要的攻击目标,导致单点失败。
2、算力网络引入海量泛在的计算资源,提供分布式计算服务,并且能够实现算力资源的全局调度,图像拥有者不需要指定特定的云服务器存储图像,而是由算力网络根据价格、网络、安全性等多方面因素选择合适的多个算力节点协同完成图像检索任务。一方面,算力网络可以针对不同的图像检索需求,比如时延、带宽、安全性等,提供最佳的资源分配方案;另一方面,多算力节点的并行处理能够提升图像检索的效率,增加系统的可用性和鲁棒性。
3、然而,算力网络中海量泛在的分布式计算节点通常被认为是“诚实而好奇的”,它们可能会分析存储的图像以了解更多信息,从而导致隐私泄漏。为了保护图像隐私,图像应该由算力网络的可信节点加密后,再外包给“诚实而好奇的”算力节点。然而,加密操作会导致明文域的图像的安全检索方法不再可用。
技术实现思路
1、本发明实施例提供一种图像的安全检索方法、计算节点及计算机可读存储介质,用于解决现有的分布式计算节点的图像存储方法难以实现安全检索的问题。
2、为了解决上述技术问题,本发明是这样实现的:
3、第一方面,本发明实施例提供了一种图像的安全检索方法,包括:
4、第一计算节点接收图像库和所述图像库的图像存储策略,所述图像存储策略包括:用于执行图像检索的多个第二计算节点的信息;
5、所述第一计算节点提取所述图像库中的每个图像的图像特征,并根据每个图像的图像特征生成每个图像的索引;
6、所述第一计算节点对每个图像的索引进行加密,得到每个图像的加密索引;
7、所述第一计算节点对每个图像的加密索引进行拆分,得到每个图像的多个索引份额,每个图像的索引份额的数量与所述第二计算节点的数量相同;
8、所述第一计算节点生成所述图像库的加密解码密钥,并使用所述加密解密密钥对所述图像库中的每个图像进行加密,得到加密图像;
9、所述第一计算节点将所述加密图像发送给所述多个第二计算节点中的目标第二计算节点,并将每个图像的多个索引份额分别发送给所述多个第二计算节点,其中针对每个图像,每个所述第二计算节点对应一个所述索引份额。
10、可选的,每个图像的图像特征为f=(f1,…,fn),其中,n表示所述图像特征的维度;所述根据每个图像的图像特征生成每个图像的索引,包括:
11、所述第一计算节点对每个图像的n个维度的图像特征进行汇总,得到汇总值其中,fi为第i个维度的图像特征;
12、所述第一计算节点根据每个图像的图像特征和所述汇总值,生成每个图像的索引fs,其中,
13、可选的,所述第一计算节点对每个图像的索引进行加密,得到每个图像的加密索引,包括:
14、针对每个图像,所述第一计算节点随机生成一个(n+1)×(n+1)的可逆矩阵b;n表示所述图像特征的维度;
15、所述第一计算节点使用所述可逆矩阵b对所述图像的索引进行加密,得到所述图像的加密索引其中,fs为所述图像的索引。
16、可选的,所述第一计算节点对每个图像的加密索引进行拆分,得到每个图像的多个索引份额,包括:
17、所述第一计算节点使用加法秘密共享技术对每个图像的加密索引进行拆分,得到每个图像的多个索引份额。
18、可选的,所述方法还包括:
19、所述第一计算节点随机生成多个三元组份额,所述三元组份额的数量与所述第二计算节点的数量相同;所述三元组份额用于在图像检索过程中计算所述加密图像的图像特征与查询图像的图像特征之间的欧式距离;所述三元组份额包括ai,bi,ci,其中,ai,bi,ci满足其中m表示所述第二计算节点的数量;
20、所述第一计算节点将所述多个三元组份额分别发送给所述多个第二计算节点,每个所述第二计算节点对应一个所述三元组份额。
21、可选的,所述方法还包括:
22、所述第一计算节点接收查询图像和所述查询图像的图像检索策略;所述图像存储策略包括:用于执行图像检索的多个第二计算节点的信息;
23、所述第一计算节点提取所述查询图像的图像特征,并根据所述查询图像的图像特征生成所述查询图像的陷门;
24、所述第一计算节点对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门;
25、所述第一计算节点对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额,所述陷门份额的数量与所述第二计算节点的数量相同;
26、所述第一计算节点将所述多个陷门份额分别发送给所述多个第二计算节点,其中,每个所述第二计算节点对应一个所述陷门份额,所述第二计算节点根据接收到的索引份额和陷门份额,确定每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点;
27、所述第一计算节点接收所述目标加密图像,并对所述目标加密图像进行解密;
28、所述第一计算节点将解密后的图像作为查询结果返回。
29、可选的,所述查询图像的图像特征为q=(q1,…,qn),其中,n表示所述图像特征的维度;所述根据所述查询图像的图像特征生成所述查询图像的陷门,包括:
30、所述第一计算节点根据所述查询图像的图像特征,生成所述查询图像的陷门qs,其中,qs=(-2q1,…,-2qn,1)t。
31、可选的,所述第一计算节点对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门,包括:
32、所述第一计算节点随机选择一个常数r;
33、所述第一计算节点使用可逆矩阵b和所述常数r对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门其中,所述可逆矩阵b为所述第一计算节点对所述图像库中的图像的索引加密使用的矩阵。
34、可选的,所述第一计算节点对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额,包括:
35、所述第一计算节点使用加法秘密共享技术对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额。
36、第二方面,本发明实施例提供了一种图像的安全检索方法,包括:
37、第一计算节点接收查询图像和所述查询图像的图像检索策略的信息,所述图像检索策略包括:用于执行图像检索的多个第二计算节点的信息;
38、所述第一计算节点提取所述查询图像的图像特征,并根据所述查询图像的图像特征生成所述查询图像的陷门;
39、所述第一计算节点对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门;
40、所述第一计算节点对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额,所述陷门份额的数量与所述第二计算节点的数量相同;
41、所述第一计算节点将所述多个陷门份额分别发送给所述多个第二计算节点,其中,每个所述第二计算节点对应一个所述陷门份额,所述第二计算节点根据接收到的索引份额和陷门份额,确定每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点;
42、所述第一计算节点接收所述目标加密图像,并对所述目标加密图像进行解密;
43、所述第一计算节点将解密后的图像作为查询结果返回。
44、第三方面,本发明实施例提供了一种图像的安全检索方法,包括:
45、第二计算节点接收第一计算节点发送的图像库中的每个图像的多个索引份额中的其中一个,以及,查询图像的多个陷门份额的其中一个;
46、所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额;
47、所述第二计算节点接收到的其他第二计算节点发送的中间数据份额;
48、所述第二计算节点根据自身计算的中间数据份额以及接收到的中间数据份额得到中间数据,并发送给所述其他第二计算节点;
49、所述第二计算节点根据所述中间数据计算距离份额;
50、所述第二计算节点接收所述其他第二计算节点发送的距离份额;
51、所述第二计算节点根据自身计算的距离份额以及接收到的距离份额,计算每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点。
52、可选的,所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额,包括:
53、所述第二计算节点根据接收到的索引份额、陷门份额以及三元组份额,计算中间数据份额ri和wi,其中,为所述索引份额,为所述陷门份额,所述三元组份额包括ai,bi,ci,其中,ai,bi,ci满足其中m表示所述第二计算节点的数量。
54、可选的,所述中间数据包括r和w,其中,
55、可选的,所述距离份额采用如下公式计算:
56、
57、可选的,所述欧式距离采用如下公式计算:
58、第四方面,本发明实施例提供了一种图像的安全检索方法,包括:
59、第二计算节点接收第一计算节点发送的图像库中的每个图像的多个索引份额中的其中一个,以及,查询图像的多个陷门份额的其中一个;
60、所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额;
61、所述第二计算节点将所述中间数据份额发送给目标第二计算节点,所述目标第二计算节点为用于图像检索的多个第二计算节点中的其中一个;
62、所述第二计算节点根据所述目标计算节点发送的中间数据计算距离份额,所述中间数据由所述目标计算节点根据自身计算的中间数据份额以及接收到的中间数据份额得到;
63、所述第二计算节点将所述距离份额发送给所述目标第二计算节点,由所述目标第二计算节点根据所述距离份额,计算每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点。
64、可选的,所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额,包括:
65、所述第二计算节点根据接收到的索引份额、陷门份额以及三元组份额,计算中间数据份额ri和wi,其中,为所述索引份额,为所述陷门份额,所述三元组份额包括ai,bi,ci,其中,ai,bi,ci满足其中m表示所述第二计算节点的数量。
66、可选的,所述距离份额采用如下公式计算:
67、di=w×ai+r×bi+ci(i=2,3,…m);
68、其中,r和w为所述中间数据,其中,
69、第五方面,本发明实施例提供了第一计算节点,包括:
70、第一接收模块,用于接收图像库和所述图像库的图像存储策略,所述图像存储策略包括:用于执行图像检索的多个第二计算节点的信息;
71、第一提取模块,用于提取所述图像库中的每个图像的图像特征,并根据每个图像的图像特征生成每个图像的索引;
72、索引加密模块,用于对每个图像的索引进行加密,得到每个图像的加密索引;
73、索引拆分模块,用于对每个图像的加密索引进行拆分,得到每个图像的多个索引份额,每个图像的索引份额的数量与所述第二计算节点的数量相同;
74、图像加密模块,用于生成所述图像库的加密解码密钥,并使用所述加密解密密钥对所述图像库中的每个图像进行加密,得到加密图像;
75、第一发送模块,用于将所述加密图像发送给所述多个第二计算节点中的目标第二计算节点,并将每个图像的多个索引份额分别发送给所述多个第二计算节点,其中针对每个图像,每个所述第二计算节点对应一个所述索引份额。
76、第六方面,本发明实施例提供了第一计算节点,包括:
77、第二接收模块,用于接收查询图像和所述查询图像的图像检索策略的信息,所述图像检索策略包括:用于执行图像检索的多个第二计算节点的信息;
78、第二提取模块,用于提取所述查询图像的图像特征,并根据所述查询图像的图像特征生成所述查询图像的陷门;
79、陷门加密模块,用于对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门;
80、陷门拆分模块,用于对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额,所述陷门份额的数量与所述第二计算节点的数量相同;
81、第三发送模块,用于将所述多个陷门份额分别发送给所述多个第二计算节点,其中,每个所述第二计算节点对应一个所述陷门份额,所述第二计算节点根据接收到的索引份额和陷门份额,确定每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点;
82、解密模块,用于接收所述目标加密图像,并对所述目标加密图像进行解密;
83、第四发送模块,用于将解密后的图像作为查询结果返回。
84、第七方面,本发明实施例提供了第二计算节点,包括:
85、第一接收模块,用于接收第一计算节点发送的图像库中的每个图像的多个索引份额中的其中一个,以及,查询图像的多个陷门份额的其中一个;
86、第一计算模块,用于根据接收到的索引份额和陷门份额计算中间数据份额;
87、第二接收模块,用于接收到的其他第二计算节点发送的中间数据份额;
88、第二计算模块,用于根据自身计算的中间数据份额以及接收到的中间数据份额得到中间数据,并发送给所述其他第二计算节点;
89、第三计算模块,用于根据所述中间数据计算距离份额;
90、第三接收模块,用于接收所述其他第二计算节点发送的距离份额;
91、第四计算模块,用于根据自身计算的距离份额以及接收到的距离份额,计算每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点。
92、第八方面,本发明实施例提供了第二计算节点,包括:
93、第一接收模块,用于接收第一计算节点发送的图像库中的每个图像的多个索引份额中的其中一个,以及,查询图像的多个陷门份额的其中一个;
94、第一计算模块,用于根据接收到的索引份额和陷门份额计算中间数据份额;
95、第一发送模块,用于将所述中间数据份额发送给目标第二计算节点,所述目标第二计算节点为用于图像检索的多个第二计算节点中的其中一个;
96、第二计算模块,用于根据所述目标计算节点发送的中间数据计算距离份额,所述中间数据由所述目标计算节点根据自身计算的中间数据份额以及接收到的中间数据份额得到;
97、第二发送模块,用于将所述距离份额发送给所述目标第二计算节点,由所述目标第二计算节点根据所述距离份额,计算每个加密图像与所述查询图像的欧式距离,根据所述欧式距离从所述加密图像中确定与所述查询图像匹配的目标加密图像,并发送给所述第一计算节点。
98、第九方面,本发明实施例提供了计算节点,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上述第一方面、第二方面、第三方面或第四方面所述的图像的安全检索方法的步骤。
99、第十方面,本发明实施例提供了计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面、第二方面、第三方面或第四方面所述的图像的安全检索方法的步骤。
100、本发明实施例具有以下有益效果:
101、第一方面,构建索引份额,并分别存储在不同的计算节点,对于一个包含多个计算节点的计算平台,只有破解全部计算节点才有可能破解原始索引,大大增加了攻破系统的难度,提高了系统的安全性。
102、第二方面,构建陷门份额,并分别存储在不同的计算节点,对于一个包含多个计算节点的计算平台,只有破解全部计算节点才有可能破解陷门数据,大大增加了攻破系统的难度,提高了系统的安全性。计算节点可以根据索引份额和陷门份额还原出原始索引和陷门之间的欧式距离,根据欧式距离越小越相似的原则,找到和查询图像最相似的图像并返回用户,解决了算力网络分布式计算环境下的图像的安全检索问题,具有较强的实用性。
1.一种图像的安全检索方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,每个图像的图像特征为f=(f1,…,fn),其中,n表示所述图像特征的维度;所述根据每个图像的图像特征生成每个图像的索引,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一计算节点对每个图像的索引进行加密,得到每个图像的加密索引,包括:
4.根据权利要求1所述的方法,其特征在于,所述第一计算节点对每个图像的加密索引进行拆分,得到每个图像的多个索引份额,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求6所述的方法,其特征在于,所述查询图像的图像特征为q=(q1,…,qn),其中,n表示所述图像特征的维度;所述根据所述查询图像的图像特征生成所述查询图像的陷门,包括:
8.根据权利要求6所述的方法,其特征在于,所述第一计算节点对所述查询图像的陷门进行加密,得到所述查询图像的加密陷门,包括:
9.根据权利要求6所述的方法,其特征在于,所述第一计算节点对所述查询图像的加密陷门进行拆分,得到所述查询图像的多个陷门份额,包括:
10.一种图像的安全检索方法,其特征在于,包括:
11.一种图像的安全检索方法,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额,包括:
13.根据权利要求12所述的方法,其特征在于,所述中间数据包括r和w,其中,
14.根据权利要求13所述的方法,其特征在于,所述距离份额采用如下公式计算:
15.根据权利要求14所述的方法,其特征在于,所述欧式距离采用如下公式计算:
16.一种图像的安全检索方法,其特征在于,包括:
17.根据权利要求16所述的方法,其特征在于,所述第二计算节点根据接收到的索引份额和陷门份额计算中间数据份额,包括:
18.根据权利要求17所述的方法,其特征在于,所述距离份额采用如下公式计算:
19.一种第一计算节点,其特征在于,包括:
20.一种第一计算节点,其特征在于,包括:
21.一种第二计算节点,其特征在于,包括:
22.一种第二计算节点,其特征在于,包括:
23.一种计算节点,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至9中任一项所述的图像的安全检索方法的步骤,或者,所述程序被所述处理器执行时实现如权利要求10所述的图像的安全检索方法的步骤,或者,所述程序被所述处理器执行时实现如权利要求11至15中任一项所述的图像的安全检索方法的步骤,或者,所述程序被所述处理器执行时实现如权利要求16至18中任一项所述的图像的安全检索方法的步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的图像的安全检索方法的步骤;或者,所述计算机程序被处理器执行时实现如权利要求10所述的图像的安全检索方法的步骤,或者,所述计算机程序被处理器执行时实现如权利要求11至15中任一项所述的图像的安全检索方法的步骤,或者,所述计算机程序被处理器执行时实现如权利要求16至18中任一项所述的图像的安全检索方法的步骤。
