一种多因子身份验证方法及其系统的制作方法

文档序号:8342736阅读:407来源:国知局
一种多因子身份验证方法及其系统的制作方法
【技术领域】
[0001] 本发明涉及信息安全技术领域,尤其涉及一种多因子身份验证方法及其系统。
【背景技术】
[0002] 随着互联网技术的飞速发展,通过互联网提供的互联网应用也越来越多。用户在 访问这些互联网应用时,如访问电子邮件、访问即时通信应用、访问网站等,为了保证访问 的安全性,各互联网应用的提供方通常需要在用户登录时对用户进行身份验证。
[0003] 从基本原理角度,根据认证因子的不同,身份认证可分为三类:用户所知道的信息 (比如口令);用户所持有的物理介质,一般为令牌、智能卡等;用户所具有的特征,即生物 特征认证方式。针对多因子身份验证,目前国内外采用的主要是用户名/ 口令(用户所知)+ 硬件(用户所持有)。其中,静态口令存在很多安全隐患,比如攻击者在侵入服务器后对获 取的用户口令表采用口令猜测攻击来获取用户口令;在远程登录时则不能抵抗直接的网络 窃听,从而易遭受重放攻击等。而动态口令即在传输的口令验证信息,是动态变化的。
[0004] 从计算开销方面考虑,身份鉴别方案可分为两类:基于非单向散列函数和基于单 向散列函数的方案。前者有以DES、RSA和EIGamal等进行加密的方案,这类方案的主要局 限性是计算开销大、配置较复杂等问题,因此不太适合某些受限制的应用环境(比如用户 的计算机配置较低的系统)。以单向散列函数(如MD5和SHA-1)进行加密的方案,由于具 有存储、处理和传输开销较小的优点而被广泛关注,但下面几种常见的身份认证协议存在 中间人攻击等安全隐患。
[0005] 1)S/KEY。此方案中由于种子(seed)和迭代值(Seq)都是以明文形式在网络上传 输,因此容易受到小数攻击。另外用户登录N-I次后必须重新注册,并且此方案的运算量 大且在不同时间运算量不平均,实用性不佳。
[0006] 2)CHAP(ChallengeHandshakeAuthenticationProtocol)。CHAP米用质询 / 响 应方式进行身份鉴别,通过三次握手来对用户进行周期性地验证登录和访问请求,这种方 案易受到内部攻击,口令猜测攻击和中间人攻击。
[0007] 综合说来,多因子身份验证方法的现有技术存在如下问题:
[0008] 1.多因子认证中,包含硬件因子,比如令牌、智能卡等会给认证带来以下问题:丢 失硬件导致无法认证,引入的硬件与企业中原有Key发生冲突,增加企业成本(比如USB Key的缺点在于CA中心的部署和维护成本非常巨大)等。
[0009] 2.单向认证方法无法抵抗中间人攻击。用户无法验证服务器身份,会存在服务器 被冒充的风险。

【发明内容】

