一种增加第二因素的认证方法及装置转让专利

申请号 : CN201710188716.2

文献号 : CN106790306B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明公开了一种增加第二因素的认证方法及装置,该方法包括:当第五函数被互联网信息服务调用时装置从第五函数的参数中获取用户访问请求中的http请求路径,当http请求路径为第一路径时将用户访问请求重定向到第二路径,将认证状态改为第二预设状态;当http请求路径为第二路径时检查临时缓存区,如临时缓存区中的数据有效则将用户访问请求重定向到第三路径;当http请求路径为第三路径时生成认证请求并将其发送给认证服务器进行认证;当接收到认证服务器返回的认证通过信息时则将用户访问请求重定向到第四路径。本技术方案提高了Outlook应用的安全性。

权利要求 :

1.一种增加第二因素的认证方法,其特征在于,包括:

当第五函数被互联网信息服务调用时进行处理用户访问请求操作,包括:

步骤P1:装置从所述第五函数的参数中获取用户访问请求中的http请求路径,当所述http请求路径为第一路径时则执行步骤P2,当所述http请求路径为第二路径时则执行步骤P3,当所述http请求路径为第三路径时则执行步骤P4,当所述http请求路径为第四路径时则执行步骤P6;所述第一路径为:/OWA;所述第二路径为:/OWA/;所述第三路径为:/owa/otpauth.aspx,表示OTP认证页面的链接;所述第四路径为:/owa/default.aspx,表示OWA主页面的链接;

步骤P2:所述装置将用户访问请求重定向到所述第二路径,将认证状态改为第二预设状态,所述第五函数返回第二预定数据;所述第二预设状态表示正在进行OTP认证;所述第二预定数据表示本次操作处理完成;

步骤P3:所述装置检查临时缓存区,判断所述临时缓存区中的数据是否有效,是则将所述用户访问请求重定向到所述第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据;所述第一预定数据表示本次IIS与装置的交互处理成功,IIS可以进行后续的处理;

步骤P4:所述装置生成认证请求并将所述认证请求发送给认证服务器,等待接收所述认证服务器返回的通过第二因素进行认证的认证结果信息,执行步骤P5;

步骤P5:当所述装置接收到所述认证服务器返回的认证结果信息时,判断所述认证结果信息的类型,如为认证通过信息则将所述用户访问请求重定向到所述第四路径,所述第五函数返回第二预定数据,如为认证未通过信息则所述第五函数返回第一预定数据;

步骤P6:所述装置检查所述认证状态,如认证状态为第三预设状态或第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预定数据;所述第三预设状表示成功进行完OTP认证;所述第一预设状态表示将要开始进行OTP认证;

所述步骤P1之前还包括:

步骤A1:所述装置根据所述第五函数的第一参数的值得到上下文数据;

步骤A2:所述装置判断所述上下文数据是否为空,是则执行步骤A3,否则执行步骤A4;

步骤A3:所述装置设置认证状态为第一预设状态,将用户访问请求重定向到第三路径,执行步骤A5;

步骤A4:所述装置将所述用户访问请求重定向到第三路径,执行步骤A5;

步骤A5:所述装置从所述用户访问请求中获得http请求的主机名,并将其设置到所述上下文数据中。

2.如权利要求1所述的方法,其特征在于,

所述步骤P4包括:所述装置从所述http请求路径中获取OTP值,根据保存的用户名和所述OTP值生成OTP认证请求,并将所述OTP认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过保存的OTP值对所述OTP认证请求进行认证的认证结果信息。

3.如权利要求2所述的方法,其特征在于,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述OTP认证请求后对其进行解析得到用户名和OTP值,根据所述用户名查找保存的OTP值,判断接收到的OTP值是否与查找到的OTP值一致,是则返回认证通过信息,否则返回认证未通过信息。

4.如权利要求1所述的方法,其特征在于,

所述步骤P4包括:所述装置生成推送认证请求并将所述推送认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过手机对所述推送认证请求进行认证的认证结果信息。

5.如权利要求4所述的方法,其特征在于,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述推送认证请求后向手机发送推送消息,所述手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将确认登录信息发送给认证服务器,认证服务器给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息,则将拒绝登录信息发送给认证服务器,认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。

6.如权利要求1所述的方法,其特征在于,

所述步骤P4包括:所述装置生成身份认证请求并将所述身份认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息。

7.如权利要求6所述的方法,其特征在于,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述身份认证请求后向手机发送身份认证信息;所述手机弹出用户登录提示框,提示用户确认登录;如所述手机接收到用户的确认登录信息,则提示用户输入指纹,当接收到用户输入的指纹后对所述指纹进行认证,如指纹认证通过则手机给所述认证服务器将返回认证通过信息,所述认证服务器给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或指纹认证未通过,则所述手机将认证未通过信息发送给认证服务器,所述认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。

8.如权利要求6所述的方法,其特征在于,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述身份认证请求后向手机发送身份认证信息;所述手机弹出用户登录提示框,提示用户确认登录;如所述手机接收到用户的确认登录信息,则将提示用户按下所述认证设备上的按钮,当认证设备接收到用户的按钮信息时给认证服务器返回认证通过信息,所述认证服务器将给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或所述认证设备未接收到用户的按钮信息时,则对应给认证服务器返回认证未通过信息,所述认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。

9.如权利要求1所述的方法,其特征在于,所述步骤P4中将所述认证请求发送给认证服务器之前还包括:所述装置建立与所述认证服务器的连接;

所述步骤P5中接收到所述认证服务器返回的认证结果与判断所述认证结果信息的类型之间还包括:所述装置断开与所述认证服务器的连接。

10.如权利要求1所述的方法,其特征在于,所述步骤P5中判断所述认证结果信息的类型为认证通过信息时还包括:将认证状态改变为第三预设状态。

11.如权利要求1所述的方法,其特征在于,所述步骤P3包括:所述装置检查所述临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据。

12.如权利要求1所述的方法,其特征在于,当第一函数被互联网信息服务调用时,所述装置设置自身与所述互联网信息服务交互数据的属性。

13.如权利要求1所述的方法,其特征在于,当第二函数被所述互联网信息服务调用时,所述装置获取所述第二函数的参数,并根据所述第二函数的参数的值判断操作类型,如参数的值为第一数值则所述装置调用第三函数进行记录日志操作;如参数的值为第二数值则所述装置调用第四函数进行Windows用户认证操作,如参数的值为第三数值则所述装置调用第五函数进行处理用户访问请求操作。

