ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Secure Face Matching Using Fully Homomorphic Encryption-2018:学习

2022-09-16 21:33:56  阅读:158  来源: 互联网

标签:加密 Secure 特征向量 同态 Fully Homomorphic 人脸 密文 匹配


本文学习论文“Secure Face Matching Using Fully Homomorphic Encryption-2018”和“基于全同态加密的人脸特征密文认证系统-2020”,记录笔记。

摘要

image-20220907150531081

  • 人脸识别技术的发展取决于特征学习(representation learning)的进步。
  • 本文提出一个基于全同态加密的人脸识别方案,能保护用户隐私,且能在加密域实现匹配的功能。
  • 常用的人脸库((LFW, IJB-A, IJB-B, CASIA)。
  • 实验结果,对于16KB大的512维的图像匹配一次耗时0.01s,且控制在最低损失。
  • 【Sphereface: Deep hypersphere embedding for face recogni-tion】简单理解为,使用该技术从人脸图像中提取特征。

引言

  • 人脸识别是通过人脸特征来确定身份的。

  • 深度学习技术提升了人脸识别的准确率。

  • 传统的人脸识别流程:

    • 给定一张人脸图像,然后提取特征向量(高维)。
    • 在注册阶段,将特征向量和对应的识别标签(identity labels)存入数据库。
    • 然后该数据库用于比较人脸特征,进而验证身法。
  • 明文存储的数据库不安全,容易泄露,或者被重建。

  • 所以需要加密,而只有同态加密才能对密文计算。

  • 全同态加密提供加法和乘法计算,且对应的开源库给出了扩展接口和最优的计算复杂度。

  • 本文使用全同态密码算法实现人脸识别,(1)加密数据库和要检索的图像特征向量;(2)直接在加密域中匹配,且匹配的相似度计算,如欧氏距离或者预选相似度等,都可以分解为加法和乘法运算。

  • 【Fully Private Non-interactive Face Verification-2013】中给出的全同态加密测试数据:加密一张512维的人脸特征向量需要48.7MB,完成匹配需要12.8s。

    • 使用的全同态加密方案是GH11【Implementing Gentry’s Fully-Homomorphic Encryption Scheme-2011】。
  • 当前人脸识别大都是基于深度神经网络,特征提取使用CNN,本文使用的特征提取模型是FaceNet和SphereFace

  • 本文贡献:

    • 使用高效的全同态加密方案BFV,效率提升至,加密耗16.5MB,匹配耗0.6s。
    • 使用SIMD编码,提升计算效率,提升至,加密耗16KB,匹配耗0.01s。
  • 名词解释:

    • probe,就是要被检索的特征(图像)

相关工作

  • 【Fully private noninteractive face verification-2013】提出一个基于FHE的Gabor特征的人脸验证系统,该方案成本很高(内存为380MB,每个匹配耗时100s)。
  • 该方案的成本为内存66KB,每个匹配耗时0.01s。

方案

image-20220907212018947

  • 上图就是人脸图像提取特征向量的过程。

    • 人脸检测
    • 对齐
    • 归一化
    • 特征提取,嵌入函数的功能就是将一个高维归一化的向量映射为一个\(d\)维的特征向量。
  • 传统的人脸识别系统分为:

    • 注册,形成数据库\(X=\left \{ x_1,...,x_n \right \},x_i\in R^d\)
    • 匹配,给定一个图像,提取出特征\(y\in R^d\),与数据库中的向量匹配,得到的结果是一个分数,表示\(X\)和\(Y\)之间的相似度。
    • 计算相似度:\(d({x}, {y})=1-\frac{{x}^{T} {y}}{\|{x}\|\|{y}\|}=1-\tilde{{x}}^{T} \tilde{{y}}=1-\sum_{i=1}^{d} \tilde{x}_{i} \tilde{y}_{i}\),其中\(\tilde{{x}}=\frac{{x}}{\|{x}\|}\),所以计算是由\(d\)次标量乘法和\(d\)次标量加法组成。
    • 标量乘(scalar multiplications),就是向量对应位置相乘。

框架

注册

image-20220908092716669

  • 用户产生公私钥:\(pk,sk\),使用公钥\(pk\)加密一个特征向量\(x\),得到密文\(E(x)\),然后连同用户身份(user identity)\(c\)一起上传数据库。
  • 每个用户生成各自的公私钥。

image-20220908092753538

匹配

image-20220908093228428

  • 给定一个要匹配的特征向量\(y\),使用公钥\(pk\)加密得到密文\(E(y)\),然后连同用户身份标签(user identity)\(c'\)一起上传数据库进行匹配。
  • 服务器在密文下计算出相似度\(E(d_1),...,E(d_n)\),并返回给客户端。
  • 客户端使用私钥\(sk\)解密得到结果。

image-20220908093140928

  • 匹配时的用户也产生自己的公私钥对
  • 若与数据库中使用的公钥不同,需要服务器执行密钥交换

BFV方案

image-20220908104858034

  • BFV是在整数多项式计算的,所以在加密前需要编码。
  • \(w\)是分解整数的基,\(l=log_wq\)将整数\(q\)分解为\(l\)部分。

image-20220908105700132

image-20220908105712896

  • \(d\)次密文乘*密文,\(d-1\)次密文+密文,1次密文+明文。

优化

  • 密文乘法计算导致计算速度慢,对于512维的人脸图像特征向量和128位的加密安全等级:
    • 加密一次需要16.5MB内存
    • 匹配一次需要0.7s
  • 所以需要下一步优化:
    • 在环上对人脸特征编码
    • 使用批处理技术,利用CRT将向量编码为一个明文多项式,以单个乘法同态实现多个数的同态乘法
    • 使用降维技术降低计算消耗

人脸特征编码

image-20220908111533723

image-20220908111545996

  • 环的选择很重要。
  • 编码方式:\(\operatorname{Encoding}(a)=\operatorname{sign}(a)\left(a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0}\right)\),其中\(a\)是特征向量,编码为整数\(\left(a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0}\right)\)。
  • \(\operatorname{sign}(a)\)是什么?
  • 基数\(w\)在这里起什么作用?

