CN107835155B - 一种双认证保护方法及装置 - Google Patents

一种双认证保护方法及装置 Download PDF

Info

Publication number
CN107835155B
CN107835155B CN201710938035.3A CN201710938035A CN107835155B CN 107835155 B CN107835155 B CN 107835155B CN 201710938035 A CN201710938035 A CN 201710938035A CN 107835155 B CN107835155 B CN 107835155B
Authority
CN
China
Prior art keywords
authentication
otp
browser
request
session identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710938035.3A
Other languages
English (en)
Other versions
CN107835155A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710938035.3A priority Critical patent/CN107835155B/zh
Publication of CN107835155A publication Critical patent/CN107835155A/zh
Application granted granted Critical
Publication of CN107835155B publication Critical patent/CN107835155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种双认证保护方法及装置,属于身份认证技术领域。本发明的装置包含有收发模块、第一交互模块、第一判断模块、第一操作模块、第二操作模块、第二判断模块、第二交互模块和第三交互模块;本发明的方法包括装置接收到浏览器发来的请求且所述请求中包含有会话标识时,根据与所述会话标识关联的认证标记判断是否已通过OTP认证,若未通过OTP认证则完成OTP认证后重定向所述浏览器到资源访问页面,若已通过OTP认证则直接将所述请求发送给服务器。本发明对登入应用操作进行了双认证保护,当前只允许一个用户登入和访问应用资源,可有效防止因账号信息泄露导致的同一账户多人同时访问的安全隐患,增强了用户身份认证的安全性。

Description

