一种云环境下基于秘密共享的图像安全检索方法与流程

文档序号:21844807发布日期:2020-08-14 16:55阅读:210来源:国知局
一种云环境下基于秘密共享的图像安全检索方法与流程

本发明属于多媒体信息安全保护领域,具体涉及到秘密共享技术、安全多方计算技术的图像安全检索方法。



背景技术:

随着数码相机、智能手机的普及,图像、图形和照片的数量正在以越来越快的速度增长。由于云计算平台具有规模大、可靠性高、通用性强、可扩展性强和廉价的优点,越来越多的图像所有者选择将图像外包到云服务器上。但是,外包于云端的数据完全脱离其拥有者的直接物理控制,将面临外部网络攻击者和不可信的云服务提供商csp(cloudserviceprovider)的双重威胁,存储于云端的数据可能会面临被泄露或滥用的风险。

为了防止隐私泄露,敏感图片需要在本地加密并上传到云端。数据拥有者在本地对数据加密后再外包给csp,这样即使攻击者在云端非法窃取了用户数据,也无法进行解密以获取明文信息。然而,加密操作将使适用于明文图像的图像检索技术不再可用。在明文域的图像检索中,基于内容的图像检索(cbir)从图像中提取相关特征,并通过比较图像特征之间的距离来决定图像间的相似度,代表图像检索未来的发展趋势。加密的随机性导致了图像特征之间的距离难以保持,难以进行检索,因此,有必要开展密文域图像检索的研究工作。目前大多数云环境下的密文域图像检索方案仅考虑了使用单个服务器提供服务,且多是采用了单一密钥来加密索引和图像,密钥一旦被破解,则所有的索引和图像都会被泄露,安全风险较高。但云计算环境是一个典型的分布式处理平台,往往采用了多个云服务器存储图像,多服务器的并行计算可以获得更高的计算速度,提升检索效率,提高系统的可靠性、可用性、和鲁棒性;此外,索引和图像的分布式存储、分别加密,也增加了攻击者攻击的难度,使整个系统具有更高的安全性。但云环境下多服务器的密文域检索方案还较少见到。本发明设计提出一种安全高效的多服务器密文域图像检索方案,解决云环境下多服务器的密文图像安全检索难题。



技术实现要素:

本发明旨在提出一种基于秘密共享的图像安全检索方案,通过构造索引份额和陷门份额,实现对云端图像的安全检索。数据拥有者生成密文图像和索引份额并上传到云端,查询时,用户生成陷门份额并发送到云,云端能够计算出距离份额并返回与查询图像最为接近的密文图像,能够解决现有方案加密使用统一密钥存在的安全性问题。

本方案的解决方案为:离线阶段,图像拥有者提取图像特征,通过秘密共享原理生成索引份额,达到保护索引安全的效果,并将其分别发送至三个服务器存储。对于攻击者而言,它需要攻击全部云服务器,获取全部秘密索引份额才能重构出原始索引,这大大增加了攻击者破解云上索引的难度。由于索引份额的生成不依赖于固定的密钥,即使攻击者获得了部分索引和对应的索引份额,也不能重构出其他索引,保证了该方案对单个云服务器的统计攻击无效,进一步提高了云上索引的安全性。查询阶段,用户提取查询图像特征,通过秘密共享原理生成陷门份额,用来保护查询陷门的安全,并将其分别发送至三个服务器。三个服务器根据索引份额和陷门份额计算出距离份额,为防止攻击者依据原始欧氏距离解析图像相似性信息推测图像,使用随机数和安全多方计算方法将距离份额加密,并发送至一个服务器,该服务器将加密的距离份额解密生成距离份额和随机数的和,之后根据秘密共享的拉格朗日插值公式重构出距离。由于该方案的安全性依赖于秘密共享技术,克服了图像安全检索中常见的精度损失问题,检索精度几乎和明文域图像检索一致。

本发明提供一种云环境下基于秘密共享的图像安全检索方法,包括如下步骤:

步骤1,图像拥有者提取图像特征,生成索引份额,并将索引份额和加密图像上传到云:

步骤2,用户向图像拥有者发送查询请求,获取解密秘钥,并提取查询图像特征,生成陷门份额并分别上传到云:

步骤3,服务器根据索引份额和陷门份额分别构建距离份额,并生成距离份额的加密密钥对距离份额进行加密:

步骤4,服务器解密加密的距离份额并生成距离份额和随机数的和,并对距离份额进行重构,根据重构后的距离进行相似性排序,返回加密的查询结果:

步骤5,用户利用解密密钥对密文图像进行解密,获得原始图像。

进一步的,步骤1的具体实现方式如下,

步骤1.1,构建索引:对图像拥有者的所有图像,提取颜色特征生成索引,其中第y副图像特征表示为n表示特征点描述符的维度;

步骤1.2,构建索引份额:生成一串随机数a=(a1,...,an),对图像特征hy生成索引份额,对于m=1,2,..,n:

索引份额hy(1)发往服务器1,索引份额hy(2)发往服务器2,索引份额hy(3)发往服务器3;

