段俊杰,尹雅君
(1.长沙理工大学物理与电子科学学院,长沙 410114;2.近地空间电磁场环境监测与建模湖南高校重点实验室,长沙 410114)
统一身份认证让拥有同一个账号密码的用户可以登录其他支持统一认证服务的应用系统,给人民生活带来了便利,用户不必再为不同应用系统不一样的密码记忆而纠结,管理人员也可以统一集中管理各个应用系统上的用户,而且统一认证让开发人员专注于身份认证服务,可以提高服务质量,但是由于统一身份认证的验证方式单一,账号密码泄露后会造成与此关联的所有应用系统的个人信息的泄露,会给用户生活带来干扰,甚至造成严重财产损失[1]。因此,为了增强统一身份认证的安全性,需要对统一身份认证进行优化,确保用户的个人信息安全。人脸识别利用用户人脸特征信息辨别用户身份,将现实中的人脸通过摄像头转化为虚拟数据,让虚拟与现实联系到一起,为身份鉴别增添了真实性。到目前为止,人脸识别技术已经在各个服务行业得到充分应用。本文以人脸识别技术为基础,结合现有的统一身份认证机制,研究一种基于人脸识别的统一身份认证优化的方案,提升用户身份认证的安全性。
统一身份认证的结构如图1所示,包含认证服务模块、认证管理模块和身份存储模块等三个部分[2,3]。
图1统一认证服务结构
认证服务模块主要为用户提供账号密码验证与信息查询验证,并为已接入身份认证平台的应用系统提供统一身份认证接口(即已在统一身份认证平台登记注册的用户可应用本平台的账号密码登录其他合作的应用系统)。
认证管理模块提供个人与集团权限申请、变更以及注销业务,能根据用户的操作信息修改存储服务器的内容。
身份存储模块提供用户信息和用户权限数据存储。用户信息是用户注册时保存的信息或者修改后的变更信息。用户权限数据主要表现在统一身份认证平台向第三方应用系统提供的接口使用权限设置。
统一身份认证流程的步骤[4]:
(1)用户使用已在统一身份认证平台登记的账号和密码登录第三方应用系统提供的统一身份认证服务;
(2)统一身份认证平台查询数据库,验证用户账号信息,并返回凭证;
(3)第三方应用系统通过返回的凭证访问统一身份认证平台,验证凭证的有效性;
(4)第三方应用系统允许用户登录访问。
人脸识别技术主要有图像采集与人脸检测、图像预处理、人脸特征提取和人脸匹配识别等四部分组成。
(1)图像采集与人脸检测:通过摄像头捕获不同表情、不同位置和不同角度的人脸图像的过程。根据实际需要,人脸图像可以是视频流中的一帧图像以及视频流中某帧区的连续人脸图像。另外,图像采集过程不能保证每一帧图像存在人脸,需要使用相应的算法进行人脸区域检测和分离,也就是人脸检测。常用的人脸检测算法是AdaBoost算法,AdaBoost算法使用不同弱分类器组成的强分类器以分离人脸与背景[5-6]。
(2)图像预处理:主要包含人脸对齐,人脸对齐又分为人脸关键点检测和几何校正两部分。
人脸关键点检测算法是局部二值特征(Local Binary Features,LBF)。本文主要应用比较先进的LBF算法,LBF使用随机森林训练每个关键点的局部二值特征,再用线性回归方法训练所有的局部二值特征以得到最终关键点模型[7]。计算公式如式(1)。
式中,I是训练输入图像,S是前一阶段的模型,φt是利用随机森林确定的全局二值特征矩阵,由I和St-1共同确定,Wt是线性回归矩阵。它属于一种基于形状回归的人脸对齐算法,给定初始模型S0,最终模型S由△S逐渐逼近。
几何校正是计算人脸关键点矩阵与矫正模板矩阵的相似矩阵,再将人脸图像数据矩阵做同样的相似变换,完成人脸矫正。相似变换公式如式(2)。
(u',v',1)是矫正模板矩阵,(u,v,1)是关键点矩阵,中间是相似矩阵,α是伸缩值,β是位移值,θ是旋转角度[8-9]。
(3)人脸特征提取:使用卷积神经网络模型进行人脸特征值提取,2014年是牛津大学计算机视觉组(Visual Geometry Group)研发了一种深度卷积神经网络,由于此网络结构包含13个卷积层和3个全连接层,所以被称为VGG16[10]。VGG16的详细结构如图2所示。
图2 VGG16网络结构图
由于优化方案主要是针对国内相关机构的统一身份认证平台,而且VGG16预训练模型输出的特征参数比较多,会降低系统的运行效率。因此,对VGG16卷积神经网络的预训练模型进行微调,使卷积神经网络模型的针对性更强。训练样本使用国内CAS-PEALR1人脸图像数据库,抽取其中500类人脸,总计7988张人脸图片,测试样本有2500张人脸图片。微调参数设置如图3。
图3微调参数
图4是微调过程中训练损失率与分类正确率随迭代次数变化的示意图。从图中可以看出当迭代次数超过2000以后训练损失已接近于0,而且分类正确率达到0.8以上。表明微调参数设置较合理,VGG16卷积神经网络模型微调基本成功。
图4训练损失率与分类正确率变化示意图
(4)人脸匹配识别:包括相似度计算和阈值设定两个部分。相似度计算就是通过相应算法(如欧几里得算法)计算提取到的特征矩阵与已保存的特征矩阵之间的相似度。阈值设定是在确定一个阈值后,当两者的相似度大于这个阈值,两者是同一个人。
统一身份认证的优化方案结构如图5所示,本方案是在第三方应用系统上实现的,第三方应用系统采用Struts2框架模拟搭建,图上数据上传采用AJAX技术,图像处理与人脸特征提取使用OpenCV图像处理库、dlib人脸检测库和Caffe深度学习框架。系统只设置特征登记与匹配登录两个模块。
图5统一身份认证优化结构
特征登记是在验证统一身份账号后对人脸特征信息进行保存,保证用户后续登录时有相关特征信息对比。这一业务模块设置在应用系统上,并且与统一身份认证相关联,提升了系统运行效率。
特征登记流程如图6所示,首先打开摄像头采集图像,将采集到的图像上传给应用系统进行特征提取,同时输入账号密码进行统一身份认证,应用系统验证返回的凭证,验证有效后进行人脸图像特征信息存储。
图6人脸特征登记流程
匹配登录主要是在验证统一身份认证账号后实现特征信息比对,从而鉴别用户信息。这部分结合了密码认证和人脸识别,为用户登录第三方应用系统增添一份保障。匹配登录过程与登记过程大致相似,不同的地方在于匹配登录是将现得到的特征信息与数据库中已登记的特征信息比对匹配,完成用户登录。
本方案的测试环境有Win10 x64操作系统、AMD Ryzen 5 1600六核 CPU、NVIDIA GeForce GTX 1050 GPU、8G RAM、Logitech c270摄像头,相关软件有Eclipse、Visual2013。方案测试包括微调模型测试、特征登记测试和匹配登录测试。
随机选取两张姿态不一样的同人图片和一张不同人图片,测试不同迭代次数的微调VGG模型的相似度。从2400次迭代开始测试,保证模型处于收敛稳定状态,测试结果如表1所示。3600次迭代后的模型对不同人与同人的相似度差值最大,说明3600次迭代得到的模型提取的特征值更准确,因此使用此微调模型进行后续测试。
表1微调模型测试
本部分测试安排了10个人,其中5个人已在某一统一身份认证平台注册了账号,另外5人未注册账号。在用户已注册和用户未注册的测试条件,分别测试两者的登记成功率。测试结果如表1,用户已注册情况下100%的登记成功率和未注册情况下0的成功率,说明用户必须在统一身份认证平台上注册了账号才能记性人脸特征登记。
表2特征登记测试
特征登记测试的结果是5人完成特征登记,其他5人未进行注册。首先让未注册的5人先进行测试,记录测试结果;然后让未注册的5人完成注册,但不进行登记;最后让未登记的5人和已登记的5人分别进行测试。测试分为用户未登记、用户未登记和用户已登记三种情况。测试结果如表2所示,未注册情况下0的登录成功率、未登记情况下0的登录成功率和已登记情况下100%的成功率,表明用户成功登录的前提是必须同时完成账号密码验证和人脸特征识别。
将人脸识别技术融入统一身份认证,研究并实现了基于人脸识别的统一身份认证优化,保障了用户安全登录。本方案将统一身份认证平台的凭证验证与第三方应用系统的人脸认证结合,一方面避免统一认证平台功能拓展时造成的安全漏洞;另一方面可以充分利用第三方应用系统的处理能力;更重要的一点,人脸面部特征信息的识别证实用户本人进行登录操作。系统特征登记与匹配登录测试的成功为基于人脸识别的统一身份认证优化方案的可实施性提供了有力证明。