CN108667761B - 一种利用安全套接字层会话保护单点登录的方法 - Google Patents
一种利用安全套接字层会话保护单点登录的方法 Download PDFInfo
- Publication number
- CN108667761B CN108667761B CN201710189426.XA CN201710189426A CN108667761B CN 108667761 B CN108667761 B CN 108667761B CN 201710189426 A CN201710189426 A CN 201710189426A CN 108667761 B CN108667761 B CN 108667761B
- Authority
- CN
- China
- Prior art keywords
- gateway
- user
- browser
- authentication
- session
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开的一种利用安全套接字层会话保护单点登录的方法,包括以下步骤:步骤10,用户使用浏览器经过网关访问应用,网关要求用户向认证服务器进行身份认证;步骤20,用户在认证服务器上完成身份认证;步骤30,网关完成用户身份识别,允许浏览器访问应用。相比传统的基于Cookie实现的单点登录,本发明的方法安全性更高,适用性更为广泛。
Description
技术领域
本发明涉及WEB应用中单点登录的技术领域,尤其涉及一种利用安全套接字层会话保护单点登录的方法。
背景技术
单点登录是指在多个Web应用中用户只需要在一处登录就可以使用各个应用***的技术。传统的单点登录技术通常是使用Cookie在客户端存放一串令牌Token来存储身份认证信息,这种方式存在Cookie容易被窃取的风险,且安全性较差。
安全套接字层(SSL)是工作在传输层与应用层之间的加密协议,为网络通信提供鉴权、加密及完整性保护。客户端与服务器应用经过安全套接字层(SSL)握手协议可以协商出一个安全套接字层会话(SSL Session),每个会话对应一个会话号(Session ID)。
基于此,申请人进行了有益的探索和尝试,将安全套接字层会话(SSL Session)应用于单点登录中,以解决单点登录时Cookie容易被窃取和安全性较差等问题。下面将要介绍的技术方案便是在这种背景下产生的。
发明内容
本发明所要解决的技术问题:针对传统的单点登录存在Cookie容易被窃取、安全性较差等问题,而提供一种避免登录时Cookie被窃取、提高安全性的利用安全套接字层会话保护单点登录的方法。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种利用安全套接字层会话保护单点登录的方法,包括以下步骤:
步骤10,用户使用浏览器经过网关访问应用,网关要求用户向认证服务器进行身份认证;
步骤20,用户在认证服务器上完成身份认证;
步骤30,网关完成用户身份识别,允许浏览器访问应用。
在本发明的一个优选实施例中,所述步骤10包括以下子步骤:
步骤S11,用户使用浏览器访问应用,浏览器与网关进行单向SSL握手;
步骤S12,当浏览器与网关之间的单向安全套接字层握手成功后,网关产生一个SSL Session,网关记录Session ID,并将该Session ID对应的认证状态标记为“未认证”;
步骤S13,浏览器向网关发起HTTP请求;
步骤S14,网关检查该Session ID对应的状态,发现状态为“未认证”,则将认证服务器的访问地址返回给浏览器。
在本发明的一个优选实施例中,所述步骤20包括以下子步骤:
步骤S21,浏览器根据步骤S14中返回的访问地址访问认证服务器;
步骤S22,认证服务将登录页面返回给浏览器;
步骤S23,用户在浏览器上显示的登录页面输入认证信息;
步骤S24,认证服务器对用户输入的认证信息进行验证,若认证成功后,认证服务器以Session ID为主键,Session Lifetime为有效期储存用户认证状态;
步骤S25,认证服务器返回跳转信息给浏览器,跳转信息中的URL为用户最初请求的地址,再添加tid参数作为单点登录Token。
在本发明的一个优选实施例中,在所述步骤S23中,认证信息可以为用户名密码、指纹、声音、人脸中的一种或多种组合。
在本发明的一个优选实施例中,所述步骤30包括以下子步骤:
步骤31,浏览器根据步骤S25返回的结果,利用步骤S1中产生的SSL Session再次向网关发出请求;
步骤32,网关利用之前保存用户信息计算tid参数,并将计算得出的tid参数与浏览器传送过来的tid参数进行比对;
步骤33,比对验证成功后,网关向认证服务器发送请求,获取用户认证结果和用户身份信息;
步骤34,认证服务器根据Session ID查询用户认证状态和用户信息;
步骤35,认证服务器向网关返回用户状态和用户信息;
步骤36,网关根据认证服务器返回的结果判断用户身份认证的结果,缓存SSLSession并记录用户信息到日志中;
步骤37,网关去掉浏览器请求中的tid参数,并向后端应用转发浏览器的请求;
步骤38,网关向浏览器返回代理的应用页面。
相比传统的基于Cookie实现的单点登录,本发明利用SSL Session的实现有如下优点:
1、在网络中传输的是Session ID,而不是Session本身,即便被获取ID,也不会泄露。
2、实际的Session数据是基于SSL协议密钥推导出的数据,具备随机性和私密性。
3、客户端和认证服务端都不会持久化存储,进一步降低了信息泄露的风险。
4、具备有效期的功能,过期Session自动失效。
5、适用的协议更为广泛,由于SSL是在应用层与传输层之间的协议,HTTP以外的应用也可以使用(POP3,IMAP,FTP等协议都可以扩充SSL支持)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的工作流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图1,图中给出的是本发明的一种利用安全套接字层会话保护单点登录的方法,包括以下步骤:
步骤10,用户使用浏览器经过网关访问应用,网关要求用户向认证服务器进行身份认证;
步骤20,用户在认证服务器上完成身份认证;
步骤30,网关完成用户身份识别,允许浏览器访问应用。
步骤10包括以下子步骤:
步骤S11,用户使用浏览器访问应用https://example.com/,浏览器与网关进行单向SSL握手;
步骤S12,当浏览器与网关之间的单向安全套接字层握手成功后,网关产生一个SSL Session,网关记录Session ID,并将该Session ID对应的认证状态标记为“未认证”;
步骤S13,浏览器向网关发起HTTP请求,请求具体如下:
GET/HTTP/1.1
Host:example.com
步骤S14,网关检查该Session ID对应的状态,发现状态为“未认证”,则将认证服务器的访问地址返回给浏览器,跳转URL中包含cid、eid和url参数,响应内容如下:
HTTP/1.1 302Found
Location:https://auth-server/login?cid=***&eid=***&url=***
各参数的内容为:
cid:网关服务id,与认证服务器提前约定。
eid:计算方法为base64(C(AuthKey,nonce|Session ID|Session Lifetime|AuthClient ID)其中C为一种对称加密算法如AES,以AuthKey为加密密钥,nonce为网关生成的随机数,Session Lifetime为该SSL Session的过期时刻(Unix时间戳)。过期时间的长度由网关与认证服务提前约定。
url:对A3中浏览器访问的url进行base64编码。
步骤20包括以下子步骤:
步骤S21,浏览器根据步骤S14中返回的访问地址访问认证服务器;
https://auth-server/login?cid=***&eid=***&url=***
步骤S22,认证服务将登录页面返回给浏览器;
步骤S23,用户在浏览器上显示的登录页面输入认证信息,其中,认证信息可以为用户名密码、指纹、声音、人脸中的一种或多种组合;
步骤S24,认证服务器对用户输入的认证信息进行验证,若认证成功后,认证服务器以Session ID为主键,Session Lifetime为有效期储存用户认证状态;
步骤S25,认证服务器返回跳转信息给浏览器,跳转信息中的URL为用户最初请求的地址,再添加tid参数作为单点登录Token。
tid参数的计算方法为:base64(hmac(AuthKey,AuthClientID|nonce)。响应内容如下:
HTTP/1.1 302Found
Location:https://example.com/?tid=***
步骤30包括以下子步骤:
步骤31,浏览器根据步骤S25返回的结果,利用步骤S1中产生的SSL Session再次向网关发出请求;
GET/?tid=***HTTP/1.1
Host:example.com
步骤32,网关利用之前保存用户信息(Session ID、AuthClientID和nonce)计算tid参数,并将计算得出的tid参数与浏览器传送过来的tid参数进行比对;
步骤33,比对验证成功后,网关向认证服务器发送请求,以sid(Session ID)为参数获取用户认证结果和用户身份信息;
步骤34,认证服务器根据Session ID查询用户认证状态和用户信息;
步骤35,认证服务器向网关返回用户状态和用户信息(当网关可以通过内网与认证服务通信时可以不使用https):
https://auth-server/check?sid=***;
步骤36,网关根据认证服务器返回的结果判断用户身份认证的结果,缓存SSLSession并记录用户信息到日志中;
步骤37,网关去掉浏览器请求中的tid参数,并向后端应用转发浏览器的请求;
步骤38,网关向浏览器返回代理的应用页面。
至此,整个认证过程完成,在Session过期之前,用户复用该Session访问应用都不必再进行身份验证。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.一种利用安全套接字层会话保护单点登录的方法,其特征在于,包括以下步骤:
步骤10,用户使用浏览器经过网关访问应用,网关要求用户向认证服务器进行身份认证;
步骤20,用户在认证服务器上完成身份认证;
步骤30,网关完成用户身份识别,允许浏览器访问应用;
所述步骤10包括以下子步骤:
步骤S11,用户使用浏览器访问应用,浏览器与网关进行单向SSL握手;
步骤S12,当浏览器与网关之间的单向安全套接字层握手成功后,网关产生一个SSLSession,网关记录SessionID,并将该SessionID对应的认证状态标记为“未认证”;
步骤S13,浏览器向网关发起HTTP请求;
步骤S14,网关检查该SessionID对应的状态,发现状态为“未认证”,则将认证服务器的访问地址返回给浏览器;
所述步骤20包括以下子步骤:
步骤S21,浏览器根据步骤S14中返回的访问地址访问认证服务器;
步骤S22,认证服务将登录页面返回给浏览器;
步骤S23,用户在浏览器上显示的登录页面输入认证信息;
步骤S24,认证服务器对用户输入的认证信息进行验证,若认证成功后,认证服务器以SessionID为主键,SessionLifetime为有效期储存用户认证状态;
步骤S25,认证服务器返回跳转信息给浏览器,跳转信息中的URL为用户最初请求的地址,再添加tid参数作为单点登录Token;
所述步骤30包括以下子步骤:
步骤31,浏览器根据步骤S25返回的结果,利用步骤S1中产生的SSL Session再次向网关发出请求;
步骤32,网关利用之前保存用户信息计算tid参数,并将计算得出的tid参数与浏览器传送过来的tid参数进行比对;
步骤33,比对验证成功后,网关向认证服务器发送请求,获取用户认证结果和用户身份信息;
步骤34,认证服务器根据SessionID查询用户认证状态和用户信息;
步骤35,认证服务器向网关返回用户状态和用户信息;
步骤36,网关根据认证服务器返回的结果判断用户身份认证的结果,缓存SSLSession并记录用户信息到日志中;
步骤37,网关去掉浏览器请求中的tid参数,并向后端应用转发浏览器的请求;
步骤38,网关向浏览器返回代理的应用页面。
2.如权利要求1所述的利用安全套接字层会话保护单点登录的方法,其特征在于,在所述步骤S23中,认证信息可以为用户名密码、指纹、声音、人脸中的一种或多种组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710189426.XA CN108667761B (zh) | 2017-03-27 | 2017-03-27 | 一种利用安全套接字层会话保护单点登录的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710189426.XA CN108667761B (zh) | 2017-03-27 | 2017-03-27 | 一种利用安全套接字层会话保护单点登录的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667761A CN108667761A (zh) | 2018-10-16 |
CN108667761B true CN108667761B (zh) | 2022-02-08 |
Family
ID=63786044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710189426.XA Active CN108667761B (zh) | 2017-03-27 | 2017-03-27 | 一种利用安全套接字层会话保护单点登录的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108667761B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416826B (zh) * | 2020-03-24 | 2020-12-29 | 江苏易安联网络技术有限公司 | 一种应用服务安全发布及访问的***及方法 |
CN111510453B (zh) * | 2020-04-15 | 2023-02-03 | 深信服科技股份有限公司 | 业务***访问方法、装置、***及介质 |
CN112182535A (zh) * | 2020-09-24 | 2021-01-05 | 建信金融科技有限责任公司 | 操作请求的处理方法、装置、电子设备及可读存储介质 |
CN112632491A (zh) * | 2020-12-15 | 2021-04-09 | 读书郎教育科技有限公司 | 一种实现多信息***共用账号体系的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469075A (zh) * | 2010-11-09 | 2012-05-23 | 中科正阳信息安全技术有限公司 | 一种基于web单点登录的集成认证方法 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证***及方法 |
KR101572598B1 (ko) * | 2014-07-28 | 2015-12-11 | 순천향대학교 산학협력단 | Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9491161B2 (en) * | 2014-09-30 | 2016-11-08 | Citrix Systems, Inc. | Systems and methods for performing single sign-on by an intermediary device for a remote desktop session of a client |
-
2017
- 2017-03-27 CN CN201710189426.XA patent/CN108667761B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469075A (zh) * | 2010-11-09 | 2012-05-23 | 中科正阳信息安全技术有限公司 | 一种基于web单点登录的集成认证方法 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证***及方法 |
KR101572598B1 (ko) * | 2014-07-28 | 2015-12-11 | 순천향대학교 산학협력단 | Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN108667761A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541991B2 (en) | Method for OAuth service through blockchain network, and terminal and server using the same | |
Solapurkar | Building secure healthcare services using OAuth 2.0 and JSON web token in IOT cloud scenario | |
JP5334320B2 (ja) | 暗号証拠の再検証に基づく認証委任 | |
US10356071B2 (en) | Automatic log-in and log-out of a session with session sharing | |
US7478434B1 (en) | Authentication and authorization protocol for secure web-based access to a protected resource | |
CN102201915B (zh) | 一种基于单点登录的终端认证方法和装置 | |
CN108667761B (zh) | 一种利用安全套接字层会话保护单点登录的方法 | |
CN109672675B (zh) | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 | |
US9338173B2 (en) | Methods and apparatuses for avoiding damage in network attacks | |
TW200810465A (en) | Mutual authentication between two parties using two consecutive one-time passwords | |
CN101299667A (zh) | 一种认证方法、***、客户端设备和服务器 | |
US8099602B2 (en) | Methods for integrating security in network communications and systems thereof | |
JP5614465B2 (ja) | 暗号通信装置、代行サーバ、暗号通信装置プログラム及び代行サーバプログラム | |
CN110943992A (zh) | 一种入口认证***、方法、装置、计算机设备和存储介质 | |
CN110445744A (zh) | 一种数据处理方法及装置 | |
KR20140110118A (ko) | 웹 어플리케이션 sso에서의 쿠키 재전송 공격 방어 기법 | |
JP2002328905A (ja) | クライアント認証方法及び認証装置並びにプログラム及び記録媒体 | |
KR102305368B1 (ko) | IoT 환경을 위한 OAuth 기반의 안전한 접근제어 시스템 및 방법 | |
CN116318693A (zh) | 一种基于TLS的Session Ticket HTTPS会话防护方法 | |
KR20220163704A (ko) | 쌍토큰을 이용한 tls 세션 복구 방법 | |
Yang et al. | The design and implementation of improved secure cookies based on certificate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Jingan District, Shanghai Applicant after: Geer software Limited by Share Ltd Address before: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Zhabei District, Shanghai Applicant before: Geer Software Co., Ltd., Shanghai |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |