一种基于MFA算法的双向身份认证方法与流程

文档序号:23802636发布日期:2021-02-03 06:37阅读:224来源:国知局
一种基于MFA算法的双向身份认证方法与流程
一种基于mfa算法的双向身份认证方法
技术领域
[0001]
本发明涉及信息技术技术领域,具体为一种基于mfa算法的双向身份认证方法。


背景技术:

[0002]
在信息化、网络化极速推进的基础下,社会各界各个领域都需要信息系统进行业务支撑,社会、企业及个人对信息系统的依赖程度越来越高,与日常工作、生活的关联性越来越紧密。信息系统高速发展,造成系统安全问题越来越突出。身份认证作为信息系统的第一道防线,在信息系统安全中承担着至关重要的任务。在对现有技术的研究和实践过程中,现有技术目前大部分信息系统采用“帐户+静态口令”的身份认证机制模式,有可能被绕过防火墙和入侵检测等安全防护设备从而遭到攻击。由于这种单因子身份认证方法具有固定性、静态性和长期使用性,所以易于遭到重放及穷举等多种形式的攻击,一旦泄露密码,个人身份被冒充成为可能。


技术实现要素:

[0003]
本发明的目的在于提供一种基于mfa算法的双向身份认证方法,提供一种人脸识别和动态口令相结合的双向身份认证方法,能够解决单因子身份认证容易被攻击和冒充的技术问题。
[0004]
为解决上述技术问题,本发明一种基于mfa算法的双向身份认证方法,包括有如下步骤:s1.用户注册:s1.1.用户动态口令注册:用户设置一个秘密通信短语w,认证服务器a给用户产生一个种子值s,用户设置一次性口令序列的最大元素个数n,最大元素个数n和种子值 s以安全通道传到认证服务器;认证服务器a运算得出一次性口令p0,其中p0=f
n
(w+s);s1.2. 用户人脸注册:通过摄像头采集用户人脸并提取用户的初始人脸特征值t
´
, 初始人脸特征值t
´
以安全通道传到认证服务器a, 初始人脸特征值t
´
保存到认证服务器a的人脸数据特征库中,人脸数据特征库中用户的注册信息包括有:用户的身份标志id、用户的秘密通信短语w、用户的n、用户的种子值s、用户的一次性口令p0和用户的初始人脸特征值t
´
;s2.第i次用户认证:s2.1:用户以身份标志id向认证服务器发起申请;s2.2:认证服务器a应答步骤s2.1的申请,认证服务器a通过h(w)进行加密s+n-i+p
i-1
得到e
h(w)
(seed+n-i+p
i-1
),将e
h(w)
(seed+n-i+p
i-1
)和散列值hash传到用户;s2.3:用户收到挑战信息,同时验证数据的完整性,如果没有篡改,那么解密可得出s,n-i,p
i-1
,并运算用户第i次登陆的一次性口令p
i
,其中p
i
=f
n-i
(w+s);s2.4:用户完成认证服务器a的身份认证并存储用户第i次登陆的一次性口令p
i
,将p
i
再次做f运算得到p
´
i-1
,亦即p
´
i-1
=f(p
i
),对p
´
i-1
和p
i-1
做比对,
s2.4.1:若p
´
i-1
=p
i-1
,下一步;s2.4.2: 若p
´
i-1
≠p
i-1
,认为有小数攻击的风险,限制进行登陆;s2.5:通过摄像头采集用户人脸并提取用户的人脸特征值t, 以p
i
为密钥来对t做做非对称加密,同时将加密信息m以及它的散列值hash传到认证服务器a,即加密信息m=e
pi
(t);s2.6:认证服务器a收到加密信息m并进行完整性验证;s2.6.1:若s2.6验证没有篡改,那么运算p
´
i
=f
n-i
(w+s),解密密钥p
´
i
对m解密,得到人脸特征值t;s2.6.2若s2.6验证比对率超过预定阈值,那么对c的验证合规;s2.7认证服务器a变更存储的数据,将序列号递减1,及认证口令变更成p
i
,为下一次成功登录做准备;一旦序列号递减到0,必须做初始化。
[0005]
进一步的,所述的步骤s1.2中采用边界fisher分析marginal fisher analysis算法、简称mfa算法得到初始人脸特征值t
´
,mfa算法把同类人脸样本数据中近邻的样本拉近,mfa算法把异类人脸样本数据间近邻的样本推远。
[0006]
本发明的有益效果是:包括步骤有s1.用户注册;s1.1.用户动态口令注册;s1.2. 用户人脸注册;s2.第i次用户认证;用户以身份标志id向认证服务器发起申请;认证服务器a应答步骤s2.1的申请,认证服务器a通过h(w)进行加密s+n-i+p
i-1
得到e
h(w)
(seed+n-i+p
i-1
),将e
h(w)
(seed+n-i+p
i-1
)和散列值hash传到用户;用户收到挑战信息,同时验证数据的完整性,如果没有篡改,那么解密可得出s,n-i,p
i-1
,并运算用户第i次登陆的一次性口令p
i
,其中p
i
=f
n-i
(w+s);用户完成认证服务器a的身份认证并存储用户第i次登陆的一次性口令p
i
,将p
i
再次做f运算得到p
´
i-1
,亦即p
´
i-1
=f(p
i
),对p
´
i-1
和p
i-1
做比对,若p
´
i-1
=p
i-1
,下一步;若p
´
i-1
≠p
i-1
,认为有小数攻击的风险,限制进行登陆;通过摄像头采集用户人脸并提取用户的人脸特征值t, 以p
i
为密钥来对t做做非对称加密,同时将加密信息m以及它的散列值hash传到认证服务器a,即加密信息m=e
pi
(t);认证服务器a收到加密信息m并进行完整性验证;若验证没有篡改,那么运算p
´
i
=f
n-i
(w+s),解密密钥p
´
i
对m解密,得到人脸特征值t;若验证比对率超过预定阈值,那么对c的验证合规;本发明把认证服务器作为堡垒机,将最具价值的人脸特征值和秘密通行短语加密保存。通过这种方法,充分利用一次性口令使用简单、具有较高的安全性和人脸识别的唯一性,利用加密体制实现网络传输的安全性,进一步成功防范身份认证中的冒名、篡改和重放等攻击行为的发生。
附图说明
[0007]
图1为本发明人脸识别流程图;图2为本发明mfa算法示意图;图3为本发明用户注册流程图;图4为本发明用户认证流程图。
具体实施方式
[0008]
本发明一种基于mfa算法的双向身份认证方法,包括有如下步骤:s1.用户注册:s1.1.用户动态口令注册:用户设置一个秘密通信短语w,认证服务器a给用户产生一个
种子值s,用户设置一次性口令序列的最大元素个数n,最大元素个数n和种子值 s以安全通道传到认证服务器;认证服务器a运算得出一次性口令p0,其中p0=f
n
(w+s);s1.2. 用户人脸注册:通过摄像头采集用户人脸并提取用户的初始人脸特征值t
´
, 初始人脸特征值t
´
以安全通道传到认证服务器a, 初始人脸特征值t
´
保存到认证服务器a的人脸数据特征库中,人脸数据特征库中用户的注册信息包括有:用户的身份标志id、用户的秘密通信短语w、用户的n、用户的种子值s、用户的一次性口令p0和用户的初始人脸特征值t
´
;s2.第i次用户认证:s2.1:用户以身份标志id向认证服务器发起申请;s2.2:认证服务器a应答步骤s2.1的申请,认证服务器a通过h(w)进行加密s+n-i+p
i-1
得到e
h(w)
(seed+n-i+p
i-1
),将e
h(w)
(seed+n-i+p
i-1
)和散列值hash传到用户;s2.3:用户收到挑战信息,同时验证数据的完整性,如果没有篡改,那么解密可得出s,n-i,p
i-1
,并运算用户第i次登陆的一次性口令p
i
,其中p
i
=f
n-i
(w+s);s2.4:用户完成认证服务器a的身份认证并存储用户第i次登陆的一次性口令p
i
,将p
i
再次做f运算得到p
´
i-1
,亦即p
´
i-1
=f(p
i
),对p
´
i-1
和p
i-1
做比对,s2.4.1:若p
´
i-1
=p
i-1
,下一步;s2.4.2: 若p
´
i-1
≠p
i-1
,认为有小数攻击的风险,限制进行登陆;s2.5:通过摄像头采集用户人脸并提取用户的人脸特征值t, 以p
i
为密钥来对t做做非对称加密,同时将加密信息m以及它的散列值hash传到认证服务器a,即加密信息m=e
pi
(t);s2.6:认证服务器a收到加密信息m并进行完整性验证;s2.6.1:若s2.6验证没有篡改,那么运算p
´
i
=f
n-i
(w+s),解密密钥p
´
i
对m解密,得到人脸特征值t;s2.6.2若s2.6验证比对率超过预定阈值,那么对c的验证合规;s2.7认证服务器a变更存储的数据,将序列号递减1,及认证口令变更成p
i
,为下一次成功登录做准备;一旦序列号递减到0,必须做初始化。
[0009]
进一步的,所述的步骤s1.2中采用边界fisher分析marginal fisher analysis算法、简称mfa算法得到初始人脸特征值t
´
,mfa算法把同类人脸样本数据中近邻的样本拉近,mfa算法把异类人脸样本数据间近邻的样本推远。
[0010]
如图1所示,人脸识别是利用采集设备获取的人脸图像中,提取出被识别的人脸图像中所蕴含的身份鉴别信息,并利用分类算法同已建人脸数据库中的图像做比较,来判定被识别人的身份。图中展示了人脸识别系统的全过程,是由人脸图像预处理包括人脸检测、人脸特征定位和规范化、人脸图像特征提取和人脸图像分类设计组成。其中,最具有判定识别的关键是特征提取数据的有效鉴别性。
[0011]
边界fisher分析marginal fisher analysis算法,简称mfa算法是一种有监督、非线性的特征提取算法,它的判别准则是把同类人脸样本数据中近邻的样本拉近,同时把异类人脸样本数据间近邻的样本推远。mfa算法设置了类内散度矩阵来描述同一类图像数据点的集中分布程度,类间散度矩阵来描述异类图像数据点的离散分布程度,旨在构建如图2中所示的固有图和罚图。
[0012]
如图3所示,id是用户c的身份标志,a是认证服务器(authentication server);w
是用户秘密通行短语;n是初始序列号;s是种子值;t是人脸特征数据;p
i
是用户第i次登陆的一次性口令;f(x)为单向哈希函数;f
i
(x)是将x利用哈希函数做i次计算;e
k
(m)是对数据m利用密钥k做加密计算。依据人脸识别和s/key系统各自所具有的优点,由于s/key系统有潜在的小数攻击风险,因此利用双向身份认证的思路,客户端要对认证服务器做身份认证,s/key系统进一步提升一次性口令系统的安全性,利用单向哈希函数的双向认证,依据随机数(s与n-i)跟前一次登陆成功的p
i
对认证服务器验证身份。用户注册过程如下:1)动态口令注册。用户设置并牢记一个秘密通信短语w,认证服务器给每一位用户产生一个种子值s;用户设置一次性口令序列的最大元素个数n;输入的n与s以安全通道传到认证服务器;认证服务器运算得出一次性口令:p0=f
n
(w+s)。
[0013]
2)人脸注册。c采用摄像头等采集装置提取到用户的人脸特征值t
´
,并把人脸特征值t
´
以安全通道传到a,保存到a的人脸数据特征库中。在人脸数据特征库里用户c的注册信息包括id、w、n、s、p0和t
´

