利索能及
我要发布
收藏
专利号: 2024105872946
申请人: 西华大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:包括以下步骤:步骤1,初始化阶段:服务器基于卷积神经网络模型创建人脸分类模型,基于人脸分类模型构建用于分类人脸特征的n叉树,n表示n叉树中某一节点的最大分支数;客户端生成密钥和安全参数;

所述步骤1中,服务器基于卷积神经网络模型创建人脸分类模型的步骤,包括:服务器获取大量的人脸图像数据集和对应的标签,标签中标示了人脸特征的类别;

服务器用Keras库创建用于人脸特征分类的卷积神经网络模型,将人脸图像数据集作为卷积神经网络模型的输入,将对应的标签作为输出,对卷积神经网络模型进行训练,最后得到训练好的人脸分类模型;所述人脸分类模型具有T个,T为人脸特征的类别数量;

所述步骤1中,基于人脸分类模型构建用于分类人脸特征的n叉树,n表示n叉树中某一节点的最大分支数的步骤,包括:服务器基于训练好的T个人脸分类模型构建n叉树,该n叉树用于分类用户的人脸特征,构建n叉树的过程为:(1)定义节点结构:每个节点的数据域用于存储人脸特征的节点值,若该节点具有子节点,则该节点的数据域还存储了用于指向子节点的指针;

(2)创建n叉树的根节点:定义根节点的数据域为第一个用于分类人脸特征的节点值;

(3)添加子节点:基于根节点,对其添加子节点,对已有节点添加子节点,每个节点有1到n个子节点;

(4)叶子节点编号:n叉树的层数为T+1,每个叶子节点对应一个子集合,子集合中存储了符合从根节点到该叶子节点路径上所有的人脸特征,依据路径对该叶子节点进行唯一编号,编号同时对应于子集合;

(5)将训练得到的T个人脸分类模型匹配到n叉树除叶子节点的每层节点中,每层节点对应一种人脸分类模型,构建出基于人脸特征分类的编码方法FFCM,有P=FFCM(X),其中X表示人脸特征,P表示叶子节点或子集合的编号;

所述步骤1中,客户端生成密钥和安全参数的步骤,包括:客户端选择安全参数t0、t1、t2,满足t1≤t2

步骤2,用户注册阶段:客户端对用户的人脸图像进行降维处理后,计算对应的特征向量和特征值,从而得到该用户的人脸特征;并对用户的人脸特征进行加密后上传至服务器存储在n叉树叶子节点对应的子集合中;

所述步骤2中,客户端对用户的人脸图像进行降维处理后,计算对应的特征向量和特征值,从而得到该用户的人脸特征的步骤,包括:客户端采集用户U的M张人脸图像 表示用户U的第i张人脸图像,i=1,2,...,M,对人脸图像进行降维处理:每幅人脸图像 表示为m×n阶矩阵,i=1,2,...,M,通过连接矩阵将 变换为一维向量αi:其中,N表示人脸图像 的维度,N=m×n,αkl表示m×n阶矩阵中第k行第l列的元素,k=1,2,...,m,l=1,2,...,n;αi为长度为N的一维向量,M个αi形成矩阵K=[α1,α2,...,αM];

计算矩阵K的均值向量 从每张人脸图像的一维向量αi中减去均值向量得到中心矩阵φ={φ1,φ2,...,φM},其中 φi为中心矩阵φ中的第i个元素;

计算协方差矩阵Q:

协方差矩阵Q的大小为N×N,T为矩阵的转置;对协方差矩阵Q进行特征值分解,得到特征向量ei和特征值λi,满足Qei=λiei;

T

计算矩阵Q`=φ φ,定义矩阵Q`的大小为M×M,M远远小于N,通过计算矩阵Q`的特征向量来得到协方差矩阵Q的特征向量,假设ηi和ui分别是矩阵Q`的特征向量和特征值,则有:Q`ηi=uiηi;

T

φ φηi=uiηi;

T

φ φ φηi=φuiηi;

T

φ φ =ui(φηi);

通过计算φηi得到协方差矩阵Q的特征向量ei,即ei=φηi,特征值λi=ui;将协方差矩阵Q的特征向量ei从大到小排序,选择前d个特征向量创建特征向量矩阵d≤M,该特征向量矩阵 即为提取的用户U的人脸特征;

所述步骤2中,并对用户的人脸特征进行加密后上传至服务器存储在n叉树叶子节点对应的子集合中的步骤,包括:客户端将人脸特征 输入服务器构建的n叉树,通过FFCM编码方法得到人脸特征在n叉树中的编码 其中P表示子集合的编号;

客户端将人脸特征 映射到 上得到人脸特征 使用密钥SKi对人脸特征进行加密,即:

其中,CU为用户U的人脸特征密文; 表示使用密钥SKi对人脸特征 进行加密的操作;a为满足 的随机数,a`为满足 的随机数;mod q表示取模运算;