步骤1.3,使用aes加密算法及密钥k对原始图像i加密,获取密文图像ie,并上传到服务器3。

进一步的,步骤2的具体实现方式如下,

步骤2.1,构建陷门:用户提取查询图像iq的颜色特征,表示为q=(q1,...,qn),n表示特征点描述符的维度;

步骤2.2,构建陷门份额:生成一串随机数b=(b1,b2,…,bn),对图像q生成陷门份额,对于m=1,2,..,n:

qm(1)=bm*1+qm(4)

qm(2)=bm*2+qm(5)

qm(3)=bm*3+qm(6)

陷门份额q(1)发往服务器1,陷门份额q(2)发往服务器2,陷门份额q(3)发往服务器3。

进一步的,步骤3的具体实现方式如下,

步骤3.1,构建距离份额:根据秘密共享原理,由索引份额和陷门份额构建一个二次多项式,其常数项是

服务器sx计算距离份额对于m=1,2,..,n,生成距离份额的第m维度

步骤3.2,生成距离份额的加密密钥:随机选择两个质数p、q,使得q能整除p-1,然后生成随机数h∈zp,zp表示环z/pz,z表示整数域,计算出g1和g2;

g1=h(p-1)/qmodps.tg1≠1modp(11)

其中,mod表示求余数;

服务器sx选择一个随机数计算并发送给服务器sx+1,因此,服务器sx生成密钥rx;

步骤3.3,加密距离份额:为防止攻击者依据原始欧氏距离解析图像相似性信息推测图像,对于每次查询服务器s1和s2分别选择一串随机数ran1m=(ran11,...,ran1m,...,ran1n)和ran2m=(ran21,...,ran2m,...,ran2n),对于m=1,2,..,n,生成

使用密钥rx加密构建加密距离份额;服务器1将加密距离份额发送给服务器3,服务器2将加密距离份额发送给服务器3,

进一步的,步骤4的具体实现方式如下,

步骤4.1,解密加密的距离份额并生成距离份额和随机数的和:根据安全多方计算的原理,将加密数据的乘积转化为数据的和,可以在不暴露原始数据的情况下获得数据的和,服务器3计算加密距离份额的乘积并求得距离份额和随机数的和用dist’表示;

dist′=(cm-1)/p(19)

步骤4.2,根据秘密共享,利用拉格朗日插值公式将距离份额重构出二次多项式该多项式的常数项是单个维度的索引和陷门的差的平方;

依据重构出的多项式获得常数项秘密,计算

将n个维度的结果求和,计算索引hy和陷门q的欧氏距离(hy-q)2

步骤4.3,计算保序的欧式距离;对于每次查询,是常数,防止原始欧氏距离被服务器窃取,服务器3计算出索引hy和陷门q的保序欧氏距离dist,并将查询结果ie返回给用户;

本发明与其他方法相比,优点在于:本发明提出了一种基于秘密共享的图像安全检索方法,该方法利用shamir秘密共享原理,构建三个索引份额并将它们存储在三种不同的云服务器,不同索引之间使用不同的密钥加密,大大提高了攻击者破解索引信息的难度,并可以抵抗单个服务器的统计攻击,克服了图像索引的隐私保护问题,。在查询阶段,用户的查询图像特征也生成三个陷门份额,防止云服务器知道用户的查询信息。利用安全多方计算技术实现了保密的距离重建,保证了距离排序的安全性,大大提高了系统安全性。同时,由于本方案基于秘密共享技术,几乎没有精度损失,检索精度与明文图像检索基本一致。

附图说明

图1是本发明实施例的安全检索方法的总体示意图。

具体实施方式

如图1所示,本发明实施例提供的一种云环境下基于秘密共享的图像安全检索方法,具体实现步骤为:

步骤1,图像拥有者提取图像特征,生成索引份额,并将索引份额和加密图像上传到云:

步骤1.1,构建索引:对图像拥有者的所有图像,提取颜色特征生成索引,其中第y副图像特征表示为n表示特征点描述符的维度;

步骤1.2,构建索引份额:生成一串随机数a=(a1,...,an),对图像hy生成索引份额。对于m=1,2,..,n:

索引份额hy(1)发往服务器1,索引份额hy(2)发往服务器2,索引份额hy(3)发往服务器3;

步骤1.3,使用aes加密算法及密钥k对数据拥有者的数据库中第y张原始图像i加密,获取密文图像ie,并上传到服务器3。

步骤2,用户提取查询图像特征,生成陷门份额并分别上传到云:

步骤2.1,构建陷门:用户提取查询图像iq的颜色特征,表示为q=(q1,...,qn),n表示特征点描述符的维度;

步骤2.2,构建陷门份额:生成一串随机数b=(b1,b2,...,bn),对图像q生成陷门份额。对于m=1,2,..,n:

qm(1)=bm*1+qm(4)

qm(2)=bm*2+qm(5)

qm(3)=bm*3+qm(6)

陷门份额q(1)发往服务器1,陷门份额q(2)发往服务器2,陷门份额q(3)发往服务器3。

