随着数码相机、智能手机的普及,图像、图形和照片的数量正在以越来越快的速度增长.云计算平台具有规模大、可靠性高、通用性强、可扩展性强和廉价的优点,图像经常被上传到云端存储,但云服务器脱离了图像拥有者的管理,图像存在着泄露的可能.为了防止隐私泄露,敏感图片须要在本地加密后上传到云端.基于内容的图像检索(CBIR)是一种典型的图像检索框架,而加密的随机性导致了图像特征之间的距离难以保持,为CBIR带来困难.近年来,出现一些图像安全检索方案[1-4],例如文献[2]提出了位平面随机化、随机投影和随机一元编码方法,这些方案虽然有效,但是安全性有限;文献[3]提出了一种云环境下基于同态加密的图像检索方案,安全性好且检索较为精确,但是效率较低;文献[4]提出了一种基于安全多方计算的支持多个图像所有者的图像安全检索方案MIPP,对从多个来源收集的图像进行高效的图像检索,但是检索精确度较低.综上所述,这些方案在安全性、检索效率和检索准确率等方面难以达到平衡.另外,由于云环境实际上是一个分布式的处理平台,往往采用多个云服务器存储图像,多服务器的并行计算可以获得更高的计算速度,提升检索效率,提高系统的可靠性、可用性和鲁棒性,而现有的图像安全检索方案只考虑了使用单个云服务器的情况,不能满足实际云环境的要求.文献[5-6]首次提出一种将秘密信息分成不同的份额来保证数据安全的秘密共享方案.秘密共享在隐私信息检索(PIR)[7-9]、图像信息隐藏[10-13]等领域得到了广泛的应用.然而,秘密共享思想尚未应用于图像安全检索领域.本研究将秘密共享应用到图像检索领域,提出了一种基于秘密共享的多服务器图像安全检索方案.在秘密共享方案中,服务器数量最少为3个,这里使用3个云服务器来构建一个多服务器的图像安全检索模型.在预处理阶段,图像所有者生成并加密图像索引的多个秘密份额,并将加密后的索引份额与加密图像一起外包给不同的云服务器.在查询阶段,用户生成并加密多个查询陷门,然后将其分别外包到3个云服务器.云服务器分别解密,计算得到距离份额,并使用安全多方计算技术对其进行加密,然后将加密的距离份额发送到某个云服务器,该服务器在密文上实现距离重构,并将查询结果返回用户,经解密获得明文图像.由于秘密共享的特点,该方案能够抵抗单个云服务器的统计攻击,提高了图像索引、图像加密等的安全性;安全多方计算技术保证了云服务器在执行距离相似度比较上的安全性,防止了攻击者窃取距离信息.除此之外,该方案还克服了图像安全检索中常见的精确度损失问题,检索精确度几乎与明文图像检索一致.实验证明了图像的检索效率和检索精确度.1 秘密共享Shamir的(t,n)秘密共享方案具体算法如下.在秘密分发阶段,随机选择一个t-1次多项式f(x)=s0+∑i=0t-1aixi,使秘密s0=f(0),其中:a0,a1,⋯,at-1为随机数须要保密;计算秘密份额si=f(xi),1≤i≤t,并把si分配给不同的参与者.在秘密重构阶段,任何t个参与者发送他们的共享份额s1,s2,⋯,st,使用拉格朗日插值公式f(x)=∑i=1tsi∏j≠i,j=1t(x-xj)(xi-xj)重构出原始多项式并求得秘密信息s0=f(0).2 多服务器图像安全检索模型本研究提出基于秘密共享的多服务器图像安全检索模型,该模型涉及到的主体包括图像所有者、云服务器、用户和密钥管理中心(KMC),如图1所示.10.13245/j.hust.210606.F001图1基于秘密共享的多服务器图像安全检索模型在预处理阶段,图像所有者生成加密索引份额,并将其与加密图像一起分别外包给3个云服务器,与此同时,用于加密索引份额的密钥K1,K2,K3,图像解密密钥Kd也被发送给密钥管理中心,然后密钥管理中心将密钥分别转发给3台服务器.在查询阶段,用户获得授权之后,生成3个加密陷门份额并分别发送到3个云服务器,再将密钥K4,K5,K6发送给KMC;KMC将图像解密密钥Kd发送给用户;云服务器在接收到加密陷门份额之后,该服务器在密文上实现距离重构,并将查询结果返回用户,用户解密获得明文图像.在本研究提出的模型中,图像所有者和授权用户总是被认为是值得信赖的,安全威胁主要来自“诚实但好奇”的云服务器和恶意外部攻击者.图像索引和查询陷门不能以明文形式直接发送到云服务器,并且数据库图像索引和查询图像陷门之间的欧氏距离也不能直接泄露给云服务器.另外,假设这3个服务器不共谋,因为大多数服务提供商已经建立了良好的声誉,并有足够的动机保护其声誉[14-17].3 多服务器图像安全检索方法在此从图像所有者的操作、用户的操作和云服务器的操作三个方面介绍.3.1 图像所有者的操作在预处理阶段,图像所有者生成加密索引份额和加密数据库图像,并将其分别发送给3个服务器.步骤1 构建图像索引图像所有者对图像库中的图像提取颜色特征,生成索引,表示为h=(h1,h2,⋯,hn),n为特征维度.步骤2 构建索引份额任取随机数a=(a1,a2,⋯,an),根据h(i)=a×i+h (i=1,2,3),生成索引份额h(1),h(2),h(3).索引份额h(i)的第m维度表示为hm(i),m=1,2,⋯,n,hm(1)=am×1+hm; (1)hm(2)=am×2+hm; (2)hm(3)=am×3+hm.(3)步骤3 构建加密索引份额图像所有者分别使用K1,K2,K3加密索引份额h(1),h(2),h(3),并生成加密索引份额eh(1),eh(2),eh(3).步骤4 外包图像和加密索引份额将加密索引份额分别外包到3个服务器,使用高级加密标准(AES)加密数据库图像,并外包至服务器3.3.2 用户的操作在查询阶段,用户生成加密陷门份额并分别发送给3个服务器;服务器返回查询结果后,用户解密,获得查询图像.步骤1 构建陷门用户对查询图像提取颜色特征,生成陷门,表示为q=(q1,q2,⋯,qn).步骤2 构建陷门份额任取随机数b=(b1,b2,⋯,bn),根据q(i)=b×i+q,生成陷门份额q(1),q(2),q(3).陷门份额q(i)的第m维度表示为qm(i),qm(1)=bm×1+qm;(4)qm(2)=bm×2+qm;(5)qm(3)=bm×3+qm.(6)步骤3 构建加密陷门份额用户分别使用K4,K5,K6加密陷门份额q(1),q(2),q(3)并生成加密陷门份额eq(1),eq(2),eq(3),分别发送至3个云服务器.3.3 云服务器的操作3.3.1 安全多方计算的改进文献[18]中提到的安全多方计算算法仅适用于参与者数量大于3的情况.本方案对其进行了修改,提出了改进的安全多方计算方法,使之适用于本文提出的由3个及以上云服务构建的多服务器安全检索模型,其过程如下.a. 随机选择两个大素数p和q̂(其中p,q̂的长度相同)和随机整数h,然后计算g1和g2,g1=h(p-1)/q̂modp; (7)g2=g1pmodp2.(8)b. 服务器i(i=1,2,⋯,n)选择一个随机数ri∈Zp并将ri发送到下一个云服务器,如图2所示.对于每个检索请求,云服务器i都可以提前生成一个密钥Ri,Ri=g2ri/g2ri-1, (9)其中,当i=1时,R1=g2r1/g2rn.10.13245/j.hust.210606.F002图2随机数ri的传递c. 使用Ri对距离份额加密,加密后的距离份额表示为C(i),C(i)=(1+x(i)p)Rimodp2.(10)d. 服务器i将加密后的数据C(i)发送给其他参与者,并计算密文的乘积C,C=∏i=1nC(i)modp2=∏i=1n(1+x(i)p)(g2ri/g2ri-1)modp2=(1+p∑i=1nx(i))g2∑i=1nri-ri-1modp2=(1+p∑i=1nx(i))modp2. (11)e. 数据之和∑i=1nx(i)可以通过下式求得,(C-1)/p=∑i=1nx(i)modp.(12)3.3.2 云服务器的算法步骤1 生成密钥Ri在预处理阶段,服务器提前生成密钥Ri,用于在查询阶段加密距离份额.根据式(7)~(9),对于每个检索请求,云服务器i都可以提前生成一个密钥Ri.步骤2 解密eh(1),eh(2),eh(3)在预处理阶段,服务器收到加密索引份额之后,分别用密钥K1,K2,K3解密,得到索引份额h(1),h(2),h(3),并分别存储.步骤3 解密eq(1),eq(2),eq(3)在查询阶段,服务器收到加密陷门份额之后,分别用密钥K4,K5,K6解密,得到陷门份额q(1),q(2),q(3).步骤4 生成距离份额服务器i获得陷门份额之后,生成距离份额fm(1),fm(2),fm(3),m=1,2,⋯,n,fm(1)=(hm(1)-qm(1))2;fm(2)=(hm(2)-qm(2))2;fm(3)=(hm(3)-qm(3))2.步骤5 生成加密距离份额为了保证距离排序的安全,在生成距离份额之后,服务器须要分别对其进行加密.对于每次查询,服务器1和服务器2分别生成一串随机数rand1=(rand11,rand12,⋯,rand1n),rand2=(rand21,rand22,⋯,rand2n),服务器i(i=1,2,3)分别生成xm(1),xm(2),xm(3),m=1,2,⋯,n,xm(1)=fm(1)+rand1m;xm(2)=-fm(2)+rand2m;xm(3)=fm(3).服务器i分别生成加密距离份额Cm(1),Cm(2),Cm(3),m=1,2,⋯,n,Cm(1)=(1+xm(1)p)×(g2r1/g2r3)modp2;Cm(2)=(1+xm(2)p)×(g2r2/g2r1)modp2;Cm(3)=(1+xm(3)p)×(g2r3/g2r2)modp2.服务器1和服务器2分别将Cm(1),Cm(2)发送给服务器3.步骤6 距离重构若距离份额没有使用安全多方计算方法加密,则安全的距离重构的方法如下.根据秘密共享方法,距离份额fm(1),fm(2),fm(3)的生成是基于秘密分发阶段的多项式,fmi=(hm(i)-qm(i))2=(am-bm)2i2+2(am-bm)(hm-qm)i+(hm-qm)2,式中秘密s0=(hm-qm)2.根据拉格朗日插值公式完成重构,当i=1时得s0=fm(0)=(hm-qm)2=3fm(1)-3fm(2)+ fm(3),其过程如下fm(i)=(2-i)(3-i)fm(1)/[(2-1)(3-1)]+(1-i)(3-i)fm(2)/[(1-2)(3-2)]+(1-i)∙(2-i)fm(3)/[(1-3)(2-3)]=(fm(1)/2-fm(2)+fm(3)/2)i2+(-5fm(1)/2+4fm(2)-3fm(3)/2)i+3fm(1)-3fm(2)+fm(3).因此,数据库图像索引h和查询图像陷门q之间的欧氏距离的平方表示为(h-q)2=∑m=1n(hm-qm)2=∑m=1n3(fm(1)-fm(2)+fm(3))-2fm(3).当距离份额使用安全多方计算方法加密时,安全的距离重构的方法如下.在收到加密距离份额Cm(1),Cm(2)后,根据式(11),服务器3计算加密距离份额的积Cm.从而可以求得∑i=13xm(i)=(Cm-1)/p.服务器仅能知道相似性的排序结果,但不能知道欧式距离的真实值,使用随机数∑m=1n3(rand1m+rand2m)对欧氏距离(h-q)2进行扰动,得到相似性计算的公式      dist=(h-q)2+∑m=1n3(rand1m+rand2m)=∑m=1n(3(fm(1)-fm(2)+fm(3))-2fm(3))+∑m=1n3(rand1m+rand2m)=∑m=1n3(∑i=13xm(i))-2fm(3)=∑m=1n3(Cm-1)/p-2fm(3).获得计算排序,将查询结果发送给用户.4 安全性分析下面分析该方案在已知明文攻击(KPA)场景下的安全性,该方案的安全性依赖于秘密共享方案.在KPA场景中,部分明文及加密后的密文信息能够被攻击者获得.首先,对于不同的查询,生成陷门份额的随机数是不同的,并且不同图像在生成索引份额中使用随机数也是不同的,它保证了即使部分随机数被破解,剩余的索引和陷门也不能被还原.第二,陷门份额和索引份额在发送到云服务器之前通过AES加密,可以防止攻击者窃听用户和服务器之间的3个信道来破解索引和陷门.第三,3台服务器上分别存储3个索引份额,可以抵抗单个服务器的统计攻击.这三点保证了陷门和索引的安全性.由于AES加密算法被认为是安全的,因此加密后的图像是安全的.距离份额使用安全多方计算技术加密后被发送到服务器3进行距离重构,因此服务器3无法通过加密的距离份额Cm(1),Cm(2),Cm(3)来获取距离份额f(1),f(2).此外,在相似度计算阶段,rand1,rand2防止了云服务窃取原始距离信息,增强了相似度排序过程的安全.综上所述,即使攻击者知道部分密文和对应的明文,仍然不可能恢复整个明文数据.换句话说,随机数系统保护了数据安全.5 实验结果及分析仿真实验主要验证本文方法的安全性和检索效果.仿真实验的运行环境如下:Intel(R) Xeon (TM) i5-4200 CPU@2.80 GHz,Windows10 (64 bit)操作系统.实验数据库为图像检索研究中常用的Corel图像数据库,共10类,每类100幅图像.5.1 安全性评价自相关函数常用来表示信号在两个不同时刻t和t+T的相关性,其中n为特征的长度,T为信号延时,那么自相关函数为R(T)=∑i=1nx(i)x(i-T).原始的颜色直方图特征、3种随机化安全检索方法的图像特征[2]、MIPP方案[4]、同态加密[3]以及本文方法的索引份额的自相关函数(FAC)如图3所示.文献[2]的方案是一种经典的加密域图像检索方案.MIPP方案与本文方案有一定的相似性,其使用安全多方计算方法加密图像特征,实现多个图像所有者的图像安全检索.同态加密是一种典型的安全性很强的加密方法.10.13245/j.hust.210606.F003图3加密特征的自相关函数从结果可以看出:本方案中索引份额的自相关度几乎为0,这意味着外部攻击者无法从索引份额中推断出明文特征信息.该方法的自相关度与同态加密几乎相同,明显低于其他方案,说明本方案具有很强的安全性.5.2 检索精确度评价通过精确率-召回率曲线评价图像检索精确度,对比本文方法与3种安全检索方法的图像特征[2]、MIPP方案[4]、同态加密方案[3]的平均精确率(P)-召回率(Q)曲线,如图4所示.结果表明:与3种安全检索方法和MIPP方案相比,本文方法的检索精确度几乎和同态加密相同.MIPP方法提出了一种新的图像相似性度量方法,它一定程度上降低了测量精度.相比之下,本研究的方案基于秘密共享技术,在不牺牲准确性的情况下,可以获得较高的检索精确度.10.13245/j.hust.210606.F004图4图像安全检索的精确率-召回率曲线对比图5.3 检索效率评价本方案的检索时间主要包括预处理阶段和查询阶段的时间.表1对比了本方法、3种随机化安全检索方法[2]、MIPP方案[4]和同态加密方案[3]在预处理阶段和查询阶段所花费的时间.10.13245/j.hust.210606.T001表1检索时间方法预处理阶段的时间查询阶段的时间本文方法396.136 5810.745 965同态加密916.567 32328.247 373MIPP372.612 8630.635 352随机投影414.678 2230.667 861随机一元编码818.392 2231.041 243位平面随机化571.736 3721.839 401s实验结果表明本文方法在预处理阶段花费的时间较少.在查询阶段,由于大多数计算可以在服务器上并行进行,因此和其他方案相比消耗不多.6 结语本研究提出了一种基于秘密共享的多服务器图像安全检索方法,这也是秘密共享被首次应用于图像安全检索领域.在预处理阶段,图像所有者生成图像索引的份额,并将加密索引份额与加密的图像分别外包给3个服务器,防止了单个云服务器的统计攻击;在查询阶段,用户生成加密陷门份额并分别发送给3个服务器,大大提高了陷门的安全性;在距离重构阶段使用安全多方计算技术,防止云服务窃取原始距离信息.同时,检索精确度与明文图像检索基本一致,实现了安全性、检索准确率和检索效率之间的平衡.未来的研究将着重于进一步减少交互时间.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读