客户端将人脸特征密文和编码(CU,P)发送给服务器,服务器根据编码P将人脸特征密文CU存储在对应的子集合中;

步骤3,用户身份认证阶段:客户端提取待认证用户的人脸特征后加密上传至服务器,服务器将待认证用户的人脸特征密文与n叉树叶子节点对应的子集合中存储的人脸特征密文进行密态相似度计算,并将相似度计算结果返回给客户端进行判断,客户端判断出该待认证用户是否已注册;

所述步骤3中,客户端提取待认证用户的人脸特征后加密上传至服务器的步骤,包括:客户端采集待认证用户U`的M张人脸图像 表示待认证用户U`的第i张人脸图像,i=1,2,...,M,对人脸图像进行降维处理:每幅人脸图像 表示为m×n阶矩阵,i=1,2,...,M,通过连接矩阵将 变换为一维向量α`i:

其中,N表示人脸图像 的维度,N=m×n,α`kl表示m×n阶矩阵中第k行第l列的元素,k=1,2,...,m,l=1,2,...,n;α`i为长度为N的一维向量,M个α`i形成矩阵K`=[α′1,α′2,...,α′M];

计算矩阵K`的均值向量 从每张人脸图像的一维向量α`i中减去均值向量 得到中心矩阵φ`={φ`1,φ`2,...,φ`M},其中 φ`i为中心矩阵φ`中的第i个元素;

计算协方差矩阵Q`:

协方差矩阵Q`的大小为N×N,T为矩阵的转置;对协方差矩阵Q`进行特征值分解,得到特征向量e`i和特征值λ`i,满足Q`e`i=λ`ie`i;

T

计算矩阵Q``=φ` φ`,定义矩阵Q``的大小为M×M,M远远小于N,通过计算矩阵Q``的特征向量来得到协方差矩阵Q`的特征向量,假设η`i和u`i分别是矩阵Q``的特征向量和特征值,则有:Q``η`i=u`iη`i;

T

φ` φ`η`i=u`iη`i;

φ`φ`Tφ`η`i=φ`u`iη`i;

T

φ`φ`=u`i(φ`η`i);

通过计算φ`η`i得到协方差矩阵Q`的特征向量e`i,即e`i=φ`η`i,特征值λ`i=u`i;将协方差矩阵Q`的特征向量e`i从大到小排序,选择前d个特征向量创建特征向量矩阵d≤M,该特征向量矩阵 即为提取的待认证用户U`的人脸特征;

客户端将人脸特征 输入服务器构建的n叉树,通过FFCM编码方法得到人脸特征在n叉树中的编码

客户端将人脸特征 映射到 上得到人脸特征 使用密钥SKi对人脸特征进行加密,即:

其中,CU``为待认证用户U`的人脸特征密文; 表示使用密钥SKi对人脸特征进行加密的操作;r为满足 的随机数,r`为满足 的随机数;

mod q表示取模运算;

客户端将人脸特征密文和编码(CU``,P)发送给服务器。

2.根据权利要求1所述的一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:所述步骤3中,服务器将待认证用户的人脸特征密文与n叉树叶子节点对应的子集合中存储的人脸特征密文进行密态相似度计算,并将相似度计算结果返回给客户端进行判断,客户端判断出该待认证用户是否已注册的步骤,包括:服务器根据编码P在对应的子集合中遍历所有存储的人脸特征密文Cj,Cj表示存储在某一个子集合中的第j个人脸特征密文,该子集合中共存储了S个人脸特征密文,j=1,2,...,S;计算该子集合中每一个人脸特征密文Cj与待认证用户的人脸特征密文CU``之间的相似度:E(dj)=E(1)+E(‑1)·Cj·CU``;

其中,E(dj)表示该子集合中存储的第j个人脸特征密文与认证用户的人脸特征密文之间的相似度;E(1)表示对余弦相似度中的1进行加密,E(‑1)表示对余弦相似度中的‑1进行加密;

服务器将相似度计算结果E(dj)的集合发送给客户端,j=1,2,...,S,客户端使用密钥SKi对E(dj)进行解密,从而得到明文形式的相似度结果dj:dj=(E(dj)mod μ)modL;

其中,modμ和mod L表示取模运算;dj表示解密后的相似度结果明文;

客户端将dj与设定的阈值D进行比较,若dj≤D,则表示该待认证用户认证通过,否则客户端向服务器返回认证不通过的消息。

3.根据权利要求2所述的一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:所述否则客户端向服务器返回认证不通过的消息的步骤,包括:客户端向服务器返回认证不通过的消息,服务器首先在该子集合同层的其他子集合中计算相似度,再发送给客户端认证,若依然认证不通过,则服务器在该子集合的父节点所在层去计算相似度,直到遍历所有节点依然认证不通过,则该用户认证失败。