CN105049448B - 单点登录装置和方法 - Google Patents
单点登录装置和方法 Download PDFInfo
- Publication number
- CN105049448B CN105049448B CN201510521720.7A CN201510521720A CN105049448B CN 105049448 B CN105049448 B CN 105049448B CN 201510521720 A CN201510521720 A CN 201510521720A CN 105049448 B CN105049448 B CN 105049448B
- Authority
- CN
- China
- Prior art keywords
- party system
- user
- local terminal
- configuration information
- sign
- 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
Classifications
-
- 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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
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
本发明提供了一种单点登录装置,包括:本地终端数据收集单元,用于基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据;会话建立单元,用于基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话。本发明还提供了一种单点登录方法。通过本发明的技术方案,可以在现有的单点登录方式基础上,充分利用单对象类型完成多对象类型的单点登录,建立多对象类型参与的面向复杂类型单点登录的通用、统一登录思路。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及一种单点登录装置和一种单点登录方法。
背景技术
在企业中,一般有很多的应用系统为其提供管理和IT服务,随着企业的成长和信息的技术的发展,会有更多的系统加入。在传统的分散用户认证管理中,每个业务系统独立做用户的认证工作,用户就需要记住大量的用户名和密码,每进入一个系统都要进行登录,给用户带来了麻烦,同时也加大了系统管理员的认证管理和维护工作。单点登录(SSO)提供一种机制让不同的应用系统迅速得统一的认证功能 , 实现全局、安全的软件环境。在实现SSO的系统中,用户只需进行一次主动的登录操作即可获得所需访问的应用系统和资源的授权,不必多次输入用户名和密码来确定用户身份。
但是,单点登录的实施也带来了许多的问题。首先,为了实施单点登录方案,需要对各个应用系统进行改造。对于应用系统繁多和有很多老旧系统的企业来说,这种改造无疑意味着很大的成本和风险。其次是安全问题。无论是用哪种单点登录的方案,都需要将用户的登录信息在网络传递,这种传递会带来很大的安全隐患。
现在的SSO方案,有多种方案,一种是基于经纪人的单点登录方案,在这种方案中,有一个统一的中心服务器来提供集中认证和用户信息管理功能。这种方案需要对其源代码进行修改,使其能够完成与认证中心的交互,另外需要完成应用系统和认证中心用户信息的同步,实施起来比较困难。参见图5。
第二种方案是代理登录,就是通过表单提交的方式模拟应用系统的登录操作,实现SSO。代理登录的优点就是无需对原有系统做任何改造,适用于无法改造的旧系统。但是,这种方案会把第三方系统的密码通过网络暴露出来,是一种不安全的方案。参见图6。
还有是基于会话漂移的单点登录方案,结合了以上两种的优点,但是需要在第三方系统中放置一个组件,仅仅适合整合企业内部系统,对于第三方系统,如互联网站,政府网站等不适用。
因此,需要一种新的单点登录技术,可以在现有的单点登录方式基础上,充分利用单对象类型完成多对象类型的单点登录,建立多对象类型参与的面向复杂类型单点登录的通用、统一登录思路。
发明内容
本发明正是基于上述问题,提出了一种新的单点登录技术,可以在现有的单点登录方式基础上,充分利用单对象类型完成多对象类型的单点登录,建立多对象类型参与的面向复杂类型单点登录的通用、统一登录思路。
有鉴于此,本发明提出了一种单点登录装置,包括:本地终端数据收集单元,用于基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据;会话建立单元,用于基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话。在该技术方案中,可以在不改变原来应用系统源码、不需要在第三方系统放置组件的前提下,安全、方便地实现单点登录第三方系统。
在上述技术方案中,优选地,该单点登录装置,还包括设置在所述本地终端数据收集单元之前的凭证制作单元,用于制作包含用户配置信息、且经过AES加密处理的用户凭证表;所述本地终端数据收集单元进一步地用于:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据。在该技术方案中,可以预先设置经过加密的配置信息,在登录第三方系统时,可以方便快捷地查到所需用户信息,且安全性有保障。
在上述技术方案中,优选地,所述本地终端数据收集单元,具体包括:配置信息获取模块,用于获取用户凭证表中的配置信息;配置信息解密模块,用于对获取的配置信息进行AES解密处理;登录地址模拟模块,用于解密处理获取登录地址后,用HttpClient模拟登录到取得的登录地址;本地终端数据获取模块,用于在模拟登录过程中,当收到成功登录的信息时,获取当前会话的本地终端数据。在该技术方案中,可以采用“Portal端模拟登录建立会话”+“网关Cookie改写”的方式来进行会话漂移,从而达到单点登录和安全性的目标。
在上述技术方案中,优选地,所述配置信息获取模块获取的用户凭证表中的配置信息,包括第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址。在该技术方案中,没有代码级的修改,更易实施;提供的安全的单点登录方案,更具安全特性,实施方便快捷。
在上述技术方案中,优选地,所述会话建立单元,具体包括:本地终端数据加密模块,用于基于获取的本地终端数据,进行AES加密处理;本地终端数据签名模块,用于加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;本地终端数据验证模块,用于将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;本地终端数据解密模块,用于当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。在该技术方案中,在增强了单点登录的安全性后,对于实施过程基本上没有增加工作,只需把通用标准的SSO组件放入支持单点登录的第三方系统中即可。
根据本发明的又一个方面,还提出了一种单点登录方法,包括:步骤204:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据;步骤206:基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话。在该技术方案中,可以在不改变原来应用系统源码、不需要在第三方系统放置组件的前提下,安全、方便地实现单点登录第三方系统。
在上述技术方案中,优选地,该单点登录方法,还包括设置在所述步骤204之前的步骤202,用于制作包含用户配置信息、且经过AES加密处理的用户凭证表;所述步骤204进一步地为:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据。在该技术方案中,可以预先设置经过加密的配置信息,在登录第三方系统时,可以方便快捷地查到所需用户信息,且安全性有保障。
在上述技术方案中,优选地,所述步骤204,具体包括:步骤302:获取用户凭证表中的配置信息;步骤304:对获取的配置信息进行AES解密处理;步骤306:解密处理获取登录地址后,用HttpClient模拟登录到取得的登录地址;步骤308:在模拟登录过程中,当收到成功登录的信息时,获取当前会话的本地终端数据。在该技术方案中,可以采用“Portal端模拟登录建立会话”+“网关Cookie改写”的方式来进行会话漂移,从而达到单点登录和安全性的目标。
在上述技术方案中,优选地,所述步骤302获取的用户凭证表中的配置信息,包括第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址。在该技术方案中,没有代码级的修改,更易实施;提供的安全的单点登录方案,更具安全特性,实施方便快捷。
在上述技术方案中,优选地,所述步骤206,具体包括:步骤402:基于获取的本地终端数据,进行AES加密处理;步骤404:加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;步骤406:将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;步骤408:当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。在该技术方案中,在增强了单点登录的安全性后,对于实施过程基本上没有增加工作,只需把通用标准的SSO组件放入支持单点登录的第三方系统中即可。
通过以上技术方案,可以在现有的单点登录方式基础上,充分利用单对象类型完成多对象类型的单点登录,建立多对象类型参与的面向复杂类型单点登录的通用、统一登录思路。
附图说明
图1示出了根据本发明的实施例的单点登录装置的框图;
图2示出了根据本发明的实施例的单点登录方法的流程图;
图3示出了根据本发明的实施例的本地终端数据收集单元的原理示意图;
图4示出了根据本发明的实施例的会话建立单元的原理示意图;
图5示出了现有技术中安全性高、实施困难的方案的原理示意图;
图6示出了现有技术中易实施,安全性差的方案的原理示意图;
图7示出了根据本发明的实施例的捕获的第三方访问的报文方框中的内容请求的Cookie截面图;
图8示出了根据本发明的实施例的部署方式的SSO网关拓扑图;
图9示出了根据本发明的实施例的单点登录的主要过程的流程图;
图10示出了根据本发明的实施例的Cookie收集的流程图;
图11示出了根据本发明的实施例的Cookie加密传输即会话漂移的全过程流程图;
图12示出了根据本发明的实施例的Portal中添加第三方系统的界面图;
图13示出了根据本发明的实施例的 Portal中添加第三方系统的配置信息的界面图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的单点登录装置的框图。
如图1所示,根据本发明的实施例的单点登录装置100,包括:本地终端数据收集单元104,用于基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据;会话建立单元106,用于基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话。在该技术方案中,可以在不改变原来应用系统源码、不需要在第三方系统放置组件的前提下,安全、方便地实现单点登录第三方系统。
在上述技术方案中,优选地,该单点登录装置100,还包括设置在本地终端数据收集单元104之前的凭证制作单元102,用于制作包含用户配置信息、且经过AES加密处理的用户凭证表;本地终端数据收集单元104进一步地用于:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据。在该技术方案中,可以预先设置经过加密的配置信息,在登录第三方系统时,可以方便快捷地查到所需用户信息,且安全性有保障。
在上述技术方案中,优选地,本地终端数据收集单元104,具体包括:配置信息获取模块1042,用于获取用户凭证表中的配置信息;配置信息解密模块1044,用于对获取的配置信息进行AES解密处理;登录地址模拟模块1046,用于解密处理获取登录地址后,用HttpClient模拟登录到取得的登录地址;本地终端数据获取模块1048,用于在模拟登录过程中,当收到成功登录的信息时,获取当前会话的本地终端数据。在该技术方案中,可以采用“Portal端模拟登录建立会话”+“网关Cookie改写”的方式来进行会话漂移,从而达到单点登录和安全性的目标。
在上述技术方案中,优选地,配置信息获取模块1042获取的用户凭证表中的配置信息,包括第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址。在该技术方案中,没有代码级的修改,更易实施;提供的安全的单点登录方案,更具安全特性,实施方便快捷。
在上述技术方案中,优选地,会话建立单元106,具体包括:本地终端数据加密模块1062,用于基于获取的本地终端数据,进行AES加密处理;本地终端数据签名模块1064,用于加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;本地终端数据验证模块1066,用于将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;本地终端数据解密模块1068,用于当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。在该技术方案中,在增强了单点登录的安全性后,对于实施过程基本上没有增加工作,只需把通用标准的SSO组件放入支持单点登录的第三方系统中即可。
图2示出了根据本发明的实施例的单点登录方法的流程图。
如图2所示,根据本发明的实施例的单点登录方法,包括:步骤204:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据;步骤206:基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话。在该技术方案中,可以在不改变原来应用系统源码、不需要在第三方系统放置组件的前提下,安全、方便地实现单点登录第三方系统。
在上述技术方案中,优选地,该单点登录方法,还包括设置在步骤204之前的步骤202,用于制作包含用户配置信息、且经过AES加密处理的用户凭证表;步骤204进一步地为:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据。在该技术方案中,可以预先设置经过加密的配置信息,在登录第三方系统时,可以方便快捷地查到所需用户信息,且安全性有保障。
在上述技术方案中,优选地,参见图3,步骤204,具体包括:步骤302:获取用户凭证表中的配置信息;步骤304:对获取的配置信息进行AES解密处理;步骤306:解密处理获取登录地址后,用HttpClient模拟登录到取得的登录地址;步骤308:在模拟登录过程中,当收到成功登录的信息时,获取当前会话的本地终端数据。在该技术方案中,可以采用“Portal端模拟登录建立会话”+“网关Cookie改写”的方式来进行会话漂移,从而达到单点登录和安全性的目标。
在上述技术方案中,优选地,步骤302获取的用户凭证表中的配置信息,包括第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址。在该技术方案中,没有代码级的修改,更易实施;提供的安全的单点登录方案,更具安全特性,实施方便快捷。
在上述技术方案中,优选地,参见图4,步骤206,具体包括:步骤402:基于获取的本地终端数据,进行AES加密处理;步骤404:加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;步骤406:将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;步骤408:当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。在该技术方案中,在增强了单点登录的安全性后,对于实施过程基本上没有增加工作,只需把通用标准的SSO组件放入支持单点登录的第三方系统中即可。
本发明的技术方案,基于现有技术存在的缺陷,提供了一种基于网关的对企业外部系统安全、易实施的单点登录方案,即一种针对无法对目标应用进行修改的外部系统(如政府网站,互联网邮箱)的单点登录(SSO)的方案,也是一种保证安全、不改变原来应用系统源码、不需要在第三方系统放置组件、方便实施的单点登录方案。
本发明的技术方案,旨在提出一种单点登录解决方案,这种方案能够不仅能够不破坏和修改原来应用系统的代码,也不需要在第三方系统中放置组件,支持快速方便的实施,还可以保证实施之后的安全性。
本发明技术方案中涉及的一些概念和组件解释:
第三方系统:指需要接入SSO的业务系统。
门户:打开第三方系统的入口。
用户凭证表:Portal数据库的一张表,保存门户用户和第三方系统用户的映射关系和第三方系统的登录名、密码等。
凭证收集页:Portal提供的,在用户首次打开第三方系统或者第三方系统的密码有修改时,即Portal的用户凭证表与第三方的数据库中存储用户名密码的表不对应时,显示出来给用户输入用户密码的页面。
HttpClient:Apache提供的开源的支持 HTTP 协议的客户端编程工具包。
AES:一个用于保护电子数据的对称加密算法,汇聚了强安全性、高性能、高效率、易用和灵活等优点。
SHA:安全哈希算法(Secure Hash Algorithm)主要用做数字签名。该算法是把一串输入码(称为预映射或信息)转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)。
RSA:目前最有影响力的非对称密码算法,它能够抵抗到目前为止已知的绝大多数密码攻击,RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作,本发明的技术方案用RSA进行数字签名。
Cookie:网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,分为会话Cookie和永久Cookie,本发明的技术方案所指的Cookie都是只得会话Cookie。
SSO网关:部署在企业内部网络的一个网关,使第三方系统获得SSO能力。
本发明技术方案的原理:
对于方案一,由于其实施过程需要对第三方系统做源码级别的改动,风险较大、实施困难,我们不采用这种方案。本发明的技术方案主要在方案二的基础上,在不影响其实施的快捷性基础上,对其安全性能进行、改进。
在WEB开发中,服务器会为每个用户浏览器创建一个会话对象(session对象),session创建出来后,会把session的id号,以cookie的形式回写给客户端浏览器,以后用户每访问服务器的时候都会将这个cookie带上,这样就通过这个Cookie保持了客户端和服务器之间的会话。
本发明的技术方案采用“Portal端模拟登录建立会话”+“网关Cookie改写”的方式来进行会话漂移,从而达到单点登录和安全性的目标。首先Portal的HttpClient和第三方应用系统建立起会话,得到Cookie之后将其加密传给第三方应用系统,传输过程中经过SSO网关,由网关解密Cookie并发送给服务器及浏览器。这样就达到了浏览器和第三方应用系统之间安全的建立会话的目的。对于第三方系统没有做代码级别的修改,也不需要在第三方系统上放置组件。参见图7和图8。
本发明的技术方案的单点登录的主要过程:
⑴用户在Portal中打开第三方系统。
⑵Portal去用户凭证表中根据当前Portal用户、第三方系统编码取对应的凭证。
⑶如果成功取得凭证,则到⑸,否则在Portal中打开凭证制作页面。
⑷用户在凭证制作页面输入第三方系统的用户名和密码。
⑸用HttpClient模拟登录第三方系统,进行Cookie的收集,如果收集到,则到下一步,否则到⑶重新进行凭证制作。
⑹对收集到的Cookie进行加密和签名,将加密和签名后的值作为参数加入到第三方系统的URL后面,获得一个新的URL。通知用户的浏览器重定向到新的URL
TCP包经过SSO网关,由SSO网关对带有参数的URL进行签名验证,验证通过则对Cookie解密后发送到服务器。服务器返回的包经过SSO网关时设置到用户的浏览器中,如果验证不通过,返回给用户不安全的提示。参见图9。
凭证制作、Cookie收集、Cookie加密签名、Cookie验证解密是本发明的技术方案的关键步骤,下面详细介绍这三个方面。
凭证制作:凭证制作过程和背景技术中的方案二的过程是一样的,不是本发明的技术方案关注的重点,不在赘述。需要注意的是,为保证安全性,用户凭证表中的用户密码存是经过高级加密标准(Advanced Encryption Standard,简称AES)加密后的密文。
Cookie收集:在此阶段首先取得用户凭证库第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址等配置信息,并对其密码进行AES解密,然后用HttpClient模拟登录到取得的登录地址,如果收到了成功信息,则获得当前的会话Cookie。Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
在此阶段,在收集到Cookie的同时,实质上是建立了HttpClient对象和第三方系统之间的Session。下面的工作就是让用户的浏览器也与第三方系统也拥有这个Session,要达到这个目的就要将此收集的Cookie转移到用户浏览器中。参见图10。
Cookie加密、签名:收集到的Cookie需要通过网关传送给第三方系统,再传递给浏览器。
Cookie传送给第三方系统的通用SSO组件过程中是要通过网络的,就需要首先对Cookie进行加密,本发明的技术方案采用AES作为Cookie的加密算法,加密后的密文enc=AES(Cookie)。
将Cookie进行AES加密后,还需要进行签名。签名之后能有效防止截获加密Cookie的之后的伪装登录。首先用SHA算法生成加密密文的摘要,digest1=SHA(enc),然后用得到的摘要和当前时间戳的前八位用RSA进行签名,签名sign1=RSA(digest1+当前时间戳t1的前八位),签名之后就将密文和签名打包发送给第三方系统。
Cookie验证、解密:这个阶段是在SSO网关中进行。
首先将接收包解包,获得密文和签名,然后计算密文的摘要digest2=SHA(enc),用发送方的公钥对接收的数字签名进行RSA解密,判断这个生成值是否等于digest2+时间戳前八位,若相等,则表示此次接收到的Cookie是安全的,之后将此解密后的Cookie设置到浏览器中。因为之前在Cookie收集阶段HttpClient已经在第三方系统中建立起了会话,此时浏览器和第三方系统就建立起了会话。
图11是Cookie加密传输即会话漂移的全过程。
以上的阶段,如果用户之前曾登录过第三方系统,也就是已经制作过了凭证,当在Portal中打开第三方系统后是直接进入的,整个过程对用户来说是透明、无感知的,这就达到了单点登录的效果。
此单点登录方案实施过程:由上面的步骤可以看出,在增强了单点登录的安全性后,对于实施过程基本上没有增加工作,只需把通用标准的SSO组件放入支持单点登录的第三方系统中即可,下面是实施的完整过程。
Portal中添加第三方系统及其配置信息。在Portal中添加支持单点登录(SSO)的第三方系统,然后配置登录第三方系统时需提供的信息,如用户名、密码、登录提交地址、成功返回标志、通用SSO组件的地址等。如图12和图13所示。在客户的网络中部署SSO网关,网络流量通过SSO网关传递到互联网。
与现有技术相比,本发明的技术方案没有代码级的修改,更易实施;本发明的技术方案提供的安全的单点登录方案,更具安全特性,实施方便快捷。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂类型元数据登录的解决办法。现有的单点登录无法完成有复杂类型参与的单点登录过程。因此,本发明提出了一种单点登录装置和一种单点登录方法,可以在现有的单点登录方式基础上,充分利用单对象类型完成多对象类型的单点登录,建立多对象类型参与的面向复杂类型单点登录的通用、统一登录思路。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种单点登录方法,其特征在于,包括:
步骤204:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据:用户在Portal中打开第三方系统,Portal去用户凭证表中根据当前Portal用户、第三方系统编码取对应的凭证,如果成功取得凭证,则用HttpClient模拟登录第三方系统,进行Cookie的收集,否则在Portal中打开凭证制作页面,用户在凭证制作页面输入第三方系统的用户名和密码;
步骤206:基于获取的本地终端数据,进行安全性处理后,建立起浏览器和第三方系统之间的会话:将加密和签名后的值作为参数加入到第三方系统的URL后面,获得一个新的URL,通知用户的浏览器重定向到新的URL;
TCP包经过SSO网关,由SSO网关对带有参数的URL进行签名验证,验证通过则对Cookie解密后发送到服务器,服务器返回的包经过SSO网关时设置到用户的浏览器中,如果验证不通过,返回给用户不安全的提示;Cookie收集:在此阶段首先取得用户凭证库第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址等配置信息,并对其密码进行AES解密,然后用HttpClient模拟登录到取得的登录地址,如果收到了成功信息,则获得当前的会话Cookie,Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。
2.根据权利要求1所述的单点登录方法,其特征在于,该单点登录方法,还包括设置在所述步骤204之前的步骤202,用于制作包含用户配置信息、且经过AES加密处理的用户凭证表;
所述步骤204进一步地为:基于预设用户的配置信息,对获取的配置信息进行处理后,获取本地终端数据。
3.根据权利要求1或2所述的单点登录方法,其特征在于,所述步骤204,具体包括:
步骤302:获取用户凭证表中的配置信息;
步骤304:对获取的配置信息进行AES解密处理;
步骤306:解密处理获取登录地址后,用HttpClient模拟登录到取得的登录地址;
步骤308:在模拟登录过程中,当收到成功登录的信息时,获取当前会话的本地终端数据。
4.根据权利要求3所述的单点登录方法,其特征在于,所述步骤302获取的用户凭证表中的配置信息,包括第三方系统的用户名、密码和第三方系统的配置表里的用户名字段名、密码字段名、登录地址。
5.根据权利要求3所述的单点登录方法,其特征在于,所述步骤206,具体包括:
步骤402:基于获取的本地终端数据,进行AES加密处理;
步骤404:加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;
步骤406:将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;
步骤408:当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。
6.根据权利要求4所述的单点登录方法,其特征在于,所述步骤206,具体包括:
步骤402:基于获取的本地终端数据,进行AES加密处理;
步骤404:加密处理后,进行签名处理,将获取的密文和签名打包发送给第三方系统;
步骤406:将第三方系统获取的接收包进行解包处理,获得密文和签名;基于密文的摘要,用发送方的公钥对接收的数字签名进行RSA解密处理;
步骤408:当RSA解密所得生成值预设时间戳时,将该RSA解密后的本地终端数据设置到浏览器中,建立起浏览器和第三方系统之间的会话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510521720.7A CN105049448B (zh) | 2015-08-24 | 2015-08-24 | 单点登录装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510521720.7A CN105049448B (zh) | 2015-08-24 | 2015-08-24 | 单点登录装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049448A CN105049448A (zh) | 2015-11-11 |
CN105049448B true CN105049448B (zh) | 2019-06-21 |
Family
ID=54455658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510521720.7A Active CN105049448B (zh) | 2015-08-24 | 2015-08-24 | 单点登录装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105049448B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936759A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息股份有限公司 | 一种单点登录方法、服务器及客户端 |
CN107276966B (zh) * | 2016-04-07 | 2020-03-03 | 北京京东尚科信息技术有限公司 | 一种分布式系统的控制方法及登录系统 |
CN107742242A (zh) * | 2017-10-16 | 2018-02-27 | 苏州赛科计算机信息系统有限公司 | 订单处理方法及装置 |
CN111163083A (zh) * | 2019-12-27 | 2020-05-15 | 杭州数梦工场科技有限公司 | 基于应用粒度的登录会话控制方法、装置及计算机设备 |
CN111343189A (zh) * | 2020-03-05 | 2020-06-26 | 安徽科大国创软件科技有限公司 | 一种实现多个既有web系统统一登录的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243488A (zh) * | 2014-09-29 | 2014-12-24 | 成都西山居互动娱乐科技有限公司 | 一种跨网站服务器的登录认证方法 |
CN104394172A (zh) * | 2014-12-12 | 2015-03-04 | 用友软件股份有限公司 | 单点登录装置和方法 |
-
2015
- 2015-08-24 CN CN201510521720.7A patent/CN105049448B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243488A (zh) * | 2014-09-29 | 2014-12-24 | 成都西山居互动娱乐科技有限公司 | 一种跨网站服务器的登录认证方法 |
CN104394172A (zh) * | 2014-12-12 | 2015-03-04 | 用友软件股份有限公司 | 单点登录装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105049448A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104394172B (zh) | 单点登录装置和方法 | |
US9531692B2 (en) | Method of securing mobile applications using distributed keys | |
US9852300B2 (en) | Secure audit logging | |
CN101674304B (zh) | 一种网络身份认证系统及方法 | |
CN105049448B (zh) | 单点登录装置和方法 | |
US8745394B1 (en) | Methods and systems for secure electronic communication | |
CN101938473B (zh) | 单点登录系统及单点登录方法 | |
US20150033020A1 (en) | Protocol for Controlling Access to Encryption Keys | |
CN104038486B (zh) | 一种基于标识型密码实现用户登录鉴别的系统及方法 | |
EP2544117A1 (en) | Method and system for sharing or storing personal data without loss of privacy | |
US9531542B2 (en) | Secure remote password | |
CN102325026A (zh) | 账号密码安全加密系统 | |
CN110049002B (zh) | 一种基于PUF的IPSec认证方法 | |
Wardana et al. | Access control on internet of things based on publish/subscribe using authentication server and secure protocol | |
US20230037520A1 (en) | Blockchain schema for secure data transmission | |
CN104683306A (zh) | 一种安全可控的互联网实名认证机制 | |
CN113014394B (zh) | 基于联盟链的电子数据存证方法及系统 | |
CN109309645A (zh) | 一种软件分发安全保护方法 | |
CN106230594A (zh) | 一种基于动态口令进行用户认证的方法 | |
Alizai et al. | Key-based cookie-less session management framework for application layer security | |
CN104992100A (zh) | 用于电子文档流转的虹膜动态加密解密系统及方法 | |
CN103716280B (zh) | 数据传输方法、服务器及系统 | |
CN116962042A (zh) | 一种数据共享平台 | |
Suga | SSL/TLS status survey in Japan-transitioning against the renegotiation vulnerability and short RSA key length problem | |
CN104811421A (zh) | 基于数字版权管理的安全通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |