双因素认证方法、装置、系统、电子设备及存储介质与流程

文档序号:17247838发布日期:2019-03-30 08:54阅读:316来源:国知局
双因素认证方法、装置、系统、电子设备及存储介质与流程

本申请涉及应用认证技术领域,特别涉及一种双因素认证方法、装置、系统、电子设备及计算机可读存储介质。



背景技术:

当前,很多机构为内部人员提供作业系统网页应用,作业人员通过浏览器访问作业系统。

对于部分需从机构外部网络访问的作业系统,为保障安全,作业人员打开网页从机构外部网络访问作业系统时,需进行双因素认证,例如ldap(lightweightdirectoryaccessprotocol,轻量目录访问协议)域账号和用户手机动态密码双因素认证。

现有技术下,控制账号、密码泄露问题所造成安全风险的方法包括:加设软硬件实现作业系统的双因素认证;或,禁止用户从机构外部网络访问作业系统。

对于部分中小机构,前一方法成本过高,后一方法成本低,但不灵活。发明人意识到,现有技术下,机构实现双因素认证的成本较高,无法实现作业人员从机构外部网络安全、低成本访问作业系统。

申请内容

为了解决相关技术中机构实现双因素认证的成本高的技术问题,本申请提供了一种双因素认证方法、装置、系统、电子设备及计算机可读存储介质。

一种双因素认证方法,所述方法用于实现网页应用的双因素认证,所述网页应用运行于浏览器端,所述浏览器端与所述网页应用的服务端之间通过应用交换机连接,所述方法包括:

接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机;

通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码;

调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过。

在一示例性实施例中,通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码包括:

通过域控制器验证所述访问请求中的用户账号信息,验证通过则读取与所述用户账号信息关联存储的密码存档信息;

将所述密码存档信息与所述访问请求中的密码信息比对,所述密码信息与所述密码存档信息匹配则读取与所述用户账号信息关联存储的用户号码。

在一示例性实施例中,调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过包括:

取得所述用户号码后,调用短信验证平台根据所述用户号码发送验证码短信,以及,通过所述应用交换机控制所述网页应用跳转至验证码输入页面;

接收所述网页应用发送的验证请求,所述验证请求由所述网页应用在接收用户所输入验证码后生成;

调用所述短信验证平台验证所述验证请求中的用户号码及用户所输入验证码,验证通过则所述双因素验证通过。

在一示例性实施例中,通过所述应用交换机控制所述网页应用跳转至验证码输入页面包括:

向所述应用交换机发送挑战码,所述应用交换机收到所述挑战码后,控制所述网页应用跳转至所述验证码输入页面。

一种双因素认证装置,所述装置用于实现网页应用的双因素认证,所述网页应用运行于浏览器端,所述浏览器端与所述网页应用的服务端之间通过应用交换机连接,所述装置包括:

接收模块,用于接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机;

域调用模块,用于通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码;

短信调用模块,用于调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过。

在一示例性实施例中,所述域调用模块包括:

身份验证单元,用于通过域控制器验证所述访问请求中的用户账号信息,验证通过则读取与所述用户账号信息关联存储的密码存档信息;

密码验证单元,用于将所述密码存档信息与所述访问请求中的密码信息比对,所述密码信息与所述密码存档信息匹配则读取与所述用户账号信息关联存储的用户号码。

在一示例性实施例中,所述短信调用模块包括:

触发单元,用于取得所述用户号码后,调用短信验证平台根据所述用户号码发送验证码短信,以及,通过所述应用交换机控制所述网页应用跳转至验证码输入页面;

接收单元,用于接收所述网页应用发送的验证请求,所述验证请求由所述网页应用在接收用户所输入验证码后生成;

调用验证单元,用于调用所述短信验证平台验证所述验证请求中的用户号码及用户所输入验证码,验证通过则所述双因素验证通过。

在一示例性实施例中,所述通过所述应用交换机控制所述网页应用跳转至验证码输入页面包括:

向所述应用交换机发送挑战码,所述应用交换机收到所述挑战码后,控制所述网页应用跳转至所述验证码输入页面。

一种双因素认证系统,所述系统用于实现网页应用的双因素认证,所述网页应用运行于浏览器端,所述浏览器端与所述网页应用的服务端之间通过应用交换机连接,所述系统包括验证服务器以及与所述验证服务器连接的应用交换机、域控制器、短信验证平台,所述验证服务器被配置为执行:

接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机;

通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码;

调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过。

一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被处理器执行时,实现如前所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的方法。

本申请的实施例提供的技术方案可以包括以下有益效果:

对于本身不支持双因素认证的作业系统,将其网页应用通过应用交换机对外提供。通过应用交换机接收来自网页应用的访问请求;通过域控制器验证访问请求中的用户账号信息及密码信息,验证通过则根据用户账号信息从域控制器读取用户号码;调用短信验证平台根据用户号码进行验证码发送及验证。上述双因素认证方法通过应用交换机、域控制器、短信验证平台配合为本身不支持双因素认证的作业系统提供双因素认证,使作业系统允许用户从外网访问的同时,不会造成过大的安全风险,与现有的双因素认证方法相比,机构所需付出的成本也较低。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种实施环境的示意图;