批处理

image-20220908133006585

  • 批处理:将多个数编码到多项式上,每次计算一次多项式就相当于对多个数同时计算。
  • 对于环\(R_t=Z[x]/(x^n+1)\),当\(t\)为许多小素数的乘积时,即\(t=\prod_{i=1}^{k} p_{i}\),可利用CRT将环\(R_t\)进行分解。
  • 如何拆分,如何计算?

image-20220908133359698

  • 批处理优点是,可以单次多项式计算操作相当于\(k\)次整数计算。

  • 缺点是:无法访问加密后向量中的各元素,也就无法求和。

  • 解决办法:使用密文旋转,思想来自【Fully homomorphic encryption with polylog overhead-2012】,即循环旋转\(l=log_wq\)次并累加向量元素从而获得加密向量元素之和。

  • 密文内积计算:

image-20220908140132854

  • 最后乘\((1,0,0,0)\)。

特征降维

image-20220908140523730

  • 降维方法:ISOMAP【A global geometric framework for nonlinear dimensionality reduction-2000】、LLE【Nonlinear dimensionality reduction by locally linear embedding-2000】、随机映射(random projections)【Experiments with random projection-2000】等,本文使用的是主成成分分析法(Principal Component Analysis,PCA)

实验

  • 数据集采用(LFW,IJB-A,IJB-B,CA-SIA)
  • 基于的深度神经网络模型是FaceNet和SphereFace
  • 使用SEAL库。

image-20220908160920872

  • 相比于【】相比,本方案可以提供128~192位的安全级别,和在小型人脸数据库上能提供实时匹配。
  • 编码精度:0.1,0.01,0.0025
  • 错误率:FAR,正确接受率:TAR
  • 对512 维的人脸特征,每个加密模板仅需要16KB和匹配一对加密模板需要0.02s

标签:加密,Secure,特征向量,同态,Fully,Homomorphic,人脸,密文,匹配
来源: https://www.cnblogs.com/pam-sh/p/16701220.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有