14.如权利要求13所述的方法,其特征在于,所述进行记录日志操作,包括:所述装置判断所述第三函数的用户名参数是否为空,是则所述第三函数返回第一预定数据,否则所述装置将所述用户名参数的值保存到临时缓存区中,所述第三函数返回第一预定数据。

15.如权利要求13所述的方法,其特征在于,所述进行Windows用户认证操作,包括:所述装置判断所述第四函数的用户名参数是否为空,是则所述第四函数返回第一预定数据,否则所述装置将所述用户名参数的值保存到临时缓存区中,所述第四函数返回第一预定数据。

16.一种增加第二因素的认证装置,其特征在于,包括:

第一获取模块,用于当第五函数被互联网信息服务调用时,从所述第五函数的参数中获取用户访问请求中的http请求路径;

定向更改模块,用于当所述http请求路径为第一路径时,将用户访问请求重定向到第二路径,将认证状态改为第二预设状态,所述第五函数返回第二预定数据;所述第一路径为:/OWA;所述第二路径为:/OWA/;所述第二预设状态表示正在进行OTP认证;所述第二预定数据表示本次操作处理完成;

检查判断模块,用于当所述http请求路径为所述第二路径时,检查临时缓存区,判断所述临时缓存区中的数据是否有效,是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据;所述第三路径为:/owa/otpauth.aspx,表示OTP认证页面的链接;所述第一预定数据表示本次IIS与装置的交互处理成功,IIS可以进行后续的处理;

第一生成模块,用于当所述http请求路径为所述第三路径时,生成认证请求;

第一发送模块,用于将所述认证请求发送给认证服务器;

第一接收模块,用于等待并接收所述认证服务器返回的通过第二因素进行认证的认证结果信息;

第一判断模块,用于当所述第一接收模块接收到认证结果信息时判断所述认证结果信息的类型,如为认证通过信息则将所述用户访问请求重定向到第四路径,所述第五函数返回第二预定数据,如为认证未通过信息则所述第五函数返回第一预定数据;所述第四路径为:/owa/default.aspx,表示OWA主页面的链接;

第一检查模块,用于当所述http请求路径为所述第四路径时,检查所述认证状态,如认证状态为第三预设状态或第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预定数据;所述第三预设状表示成功进行完OTP认证;所述第一预设状态表示将要开始进行OTP认证;

得到判断模块,用于根据所述第五函数的第一参数的值得到上下文数据,并判断所述上下文数据是否为空;

设置定向模块,用于当所述得到判断模块判断为是时设置认证状态为第一预设状态,将用户访问请求重定向到第三路径;

重定向模块,用于当所述得到判断模块判断为否时将所述用户访问请求重定向到第三路径;

获得设置模块,用于从所述用户访问请求中获得http请求的主机名,并将其设置到所述上下文数据中。

17.如权利要求16所述的装置,其特征在于,

所述第一生成模块,具体用于从所述http请求路径中获取OTP值,根据保存的用户名和所述OTP值生成OTP认证请求;

所述第一发送模块,具体用于将所述OTP认证请求发送给所述认证服务器;

所述第一接收模块,具体用于等待并接收所述认证服务器返回的通过保存的OTP值对所述OTP认证请求进行认证的认证结果信息,如认证服务器保存的与所述用户名对应的OTP值与所述OTP认证请求中的OTP值一致则认证结果信息为认证通过信息,否则认证结果信息为认证未通过信息。

18.如权利要求16所述的装置,其特征在于,

所述第一生成模块,具体用于生成推送认证请求;

所述第一发送模块,具体用于将所述推送认证请求发送给所述认证服务器。

19.如权利要求18所述的装置,其特征在于,还包括显示模块;

所述第一接收模块,具体用于等待并接收所述认证服务器返回的通过手机对所述推送认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息则认证结果信息为认证通过信息,当手机接收到用户的拒绝登录信息则认证结果信息为认证未通过;

所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过时显示拒绝登录的页面。

20.如权利要求16所述的装置,其特征在于,

所述第一生成模块,具体用于生成身份认证请求;

所述第一发送模块,具体用于将所述身份认证请求发送给所述认证服务器。

21.如权利要求20所述的装置,其特征在于,还包括显示模块;

所述第一接收模块具体用于接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息,如手机接收到用户的确认登录信息且对用户输入的指纹进行认证通过则所述认证服务器返回认证通过信息,否则所述认证服务器返回认证未通过信息;

所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过信息时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。

22.如权利要求20所述的装置,其特征在于,还包括显示模块;

所述第一接收模块具体用于接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息且认证设备接收到用户的按钮信息时则认证服务器返回认证通过信息,否则认证服务器返回认证未通过信息;

所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过信息时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。

23.如权利要求16所述的装置,其特征在于,还包括建立模块和断开模块;

所述建立模块,用于建立所述装置与所述认证服务器的连接;

所述第一发送模块具体用于在所述建立模块建立了所述装置与所述认证服务器的连接之后将所述认证请求发送给认证服务器;

所述断开模块,用于在所述第一接收模块接收到所述认证服务器返回的认证结果之后断开所述装置与所述认证服务器的连接。

24.如权利要求16所述的装置,其特征在于,还包括:第一更改模块,用于在所述第一判断模块判断所述认证结果信息的类型为认证通过信息时,将认证状态改变为第三预设状态。

25.如权利要求16所述的装置,其特征在于,所述检查判断模块具体用于当所述http请求路径为第二路径时,检查所述临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据。

26.如权利要求16所述的装置,其特征在于,还包括设置模块,用于当第一函数被互联网信息服务调用时,设置所述装置与所述互联网信息服务交互数据的属性。

27.如权利要求16所述的装置,其特征在于,还包括:

获取判断模块,用于当第二函数被所述互联网信息服务调用时,获取所述第二函数的参数,并根据所述第二函数的参数的值判断操作类型;

记录日志模块,用于当所述获取判断模块判断所述第二函数的参数的值为第一数值时调用第三函数进行记录日志操作;

认证操作模块,用于当所述获取判断模块判断所述第二函数的参数的值为第二数值时所述装置调用第四函数进行Windows用户认证操作;

访问请求操作模块,用于当所述获取判断模块判断所述第二函数的参数的值为第三数值时所述装置调用第五函数进行处理用户访问请求操作。

28.如权利要求27所述的装置,其特征在于,所述记录日志模块具体用于判断所述第三函数的用户名参数是否为空,是则所述第三函数返回第一预定数据,否则将所述用户名参数的值保存到临时缓存区中,所述第三函数返回第一预定数据。

29.如权利要求27所述的装置,其特征在于,所述认证操作模块具体用于判断所述第四函数的用户名参数是否为空,是则所述第四函数返回第一预定数据,否则将所述用户名参数的值保存到临时缓存区中,所述第四函数返回第一预定数据。

说明书 :

一种增加第二因素的认证方法及装置

技术领域

[0001] 本发明涉及信息安全领域,尤其涉及一种增加第二因素的认证方法及装置。

背景技术

[0002] OWA(Outlook Web Access),是通过Web方式访问企业的邮箱,用户通过Web页面,输入用户名和口令登录Outlook邮箱,这种登录方式是基于浏览器的Cookies技术,当Cookies有效时被别人截取,则任何人都可以进入邮箱或者如果用户不主动的退出邮箱,当这个Cookies不过期时则任何人都可以利用Cookies进入特定的账户,来完成访问邮箱烦的目的,使登录邮箱存在很大的安全隐患。

发明内容

[0003] 本发明的目的是为了克服现有技术的不足,提供一种增加第二因素的认证方法及装置。
[0004] 本发明提供了一种增加第二因素的认证方法,包括:
[0005] 当第五函数被互联网信息服务调用时进行处理用户访问请求操作,包括:
[0006] 步骤P1:装置从所述第五函数的参数中获取用户访问请求中的http请求路径,当所述http请求路径为第一路径时则执行步骤P2,当所述http请求路径为第二路径时则执行步骤P3,当所述http请求路径为第三路径时则执行步骤P4,当所述http请求路径为第四路径时则执行步骤P6;
[0007] 步骤P2:所述装置将用户访问请求重定向到所述第二路径,将认证状态改为第二预设状态,所述第五函数返回第二预定数据;
[0008] 步骤P3:所述装置检查临时缓存区,判断所述临时缓存区中的数据是否有效,是则将所述用户访问请求重定向到所述第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据;
[0009] 步骤P4:所述装置生成认证请求并将所述认证请求发送给认证服务器,等待接收所述认证服务器返回的通过第二因素进行认证的认证结果信息;
[0010] 步骤P5:当所述装置接收到所述认证服务器返回的认证结果信息时,判断所述认证结果信息的类型,如为认证通过信息则将所述用户访问请求重定向到所述第四路径,所述第五函数返回第二预定数据,如为认证未通过信息则所述第五函数返回第一预定数据;
[0011] 步骤P6:所述装置检查所述认证状态,如认证状态为所述第三预设状态或所述第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预设数据。
[0012] 其中,所述步骤P4包括:所述装置从所述http请求路径中获取OTP值,根据保存的用户名和所述OTP值生成OTP认证请求,并将所述OTP认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过保存的OTP值对所述OTP认证请求进行认证的认证结果信息。
[0013] 其中,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述OTP认证请求后对其进行解析得到用户名和OTP值,根据所述用户名查找保存的OTP值,判断接收到的OTP值是否与查找到的OTP值一致,是则返回认证通过信息,否则返回认证未通过信息。
[0014] 其中,所述步骤P4包括:所述装置生成推送认证请求并将所述推送认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过手机对所述推送认证请求进行认证的认证结果信息。
[0015] 其中,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述推送认证请求后向手机发送推送消息,所述手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将确认登录信息发送给认证服务器,认证服务器给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息,则将拒绝登录信息发送给认证服务器,认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。
[0016] 其中,所述步骤P4包括:所述装置生成身份认证请求并将所述身份认证请求发送给所述认证服务器,等待接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息。
[0017] 其中,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述身份认证请求后向手机发送身份认证信息;所述手机弹出用户登录提示框,提示用户确认登录;如所述手机接收到用户的确认登录信息,则提示用户输入指纹,当接收到用户输入的指纹后对所述指纹进行认证,如指纹认证通过则手机给所述认证服务器将返回认证通过信息,所述认证服务器给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或指纹认证未通过,则所述手机将认证未通过信息发送给认证服务器,所述认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。
[0018] 其中,所述步骤P4与所述步骤P5之间包括:所述认证服务器接收到所述身份认证请求后向手机发送身份认证信息;所述手机弹出用户登录提示框,提示用户确认登录;如所述手机接收到用户的确认登录信息,则将提示用户按下所述认证设备上的按钮,当认证设备接收到用户的按钮信息时给认证服务器返回认证通过信息,所述认证服务器将给所述装置返回认证通过的认证结果信息,所述装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或所述认证设备未接收到用户的按钮信息时,则对应给认证服务器返回认证未通过信息,所述认证服务器给所述装置返回认证未通过的认证结果信息,所述装置显示拒绝登录的页面。
[0019] 其中,所述步骤P4中将所述认证请求发送给认证服务器之前还包括:所述装置建立与所述认证服务器的连接;
[0020] 所述步骤P5中接收到所述认证服务器返回的认证结果与判断所述认证结果信息的类型之间还包括:所述装置断开与所述认证服务器的连接。
[0021] 其中,所述步骤P5中判断所述认证结果信息的类型为认证通过信息时还包括:将认证状态改变为第三预设状态。
[0022] 其中,所述步骤P3包括:所述装置检查所述临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据。
[0023] 其中,当第一函数被互联网信息服务调用时,所述装置设置自身与所述互联网信息服务交互数据的属性。
[0024] 其中,当第二函数被所述互联网信息服务调用时,所述装置获取所述第二函数的参数,并根据所述第二函数的参数的值判断操作类型,如参数的值为第一数值则所述装置调用第三函数进行记录日志操作;如参数的值为第二数值则所述装置调用第四函数进行Windows用户认证操作,如参数的值为第三数值则所述装置调用第五函数进行处理用户访问请求操作。
[0025] 其中,所述进行记录日志操作,包括:所述装置判断所述第三函数的用户名参数是否为空,是则所述第三函数返回第一预定数据,否则所述装置将所述用户名参数的值保存到临时缓存区中,所述第三函数返回第一预定数据。
[0026] 其中,所述进行Windows用户认证操作,包括:
[0027] 所述装置判断所述第四函数的用户名参数是否为空,是则所述第四函数返回第一预定数据,否则所述装置将所述用户名参数的值保存到临时缓存区中,所述第四函数返回第一预定数据。
[0028] 其中,所述步骤P1之前还包括:
[0029] 步骤A1:所述装置根据所述第五函数的第一参数的值得到上下文数据;
[0030] 步骤A2:所述装置判断所述上下文数据是否为空,是则执行步骤A3,否则执行步骤A4;
[0031] 步骤A3:所述装置设置认证状态为第一预设状态,将用户访问请求重定向到第三路径,执行步骤A5;
[0032] 步骤A4:所述装置将所述用户访问请求重定向到第三路径,执行步骤A5;
[0033] 步骤A5:所述装置从所述用户访问请求中获得http请求的主机名,并将其设置到所述上下文数据中。
[0034] 发明又提供了一种增加第二因素的认证装置,包括:
[0035] 第一获取模块,用于当第五函数被互联网信息服务调用时,从所述第五函数的参数中获取用户访问请求中的http请求路径;
[0036] 定向更改模块,用于当所述http请求路径为第一路径时,将用户访问请求重定向到第二路径,将认证状态改为第二预设状态,所述第五函数返回第二预定数据;
[0037] 检查判断模块,用于当所述http请求路径为所述第二路径时,检查临时缓存区,判断所述临时缓存区中的数据是否有效,是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据;
[0038] 第一生成模块,用于当所述http请求路径为所述第三路径时,生成认证请求;
[0039] 第一发送模块,用于将所述认证请求发送给认证服务器;
[0040] 第一接收模块,用于等待并接收所述认证服务器返回的通过第二因素进行认证的认证结果信息;
[0041] 第一判断模块,用于当所述第一接收模块接收到认证结果信息时判断所述认证结果信息的类型,如为认证通过信息则将所述用户访问请求重定向到第四路径,所述第五函数返回第二预定数据,如为认证未通过信息则所述第五函数返回第一预定数据;
[0042] 第一检查模块,用于当所述http请求路径为所述第四路径时,检查所述认证状态,如认证状态为第三预设状态或第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预设数据。
[0043] 其中,所述第一生成模块,具体用于从所述http请求路径中获取OTP值,根据保存的用户名和所述OTP值生成OTP认证请求;
[0044] 所述第一发送模块,具体用于将所述OTP认证请求发送给所述认证服务器;
[0045] 所述第一接收模块,具体用于等待并接收所述认证服务器返回的通过保存的OTP值对所述OTP认证请求进行认证的认证结果信息,如认证服务器保存的与所述用户名对应的OTP值与所述OTP认证请求中的OTP值一致则认证结果信息为认证通过信息,否则认证结果信息为认证未通过信息。
[0046] 其中,所述第一生成模块,具体用于生成推送认证请求;
[0047] 所述第一发送模块,具体用于将所述推送认证请求发送给所述认证服务器。
[0048] 其中,所述装置还包括显示模块;
[0049] 所述第一接收模块,具体用于等待并接收所述认证服务器返回的通过手机对所述推送认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息则认证结果信息为认证通过信息,当手机接收到用户的拒绝登录信息则认证结果信息为认证未通过;
[0050] 所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过时显示拒绝登录的页面。
[0051] 其中,所述第一生成模块,具体用于生成身份认证请求;
[0052] 所述第一发送模块,具体用于将所述身份认证请求发送给所述认证服务器。
[0053] 其中,所述装置还包括显示模块;
[0054] 所述第一接收模块具体用于接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息,如手机接收到用户的确认登录信息且对用户输入的指纹进行认证通过则所述认证服务器返回认证通过信息,否则所述认证服务器返回认证未通过信息;
[0055] 所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过信息时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。
[0056] 所述装置还包括显示模块;
[0057] 所述第一接收模块具体用于接收所述认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息且认证设备接收到用户的按钮信息时则认证服务器返回认证通过信息,否则认证服务器返回认证未通过信息;
[0058] 所述显示模块,用于当所述第一接收模块接收到的认证结果信息为认证通过信息时显示允许登录的页面或当所述第一接收模块接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。
[0059] 其中,所述装置还包括建立模块和断开模块;
[0060] 所述建立模块,用于建立所述装置与所述认证服务器的连接;
[0061] 所述第一发送模块具体用于在所述建立模块建立了所述装置与所述认证服务器的连接之后将所述认证请求发送给认证服务器;
[0062] 所述断开模块,用于在所述第一接收模块接收到所述认证服务器返回的认证结果之后断开所述装置与所述认证服务器的连接。
[0063] 其中,所述装置还包括:第一更改模块,用于在所述第一判断模块判断所述认证结果信息的类型为认证通过信息时,将认证状态改变为第三预设状态。
[0064] 其中,所述检查判断模块具体用于当所述http请求路径为第二路径时,检查所述临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则将所述用户访问请求重定向到第三路径,所述第五函数返回第二预定数据,否则所述第五函数返回第一预定数据。
[0065] 其中,所述装置还包括设置模块,用于当第一函数被互联网信息服务调用时,设置所述装置与所述互联网信息服务交互数据的属性。
[0066] 其中,所述装置还包括:
[0067] 获取判断模块,用于当第二函数被所述互联网信息服务调用时,获取所述第二函数的参数,并根据所述第二函数的参数的值判断操作类型;
[0068] 记录日志模块,用于当所述获取判断模块判断所述第二函数的参数的值为第一数值时调用第三函数进行记录日志操作;
[0069] 认证操作模块,用于当所述获取判断模块判断所述第二函数的参数的值为第二数值时所述装置调用第四函数进行Windows用户认证操作;
[0070] 访问请求操作模块,用于当所述获取判断模块判断所述第二函数的参数的值为第三数值时所述装置调用第五函数进行处理用户访问请求操作。
[0071] 其中,所述记录日志模块具体用于判断所述第三函数的用户名参数是否为空,是则所述第三函数返回第一预定数据,否则将所述用户名参数的值保存到临时缓存区中,所述第三函数返回第一预定数据。
[0072] 其中,所述认证操作模块具体用于判断所述第四函数的用户名参数是否为空,是则所述第四函数返回第一预定数据,否则将所述用户名参数的值保存到临时缓存区中,所述第四函数返回第一预定数据。
[0073] 其中,所述装置还包括:
[0074] 得到判断模块,用于根据所述第五函数的第一参数的值得到上下文数据,并判断所述上下文数据是否为空;
[0075] 设置定向模块,用于当所述得到判断模块判断为是时设置认证状态为第一预设状态,将用户访问请求重定向到第三路径;
[0076] 重定向模块,用于当所述得到判断模块判断为否时将所述用户访问请求重定向到第三路径;
[0077] 获得设置模块,用于从所述用户访问请求中获得http请求的主机名,并将其设置到所述上下文数据中。
[0078] 本发明与现有技术相比,具有以下优点:
[0079] 本实施例技术方案通过应用IIS(中文全称:互联网信息服务,英文全称:Internet Information Services)的Filter(过滤器)技术,用户在登录过程中,增加了第二因素保护的机制,即在第一因素认证通过之后还需要输入OTP或者通过手机、认证设备批准或者拒绝用户的登录请求,只有当认证服务器验证OTP成功或者确认用户同意登录,则表明用户登录成功,才允许用户进入Outlook应用,否则拒绝登录,并显示错误的页面。在认证过程中通过增加第二因素,提高Outlook应用的安全性。

