一种可灵活配置的多因素用户认证方法与流程

文档序号:13763395阅读:836来源:国知局
一种可灵活配置的多因素用户认证方法与流程

本发明属于信息安全领域,特别是实现对用户所提供的认证信息(credential)进行多因素认证。



背景技术:

随着网络技术的不断发展、成熟,越来越多的安全问题浮出水面,单单基于用户单种认证方式已不再符合当前的安全要求,试想一下如果某用户单单基于口令或是电子令牌来校验其身份,那么一旦此用户的口令泄漏或令牌丢失被他人捡到,那么他人就很有可能冒充合法用户通过认证系统而造成一系列严重的后果。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种可灵活配置的多因素用户认证方法。

本发明的目的是通过以下技术方案来实现的:一种可灵活配置的多因素用户认证方法,该方法包括以下步骤:

(1)待认证用户关联策略,或待认证用户选择加入关联策略的用户组;所述策略包含N种认证方法的组合{M1,…,Mi,…,MN}和组合逻辑{'或','与'},N为大于1的整数;

(2)用户在网站上输入用户名user,输入N种认证方法的认证信息pwd;认证信息pwd中N种认证方法的认证码按确定格式排列;

(3)通过web表单将用户名user和认证信息pwd提交到后台web服务器,再由后台web服务器组合得到usr=user&pwd=[len_1,len_2,...,len_i,...,len_N]A1A2...Ai...AN,其中,Ai为第i种认证方法的认证码,len_i为第i种认证方法的认证码长度,将这段组合发送到MFA服务器的认证信息专用端口;

(4)当MFA服务器接收到数据后解析出usr,以usr的用户名user为条件查出该用户关联的策略,从而得到认证信息pwd的格式,如格式匹配失败则认证失败,否则通过格式认证;

(5)MFA服务器将认证信息pwd按格式分离出N个认证方法的认证码;

(6)MFA服务器按照策略对应的组合逻辑调用各认证方法对应的认证服务器进行认证,如满足组合逻辑则通过认证,否则认证失败。

进一步地,所述认证方法可选自证书、微软的Active Directory域、LDAP、一次一密(谷歌OTP和令牌OTP)、Radius、指纹认证。

进一步地,所述步骤6中组合逻辑为'或',此时只有一个认证服务器通过认证,则用户身份认证通过,否则认证失败。

进一步地,所述步骤6中组合逻辑为'与',此时所有认证服务器通过认证,则用户身份认证通过,否则认证失败。

进一步地,所述步骤6中组合逻辑为'与',按顺序从第一个认证方法对应的认证服务器进行认证,如该认证服务器通过认证,则进行下一个认证方法的认证,直至最后一个认证方法通过认证,则用户身份认证通过,否则认证失败。

本发明的有益效果是:本发明采用多因素认证(MFA),即为了验证当前用户的合法性而实行2种及以上认证方法的认证体系,建立多层防御使未经授权的人试图访问目标信息变得更加困难。此外,为了更好的防止用户暴力破解,本发明在用户的认证最前面加入了认证策略,也就是每个不同的用户都有属于他自己的策略,此策略记录了当前用户的认证体系中的若干认证方法,为用户安全新增了一层保护罩。本发明设计理念基于模块化,既每种认证方法都为独立的模块,以方便以后的扩展。

附图说明

图1为用户、户组与策略关联图;

图2为多因素认证(MFA)的具体实现逻辑图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

本发明采用多因素认证,认证方法可选自证书、微软的Active Directory域、LDAP、一次一密(谷歌OTP和令牌OTP)、Radius、指纹认证等。

每位需要认证的用户都会关联到自己所属用户组中或者也可以无组,接下来为该用户组或用户本身关联一条策略。

策略本身包含了上述的几种认证方法,每位用户或用户组都可以为自己量身打造一条安全策略以适应不用的安全需求。

为了适应不同环境及不用用户的需求,策略中还增加了'或','与'的认证方式。'或':只要用户提供的认证信息符合认证方法中的其中一条,那么就认为此用户合法(不太安全)。'与':用户提供的认证信息必须通过此策略中所有的认证方法方为合法用户。

举例说明如下:

例子1:用户A关联了策略A,策略A中关联了Radius认证和指纹认证,并标记为'与'。那么此用户A必须同时提供正确的指纹和正确的Radius服务器上的口令方可通过。

例子2:用户B关联了策略B,策略B中关联了Radius认证和指纹认证,并标记为'或'。那么此用户B只需提供正确的指纹或正确的Radius服务器上的口令就可通过。

本发明专门为接收用户认证信息而开通一个端口例如(9999),当用户关联好策略后,则此用户可尝试去认证。再次以用户A为例。

用户A在认证开始之初输入了自己在Radius服务器上的口令,并按下了自己的指纹。那么本系统收集相关认证信息会在发送认证信息到9999端口认证之前格式化信息为[Radius口令长度,指纹码长度]Radius口令+指纹码。在接收到用户的认证信息(格式化后)和用户名(用户A)后,首先MFA服务器读取用户A的策略,获取此策略上关联的认证方法来校验此认证信息的格式合法性,如果合法,则会分离出Radius密码和指纹码分别发送到Radius服务器和指纹认证服务器进行认证。

本发明设计理念基于模块化,既每种认证方法都为独立的模块,以方便以后的扩展。例如以后要新增一种名为认证A的认证方法,则可以新增该模块,因为模块间是相互独立的,所以不会影响到之前的认证体系。以上用户A的认证则会启用Radius模块和指纹认证模块。

实施例:

如图1,用户可以所属一个组或独立,所属组的好处在于,当为一个组关联策略时,那么该组下的所有用户将都继承该组的策略。

假设用户user_a关联了策略A,而策略A包含两种认证方法(既双因素认证)radius+指纹。该用户在网站上输入了用户名user_a,radius码为abc,然后按下指纹仪器假设指纹仪器读取到该用户的指纹码为123。

那么在通过web表单提交到后台web服务器再由web服务器组合得到usr=user_a&pwd=[3,3]abc123并发送到MFA服务器的端口9999(结合图2)。当MFA接收到数据后会首先解析出usr参数并以此为条件查出关联到user_a用户的那条策略(图1的关联好的策略),得到radius+指纹。得到后MFA知道此用户为双因素认证方式,那么pwd参数格式应该为[数字,数字]XXX,检查格式通过。通过后MFA服务器通过[3,3]abc123这个很明了的格式分离出radius码为abc(前三位),指纹码为123(后三位)。

当分离出两类码后,那么MFA服务器首先会把radius码通过调用API把用户名user_a和abc组合为radius服务器能认识的格式发送给radius服务器进行认证,如果认证失败则直接返回失败,如果成功,那么MFA服务器则将把指纹码通过一定的格式发送给指纹服务器进行认证,失败则返回失败,如果也认证通过,这才返回成功状态。至此整套多因素认证完成。

需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1