一种双认证保护方法及装置
技术领域
本发明涉及身份认证技术领域,尤其涉及一种双认证保护方法及装置。
背景技术
现有技术中,用户在网页登录应用时,会出现应用对用户身份进行验证的页面,并在验证通过之后用户才可以进入应用页面,而应用本身对用户身份进行的验证,普遍是使用静态密码的方式进行验证,安全性不高,因此为了增强安全性,可以采用静态密码+动态密码的双认证方式对登录用户进行身份验证,即用户在网页登录应用时,先由认证代理对用户令牌产生的动态密码(OTP)进行认证,认证通过之后再由应用服务器对用户输入的静态密码进行认证,两次认证均通过之后用户才可以进入到应用操作页面。
现有技术存在如下缺点:用户令牌产生的OTP的认证以及静态密码的认证,两次认证(因涉及两个不同的认证服务器)需用户重复输入用户名,操作繁琐,而且当一个用户名账号在多台机器或者多个浏览器网页同时进行应用登入操作时,会允许多人登入并正常使用,这样不能解决多对一的问题,不能及时发现对于恶意窃取用户账号信息进行的同时登入并使用的操作,存在安全隐患。
发明内容
为解决现有技术中存在的缺陷,本发明提出了一种双认证保护方法及装置。
本发明采用的技术方案如下:一种双认证保护方法,包括:当装置接收到浏览器发来的请求时,判断所述请求中是否存在会话标识,是则执行步骤B1和步骤B2,否则执行步骤A1和步骤A2;
步骤A1、将所述请求发送给服务器,并接收服务器返回的第一请求响应结果;
步骤A2、根据所述第一请求响应结果判断是否已通过登录认证,是则从所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述请求中获取用户名和URL,将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中,向所述浏览器返回所述第一请求响应结果;否则直接将所述第一请求响应结果返回给所述浏览器;
步骤B1、从所述请求中获取会话标识,从装置数据库中获取与所述会话标识关联的认证标记;
步骤B2、判断所述认证标记是否等于第二预设值,是则将所述请求发送给服务器,并将所述服务器返回的第二请求响应结果发送给所述浏览器;否则所述装置重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
上述步骤A2中所述将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中具体为:所述装置查询装置数据库中是否已存在与所述用户名对应的用户状态信息,是则所述装置使用获取到的所述URL、所述会话标识及与所述会话标识关联的认证标记更新装置数据库中的与所述用户名对应的用户状态信息;否则所述装置将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记记作用户状态信息保存到装置数据库中。
上述步骤B1具体为:装置从所述请求包含的缓存信息中获取会话标识,所述装置查询本地数据库中是否存在与所述会话标识对应的用户状态信息,是则从查询到的用户状态信息中获取与所述会话标识关联的认证标记,执行所述步骤B2;否则从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记,执行所述步骤B2;
所述步骤B2中当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值具体为:接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后,更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值。
上述步骤B2中所述装置重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,具体包括:
步骤s1:所述装置重定向所述浏览器到弹出OTP页面,并接收浏览器返回的等待输入响应;
步骤s2:所述装置向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
步骤s3:所述装置将所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,是则更新数据库中的所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,否则返回执行所述步骤s2。
所述步骤s1之前还包括:所述装置根据所述请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则执行所述步骤s1,否则执行所述步骤s2。
上述重定向所述浏览器到所述请求指定的资源访问页面具体为:根据装置数据库中存储的所述用户状态信息中的URL重定向所述浏览器到资源访问页面。
本发明还提供了一种双认证保护装置,包括:
收发模块,用于接收浏览器发来的请求,判断所述请求中是否存在会话标识,是则触发第二操作模块,否则触发第一交互模块;
第一交互模块,用于将所述收发模块接收的所述请求发送给服务器,并接收服务器返回的第一请求响应结果;还用于在接收到所述第一判断模块或第一操作模块的触发时,向浏览器返回所述第一请求响应结果;
第一判断模块,用于根据所述第一交互模块接收的所述第一请求响应结果判断是否通过登录认证,是则触发第一操作模块,否则触发第一交互模块;
第一操作模块,用于从所述第一交互模块接收的所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述第一交互模块接收的所述请求中获取用户名和URL,将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中,并触发所述第一交互模块;
第二操作模块,用于从所述收发模块接收的所述请求中获取会话标识,从装置数据库中获取与所述会话标识关联的认证标记;
第二判断模块,用于判断所述第二操作模块获取的所述认证标是否等于第二预设值,是则触发第二交互模块,否则触发第三交互模块;
第二交互模块,用于在收到第二判断模块的触发时,将所述请求发送给服务器,并将所述服务器返回的第二请求响应结果发送给所述浏览器;
第三交互模块,用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
其中,上述第一操作模块具体包括第一获取单元、设置单元、第二获取单元和查询单元;
所述第一获取单元,用于从所述第一交互模块接收的所述第一请求响应结果中获取会话标识;
所述设置单元,用于设置认证标记为第一预设值并与所述第一获取单元获取的所述会话标识进行关联;
所述第二获取单元,用于从所述第一交互模块接收的所述请求中获取用户名和URL;
所述查询单元,用于查询装置数据库中是否已存在与所述第二获取单元获取的所述用户名对应的用户状态信息,是则使用所述第二获取单元获取的所述URL、所述第一获取单元获取的所述会话标识及与所述会话标识关联的认证标记更新装置数据库中的与所述用户名对应的用户状态信息;否则将所述第二获取单元获取的所述用户名、所述URL、所述第一获取单元获取的所述会话标识及与所述会话标识关联的认证标记记作用户状态信息保存到装置数据库中。
优选的,上述第二操作模块具体包括第一获取子模块和查询子模块;
所述第一获取子模块,用于从所述收发模块接收的所述请求包含的缓存信息中获取会话标识;
所述查询子模块,用于查询本地数据库中是否存在与所述第一获取子模块获取的所述会话标识对应的用户状态信息,是则从查询到的用户状态信息中获取与所述会话标识关联的认证标记;否则从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记;
所述第三交互模块,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,当所述OTP数据被认证通过后更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到资源访问页面。
优选的,上述第三交互模块具体包括第一交互子模块、第二交互子模块和判断子模块;
所述第一交互子模块,用于向浏览器发送弹出OTP页面请求,并接收浏览器返回的等待输入响应;
所述第二交互子模块,用于向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
第一判断子模块,用于将所述第二交互子模块接收的所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,是则更新远程数据库中的所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,否则触发所述第二交互子模块。
优选的,所述第三交互模块还包括第二判断子模块,用于根据所述收发模块接收的所述请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则触发所述第一交互子模块,否则触发所述第二交互子模块。
优选的,上述第三交互模块,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后,更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
本发明具有如下有益效果:本发明提供的技术方案,对登入应用操作进行了双认证保护,当前只允许一个用户登入和访问应用资源,可以解决多对一的问题,有效防止因账号信息泄露导致的同一账户多人同时访问的安全隐患,做到当前只允许一个用户登入和访问应用资源,增强了用户身份验证的安全性,还解决了双认证中用户可以先输用户名和密码进行验证,之后再输入OTP进行验证,简化了用户的输入操作。
附图说明
图1是实施例1提供的一种双认证保护方法的流程图;
图2是实施例2提供的双认证保护方法中对第一认证请求的处理流程图;
图3是实施例2提供的双认证保护方法中对第二认证请求的处理流程图;
图4是实施例3提供的一种双认证保护装置的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种双认证保护方法,如图1所示,包括以下步骤:
步骤101:装置等待接收浏览器发送的请求;
优选的,步骤101之前还包括,浏览器与服务器建立连接的过程,在此过程中装置具体执行以下步骤:
步骤100-1:装置接收浏览器发来的建立连接请求,将所述建立连接请求发送给服务器;
例如:装置接收到浏览器发来的建立连接请求为:https://192.168.16.149/owa。
步骤100-2:装置接收服务器返回的登录页面请求,并将所述登录页面请求发送给浏览器。
步骤102:装置接收到浏览器发来的请求,从所述请求中获取缓存信息;
具体的,装置接收到的所述请求中包含有统一资源定位符(URL)和缓存信息(cookie)。
步骤103:装置判断所述缓存信息中是否存在会话标识,是则执行步骤112,否则执行步骤104;
具体的,装置判断cookie中是否存在sessionid字段,是则表示存在会话标识,否则表示不存在会话标识。
步骤104:装置将所述请求发送给服务器,并接收服务器返回的第一请求响应结果;
具体的,本步骤中所述请求中包含有浏览器接收到的用户输入的用户信息,如用户输入的用户名和密码。
本步骤具体的,装置将包含有用户信息的请求发送给服务器,服务器对用户信息进行验证得到验证结果,并生成会话标识,根据用户名、URL、会话标识和验证结果组成第一因素认证结果发送给装置。
步骤105:装置根据所述第一请求响应结果判断是否已通过登录认证,是则执行步骤107,否则执行步骤106;
步骤106:装置直接向浏览器返回所述第一请求响应结果,然后返回步骤101;
步骤107:装置从所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述认证请求中获取用户名和URL;
本实施例中具体的,所述认证标记用于标识当前用户是否通过了OTP认证,例如,认证标记等于0时表示未通过OTP认证,认证标记等于1时表示通过了OTP认证。
步骤108:装置查询数据库中是否已存在与所述用户名对应的用户状态信息,是则执行步骤109,否则执行步骤110;
步骤109:装置使用获取到的URL、会话标识及与其关联的认证标记更新数据库中的与所述用户名对应的用户状态信息,执行步骤111;
具体的,装置通过覆盖方式更新所述用户状态信息,从而保证数据库中存储的一个用户名唯一对应一条用户状态信息,即装置数据库中针对当前用户存储的是该用户最后一次登录时使用的用户状态信息。
步骤110:装置将所述用户名、URL、会话标识及与其关联的认证标记记作一条用户状态信息保存到数据库中;
步骤111:装置向浏览器返回所述第一请求响应结果,然后返回步骤101;
步骤112:装置从数据库中查询与所述会话标识关联的认证标记;
步骤113:装置根据查询到的认证标记判断是否已通过OTP认证,是则执行步骤118,否则执行步骤114;
步骤114:装置重定向浏览器到弹出OTP页面,从浏览器获取OTP数据;
具体的,装置重定向浏览器到弹出OTP页面,并从浏览器发来的请求中获取用户在所述OTP页面输入的OTP数据。
步骤115:装置根据获取的OTP数据判断是否通过OTP认证,是则执行步骤116,否则返回执行步骤114;
具体的,装置将获取的所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,若通过则执行步骤116,否则执行步骤114。
步骤116:装置修改数据库中的所述认证标记为第二预设值;
步骤117:装置重定向所述浏览器到资源访问页面,然后返回步骤101;
具体的,装置重定向所述浏览器到接收到的所述请求指定的资源访问页面。装置根据数据库中存储的与所述认证标记对应的URL重定向所述浏览器到资源访问页面。
步骤118:装置将所述请求发送给服务器,并接收服务器返回的第二请求响应结果;
具体的,装置在判断登录认证和OTP认证均已通过时,不对接收到的所述请求进行拦截处理,直接将所述请求发送给服务器,并接收服务器返回的相应请求响应结果。
例如,用户已成功登入outlook邮箱之后,在浏览器的邮箱页面操作进入草稿箱,则所述装置接收到浏览器发来的跳转到草稿箱页面请求,并将接收到的请求直接发送给服务器,并接收服务器返回的成功进入草稿箱页面响应。
步骤119:装置将所述第二请求响应结果返回给浏览器,然后返回步骤101。
本实施例中优选的,装置接收到的浏览器发来的请求的缓存信息中还包含有应用标识,装置根据所述应用标识确定与之进行交互的所述服务器。
本实施例提供的方案,只有当通过登录认证时,服务器与浏览器建立会话,生成一个唯一的会话标识(sessionid),并设置在浏览器下次向服务器发起请求的cookie中,该sessionid形成浏览器与服务器之间交互的认证凭证。当未通过登录认证时,服务器不会与浏览器建立sessionid,此时服务器会让浏览器重弹登录页面来向用户提示用户信息错误,要求用户重新输入。在通过登录认证时本实施例的装置会存储所述sessionid,并设置一个与所述sessionid关联的认证标记,装置依据sessionid及与其关联的认证标记来区分出浏览器与服务器之间进行交互的请求中需要进行拦截和OTP认证的请求。
优选的,本实施例提供的方案,还可以设置对两次认证(登录认证和OTP认证)成功的有效时间进行控制的处理机制,例如,装置可预先为所述会话标识和认证标记设置有效期,在装置检查是否存储有会话标识和认证标记且检查结果为是时,增加对会话标识和认证标记是否有效进行判断,当会话标识过期时可通过重置浏览器的缓存信息(包含有会话标识),实现对当前登录用户重新进行登录认证;当认证标记过期时可通过重定向浏览器到弹出OTP页面,实现对当前登录用户重新进行OTP认证。
实施例2
本实施例提供了一种双认证保护方法,以用户通过浏览器输入用户信息和动态口令登录Outlook邮箱为例进行详细阐述,其中,对用户信息的认证为第一认证,由本实施例中提及的服务器来完成并向浏览器返回第一请求响应结果,对动态口令的认证为第二认证,由本实施例提及的装置从OTP认证服务器获取认证结果,只有当第一认证和第二认证均通过时,浏览器才会向用户弹出进入到Outlook邮箱的页面。本实施例中所述浏览器优选为IE或google浏览器,所述服务器优选为Exchange Server 2010。本实施例中提及的第一认证请求用于指代浏览器向服务器发起的用于进行用户信息认证的请求,本实施例中提及的第二认证请求用于指代已通过用户信息认证之后浏览器向服务器发起的用于进行outlook邮箱资源访问的请求。
如图2所示,当装置接收到浏览器发来的第一认证请求时,执行以下步骤:
步骤201:装置将所述第一认证请求发送给服务器,并接收服务器返回的第一请求响应结果;
具体的,本实施例中所述服务器具体为Exchange Server,Exchange Server是微软公司的一套电子邮件服务组件,是个消息与协作系统。微软把用HTTP协议来访问Exchange的方法称为OWA,全称为Outlook WEB Access。
步骤202:装置根据所述第一请求响应结果判断是否是通过第一认证,是则执行步骤203,否则执行步骤208;
步骤203:装置从所述第一请求响应结果中获取会话标识,设置认证标记为未通过第二认证并与所述会话标识进行关联,从所述第一认证请求中获取用户名和URL;
具体的,所述装置设置认证标记为未通过第二认证具体为设置认证标记等于0。
步骤204:装置查询远程数据库中是否已存在与所述用户名对应的用户状态信息,是则执行步骤205,否则执行步骤206;
优选的,所述用户状态信息包括用户名、URL、会话标识和认证标记。
步骤205:装置使用获取到的URL、会话标识及与其关联的认证标记更新远程数据库中的与所述用户名对应的用户状态信息,然后执行步骤207;
步骤206:装置将所述用户名、URL、会话标识及与其关联的认证标记记作一条用户状态信息保存到远程数据库中;
步骤207:装置向浏览器返回包含所述会话标识的第一请求响应结果,结束;
步骤208:装置向浏览器返回不包含会话标识的第一请求响应结果,结束。
如图3所示,当装置接收到浏览器发来的第二认证请求时,执行以下步骤:
本实施例中,用户在进行第二认证时所使用到的用户状态信息,先从本地数据库中获取,若本地数据库中有则直接使用本地数据库中的数据,无需从应用数据库中获取,若本地数据库中没有再从应用数据库中获取,并在获取之后同步到本地数据库中。通过在本地数据库中备份用户状态信息,可极大提升装置的数据响应速度。
步骤301:装置从所述第二认证请求包含的缓存信息中获取会话标识;
优选的,本步骤还可以包括,装置判断所述会话标识是否有效,是则执行步骤302,否则装置重置浏览器中的缓存信息,并接收浏览器发来的第一认证请求。所述装置重置浏览器中的缓存信息具体为清除所述缓存信息中的sessionid字段。
步骤302:装置查询本地数据库中是否存在与所述会话标识对应的用户状态信息,是则执行步骤303,否则执行步骤305;
步骤303:装置从查询到的用户状态信息中获取与所述会话标识关联的认证标记;
步骤304:装置根据所述认证标记判断是否通过第二认证,是则执行步骤307,否则执行步骤309;
具体的,装置判断所述认证标记是否等于1,是则表示通过第二认证,否则表示未通过第二认证。
步骤305:装置从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记;
步骤306:装置根据所述认证标记判断是否通过第二认证,是则执行步骤307,否则执行步骤309;
步骤307:装置将所述第二认证请求发送给服务器,并接收服务器返回的第二请求响应结果;
步骤308:装置将所述第二请求响应结果返回给浏览器,结束;
步骤309:装置根据所述第二认证请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则执行步骤310,否则执行步骤311;
步骤310:装置向浏览器发送弹出OTP页面请求,并接收浏览器返回的等待输入响应;
步骤311:装置向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
步骤312:装置根据所述OTP数据判断是否通过第二认证,是则执行步骤313,否返回执行步骤311;
具体的,装置将所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过第二认证。
步骤313:装置更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为通过第二认证;
步骤314:装置使用所述用户状态信息中包含的URL重定向浏览器到资源访问页面,结束。
具体的,装置使用所述用户状态信息中包含的URL重定向浏览器到通过OWA方式访问Exchange Server的页面。
优选的,上述步骤303与步骤304之间、步骤305与步骤306之间还可以包括:装置判断所述认证标记是否有效,是则执行步骤304或是步骤306,否则执行步骤310。
相应的,上述步骤313与步骤314之间还包括,装置重置所述认证标记的有效期。
实施例3
如图4所示,基于实施例1和实施例2的内容,本实施例提供的一种双认证保护装置,包含有收发模块401、第一交互模块402、第一判断模块403、第一操作模块404、第二操作模块405、第二判断模块406、第二交互模块407和第三交互模块408,其中:
收发模块401,用于接收浏览器发来的请求,判断所述请求中是否存在会话标识,是则触发第二操作模块405,否则触发第一交互模块402;
所述收发模块401,具体用于判断接收到的浏览器发来的请求的缓存信息中是否存在sessionid字段,是则表示存在会话标识,触发第二操作模块405,否则表示不存在会话标识,触发第一交互模块402。
第一交互模块402,用于将所述收发模块401接收的所述请求发送给服务器,并接收服务器返回的第一请求响应结果;还用于在接收到所述第一判断模块403或第一操作模块404的触发时,向浏览器返回所述第一请求响应结果;所述请求中包含有用户信息,如用户名和密码。
进一步的,所述请求的缓存信息中还包含有应用标识,第一交互模块402根据所述应用标识确定与之进行交互的所述服务器。
第一判断模块403,用于根据所述第一交互模块402接收的所述第一请求响应结果判断是否通过登录认证,是则触发第一操作模块404,否则触发第一交互模块402;
第一操作模块404,用于从所述第一交互模块402接收的所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述第一交互模块402接收的所述请求中获取用户名和URL,将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中,并触发所述第一交互模块402;优选的,所述认证标记用于标识当前用户是否通过了OTP认证,例如,认证标记等于第一预设值时表示未通过OTP认证,认证标记等于第二预设值时表示通过了OTP认证,第一预设值等于0,第二预设值等于1。
第二操作模块405,用于从所述收发模块接收的所述请求中获取会话标识,从装置数据库中获取与所述会话标识关联的认证标记;
第二判断模块406,用于判断所述第二操作模块405获取的所述认证标是否等于第二预设值,是则触发第二交互模块407,否则触发第三交互模块408;
第二交互模块407,用于在收到第二判断模块406的触发时,将所述请求发送给服务器,并将所述服务器返回的第二请求响应结果发送给所述浏览器;
第三交互模块408,用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
优选的,所述第三交互模块408,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,若通过则修改所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,若未通过则重定向浏览器到弹出OTP页面。
本实施例中优选的,所述第一操作模块404具体包括第一获取单元、设置单元、第二获取单元和查询单元;
所述第一获取单元,用于从所述第一交互模块402接收的所述第一请求响应结果中获取会话标识;
所述设置单元,用于设置认证标记为第一预设值并与所述第一获取单元获取的所述会话标识进行关联;
所述第二获取单元,用于从所述第一交互模块接收的所述请求中获取用户名和URL;
所述查询单元,用于查询装置数据库中是否已存在与所述第二获取单元获取的所述用户名对应的用户状态信息,是则使用所述第二获取单元获取的所述URL、所述第一获取单元获取的所述会话标识及与所述会话标识关联的认证标记更新装置数据库中的与所述用户名对应的用户状态信息;否则将所述第二获取单元获取的所述用户名、所述URL、所述第一获取单元获取的所述会话标识及与所述会话标识关联的认证标记记作用户状态信息保存到装置数据库中。
本实施例中的所述第二操作模块405具体包括第一获取子模块和查询子模块;
所述第一获取子模块,用于从所述收发模块接收的所述请求包含的缓存信息中获取会话标识;
所述查询子模块,用于查询本地数据库中是否存在与所述第一获取子模块获取的所述会话标识对应的用户状态信息,是则从查询到的用户状态信息中获取与所述会话标识关联的认证标记;否则从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记;
所述第三交互模块,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后,更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
进一步的,所述第三交互模块具体包括第一交互子模块、第二交互子模块和判断子模块;
所述第一交互子模块,用于向浏览器发送弹出OTP页面请求,并接收浏览器返回的等待输入响应;
所述第二交互子模块,用于向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
第一判断子模块,用于将所述第二交互子模块接收的所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,是则更新远程数据库中的所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,否则触发所述第二交互子模块。
所述第三交互模块还包括第二判断子模块,用于根据所述收发模块接收的所述请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则触发所述第一交互子模块,否则触发所述第二交互子模块。
所述第三交互模块实现的重定向所述浏览器到资源访问页面,具体是根据装置数据库中存储的所述用户状态信息中的URL重定向所述浏览器到资源访问页面。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种双认证保护方法,其特征在于:
当装置接收到浏览器发来的请求时,从所述请求中获取缓存信息,判断所述缓存信息中是否存在会话标识,是则存在会话标识,执行步骤B1和步骤B2,否则不存在会话标识,执行步骤A1和步骤A2;
步骤A1、将所述请求发送给服务器,并接收服务器返回的第一请求响应结果;
所述步骤A1具体为:装置将包含有用户信息的请求发送给服务器;接收服务器发送的包括用户名、URL、服务器生成的验证结果和服务器生成的会话标识的第一请求响应结果;其中,验证结果和会话标识是由服务器对用户信息进行验证后生成;
步骤A2、根据所述第一请求响应结果判断是否已通过登录认证,是则从所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述请求中获取用户名和URL,将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中,向所述浏览器返回所述第一请求响应结果;否则直接将不包括会话标识的所述第一请求响应结果返回给所述浏览器;
步骤B1、从所述缓存信息中获取会话标识,从装置数据库中获取与所述会话标识关联的认证标记;
步骤B2、判断所述认证标记是否等于第二预设值,是则将所述请求发送给服务器,并将所述服务器返回的第二请求响应结果发送给所述浏览器;否则所述装置重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面;
步骤A2中所述将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中具体为:所述装置查询装置数据库中是否已存在与所述用户名对应的用户状态信息,是则所述装置使用获取到的所述URL、所述会话标识及与所述会话标识关联的认证标记更新装置数据库中的与所述用户名对应的用户状态信息;否则所述装置将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记记作用户状态信息保存到装置数据库中。
2.根据权利要求1所述的方法,其特征在于,所述步骤B1具体为:装置从所述请求包含的缓存信息中获取会话标识,所述装置查询本地数据库中是否存在与所述会话标识对应的用户状态信息,是则从查询到的用户状态信息中获取与所述会话标识关联的认证标记,执行所述步骤B2;否则从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记,执行所述步骤B2;
所述步骤B2中当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值具体为:接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后,更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值。
3.根据权利要求1所述的方法,其特征在于,所述步骤B2中所述装置重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,具体包括:
步骤s1:所述装置重定向所述浏览器到弹出OTP页面,并接收浏览器返回的等待输入响应;
步骤s2:所述装置向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
步骤s3:所述装置将所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,是则更新数据库中的所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,否则返回执行所述步骤s2。
4.根据权利要求3所述的方法,其特征在于,所述步骤s1之前还包括:所述装置根据所述请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则执行所述步骤s1,否则执行所述步骤s2。
5.根据权利要求1所述的方法,其特征在于,所述重定向所述浏览器到所述请求指定的资源访问页面具体为:根据装置数据库中存储的所述用户状态信息中的URL重定向所述浏览器到资源访问页面。
6.一种双认证保护装置,其特征在于,包括:
收发模块,用于接收浏览器发来的请求,从所述请求中获取缓存信息,判断所述缓存信息中是否存在会话标识,是则存在会话标识,触发第二操作模块,否则不存在会话标识,触发第一交互模块;
第一交互模块,用于将所述收发模块接收的所述请求发送给服务器,并接收服务器返回的第一请求响应结果;还用于在接收到第一判断模块或第一操作模块的触发时,向浏览器返回所述第一请求响应结果;
当第一交互模块用于将所述收发模块接收的所述请求发送给服务器,并接收服务器返回的第一请求响应结果时,所述第一交互模块具体用于将包含有用户信息的请求发送给服务器;接收服务器发送的包括用户名、URL、服务器生成的验证结果和服务器生成的会话标识;其中,验证结果和会话标识是由服务器对用户信息进行验证后生成;
第一判断模块,用于根据所述第一交互模块接收的所述第一请求响应结果判断是否通过登录认证,是则触发第一操作模块,否则触发第一交互模块;
第一操作模块,用于从所述第一交互模块接收的所述第一请求响应结果中获取会话标识,设置认证标记为第一预设值并与所述会话标识进行关联,从所述第一交互模块接收的所述请求中获取用户名和URL,将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中,并触发所述第一交互模块;
第二操作模块,用于从所述收发模块接收的所述缓存信息中获取会话标识,从装置数据库中获取与所述会话标识关联的认证标记;
第二判断模块,用于判断所述第二操作模块获取的所述认证标记是否等于第二预设值,是则触发第二交互模块,否则触发第三交互模块;
第二交互模块,用于在收到第二判断模块的触发时,将所述请求发送给服务器,并将所述服务器返回的第二请求响应结果发送给所述浏览器;
第三交互模块,用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面;
当第一操作模块用于将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记作为用户状态信息保存到装置数据库中时,所述第一操作模块具体用于查询装置数据库中是否已存在与所述用户名对应的用户状态信息,是则使用获取到的所述URL、所述会话标识及与所述会话标识关联的认证标记更新装置数据库中的与所述用户名对应的用户状态信息;否则将所述用户名、所述URL、所述会话标识及与所述会话标识关联的认证标记记作用户状态信息保存到装置数据库中;
当第一交互模块用于接收到所述第一判断模块或第一操作模块的触发时,向浏览器返回所述第一请求响应结果时,所述第一交互模块具体用于向浏览器返回不包括会话标识的所述第一请求响应结果。
7.根据权利要求6所述的装置,其特征在于,所述第二操作模块具体包括第一获取子模块和查询子模块;
所述第一获取子模块,用于从所述收发模块接收的所述请求包含的缓存信息中获取会话标识;
所述查询子模块,用于查询本地数据库中是否存在与所述第一获取子模块获取的所述会话标识对应的用户状态信息,是则从查询到的用户状态信息中获取与所述会话标识关联的认证标记;否则从远程数据库中获取与所述会话标识对应的用户状态信息,将所述用户状态信息更新到本地数据库中,从所述用户状态信息中获取与所述会话标识关联的认证标记;
所述第三交互模块,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后,更新远程数据库和本地数据库中所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面。
8.根据权利要求6所述的装置,其特征在于,所述第三交互模块具体包括第一交互子模块、第二交互子模块和判断子模块;
所述第一交互子模块,用于向浏览器发送弹出OTP页面请求,并接收浏览器返回的等待输入响应;
所述第二交互子模块,用于向浏览器发送获取OTP数据请求,并接收浏览器返回的OTP数据;
第一判断子模块,用于将所述第二交互子模块接收的所述OTP数据发送给OTP认证服务器,并接收OTP认证服务器返回的OTP认证结果,根据所述OTP认证结果判断是否通过OTP认证,是则更新远程数据库中的所述用户状态信息中包含的认证标记为第二预设值,并重定向所述浏览器到所述请求指定的资源访问页面,否则触发所述第二交互子模块。
9.根据权利要求8所述的装置,其特征在于,所述第三交互模块还包括第二判断子模块,用于根据所述收发模块接收的所述请求包含的URL判断是否重定向浏览器到弹出OTP页面,是则触发所述第一交互子模块,否则触发所述第二交互子模块。
10.根据权利要求6所述的装置,其特征在于,所述第三交互模块,具体用于重定向所述浏览器到弹出OTP页面,从所述浏览器获取OTP数据,将获取的所述OTP数据发送给OTP认证服务器,当接收到所述OTP认证服务器返回的表示所述OTP数据被认证通过的结果后更新所述认证标记为第二预设值,然后根据装置数据库中存储的所述用户状态信息中的URL重定向所述浏览器到资源访问页面。
CN201710938035.3A 2017-10-11 2017-10-11 一种双认证保护方法及装置 Active CN107835155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710938035.3A CN107835155B (zh) 2017-10-11 2017-10-11 一种双认证保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710938035.3A CN107835155B (zh) 2017-10-11 2017-10-11 一种双认证保护方法及装置