[0010] 为了克服上述现有技术的不足,本发明提供一种多因子身份验证方法,目的是提 高身份验证的安全性,可以应用到具有客户端/服务器端且保密性要求较高的身份验证系 统中。
[0011] 为了便于说明,本方法中所使用的符号说明如表1 :
[0012] 表1本发明所使用的符号及其含义说明
【主权项】
1. 一种多因子身份验证方法,包括注册阶段和认证阶段,具体包括如下步骤: (一) 注册阶段:设定当前用户为C,当前用户C通过设置用户登录名为Uc、登录口令 为P。和登录次数为N。进行注册,客户端和服务器端S依次进行如下操作: 1.1) 客户端生成随机数L,通过哈希函数计算得到注册阶段临时变量1,将{U。,^}保 存;同时将{u。,Jj发送给服务器端; 1.2) 服务器端接收并保存{U。,Jj,采集得到客户端硬件指纹信息F。,通过计算得到注 册阶段临时变量J2,将{e,J 2}作为质询信息发送给客户端;其中e为服务器S的公钥; 1. 3)客户端收到来自服务器端的质询信息,通过计算得到服务器身份鉴别的信息 注册阶段临时变量叉和J 4;将丨Μ , 丨保存至本地硬盘;将{U。,N。,J3, Jj作为回应服务 器端的质询的信息发送给服务器; 1.4) 服务器端接收来自客户端传递的回应信息,计算得到客户端的身份鉴 别信息€和激活手机软件的秘钥信息Key ;经过注册,Pass是注册成功信息;将 (%,I, G,C,&^}保存至服务器;将|pass,Key}发送给客户端; 1.5) 客户端接收{Pass,Key},用户C将收到的Key输入该用户使用的手机激活软件; (二) 认证阶段:用户C在客户端输入用户登录名U。和用户登录口令P。,认证阶段包括 客户端与服务器端双向认证和登录关联,具体为如下操作: 2. 1)客户端通过计算得到认证阶段客户端的临时变量MPK。2,将{U。、Kw KJ发送 给服务器端; 2.2) 服务器端验证客户端信息:服务器端通过结合随机数和硬件指纹,计算得到服务 器端质询信息{Ksl,K s2}发送给客户端;所述客户端信息包括用户名U。、用户口令P。、用户使 用的计算机和用户身份,所述用户使用的计算机通过注册时采集的硬件指纹来验证,所述 用户身份通过注册时用户使用的手机来验证; 2. 3)客户端验证服务器端:客户端通过注册时服务器返回的公钥e,计算得到认证阶 段客户端的临时变量1(。3、1(。 4、1(。5和1(。6,将仞。,1(。3,1(。 4,1(。5,1(。6}作为回应信息发送给服务器; 2. 4)服务器端将本次登录和下一次登录进行登录关联,通过计算得到客户端身份鉴别 信息€'认证通过后更新服务器中的存储信息1,尺,K"1]·;将{Pass}发 送给客户端; 2.5) 客户端更新本地硬盘中的存储信息,认证结束;客户端本地硬盘中的存储信息更 新为{M -1,K-1},其中五Γ1= A2k, Ik) θ a2〇7£.丨| PJ < -1)。
2.如权利要求1所述多因子身份验证方法,其特征是,所述注册阶段步骤1. 2)具体包 括: 1. 2. 1)接收并保存{U。,Jj至服务器端S ; 1. 2. 2)采集得到客户端硬件指纹信息F。,将F。存储在服务器S ;其中,F。= Macl |HD| I Cpu,Mac为客户端硬件Mac地址,HD为客户端硬盘序列号,Cpu为客户端的 CpuID ; 1. 2. 3)利用服务器S自有的秘密信息As、服务器S的公钥e和J1,通过哈希函数计算 得到注册阶段临时变量J2; 1. 2. 4)将{e,J2}作为质询信息发送给客户端。
3. 如权利要求1所述多因子身份验证方法,其特征是,所述注册阶段步骤1. 3)具体包 括: 1.3. 1)保存{e,J2}至本地硬盘; 1. 3. 2)利用1和J2,计算J1十J2=A2Ci Ik),作为服务器身份鉴别信息的一部分; 1.3.3) 利用κ、ρ。和N。,计算!^(UcJ IPcJ IN。),得到的是服务器身份鉴别信息的一部分; 1. 3. 4)利用步骤 1. 3. 2)和 1. 3. 3)的结果,计算K = Ik) Φ Il PtJ X). ? I. 3. 5)将丨^丨保存至本地硬盘; 1. 3. 6)利用 Uc、Pc、Nc和 F c,计算得到 h2 (Uc I I Pc I I Nc I I Fc); 1. 3. 7)利用步骤 1. 3. 2)和 1. 3. 6)的结果,计算 J3 = A2Ci Ik) θ Λ2 砍.Il 6 Il Kll €.),得 到数据J3; 1. 3. 8)利用步骤1. 3. 2)的结果和该用户使用的手机M的IMEI电子串号Im,计算Λ = /?2(4lk)e/,",得到 J4; 1. 3. 9)将{U。,N。,J3, J4}作为回应服务器端的质询的信息发送给服务器。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1