[0014]
参照图4,第i次用户认证过程如下:1)c

a: c对a发起认证申请id;2)a

c:a应答申请,通过h(w)进行加密s+n-i+p
i-1
得到e
h(w)
(seed+n-i+p
i-1
),将e
h(w)
(seed+n-i+p
i-1
)和散列值hash传到c。
[0015]
3)c收到挑战信息,同时验证数据的完整性。如果没有篡改,那么解密可得出s,n-i,p
i-1
,及运算p
i
=f
n-i
(w+s)。
[0016]
4)c完成a的身份认证。存储p
i
,同时将p
i
再次做f运算得到p
´
i-1
,亦即p
´
i-1
=f(p
i
)。对p
´
i-1
和p
i-1
做比对,如果相等则转入(5);反之,认为有小数攻击的风险,限制进行登陆。
[0017]
5)c

a:c利用摄像头等图像采集器进行采集用户的人脸信息,进而提取人脸特征数据t,以p
i
为密钥来对t做加密操作,同时将加密信息m以及它的散列值hash传到a,即m=e
pi
(t)。
[0018]
6)a收到m后做完整性验证,如果没有篡改,那么运算p
´
i
=f
n-i
(w+s),解密密钥p
´
i
对m解密,得到人脸特征向量t;进一步与保存于人脸特征数据库里的人脸特征向量t
´
做比对。如果比对率超过预定阈值,那么对c的验证合规。
[0019]
7)变更a存储的数据,将序列号递减1,及认证口令变更成p
i
,为下一次成功登录做准备。一旦序列号递减到0,必须做初始化。
[0020]
该系统完成部署后,系统中网络上不传送用户的秘密通行短语。双方之间通信的身份认证数据,如一次性口令、种子值、序列号和人脸特征数据等,都采用信息加密后传送,能够最大限度避免窃听行为的发生。完成了认证服务器与客户端之间的双向身份认证。如若p
i
与f(p
i
)的值不同,则结束身份认证,使黑客很难做小数攻击。认证服务器和客户端都采用散列值来验证数据的完整性,防止信息被篡改。将每一次登陆的一次性口令做加密处理之后再传送,确保人脸信息不被泄露,每次利用不同的一次性口令对人脸信息进行加密,使得黑客很难有重放攻击的机会。
[0021]
本系统把认证服务器作为堡垒机,将最具价值的人脸特征值和秘密通行短语加密保存。通过这种方法,充分利用一次性口令使用简单、具有较高的安全性和人脸识别的唯一性,利用加密体制实现网络传输的安全性,进一步成功防范身份认证中的冒名、篡改和重放等攻击行为的发生。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1