1.一个通过物联网摄像头进行目标搜索的隐私保护系统,包括:服务器端、移动应用端、图像处理模块、隐私保护目标搜索模块和工作者选择模块,移动应用端包括请求者和工作端;
请求者:是希望为搜索并定位特定目标而付费的用户或者普通大众;请求者通过移动应用可创建一个关于目标的任务,其中包括:任务描述、目标的照片和目标可能出现的地理位置信息;
工作端:照片或视频被工作者捕获后,应用会对照片或者视频进行预处理,选择视频帧和照片共称为捕获的图像;基于工作者捕获的图像进行人脸预处理和特征提取;然后,将隐私保护协议用于目标搜索;
服务器端:用户创建的每个任务都有一个任务管理器存储任务信息,跟踪任务的进度;
服务器通过工人选择算法来选定参与的工作者,基本确定为搜索区域周围大量的候选工作人员,并通过任务管理器将任务通知推送到工人的移动设备来通知选定的工作端;通知过程是通过使用谷歌提供的Firebase云消息传递(FCM)来服务实现;
图像处理模块:作用于工作端,首先执行人脸检测,基于工作者捕获的图像进行人脸预处理和特征提取,人脸预处理为进行灰度变换,检测人脸地标并将地标转换到特征提取算法指定的位置;
隐私保护目标搜索模块:通过应用允许在密文上进行加法和乘法的同态加密技术SHE,对目标图像特征向量和被捕获图像(视频帧)向量进行加密处理,并计算向量点积,结果与预先设定的阈值进行比对;
工作者选择模块:作用于服务器端,通过应用工人选择算法,对于给定任务,将众包区域划分成一个正方形的网格,并得到目标在每个单元的概率和工人覆盖每个单元的概率;
在一定的预算约束下,选择工人的子集以最大的概率找到目标。
2.根据权利要求1所述的隐私保护系统的隐私保护方法,其特征在于,包括以下具体步骤:
t
Pk为SHE公钥;sk为SHE私钥;d为多项式的次数;z为选定的用户人数;f 为目标特征向量; 为提取工作者wi的特征向量;q为特征向量的维数;n为所选工作者捕获的图像数目;
k为请求者选择的图像数;
R={R1,…,Rm}表示m为正方形单元的众包区域;在R中有n个工人,pi(Rj)表示工人i覆盖Rj的概率;q(Rj)表示目标在Rj内的概率;每个工人要求支付ci为参与的任务;请求者的预算为B;
S1:请求者(用户)生成一个SHE公钥和私钥对,分别表示为pk和sk,然后提取具有q维的t
目标特征向量,用f 表示;特征向量的每个元素用d次多项式表示,如下所示;对于每个‑1
都有 逆NTT(NNT )应用于多项式,结果用请求者公钥pk加密,即并且 然后将公钥pk和加密后
t
的特征向量c 被发送给服务器;并行的:服务器得到请求者的任务信息(目标图像和位置信息)之后,应用工人选择算法:
S2:在通知参与工作者之后,服务器向每个参与工作者广播公钥pk和随机索引wi;工作端选择照片后,对所选的照片(帧)进行处理,并提取特征向量从工作者wi中提取 矩阵,表示捕获的照片中检测到的人脸的特征向量;与请求者类似,逆NTT应用于多项式,结果用pk加密,即 另外,使用AES对称密钥ks加密每个捕获的图像 为: 然后使用公钥pk加密ks得到:然后,应用向服务器发送以下信息: 以及将每个图像映射到它提取的特征向量用M表示;
S3:对于每个检测到的人脸和对于图像特征向量的q维的每个维度i,服务器通过添加来打包所有z用户的密文,即
然后并行计算所有加密的点积,加密的点产品为:然后发送cprod和M给请求者;
S4:请求者解密cprod并应用NTT得到每个系数的点积多项式,即,pprod=NTT(SHE.Dec(sk,cprod));比较计算得出的点积值和预先设定的阈值∈,点积值大于阈值∈的特征向量与目标特征向量相匹配,并将被选中;随后,应用使用M来查找包含这些特征向量的图像的索引,表示为{σ0,…,σk‑1},为了确保这些k图像的安全,SHE使用系统参数(g,h,Gr)与服务器发起不经意传输协议
S5:在捕获的图像中找到目标后,请求者会构造一个k次多项式函数:′
其中f (i)=0,当且仅当i∈{σ0,…,σk‑1};然后,应用生成一个随机多项式用于计算l={l0,…,lk‑1},其中 然后再把l发送给服务器;
S6:对于每个图像i,,服务器计算 生成一个秘密密钥,并使用混合方法加密图像;混合方法首先使用AES加密密钥si加密的图像,即ui=AES.Enc(si,vi),并使用公钥加密si,即 服务器向请求者发送:加密图像u、加密对称密钥c和加密对称密钥
S7:最后,对于{σ0,…,σk‑1}中的每个索引,请求者可以通过计算得到对称密钥 所选的图像 可以用对称密钥 和SHE私钥sk进行解密,最终获取所捕获图像;通过确定的捕获目标图像,从而确定所上传图像工作者,最终实现目标搜索并定位。
3.根据权利要求2所述的隐私保护方法,其特征在于:步骤1、2中使用一个线程进行人脸检测,一个线程进行帧选择,多个线程进行人脸预处理,同时运行多个Light CNN实例并行提取特征向量。