CN112398799A - 一种单点登录方法、装置及*** - Google Patents
一种单点登录方法、装置及*** Download PDFInfo
- Publication number
- CN112398799A CN112398799A CN201910764781.4A CN201910764781A CN112398799A CN 112398799 A CN112398799 A CN 112398799A CN 201910764781 A CN201910764781 A CN 201910764781A CN 112398799 A CN112398799 A CN 112398799A
- Authority
- CN
- China
- Prior art keywords
- certificate
- terminal equipment
- verification
- single sign
- application server
- 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.)
- Pending
Links
Images
Classifications
-
- 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/40—Network security protocols
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提供一种单点登录方法、装置及***,涉及网络安全技术领域,用于提高SSO中的应用服务器的数据的安全性。该方法包括:接收终端设备发送的登录请求;登录请求携带有终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;向区块链网络发送第一验证请求,第一验证请求用于请求区块链网络根据证书的校验验证证书是否有效;接收区块链网络发送的第一验证应答;在第一验证应答指示证书有效的情况下,向终端设备发送登录凭证,并根据终端设备的权限信息向区块链网络写入与登录凭证对应的访问权限。本发明实施例用于对访问SSO***中的应用服务器的终端设备进行安全验证。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种单点登录方法、装置及***。
背景技术
企业公司或组织往往拥有多个应用服务器,为了提高用户或员工效率、简化管理等目的,企业或组织普遍部署了单点登录***(Single Sign On,SSO),通过SSO的部署,用户只需要登录一次就可以访问所有相互信任的应用服务器。
随着网络黑客在窃取用户凭据(例如账号和密码)的能力和手段方面的进化,登录保护变得越来越不可靠;而且由于攻击者窃取了的用户凭据登录SSO中的任一应用服务器后,攻击者可以获取与该应用服务器相互信任的所有应用服务器中的数据,因此相比于常规应用服务器,SSO中的应用服务器的数据安全性更低。为了SSO中的应用服务器的数据的安全性,现有技术中提出在身份验证时,采用基于证书的用户识别机制替换原来的用户名和密码机制,虽然基于证书的用户识别比原来简单的用户名和密码机制更安全,但是对于小型公司或组织而言,证书验证是非常具有挑战性的。此外,即使采用了基于证书的用户识别机制,攻击者还可以伪造根证书,进而伪造用户证书,因此即使SSO中的应用服务器在身份验证时采用基于证书的用户识别机制替换用户名和密码机制,SSO中的应用服务器仍有可能被攻击者访问,进而造成数据泄露。
发明内容
有鉴于此,本发明实施例提供一种单点登录方法、装置及***,用于提高SSO中的应用服务器的数据的安全性。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供一种单点登录方法,应用于身份认证服务器,所述方法包括:
接收终端设备发送的登录请求;所述登录请求携带有所述终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;
向区块链网络发送第一验证请求,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效;
接收所述区块链网络发送的第一验证应答;
在所述第一验证应答指示所述证书有效的情况下,向所述终端设备发送所述登录凭证,并根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
作为本发明实施例一种可选的实施方式,在向区块链网络发送第一验证请求之前,所述方法还包括:
接收所述终端设备发送的注册请求,所述注册请求携带有用户资料;
根据所述用户资料和所述权限信息生成所述证书;
向所述终端设备发送所述证书,并将所述证书的校验写入所述区块链网络。
作为本发明实施例一种可选的实施方式,在向所述终端设备发送所述证书,并将所述证书的校验写入所述区块链网络之后,所述方法还包括:删除根据所述用户资料和所述权限信息生成的所述证书。
作为本发明实施例一种可选的实施方式,所述方法还包括:
在所述第一验证应答指示所述证书无效的情况下,向所述终端设备发送提示信息;
其中,所述提示信息用于提示所述终端设备的证书无效。
第二方面,本发明实施例提供一种单点登录方法,应用于单点登录***SSO中的目标应用服务器,所述方法包括:
接收终端设备发送的访问请求,所述访问请求携带有登录凭证;
向区块链网络发送第二验证请求,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述目标应用服务器的权限;
接收所述区块链网络发送的第二验证应答;
在所述第二验证应答指示所述终端设备具有访问所述目标应用服务器的权限的情况下,允许所述终端设备进行访问。
作为本发明实施例一种可选的实施方式,所述方法还包括:
在所述第二验证应答指示所述终端设备没有访问所述目标应用服务器的权限的情况下,拒绝所述终端设备进行访问。
第三方面,本发明实施例提供一种单点登录装置,应用于身份认证服务器,包括:
接收单元,用于接收终端设备发送的登录请求;所述登录请求携带有所述终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;
发送单元,用于向区块链网络发送第一验证请求,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效;
所述接收单元,还用于接收所述区块链网络发送的第一验证应答;
所述发送单元,还用于在所述第一验证应答指示所述证书有效的情况下,向所述终端设备发送所述登录凭证;
写入单元,用于在所述第一验证应答指示所述证书有效的情况下,根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
作为本发明实施例一种可选的实施例方式,所述单点登录装置还包括:证书生成单元;
所述接收单元,还用于在所述发送单元向区块链网络发送第一验证请求之前,接收接收所述终端设备发送的注册请求,所述注册请求携带有用户资料;
所述证书生成单元,用于根据所述用户资料和所述权限信息生成所述证书;
所述发送单元,还用于向所述终端设备发送所述证书;
所述写入单元,还用于将所述证书的校验写入所述区块链网络。
作为本发明实施例一种可选的实施例方式,所述单点登录装置还包括:
删除单元,用于在所述发送单元向所述终端设备发送所述证书,且所述写入单元将所述证书的校验写入所述区块链网络之后,删除根据所述用户资料和所述权限信息生成的所述证书。
作为本发明实施例一种可选的实施例方式,所述发送单元,还用于在所述第一验证应答指示所述证书无效的情况下,向所述终端设备发送提示信息;
其中,所述提示信息用于提示所述终端设备的证书无效。
第四方面,本发明实施例提供一种单点登录装置,应用于应用服务器,所述应用服务器为单点登录***SSO中的应用服务器,所述单点登录装置包括:
接收单元,用于接收终端设备发送的访问请求,所述访问请求携带有登录凭证;
发送单元,用于区块链网络发送第二验证请求,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述应用服务器的权限;
所述接收单元,还用于接收所述区块链网络发送的第二验证应答;
所述处理单元,用于在所述第二验证应答指示所述终端设备具有访问所述应用服务器的权限的情况下,允许所述终端设备进行访问。
作为本发明实施例一种可选的实施例方式,所述处理单元,还用于在所述第二验证应答指示所述终端设备没有访问所述应用服务器的权限的情况下,拒绝所述终端设备进行访问。
第五方面,本发明实施例提供一种身份认证服务器,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行第一方面或第一方面任一实施方式所述的单点登录方法。
第六方面,本发明实施例提供一种应用服务器,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行第一方面或第二方面任二实施方式所述的单点登录方法。
第七方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求第一方面或第二方面或第一方面任一实施方式或第二方面任一实施方式所述的单点登录方法。
第八方面,本发明实施例提供一种单点登录***,包括:第三方面或第三方面任一实施方式所述的单点登录装置、第四方面或第四方面任一实施方式所述的单点登录装置、第五方面所述的身份认证服务器以及第六方面所述的应用服务器中的至少一个。
本发明实施例提供的单点登录方法,在身份认证服务器接收终端设备发送的登录请求时,首先向区块链网络发送请求验证所述证书是否有效,且只有在接收到的第一验证应答指示所述证书有效的情况下,才会向所述终端设备发送所述登录凭证,因此本发明实施例首先可以在终端设备登录SSO时,通过区块链网络对终端设备的证书的有效性进行校验,从而身份认证方面提高SSO中的应用服务器的数据的安全性;此外,在所述第一验证应答指示所述证书有效的情况下,身份认证服务器还会根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限,终端设备在通过登录凭证登录SSO并想要访问SSO中的目标应用服务器时,目标应用服务器会将向区块链网络发送用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述目标应用服务器的权限的第二验证请求,且只有在所述第二验证应答指示所述终端设备具有访问所述目标应用服务器的权限的情况下,才允许所述终端设备进行访问,因此发明实施例还可以在终端设备访问SSO中的应用服务器时,从用户权限方面提高SSO中的应用服务器的数据的安全性;即,本发明实施例可以从身份认证和用户权限两方面提高SSO中的应用服务器的数据的安全性,因此相比于现有技术本发明实施例可以提高SSO中的应用服务器的数据的安全性。
附图说明
图1为本发明实施例提供的单点登录***的示意性结构图;
图2为本发明实施例提供的单点登录方法的交互流程示意图;
图3为本发明实施例提供的单点登录装置的结构示图;
图4为本发明实施例提供的身份认证服务器的硬件结构示意图;
图5为本发明实施例提供的单点登录装置的结构示图;
图6为本发明实施例提供的应用服务器的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。如果不加说明,本文中的“多个”是指两个或两个以上。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,以了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本发明实施例中,除非另有说明,“多个”的含义是指两个或者两个以上。
以下首先对本发明实施例提供的单点登录方法所应用的***架构进行说明。
参照图1所示,本发明实施例提供的单点登录***包括:至少一个终端设备(图1中以包括一个终端设备11为例示出)、包括多个应用服务器的SSO***12(图5中以SSO***12中包括应用服务器121、应用服务器122、应用服务器123、应用服务器124以及应用服务器125为例示出)、身份认证服务器13以及区块链网络14。
其中,终端设备11与身份认证服务器13之间可以进行有线通信或无线通信,终端设备11与SSO***12的各个应用服务器均可以进行有线通信或无线通信;SSO***12中的各个应用服务器均与区块链网络14之间可以进行有线通信或无线通信,身份认证服务器13与区块链网络14之间也可以进行有线通信或无线通信。
本发明实施例中的终端设备11可以为手机、平板电脑、笔记本电脑、个人计算机(personal computer,PC)超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、智能手表、智能手环等,或者该终端设备还可以为其他类型的电子设备,本发明实施例不作限定。为了便于本领域技术人员的理解,附图中以终端设备11为PC为例示出。
本发明实施例提供一种单点登录方法,参照图2所示,在本发明实施提供的单点登录方法中上述单点登录***中各个装置分别执行如下步骤:
S11、终端设备向身份认证服务器发送登录请求。
对应的,身份认证服务器接收终端设备发送的登录请求。
其中,所述登录请求携带有所述终端设备的证书,用于请求获取登录SSO的登录凭证。
S12、身份认证服务器向区块链网络发送第一验证请求。
对应的,区块链网络接收身份认证服务器发送的第一验证请求。
其中,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效。
S13、区块链网络向身份认证服务器发送第一验证应答。
对应的,身份认证服务器接收区块链网络发送的第一验证应答。
其中,第一验证应答用于指示所述证书有效,或者所述证书无效。
当所述第一验证应答指示所述证书有效的情况下,执行如下步骤S14以及S14之后的各步骤。
S14、身份认证服务器向所述终端设备发送所述登录凭证。
对应的,终端设备接收身份认证服务器发送的登录凭证。
S15、身份认证服务器根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
对应的,区块链网络接收身份认证服务器写入的与所述登录凭证对应的访问权限。
可选的,身份认证服务器获取终端设备的权限信息的实现方式可以为:建立轻型目录访问协议(Lightweight Directory Access Protocol,LDAP),并将终端设备的数据(包括:终端设备的权限信息)保存在LDAP,在需要获取终端设备的权限信息时,从LDAP中读取终端设备的权限信息。
至上述步骤S14,身份验证服务器完成了对终端设备的身份验证。在身份验证服务器对终端设备进行身份验证的过程中,由于身份验证服务器通过将终端设备的证书发送至区块链网络并接收区块链网络的验证结果,且根据区块链网络的验证结果确定是否向终端设备发送登录凭证,因此上述实施例可以防止网络攻击者伪造根证书并伪造用户证书进行登录,进而提升SSO中的应用服务器中的数据的安全性。
S16、终端设备向所述SSO中的目标应用服务器发送访问请求。
对应的,目标应用服务器接收终端设备发送的访问请求。
其中,所述访问请求携带有登录凭证。
S17、目标应用服务器向区块链网络发送第二验证请求。
对应的,区块链网络接收所述目标应用服务器发送的第二验证请求。
其中,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述目标应用服务器的权限。
S18、区块链网络向目标应用服务器发送第二验证应答。
对应的,目标应用服务器接收区块链网络发送的第二验证应答。
其中,所述第二验证应答用于指示所述终端设备具有访问所述目标应用服务器的权限,或者所述终端设备没有访问所述目标应用服务器的权限。
在第二验证应答指示所述终端设备具有访问所述目标应用服务器的权限的情况下,执行如下步骤S19。
S19、目标应用服务器允许所述终端设备进行访问。
通过上述步骤S15至S19,目标应用服务器完成了对终端设备访问权限的验证。在目标应用服务器对终端设备访问权限的验证的过程中,由于目标应用向区块链网络发送第二验证请求,并根据区块链网络发送的第二验证应答确定是否允许终端设备进行访问,因此上述实施例可以避免网络攻击者篡改终端设备的访问权限,进而造成数据泄露,因此本发明实施例可以进一步提升SSO中的应用服务器中的数据的安全性。
本发明实施例提供的单点登录方法,在身份认证服务器接收终端设备发送的登录请求时,首先向区块链网络发送请求验证所述证书是否有效,且只有在接收到的第一验证应答指示所述证书有效的情况下,才会向所述终端设备发送所述登录凭证,因此本发明实施例首先可以在终端设备登录SSO时,通过区块链网络对终端设备的证书的有效性进行校验,从而身份认证方面提高SSO中的应用服务器的数据的安全性;此外,在所述第一验证应答指示所述证书有效的情况下,身份认证服务器还会根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限,终端设备在通过登录凭证登录SSO并想要访问SSO中的目标应用服务器时,目标应用服务器会将向区块链网络发送用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述目标应用服务器的权限的第二验证请求,且只有在所述第二验证应答指示所述终端设备具有访问所述目标应用服务器的权限的情况下,才允许所述终端设备进行访问,因此发明实施例还可以在终端设备访问SSO中的应用服务器时,从用户权限方面提高SSO中的应用服务器的数据的安全性;即,本发明实施例可以从身份认证和用户权限两方面提高SSO中的应用服务器的数据的安全性,因此相比于现有技术本发明实施例可以提高SSO中的应用服务器的数据的安全性。
作为本发明实施例一种可选的实施方式,在上述步骤S12(身份认证服务器向区块链网络发送第一验证请求)之前,本发明实施例提供的单点登录方法还包括如下步骤a-步骤c。
步骤a、身份认证服务器接收所述终端设备发送的注册请求。
其中,所述注册请求携带有用户资料。
示例性的,用户资料可以包括用户的用户名称、识别码等信息。
步骤b、身份认证服务器根据所述用户资料和所述权限信息生成所述证书。
需要说明的,权限信息的获取方式可以为:身份认证服务器根据用户资料为终端设备配置;也可以为:终端设备在注册请求中携带权限请求信息,身份认证服务器对注册请求中携带权限请求信息进行审核,并将审核通过的权限请求项作为所述权限信息。
当终端设备在注册请求中携带权限请求信息,身份认证服务器对注册请求中携带权限请求信息进行审核,并将审核通过的权限请求项作为所述权限信息的情况下,终端设备发送的注册请求中携带的限请求信息与权限信息可以相同,也可以不同。例如:终端设备发送的注册请求中携带的权限请求信息包括:访问应用服务器A、访问应用服务器B以及访问应用服务器C,身份认证服务器生成所述证书时的权限信息可以包括:访问应用服务器A、访问应用服务器B以及访问应用服务器C的权限,也可以包括:访问应用服务器A和访问应用服务器B的权限,而不包括访问应用服务器C的权限。
步骤c、身份认证服务器向所述终端设备发送所述证书,并将所述证书的校验写入所述区块链网络。
对应的,终端设备接收身份认证服务器发送的证书,区块链网络接收写入的证书校验。
由于身份认证服务器需要向区块链网络写入证书的校验,因此身份认证服务器首先需要生成证书的校验。本发明实施例对生成证书校验的算法不做限定。
根据上述单点登录方法中身份认证服务器的功能,本发明实施例提供的身份认证服务器可以由如下几个模块构成:
账号管理模块,主要功能包括:
建立LDAP***存储用户数据;
建立用户注册与审核机制,允许用户在线注册,并对用户进行审核;
建立用户管理机制,允许用户管理员对用户进行增删改查,并利用邮件等方式通知用户;
建立用户权限管理机制,允许管理员对用户访问相关***的权限进行管理。
证书管理模块,主要功能包括:
用于根据用户资料数据生成证书;
计算证书的校验,并写入到区块链网络中;
生成用户下载证书的唯一链接并发送至终端设备;
建立证书管理机制,允许管理员对证书进行撤销和续期。
身份认证模块,主要功能包括:
在终端设备根据唯一链接请求下载证书时,将证书发送至终端设备;
在终端和设备登录请求时,对终端设备携带的证书进行解析;
按照规定数据结构填充证书信息后,向区块链网络发起证书验证请求;
证书验证成功后,从LDAP***获取权限信息,然后向区块链网络写入访问权限;
证书验证成功后,向终端设备返回登录凭证。
作为本发明实施例一种可选的实施方式,在上述步骤c中向所述终端设备发送所述证书之后,本发明实施例提供的单点登录方法还包括:
身份认证服务器删除根据所述用户资料和所述权限信息生成的所述证书。
由于身份认证服务器在将证书发送至终端设备之后,会删除根据所述用户资料和所述权限信息生成的所述证书,可以避免网络攻击者入侵身份认证服务器获取终端设备的证书,因此上述实施例可以进一步提升SSO中的应用服务器的数据的安全性。
作为本发明实施例一种可选的实施方式,在所述第一验证应答指示所述证书无效的情况下,本发明实施例提供的单点登录方法还包括:
身份认证服务器向所述终端设备发送提示信息;
其中,所述提示信息用于提示所述终端设备的证书无效。
作为本发明实施例一种可选的实施方式,在所述第二验证应答指示所述终端设备没有访问所述目标应用服务器的权限的情况下,本发明实施例提供的单点登录方法还包括:
目标应用服务器拒绝所述终端设备进行访问。
本申请实施例可以根据上述方法示例对终端设备等进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成单元的情况下,图3示出了上述实施例中所涉及的应用于身份认证服务器的单点登录装置的一种可能的结构示意图,该单点登录装置300包括:
接收单元31,用于接收终端设备发送的登录请求;所述登录请求携带有所述终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;
发送单元32,用于向区块链网络发送第一验证请求,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效;
所述接收单元31,还用于接收所述区块链网络发送的第一验证应答;
所述发送单元32,还用于在所述第一验证应答指示所述证书有效的情况下,向所述终端设备发送所述登录凭证;
写入单元33,用于在所述第一验证应答指示所述证书有效的情况下,根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
参照图3所示,作为本发明实施例一种可选的实施例方式,所述单点登录装置300还包括:证书生成单元34;
所述接收单元31,还用于在所述发送单元向区块链网络发送第一验证请求之前,接收接收所述终端设备发送的注册请求,所述注册请求携带有用户资料;
所述证书生成单元34,用于根据所述用户资料和所述权限信息生成所述证书;
所述发送单元32,还用于向所述终端设备发送所述证书;
所述写入单元33,还用于将所述证书的校验写入所述区块链网络。
参照图3所示,作为本发明实施例一种可选的实施例方式,所述单点登录装置300还包括:
删除单元35,用于在所述发送单元向所述终端设备发送所述证书,且所述写入单元将所述证书的校验写入所述区块链网络之后,删除根据所述用户资料和所述权限信息生成的所述证书。
作为本发明实施例一种可选的实施例方式,所述发送单元32,还用于在所述第一验证应答指示所述证书无效的情况下,向所述终端设备发送提示信息;
其中,所述提示信息用于提示所述终端设备的证书无效。
在采用集成单元的情况下,图4示出了上述实施例中所涉及的应用于SSO中的应用服务器的单点登录装置的一种可能的结构示意图,该单点登录装置400包括:
接收单元41,用于接收终端设备发送的访问请求,所述访问请求携带有登录凭证;
发送单元42,用于区块链网络发送第二验证请求,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述应用服务器的权限;
所述接收单元41,还用于接收所述区块链网络发送的第二验证应答;
所述处理单元43,用于在所述第二验证应答指示所述终端设备具有访问所述应用服务器的权限的情况下,允许所述终端设备进行访问。
作为本发明实施例一种可选的实施例方式,所述处理单元43,还用于在所述第二验证应答指示所述终端设备没有访问所述应用服务器的权限的情况下,拒绝所述终端设备进行访问。
由于本发明实施例提供的应用于身份认证服务器的单点登录装置及应用于应用服务器的单点登录装置可以执行上述方法实施例提供的单点登录方法,因此可以达到技术效果与上述实施例类似,此处不再赘述。
基于同一发明构思,本发明实施例还提供了一种身份认证服务器。图5为本发明实施例提供的身份认证服务器的结构示意图,如图5所示,本实施例提供的身份认证服务器包括:存储器51和处理器52,存储器51用于存储计算机程序;处理器52用于在调用计算机程序时执行上述方法实施例所述的单点登录方法中身份认证服务器所执行的步骤。
基于同一发明构思,本发明实施例还提供了一种SSO中的应用服务器。图6为本发明实施例提供的应用服务器的结构示意图,如图6所示,本实施例提供的应用服务器包括:存储器61和处理器62,存储器61用于存储计算机程序;处理器62用于在调用计算机程序时执行上述方法实施例所述的单点登录方法中应用服务器所执行的步骤。
本实施例提供的身份认证服务器以及应用服务器可以执行上述方法实施例提供的单点登录方法,其实现原理与技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的单点登录方法。
本领域技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种单点登录方法,应用于身份认证服务器,其特征在于,所述方法包括:
接收终端设备发送的登录请求;所述登录请求携带有所述终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;
向区块链网络发送第一验证请求,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效;
接收所述区块链网络发送的第一验证应答;
在所述第一验证应答指示所述证书有效的情况下,向所述终端设备发送所述登录凭证,并根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
2.根据权利要求1所述的方法,其特征在于,在向区块链网络发送第一验证请求之前,所述方法还包括:
接收所述终端设备发送的注册请求,所述注册请求携带有用户资料;
根据所述用户资料和所述权限信息生成所述证书;
向所述终端设备发送所述证书,并将所述证书的校验写入所述区块链网络。
3.根据权利要求2所述的方法,其特征在于,在向所述终端设备发送所述证书,并将所述证书的校验写入所述区块链网络之后,所述方法还包括:删除根据所述用户资料和所述权限信息生成的所述证书。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在所述第一验证应答指示所述证书无效的情况下,向所述终端设备发送提示信息;
其中,所述提示信息用于提示所述终端设备的证书无效。
5.一种单点登录方法,应用于单点登录***SSO中的目标应用服务器,其特征在于,所述方法包括:
接收终端设备发送的访问请求,所述访问请求携带有登录凭证;
向区块链网络发送第二验证请求,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述目标应用服务器的权限;
接收所述区块链网络发送的第二验证应答;
在所述第二验证应答指示所述终端设备具有访问所述目标应用服务器的权限的情况下,允许所述终端设备进行访问。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述第二验证应答指示所述终端设备没有访问所述目标应用服务器的权限的情况下,拒绝所述终端设备进行访问。
7.一种单点登录的装置,应用于身份认证服务器,其特征在于,包括:
接收单元,用于接收终端设备发送的登录请求;所述登录请求携带有所述终端设备的证书,用于请求获取登录单点登录***SSO的登录凭证;
发送单元,用于向区块链网络发送第一验证请求,所述第一验证请求用于请求所述区块链网络根据所述证书的校验验证所述证书是否有效;
所述接收单元,还用于接收所述区块链网络发送的第一验证应答;
所述发送单元,还用于在所述第一验证应答指示所述证书有效的情况下,向所述终端设备发送所述登录凭证;
写入单元,用于在所述第一验证应答指示所述证书有效的情况下,根据终端设备的权限信息向所述区块链网络写入与所述登录凭证对应的访问权限。
8.一种单点登录装置,应用于应用服务器,其特征在于,所述应用服务器为单点登录***SSO中的应用服务器,所述单点登录装置包括:
接收单元,用于接收终端设备发送的访问请求,所述访问请求携带有登录凭证;
发送单元,用于区块链网络发送第二验证请求,所述第二验证请求用于请求所述区块链网络根据所述登录凭证对应的访问权限验证所述终端设备是否具有访问所述应用服务器的权限;
所述接收单元,还用于接收所述区块链网络发送的第二验证应答;
所述处理单元,用于在所述第二验证应答指示所述终端设备具有访问所述应用服务器的权限的情况下,允许所述终端设备进行访问。
9.一种身份认证服务器,其特征在于,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行权利要求1-5任一项所述的单点登录方法。
10.一种应用服务器,其特征在于,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行权利要求6或7所述的单点登录方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1-6任一项所述的单点登录方法。
12.一种单点登录***,其特征在于,包括:权利要求7所述的单点登录装置、权利要求8所述的单点登录装置、权利要求9所述的身份认证服务器以及权利权利要求10所述的应用服务器中的至少一个。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764781.4A CN112398799A (zh) | 2019-08-19 | 2019-08-19 | 一种单点登录方法、装置及*** |
PCT/CN2020/097895 WO2021031689A1 (zh) | 2019-08-19 | 2020-06-24 | 一种单点登录方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764781.4A CN112398799A (zh) | 2019-08-19 | 2019-08-19 | 一种单点登录方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112398799A true CN112398799A (zh) | 2021-02-23 |
Family
ID=74603399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910764781.4A Pending CN112398799A (zh) | 2019-08-19 | 2019-08-19 | 一种单点登录方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112398799A (zh) |
WO (1) | WO2021031689A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420282A (zh) * | 2021-06-12 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种跨站点的单点登录方法和装置 |
CN117544379A (zh) * | 2023-11-22 | 2024-02-09 | 北京京东方技术开发有限公司 | 用户数据的传输方法、装置、电子设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115250186B (zh) * | 2021-04-12 | 2024-04-16 | 顺丰科技有限公司 | 网络连接认证方法、装置、计算机设备和存储介质 |
CN113794716B (zh) * | 2021-09-14 | 2023-06-06 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种终端设备入网认证方法、装置、设备及可读存储介质 |
CN114567509B (zh) * | 2022-03-18 | 2024-04-30 | 上海派拉软件股份有限公司 | 一种Web应用访问***及方法 |
CN116028915B (zh) * | 2023-03-29 | 2023-08-04 | 江苏智云天工科技有限公司 | 用户访问的单点认证鉴权方法、***和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173850A (zh) * | 2017-12-28 | 2018-06-15 | 杭州趣链科技有限公司 | 一种基于区块链智能合约的身份认证***和身份认证方法 |
US10102526B1 (en) * | 2017-03-31 | 2018-10-16 | Vijay K. Madisetti | Method and system for blockchain-based combined identity, ownership, integrity and custody management |
US20190163896A1 (en) * | 2017-11-28 | 2019-05-30 | American Express Travel Related Services Company, Inc. | Single Sign-On Solution Using Blockchain |
CN109936569A (zh) * | 2019-02-21 | 2019-06-25 | 领信智链(北京)科技有限公司 | 一种基于以太坊区块链的去中心化数字身份登录管理*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628566B2 (en) * | 2017-11-20 | 2020-04-21 | International Business Machines Corporation | Authentication using delegated identities |
CN109639711A (zh) * | 2018-12-29 | 2019-04-16 | 成都康赛信息技术有限公司 | 一种基于私有链会话id的分布式cas认证方法 |
CN109889503B (zh) * | 2019-01-22 | 2022-02-22 | 平安科技(深圳)有限公司 | 基于区块链的身份管理方法、电子装置及存储介质 |
-
2019
- 2019-08-19 CN CN201910764781.4A patent/CN112398799A/zh active Pending
-
2020
- 2020-06-24 WO PCT/CN2020/097895 patent/WO2021031689A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102526B1 (en) * | 2017-03-31 | 2018-10-16 | Vijay K. Madisetti | Method and system for blockchain-based combined identity, ownership, integrity and custody management |
US20190163896A1 (en) * | 2017-11-28 | 2019-05-30 | American Express Travel Related Services Company, Inc. | Single Sign-On Solution Using Blockchain |
CN108173850A (zh) * | 2017-12-28 | 2018-06-15 | 杭州趣链科技有限公司 | 一种基于区块链智能合约的身份认证***和身份认证方法 |
CN109936569A (zh) * | 2019-02-21 | 2019-06-25 | 领信智链(北京)科技有限公司 | 一种基于以太坊区块链的去中心化数字身份登录管理*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420282A (zh) * | 2021-06-12 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种跨站点的单点登录方法和装置 |
CN117544379A (zh) * | 2023-11-22 | 2024-02-09 | 北京京东方技术开发有限公司 | 用户数据的传输方法、装置、电子设备和存储介质 |
CN117544379B (zh) * | 2023-11-22 | 2024-06-07 | 北京京东方技术开发有限公司 | 用户数据的传输方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021031689A1 (zh) | 2021-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240022431A1 (en) | Methods and systems for device authentication | |
CN110915183B (zh) | 经由硬/软令牌验证的区块链认证 | |
EP3207661B1 (en) | Identity infrastructure as a service | |
US9264232B2 (en) | Cryptographic device that binds an additional authentication factor to multiple identities | |
CN112398799A (zh) | 一种单点登录方法、装置及*** | |
EP3061027B1 (en) | Verifying the security of a remote server | |
Grosse et al. | Authentication at scale | |
US8839395B2 (en) | Single sign-on between applications | |
US9780950B1 (en) | Authentication of PKI credential by use of a one time password and pin | |
JP2022545627A (ja) | 分散化されたデータ認証 | |
CN112491881A (zh) | 跨平台单点登录方法、***、电子设备及存储介质 | |
US20170104748A1 (en) | System and method for managing network access with a certificate having soft expiration | |
Alnahari et al. | Authentication of IoT device and IoT server using security key | |
Schwarz et al. | Feido: Recoverable FIDO2 tokens using electronic ids | |
CN105379176B (zh) | 用于验证scep证书注册请求的***和方法 | |
CN109802927B (zh) | 一种安全服务提供方法及装置 | |
Binu et al. | A mobile based remote user authentication scheme without verifier table for cloud based services | |
US11570163B2 (en) | User authentication system | |
US20180007039A1 (en) | Virtual smart cards with audit capability | |
Ponnusamy et al. | Two-factor human authentication for mobile applications | |
US11977620B2 (en) | Attestation of application identity for inter-app communications | |
CN112822007B (zh) | 一种用户认证方法、装置及设备 | |
Kyrillidis et al. | A smart card web server in the web of things | |
Tamrakar et al. | On rehoming the electronic id to TEEs | |
Schwarz et al. | FeIDo: Recoverable FIDO2 Tokens Using Electronic IDs (Extended Version) |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |
|
RJ01 | Rejection of invention patent application after publication |