附图说明

[0080] 图1为本发明实施例一提供的一种增加第二因素的认证方法流程图;
[0081] 图2和图3为本发明实施例二提供的一种增加第二因素的认证方法流程图;
[0082] 图4为本发明实施例三提供的一种增加第二因素的认证装置方框图。

具体实施方式

[0083] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0084] 本发明实施例是在Outlook应用中,用户名(即第一因素)已经通过认证的基础上进行实现的。
[0085] 实施例一
[0086] 本发明实施例一提供一种增加第二因素的认证方法,如图1所示,包括:
[0087] 当第五函数被互联网信息服务调用时进行处理用户访问请求操作,包括:
[0088] 步骤P1:装置从第五函数的参数中获取用户访问请求中的http请求(即从客户端到服务器端的请求)路径,当http请求路径为第一路径时则执行步骤P2,当http请求路径为第二路径时则执行步骤P3,当http请求路径为第三路径时则执行步骤P4,当http请求路径为第四路径时则执行步骤P6;
[0089] 在本实施例中,步骤P1之前还包括:
[0090] 步骤A1:装置根据第五函数的第一参数的值得到上下文数据;
[0091] 步骤A2:装置判断上下文数据是否为空,是则执行步骤A3,否则执行步骤A4;
[0092] 步骤A3:装置设置认证状态为第一预设状态,将用户访问请求重定向到第三路径,执行步骤A5;
[0093] 步骤A4:装置将用户访问请求重定向到第三路径,执行步骤A5;
[0094] 步骤A5:装置从用户访问请求中获得http请求的主机名,并将其设置到上下文数据中。
[0095] 步骤P2:装置将用户访问请求重定向到第二路径,将认证状态改为第二预设状态,第五函数返回第二预定数据;
[0096] 步骤P3:装置检查临时缓存区,判断临时缓存区中的数据是否有效,是则将用户访问请求重定向到第三路径,第五函数返回第二预定数据,否则第五函数返回第一预定数据;
[0097] 在本实施例中,如果临时数据有效则说明用户名已被认证过;在步骤P1之前还可以进行记录日志操作或用户认证操作,在进行记录日志操作或用户认证操作的过程中,装置会将用户名存储到临时缓存区中;
[0098] 具体的,判断临时缓存区中的数据是否有效,包括:检查临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则临时缓存区中的数据有效,否则临时缓存区中的数据无效;
[0099] 步骤P4:装置生成认证请求并将认证请求发送给认证服务器,等待接收认证服务器返回的通过第二因素进行认证的认证结果信息;
[0100] 在本实施例中,步骤P4包括但不限于以下几种实现方式;
[0101] (1)装置从http请求路径中获取OTP值,根据保存的用户名和OTP值生成OTP认证请求,并将OTP认证请求发送给认证服务器,等待接收认证服务器返回的通过保存的OTP值对所述OTP认证请求进行认证的认证结果信息;
[0102] 对应的,步骤P4与步骤P5之间包括:认证服务器接收到OTP认证请求后对其进行解析得到用户名和OTP值,根据用户名查找保存的OTP值,判断接收到的OTP值是否与查找到的OTP值一致,是则返回认证通过信息,否则返回认证未通过信息。
[0103] (2)装置生成推送认证请求并将推送认证请求发送给认证服务器,等待接收认证服务器返回的通过手机对所述推送认证请求进行认证的认证结果信息;
[0104] 对应的,步骤P4与步骤P5之间包括:认证服务器接收到推送认证请求后向手机发送推送消息,手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将确认登录信息发送给认证服务器,认证服务器给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息,则将拒绝登录信息发送给认证服务器,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面。
[0105] (3)装置生成身份认证请求并将身份认证请求发送给认证服务器,等待接收认证服务器返回的通过识别用户身份对所述身份认证请求进行认证的认证结果信息;
[0106] 对应的,步骤P4与步骤P5之间包括:认证服务器接收到身份认证请求后向手机发送身份认证信息;手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则提示用户输入指纹,当接收到用户输入的指纹后对指纹进行认证,如指纹认证通过则手机给认证服务器将返回认证通过信息,认证服务器给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或指纹认证未通过,则手机将认证未通过信息发送给认证服务器,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面;
[0107] 或,步骤P4与步骤P5之间包括:认证服务器接收到身份认证请求后向手机发送身份认证信息;手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将提示用户按下认证设备上的按钮,当认证设备接收到用户的按钮信息时给认证服务器返回认证通过信息,认证服务器将给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或认证设备未接收到用户的按钮信息时,则对应给认证服务器返回认证未通过信息,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面。
[0108] 步骤P5:当装置接收到认证服务器返回的认证结果信息时,判断认证结果信息的类型,如为认证通过信息则将用户访问请求重定向到第四路径,第五函数返回第二预定数据,如为认证未通过信息则第五函数返回第一预定数据;
[0109] 具体的,本实施例中的步骤P5包括:当装置接收到认证服务器返回的认证结果信息时,判断认证结果信息的类型,如为认证通过信息则将用户访问请求重定向到第四路径,第五函数返回第二预定数据,如为认证未通过信息则第五函数返回第一预定数据。优选的,在本实施例中,如认证结果信息为认证未通过则装置显示拒绝登录的页面;
[0110] 在本实施例中,步骤P4中将认证请求发送给认证服务器之前还包括:装置建立与认证服务器的连接;对应的,步骤P5中接收到认证服务器返回的认证结果与判断认证结果信息的类型之间还包括:装置断开与认证服务器的连接。
[0111] 具体的,在本实施例中,步骤P5中判断认证结果信息的类型为认证通过信息时还包括:将认证状态改变为第三预设状态。
[0112] 步骤P6:装置检查认证状态,如认证状态为第三预设状态或第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预设数据;
[0113] 具体的,在本实施例中,如认证状态为第三预设状态或第一预设状态时还包括:装置设置cookies中的cadata项和sessionid项;
[0114] 在本实施例中,第一路径为:/OWA,第二路径为:/OWA/,第三路径为:/owa/otpauth.aspx/,表示OTP认证页面的链接;第四路径为:owa/default.aspx,表示OWA主页面的链接。
[0115] 在本实施例中,当第一函数被互联网信息服务调用时,装置设置自身与互联网信息服务交互数据的属性。
[0116] 当第二函数被互联网信息服务调用时,装置获取第二函数的参数,并根据第二函数的参数的值判断操作类型,如参数的值为第一数值则装置调用第三函数进行记录日志操作;如参数的值为第二数值则装置调用第四函数进行Windows用户认证操作,如参数的值为第三数值则装置调用第五函数进行处理用户访问请求操作。
[0117] 具体的,进行记录日志操作,包括:装置判断第三函数的用户名参数是否为空,是则第三函数返回第一预定数据,否则装置将用户名参数的值保存到临时缓存区中,第三函数返回第一预定数据。
[0118] 具体的,进行Windows用户认证操作,包括:装置判断第四函数的用户名参数是否为空,是则第四函数返回第一预定数据,否则装置将用户名参数的值保存到临时缓存区中,第四函数返回第一预定数据。
[0119] 在本实施例中,第一预定数据为SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS与装置的交互处理成功,IIS可以进行后续的处理;第二预定数据为:SF_STATUS_REQ_FINISHED,表示本次操作处理完成,待浏览器发起新的请求。第一预设状态为ST_INIT_CONTEXT,表示将要开始进行OTP认证,第二预设状态为ST_EXCHANGE_LOGON_CONTEXT表示正在进行OTP认证,第三预设状态为:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功进行完OTP认证。
[0120] 实施例二
[0121] 本发明实施例二提供一种增加第二因素的认证方法,包括:
[0122] 当第一函数被IIS(即互联网信息服务)调用时,装置设置其与IIS交互数据的属性;
[0123] 具体的,在本实施例中,第一函数为BOOL WINAPI__stdcall Get装置Version(HTTP_装置_VERSION*pVer),装置通过该函数声明装置的版本、设置装置与IIS交互数据的特性、设置装置的名称;
[0124] 当第二函数被IIS调用时,装置进行以下操作,如图2和图3所示,包括:
[0125] 具体的,在本实施例中,第二函数为;DWORD WINAPI__stdcall Http装置Proc(HTTP_装置_CONTEXT*pfc,DWORD NotificationType,VOID*pvData);
[0126] 步骤101:装置获取第二函数的参数,并根据参数的值判断操作类型,如参数的值为第一数值则装置调用第三函数进行记录日志操作,执行步骤102,如参数的值为第二数值则装置调用第四函数进行Windows用户认证操作,执行步骤103,如参数的值为第三数值则装置调用第五函数进行处理用户访问请求操作,执行步骤104;
[0127] 具体的,本实施例在步骤中的参数为NotificationType,当NotificationType=SF_NOTIFY_LOG则装置调用第三函数进行记录日志操作,当NotificationType=SF_NOTIFY_AUTHENTICATION则装置调用第四函数进行Windows用户认证操作,当NotificationType=SF_NOTIFY_PREPROC_HEADERS则装置调用第五函数进行处理用户访问请求操作流程;
[0128] 其中,第三函数为DWORD OnLog(HTTP_装置_CONTEXT*pFC,HTTP_装置_LOG*pLogInfo);第四函数为DWORD OnAuthentication(HTTP_装置_CONTEXT*pfc,HTTP_装置_AUTHENT*pvData);第五函数为DWORD OnPreprocHeaders(HTTP_装置_CONTEXT*pfc,HTTP_装置_PREPROC_HEADERS*pvData);
[0129] 步骤102:装置判断第三函数的用户名参数是否为空,是则第三函数返回第一预定数据,否则装置将用户名参数的值保存到临时缓存区中,第三函数返回第一预定数据;
[0130] 具体的,用户名参数为pLogInfo,第一预定数据为SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS与装置的交互处理成功,IIS可以进行后续的处理;
[0131] 步骤103:装置判断第四函数的用户名参数是否为空,是则第四函数返回第一预定数据,否则装置将用户名参数的值保存到临时缓存区中,第四函数返回第一预定数据;
[0132] 具体的,用户名参数为pLogInfo,第一预定数据为SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS与装置的交互处理成功,IIS可以进行后续的处理;
[0133] 步骤104:装置根据第五函数的第一参数的值得到上下文数据;
[0134] 具体的,在本实施例中,第一参数为HTTP_装置_CONTEXT*pfc,上下文数据用于缓存装置与IIS之间的交互数据和状态;
[0135] 步骤105:装置判断上下文数据是否为空,是则执行步骤106,否则执行步骤107;
[0136] 步骤106:装置设置认证状态为第一预设状态,将用户访问请求重定向到第三路径,执行步骤108;
[0137] 例如,在本实施例中,第三路径为:/owa/default.aspx;第一预设状态为ST_INIT_CONTEXT,表示将要开始进行OTP认证;
[0138] 步骤107:装置将用户访问请求重定向到第三路径,执行步骤108;
[0139] 步骤108:装置从用户访问请求中获得http请求的主机名,并将其设置到上下文数据中;
[0140] 例如,本实施例中,获得的http请求的主机名为:localhost:1234;
[0141] 步骤109:装置从第五函数的参数中获取用户访问请求中的http请求的路径,并判断http请求的路径的类型,如为第一路径则执行步骤110,如为第二路径则执行步骤112,如为第三路径则执行步骤115,如为第四路径则执行步骤122;
[0142] 具体的,在本实施例中,第一路径为:/OWA,第二路径为:/OWA/,第三路径为:/owa/otpauth.aspx,表示OTP认证页面的链接;第四路径为:/owa/default.aspx,表示OWA主页面的链接,
[0143] 如本实施例中http请求的路径的类型为其他则使第五函数返回第一预定数据,具体的第一预定数据为:SF_STATUS_REQ_NEXT_NOTIFICATION,表示IIS与装置交互处理完成,IIS可以进行后续的操作;
[0144] 步骤110:装置判断上下文数据中的认证状态是否为第一预设状态,是则执行步骤111,否则使第五函数返回第一预定数据;
[0145] 步骤111:装置将上下文数据中的认证状态改为第二预设状态,并通过http的响应头中的Location属性重定向到第二路径,设置http的响应头中的Connection属性为close,设置http的响应头中的Cache-Control属性为no-cache,将http的响应头发送给浏览器,使第五函数返回第二预定数据;
[0146] 具体的,在本实施例中,第二预设状态为ST_EXCHANGE_LOGON_CONTEXT表示正在进行OTP认证;第二预定数据为:SF_STATUS_REQ_FINISHED,表示本次操作处理完成,待浏览器发起新的请求;设置http的响应头中的Connection属性为close表示浏览器要关闭链接,设置http的响应头中的Cache-Control属性为no-cache表示浏览器不需要缓存这个页面;
[0147] 步骤112:装置判断用户的登录状态是否有效,是则执行步骤113,否则执行步骤114;
[0148] 具体的,在本实施例中,步骤112包括:装置判断用户名是否存在且登录标识是否有效,是则登录状态有效,否则登录状态无效;例如cookies中的cadata项存在则表示登录标识有效;
[0149] 步骤113:装置判断是否完成了有效的OTP认证,是则第五函数返回第一预定数据,否则执行步骤114;
[0150] 具体的,在本实施例中,步骤113包括:装置判断OTP认证标识是否有效,是则完成了有效的OTP认证,否则未完成有效的OTP认证;例如cookies中的sessionid项存在则表示未完成有效的OTP认证;
[0151] 步骤114:装置通过http的响应头中的Location属性重定向到第三路径,设置http的响应头中的Connection属性为close,设置http的响应头中的Cache-Control属性为no-cache,将http的响应头发送给浏览器,使第五函数返回第二预定数据;
[0152] 步骤115:装置从http请求中获取第三路径的查询串,判断查询串包含的数据的类型,如查询串包含的数据为第一字符串则执行步骤116,如查询串包含的数据为第二字符串则执行步骤119;
[0153] 具体的,在本实施例中,第一字符串为:otpmeth=o,表明是OTP认证,第二字符串为:otpmeth=p,表明是推送认证;第二函数从用户访问请求中获取第三路径中的查询串,包括:通过Get方法从用户访问请求中获取第三路径的查询串;
[0154] 步骤116:装置从查询串中提取OTP值,根据保存的用户名和OTP值生成OTP认证请求,与认证服务器建立连接,并将OTP认证请求发送给认证服务器,等待接收认证服务器返回的根据第二因素进行认证的认证结果信息;
[0155] 在本实施例中,认证服务器接收到OTP认证请求后对其进行解析得到用户名和OTP值,根据用户名查找保存的OTP值,判断接收到的OTP值是否与查找到的OTP值一致,是则返回认证通过信息,否则返回认证未通过信息;
[0156] 步骤117:当装置接收到认证服务器返回的认证结果信息时,判断认证结果信息的类型,如为认证通过信息则执行步骤118,如为认证未通过信息则第五函数返回第一预定数据;
[0157] 在本实施例中,当接收到认证服务器返回的认证未通过信息时还可以报错,例如向浏览器展示错误页面;
[0158] 步骤118:装置将上下文数据中的认证状态改变为第三预设状态,通过http的响应头中的Location属性重定向到第四路径,设置http的响应头中的Connection属性为close,设置http的响应头中的Cache-Control属性为no-cache,将http的响应头发送给浏览器,使第五函数返回第二预定数据;
[0159] 在本实施例中,第三预设状态为:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功进行完OTP认证;
[0160] 步骤119:装置生成的推送认证请求并与认证服务器建立连接,将推送认证请求发送给认证服务器,等待接收认证服务器返回的根据第二因素进行认证的认证结果信息;
[0161] 具体的,在本实施例中,认证服务器接收到推送认证请求后向手机发送推送消息,手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将确认登录信息发送给认证服务器,认证服务器将给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息,则将拒绝登录信息发送给认证服务器,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面;
[0162] 步骤120:当装置接收到认证服务器返回的认证结果信息时,判断认证结果信息的类型,如为认证通过信息则执行步骤121,如为认证未通过信息则使第五函数返回第一预定数据;
[0163] 步骤121:装置将上下文数据中的认证状态改变为第三预设状态,通过http的响应头中的Location属性重定向到第四路径,设置http的响应头中的Connection属性为close,设置http的响应头中的Cache-Control属性为no-cache,将http的响应头发送给浏览器,第五函数返回第二预定数据;
[0164] 在本实施例中,当接收到认证服务器返回的认证未通过信息时还可以报错,例如向浏览器展示错误页面;
[0165] 具体的,第三预设状态为:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功进行完OTP认证;
[0166] 步骤122:装置检查上下文数据中的认证状态,如为第三预设状态或第一预设状态,则设置登录标识和OTP认证标识均有效,第五函数返回第一预定数据,否则第五函数返回第二预定数据;
[0167] 在本实施例中,步骤122中判断为否时IIS还可以报错,例如向浏览器展示错误页面;例如设置登录标识和OTP认证标识均有效具体为:装置设置cookies中的cadata项,删除sessionid项。
[0168] 在本实施例的步骤115中,如判断查询串包含的数据为第三字符串,则装置生成身份认证请求并将身份认证请求发送给认证服务器,等待接收认证服务器返回的根据第二因素进行认证的认证结果信息;
[0169] 认证服务器接收到身份认证请求后向手机发送身份认证信息;手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则提示用户输入指纹,当接收到用户输入的指纹后对指纹进行认证,如指纹认证通过则手机给认证服务器将返回认证通过信息,认证服务器给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或指纹认证未通过,则手机将认证未通过信息发送给认证服务器,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面;或
[0170] 认证服务器接收到身份认证请求后向手机发送身份认证信息;手机弹出用户登录提示框,提示用户确认登录;如手机接收到用户的确认登录信息,则将提示用户按下认证设备上的按钮,当认证设备接收到用户的按钮信息时给认证服务器返回认证通过信息,认证服务器将给装置返回认证通过的认证结果信息,装置显示允许登录的页面,如手机接收到用户的拒绝登录信息或认证设备未接收到用户的按钮信息时,则对应给认证服务器返回认证未通过信息,认证服务器给装置返回认证未通过的认证结果信息,装置显示拒绝登录的页面。
[0171] 当装置接收到认证服务器返回的认证结果信息时,判断认证结果信息的类型,如为认证通过信息则将用户访问请求重定向到第四路径,第五函数返回第二预定数据,如为认证未通过信息则第五函数返回第一预定数据。
[0172] 本实施例技术方案通过应用IIS(中文全称:互联网信息服务,英文全称:Internet Information Services)的Filter(过滤器)技术,用户在登录过程中,增加了第二因素保护的机制,即在第一因素认证通过之后还需要输入OTP或者通过手机批准或者拒绝用户的登录请求,只有当认证服务器验证OTP成功或者确认用户同意登录,则表明用户登录成功,才允许用户进入Outlook应用,否则,拒绝登录,并显示错误的页面。在认证过程中通过增加第二因素,提高Outlook应用的安全性。
[0173] 实施例三
[0174] 本发明实施例三提供一种增加第二因素的认证装置,如图4所示,包括:
[0175] 第一获取模块401,用于当第五函数被互联网信息服务调用时,从第五函数的参数中获取用户访问请求中的http请求路径;
[0176] 定向更改模块402,用于当http请求路径为第一路径时,将用户访问请求重定向到第二路径,将认证状态改为第二预设状态,第五函数返回第二预定数据;
[0177] 检查判断模块403,用于当http请求路径为第二路径时,检查临时缓存区,判断临时缓存区中的数据是否有效,是则将用户访问请求重定向到第三路径,第五函数返回第二预定数据,否则第五函数返回第一预定数据;
[0178] 具体的,在本实施例中,检查判断模块403具体用于当http请求路径为第二路径时,检查临时缓存区中是否存在用户名、检查cookies中的cadata项是否存在、检查cookies中的sessionid项是否存在,如均判断为是则将用户访问请求重定向到第三路径,第五函数返回第二预定数据,否则第五函数返回第一预定数据;
[0179] 第一生成模块404,用于当http请求路径为第三路径时,生成认证请求;
[0180] 第一发送模块405,用于将认证请求发送给认证服务器;
[0181] 第一接收模块406,用于等待并接收认证服务器返回的通过第二因素进行认证的认证结果信息;
[0182] 第一判断模块407,用于当第一接收模块406接收到认证结果信息时判断认证结果信息的类型,如为认证通过信息则将用户访问请求重定向到第四路径,第五函数返回第二预定数据,如为认证未通过信息则第五函数返回第一预定数据;
[0183] 第一检查模块408,用于当http请求路径为第四路径时,检查认证状态,如认证状态为第三预设状态或第一预设状态,则第五函数返回第一预定数据,否则第五函数返回第二预设数据。
[0184] 在本实施例中,第一生成模块404有多种实现方式,具体的以下述方式为例进行详述;
[0185] (1)第一生成模块404,具体用于从http请求路径中获取OTP值,根据保存的用户名和OTP值生成OTP认证请求;
[0186] 第一发送模块405,具体用于将OTP认证请求发送给认证服务器;
[0187] 第一接收模块406,具体用于等待并接收认证服务器返回的通过保存的OTP值对OTP认证请求进行认证的认证结果信息,如认证服务器保存的与用户名对应的OTP值与OTP认证请求中的OTP值一致则认证结果信息为认证通过信息,否则认证结果信息为认证未通过信息。
[0188] (2)第一生成模块404,具体用于生成推送认证请求;
[0189] 第一发送模块405,具体用于将推送认证请求发送给认证服务器。
[0190] 此种实现方式中,本实施例的装置还包括显示模块;
[0191] 第一接收模块406,具体用于等待并接收认证服务器返回的通过手机对推送认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息则认证结果信息为认证通过信息,当手机接收到用户的拒绝登录信息则认证结果信息为认证未通过;
[0192] 显示模块,用于当第一接收模块406接收到的认证结果信息为认证通过时显示允许登录的页面或当第一接收模块406接收到的认证结果信息为认证未通过时显示拒绝登录的页面。
[0193] (3)第一生成模块404,具体用于生成身份认证请求;
[0194] 第一发送模块405,具体用于将身份认证请求发送给认证服务器。
[0195] 此种实现方式中,本实施例的装置还包括显示模块;
[0196] ①第一接收模块406具体用于接收认证服务器返回的通过识别用户身份对身份认证请求进行认证的认证结果信息,如手机接收到用户的确认登录信息且对用户输入的指纹进行认证通过则认证服务器返回认证通过信息,否则认证服务器返回认证未通过信息;
[0197] 显示模块,用于当第一接收模块406接收到的认证结果信息为认证通过信息时显示允许登录的页面或当第一接收模块406接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。
[0198] ②第一接收模块406具体用于接收认证服务器返回的通过识别用户身份对身份认证请求进行认证的认证结果信息,当手机接收到用户的确认登录信息且认证设备接收到用户的按钮信息时则认证服务器返回认证通过信息,否则认证服务器返回认证未通过信息;
[0199] 显示模块,用于当第一接收模块406接收到的认证结果信息为认证通过信息时显示允许登录的页面或当第一接收模块406接收到的认证结果信息为认证未通过信息时显示拒绝登录的页面。
[0200] 优选的,本实施例的装置还可以包括建立模块和断开模块;
[0201] 建立模块,用于建立装置与认证服务器的连接;
[0202] 第一发送模块405具体用于在建立模块建立了装置与认证服务器的连接之后将认证请求发送给认证服务器;
[0203] 断开模块,用于在第一接收模块406接收到认证服务器返回的认证结果之后断开装置与认证服务器的连接。
[0204] 在本实施例中,该装置还包括:第一更改模块,用于在第一判断模块407判断认证结果信息的类型为认证通过信息时,将认证状态改变为第三预设状态。
[0205] 在本实施例中,该装置还包括设置模块,用于当第一函数被互联网信息服务调用时,设置装置与互联网信息服务交互数据的属性。
[0206] 在本实施例中,该装置还包括:
[0207] 获取判断模块,用于当第二函数被互联网信息服务调用时,获取第二函数的参数,并根据第二函数的参数的值判断操作类型;
[0208] 记录日志模块,用于当获取判断模块判断第二函数的参数的值为第一数值时调用第三函数进行记录日志操作;
[0209] 在本实施例中,记录日志模块具体用于判断第三函数的用户名参数是否为空,是则第三函数返回第一预定数据,否则将用户名参数的值保存到临时缓存区中,第三函数返回第一预定数据。
[0210] 认证操作模块,用于当获取判断模块判断第二函数的参数的值为第二数值时装置调用第四函数进行Windows用户认证操作;
[0211] 在本实施例中,认证操作模块具体用于判断第四函数的用户名参数是否为空,是则第四函数返回第一预定数据,否则将用户名参数的值保存到临时缓存区中,第四函数返回第一预定数据。
[0212] 访问请求操作模块,用于当获取判断模块判断第二函数的参数的值为第三数值时装置调用第五函数进行处理用户访问请求操作。
[0213] 本实施例的装置还包括:
[0214] 得到判断模块,用于根据第五函数的第一参数的值得到上下文数据,并判断上下文数据是否为空;
[0215] 设置定向模块,用于当得到判断模块判断为是时设置认证状态为第一预设状态,将用户访问请求重定向到第三路径;
[0216] 重定向模块,用于当得到判断模块判断为否时将用户访问请求重定向到第三路径;
[0217] 获得设置模块,用于从用户访问请求中获得http请求的主机名,并将其设置到上下文数据中。
[0218] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。