步骤3,服务器分别构建距离份额,并使用安全多方计算对其加密:

步骤3.1,构建距离份额:根据秘密共享原理,由索引份额和陷门份额构建一个二次多项式,其常数项是

服务器sx计算距离份额对于m=1,2,..,n,生成距离份额的第m维度

步骤3.2,生成距离份额的加密密钥:随机选择两个质数p、q,使得q能整除p-1。zp表示环z/pz,z表示整数域,然后生成随机数h∈zp,计算出g1和g2;

g1=h(p-1)/qmodps.tg1≠1modp(11)

其中,mod表示求余数;

服务器sx选择一个随机数计算并发送给服务器sx+1。因此,服务器sx可以生成密钥rx;

步骤3.3,加密距离份额:为防止攻击者依据原始欧氏距离解析图像相似性信息推测图像,对于每次查询服务器s1和s2分别选择一串随机数ran1m=(ran11,...,ran1m,...,ran1n)和ran2m=(ran21,…,ran2m,…,ran2n)。对于m=1,2,..,n,生成

使用密钥rx加密构建加密距离份额。服务器1将加密距离份额发送给服务器3,服务器2将加密距离份额发送给服务器3。

步骤4,距离重构,进行相似性排序,并返回加密的查询结果:

步骤4.1,解密加密的距离份额并生成距离份额和随机数的和:根据安全多方计算的原理,将加密数据的乘积转化为数据的和,可以在不暴露原始数据的情况下获得数据的和,服务器3计算加密距离份额的乘积并求得距离份额和随机数的和用dist’表示;

dist′=(cm-1)/p(19)

步骤4.2,根据秘密共享,利用拉格朗日插值公式将距离份额重构出二次多项式该多项式的常数项是单个维度的索引和陷门的差的平方;

依据重构出的多项式获得常数项秘密,计算

将n个维度的结果求和,计算索引hy和陷门q的欧氏距离;

步骤4.3,计算保序的欧式距离;对于每次查询,是常数,防止原始欧氏距离被服务器窃取,服务器3计算出索引hy和陷门q的保序欧氏距离dist,并将查询结果ie返回给用户;

步骤5,用户利用解密密钥k2对密文图像ie进行解密,获得原始图像i。

以corel1000数据库为例,结合附图1,详细说明本发明的实施步骤:

一、图像拥有者端的处理

步骤1a:首先生成索引,提取训练数据库中每幅图像的颜色特征,该特征称为索引hy,索引的维度是n;

步骤1b:构建索引份额,根据步骤1a提取图像库中每幅图像的索引,生成三个索引份额,每幅数据库图像均生成三个索引份额,并分别上传到三个服务器;

其中am是对第m维度的索引生成的随机数;

步骤1c:使用aes加密算法及密钥k对原始图像i加密,获取密文图像并上传到服务器3。

二、用户端查询处理:

步骤2a:用户向图像拥有者发送查询请求,获取解密秘钥k2等必要信息;

步骤2b:生成陷门,提取查询图像的颜色特征,该特征成为查询陷门q,陷门的维度是n;

步骤2c:构建陷门索引,据步骤2b提取的查询图像中每幅图像的陷门,生成三个陷门份额,一副查询图像生成三个陷门份额,并分别上传到三个服务器,请求查询图像;

qm(1)=bm*1+qm(4)

qm(2)=bm*2+qm(5)

qm(3)=bm*3+qm(6)

其中bm是对第m维度的索引生成的随机数。

三、云服务器端的处理:

步骤3a:生成距离份额的加密密钥,随机选择两个质数p、q,使得q能整除p-1。zp表示环z/pz,z表示整数域,然后生成随机数h∈zp,计算出g1和g2,三个服务器分别选择一个随机数计算并发送给服务器sx+1。因此,服务器sx可以生成密钥ri;

g1=h(p-1)/qmodps.tg1≠1modp(7)

步骤3b:构建距离份额,收到用户发送的陷门份额之后,三个服务器分别依据陷门份额和索引份额生成距离份额

步骤3c:服务器1和服务器2分别生成一串n维随机数,然后三个服务器分别生成参数

步骤3d:使用步骤3a生成的密钥加密生成加密的距离份额,服务器1和服务期2分别将生成的加密距离份额发送到服务器3;

步骤3e:依据安全多方计算原理,服务器3计算加密距离份额的乘积,并生成距离份额和所有随机数的和dist’;

dist′=(cm-1)/p(18)

步骤3f:服务器3依据秘密共享原理,求得索引hy和陷门q的保序欧氏距离dist,并对距离排序,距离越短越相似,将查询结果ie返回给用户

四、用户端的处理:

用户收到加密图像后,使用aes算法及密钥k对密文图像ie进行解密,获得明文图像i。

以上内容是结合最佳实施方案对本发明所做的进一步详细说明,不能认定本发明的具体实施只限于这些说明。本领域的技术人员应该理解,在不脱离由所附权利要求书限定的情况下,可以在细节上进行各种修改,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1