图2是根据一示例性实施例示出的一种双因素认证方法的流程图;

图3是根据图2对应实施例示出的步骤230的细节的流程图;

图4是根据图2对应实施例示出的步骤250的细节的流程图;

图5是根据一示例性实施例示出的一种双因素认证装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所描述的、本申请的一些方面相一致的装置和方法的例子。

发明人意识到,对于本身不支持双因素认证的作业系统,可以将其网页应用通过应用交换机对外提供,通过应用交换机、域控制器、短信验证平台配合为作业系统提供双因素认证,使作业系统允许用户从外网访问的同时,不会造成过大的安全风险,机构所需付出的成本与现有方法相比也较低。

图1是根据一示例性实施例示出的一种实施环境的示意图。如图1所示,该实施环境包括浏览器端110、应用交换机120、验证服务器130、域控制器140、短信验证平台150。

网页应用运行于浏览器端110,浏览器端110与网页应用的服务端之间通过应用交换机120连接,验证服务器130一方面与应用交换机120连接,一方面与域控制器140及短信验证平台150连接。

浏览器端110是安装有浏览器程序的终端设备(例如智能手机、平板电脑、台式电脑),浏览器程序为网页应用提供运行环境。应用交换机120是应用交付产品提供商(例如citrix)搭建的应用交付平台(例如citrixnetscaler),应用交付产品本身不具备双因素认证功能。

验证服务器130是基于radius(remoteauthenticationdialinuserservice,远程用户拨号认证系统)协议开发的实现双因素认证的radius服务器,可接收radius认证请求,将认证请求分别发送至域控制器140进行ldap域账号认证,短信验证平台150进行动态验证码认证,实现双因素认证。

短信验证平台150用于根据手机号码向移动终端(例如智能手机、平板电脑)发送验证码短信。

图2是根据一示例性实施例示出的一种双因素认证方法的流程图。该方法可以由图1所示实施环境中的验证服务器130执行,实现网页应用的双因素认证,如图2所示,该方法包括以下步骤。

步骤210,接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机。

用户通过网页应用所提供账号输入页面输入用户账号信息与密码信息,确认提交后,网页应用生成携带有上述用户账号信息及密码信息的访问请求,将该访问请求传输至应用交换机。

验证服务器通过radius协议与应用交换机通信,从应用交换机取得访问请求。

步骤230,通过域控制器验证访问请求中的用户账号信息及密码信息,验证通过则根据用户账号信息从域控制器读取用户号码。

从应用交换机取得访问请求中的用户账号信息及密码信息后,将该用户账号信息及密码信息发送至域控制器,由域控制器完成对该用户账号信息及密码信息的验证。

验证服务器通过ldap协议与域控制器通信,接收域控制器验证用户账号信息及密码信息后的反馈,验证通过时,域控制器向验证服务器发送根据上述用户账号信息查找到的用户号码。用户号码是在创建ad域账号时登记存储的,与账号关联。

验证不通过,则向验证服务器发送指示验证失败的消息,验证服务器通过应用交换机触发网页应用提示用户其所输入的账号和/或密码有误。

步骤250,调用短信验证平台根据用户号码进行验证码发送及验证,验证通过则双因素验证通过。

验证服务器取得用户号码后,调用短信验证平台进行动态验证码生成,验证码生成后,对该用户号码发送短信,短信内容包含该验证码。

同时,触发应用交换机控制网页应用跳转至验证码输入页面,用户通过该验证码输入页面输入验证码,网页应用将用户所输入验证码发送至短信验证平台,短信验证平台确认用户所输入验证码与自身所生成验证码匹配,则向验证服务器反馈验证通过的消息,由验证服务器向应用交换机反馈双因素验证通过的消息。

图3是根据图2对应实施例示出的步骤230的细节的流程图。如图3所示,步骤230包括:

步骤231,通过域控制器验证访问请求中的用户账号信息,验证通过则读取与用户账号信息关联存储的密码存档信息。

查找域控制器中是否存在与访问请求中用户账号信息匹配的账号,有则验证通过,进行密码存档信息的读取。

密码存档信息是在创建ad域账号时登记存储的,与账号关联存储。

步骤233,将密码存档信息与访问请求中的密码信息比对,密码信息与密码存档信息匹配则读取与用户账号信息关联存储的用户号码。

图4是根据图2对应实施例示出的步骤250的细节的流程图。如图4所示,步骤250包括:

步骤251,取得用户号码后,调用短信验证平台根据用户号码发送验证码短信,以及,通过应用交换机控制网页应用跳转至验证码输入页面。

在一示例性实施例中,通过应用交换机控制网页应用跳转至验证码输入页面包括:向应用交换机发送挑战码,应用交换机收到挑战码后,控制网页应用跳转至验证码输入页面。

步骤253,接收网页应用发送的验证请求,验证请求由网页应用在接收用户所输入验证码后生成。

验证请求携带有用户所输入验证码以及用户号码,网页应用生成验证请求后,将验证请求通过应用交换机传输至验证服务器,验证服务器又将验证请求转发至短信验证平台。

步骤255,调用短信验证平台验证该验证请求中的用户号码及用户所输入验证码,验证通过则双因素验证通过。

短信验证平台收到验证请求后,根据验证请求中的用户号码查找到为该用户号码生成的验证码,将查找到的验证码与验证请求中的验证码进行比对,验证请求中的验证码与该查找到的验证码匹配,则验证通过。

此时,用户账号信息、密码信息、验证码验证都通过,双因素验证通过。

以下根据一具体实施例对上述方法进行说明。

以citrix公司的应用交付平台citrixnetscaler为例,将作业系统的网页应用通过citrixnetscaler发布。citrixnetscaler通过验证服务器一方面与ldap服务器连接,一方面与mfa短信验证平台连接。

验证服务器程序基于radius协议,在开源软件tinyradius的基础上改造增加认证功能。改造后的tinyradius在接收citrixnetscaler发送的radius访问请求后,增加执行若干认证步骤,包括ldap服务器认证、mfa(multi-factorauthentication,多因素认证)短信认证。

此外,增加日志审计功能,将所执行认证记录到数据库中。

双因素认证包括以下步骤:

第一步,验证服务器接收citrixnetscaler发送的access_request请求(包含ldap用户名、密码)。

第一步中的access_request请求是由网页应用提交到citrixnetscaler后,由citrixnetscaler通过radius协议转发至验证服务器的,包含ldap用户名、密码。

第二步,验证服务器连接ldap服务器,进行ldap用户名及密码认证,认证通过,则在ldap服务器中获取用户手机号码。

第三步,验证服务器取得用户手机号码后,调用mfa短信验证平台,发送手机动态码到用户手机,同时,向citrixnetscaler返回挑战码。

第四步,citrixnetscaler收到挑战码后,使网页应用跳转到用户动态密码输入页面。

第五步,用户输入动态密码后,提交access_request请求(包含用户手机号码、动态密码)到验证服务器。

第六步,验证服务器将用户手机号码及动态密码发送到mfa进行验证,验证通过后,向citrixnetscaler返回接受请求access_accept,双因素验证通过。验证不通过,则返回access_reject。

通过以上方法,从安全上实现了网页应用的双因素认证,从成本上开发成本低。

下述为本申请装置实施例,可以用于执行本申请上述方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图5是根据一示例性实施例示出的一种双因素认证装置的框图。所述装置用于实现网页应用的双因素认证,所述网页应用运行于浏览器端,所述浏览器端与所述网页应用的服务端之间通过应用交换机连接,如图5所示,所述装置包括:

接收模块610,用于接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机;

域调用模块630,用于通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码;

短信调用模块650,用于调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过。

在一示例性实施例中,所述域调用模块包括:

身份验证单元,用于通过域控制器验证所述访问请求中的用户账号信息,验证通过则读取与所述用户账号信息关联存储的密码存档信息;

密码验证单元,用于将所述密码存档信息与所述访问请求中的密码信息比对,所述密码信息与所述密码存档信息匹配则读取与所述用户账号信息关联存储的用户号码。

在一示例性实施例中,所述短信调用模块包括:

触发单元,用于取得所述用户号码后,调用短信验证平台根据所述用户号码发送验证码短信,以及,通过所述应用交换机控制所述网页应用跳转至验证码输入页面;

接收单元,用于接收所述网页应用发送的验证请求,所述验证请求由所述网页应用在接收用户所输入验证码后生成;

调用验证单元,用于调用所述短信验证平台验证所述验证请求中的用户号码及用户所输入验证码,验证通过则所述双因素验证通过。

在一示例性实施例中,所述通过所述应用交换机控制所述网页应用跳转至验证码输入页面包括:

向所述应用交换机发送挑战码,所述应用交换机收到所述挑战码后,控制所述网页应用跳转至所述验证码输入页面。

相应的,本申请提供一种双因素认证系统,所述系统用于实现网页应用的双因素认证,所述网页应用运行于浏览器端,所述浏览器端与所述网页应用的服务端之间通过应用交换机连接,所述系统包括验证服务器以及与所述验证服务器连接的应用交换机、域控制器、短信验证平台,所述验证服务器被配置为执行:

接收应用交换机发送的访问请求,所述访问请求由网页应用发送至所述应用交换机;

通过域控制器验证所述访问请求中的用户账号信息及密码信息,验证通过则根据所述用户账号信息从所述域控制器读取用户号码;

调用短信验证平台根据所述用户号码进行验证码发送及验证,验证通过则所述双因素验证通过。

本申请还提供一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被处理器执行时,实现如前所述的方法。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的方法。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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