Publications (2)

Publication Number Publication Date
CN107835155A CN107835155A (zh) 2018-03-23
CN107835155B true CN107835155B (zh) 2020-11-24

Family

ID=61647696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710938035.3A Active CN107835155B (zh) 2017-10-11 2017-10-11 一种双认证保护方法及装置

Country Status (1)

Country Link
CN (1) CN107835155B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399713A (zh) * 2018-07-27 2019-11-01 腾讯科技(北京)有限公司 一种信息认证的方法及相关装置
US11288399B2 (en) * 2019-08-05 2022-03-29 Visa International Service Association Cryptographically secure dynamic third party resources
CN111181912B (zh) * 2019-08-27 2021-10-15 腾讯科技(深圳)有限公司 浏览器标识的处理方法、装置、电子设备及存储介质
CN113553623A (zh) * 2021-07-30 2021-10-26 北京天空卫士网络安全技术有限公司 一种访问请求认证方法和装置
CN113572793B (zh) * 2021-09-26 2021-12-21 苏州浪潮智能科技有限公司 访问请求捕获方法、装置、计算机设备和存储介质
CN113645257B (zh) * 2021-10-14 2022-03-08 广州锦行网络科技有限公司 一种身份认证方法及装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453458A (zh) * 2007-12-06 2009-06-10 北京唐桓科技发展有限公司 基于多变量的动态密码口令双向认证的身份识别方法技术
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN105337949A (zh) * 2014-08-13 2016-02-17 中国移动通信集团重庆有限公司 一种SSO认证方法、web服务器、认证中心和token校验中心

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453458A (zh) * 2007-12-06 2009-06-10 北京唐桓科技发展有限公司 基于多变量的动态密码口令双向认证的身份识别方法技术
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN105337949A (zh) * 2014-08-13 2016-02-17 中国移动通信集团重庆有限公司 一种SSO认证方法、web服务器、认证中心和token校验中心

Also Published As

Publication number Publication date
CN107835155A (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
CN107835155B (zh) 一种双认证保护方法及装置
CN109587133B (zh) 一种单点登录系统及方法
US9794242B2 (en) Method, apparatus and application platform for realizing logon to an application service website
CN110381031B (zh) 单点登录方法、装置、设备及计算机可读存储介质
CN106936853B (zh) 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法
US8918853B2 (en) Method and system for automatic recovery from lost security token on embedded device
US9032495B2 (en) Online user account login method and a server system implementing the method
US9210158B2 (en) Method and system for obtaining application information of multiple websites
JP6280641B2 (ja) アカウントログイン方法、デバイス及びシステム
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
CN109379336B (zh) 一种统一认证方法、分布式系统和计算机可读存储介质
US8909705B2 (en) Method and system for use in providing network services interchange
US10476733B2 (en) Single sign-on system and single sign-on method
WO2017177691A1 (zh) 一种入口认证方法和系统
EP3226506A1 (en) Authorization processing method, device and system
EP2883340A1 (en) Authorization method, apparatus, and system
US10630574B2 (en) Link processing method, apparatus, and system
CN106034134A (zh) 网页应用程序中进行身份认证请求的方法、辅助方法及装置
CN108259457B (zh) 一种web认证方法及装置
CN106550056A (zh) 一种域名解析方法及装置
CN106878260B (zh) 单点登录实现方法及装置
US20220027429A1 (en) Dynamically determining a server for enrollment with management system
CN112929388B (zh) 网络身份跨设备应用快速认证方法和系统、用户代理设备
CN108683651B (zh) 一种单点登录方法、服务端及系统
CN107786502A (zh) 一种认证代理方法、装置和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant