CN107749854B - 基于客户端的单点登录方法及系统 - Google Patents
基于客户端的单点登录方法及系统 Download PDFInfo
- Publication number
- CN107749854B CN107749854B CN201711033888.9A CN201711033888A CN107749854B CN 107749854 B CN107749854 B CN 107749854B CN 201711033888 A CN201711033888 A CN 201711033888A CN 107749854 B CN107749854 B CN 107749854B
- Authority
- CN
- China
- Prior art keywords
- login information
- random number
- client
- module
- login
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
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)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于客户端的单点登录方法及系统,涉及浏览器登录应用领域。该方法的步骤为:服务端创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限;客户端将用户的登录信息上传至服务端,服务端确认白名单文件中存在当前登录信息后,根据登录信息生成随机数并下发至客户端;服务端对客户端上传的随机数进行验签通过后,客户端获取登录信息具备登录权限的所有应用系统后,根据应用系统生成应用系统集成页面。本发明能够在服务端针对每位用户仅储存1条登录信息的基础上,实现单点登录,进而显著降低服务端的内存,提高服务端的工作效率和质量。
Description
技术领域
本发明涉及浏览器登录应用领域,具体涉及一种基于客户端的单点登录方法及系统。
背景技术
用户通过浏览器登录可以进入一个应用系统,访问该应用系统的相关数据。现有的浏览器登录方式为:每登录一个应用系统,均需要输入的登录信息(用户名和密码)来进行登录验证,当登录多个互相信任的应用系统时,输入多次登录信息比较繁琐,不仅操作效率较低,而且多次输入可能造成登录信息外泄,安全存在一定隐患。
为了解决上述问题,业界提出了单点登录方法:在多个相互信任的应用系统中,用户只需在登录时输入一次登录信息,就可以访问所有的应用系统;具体手段为:服务端储存用户相对于每个应用系统的登录信息,将用户的每个登录信息进行映射;在用户首次输入登录信息后,当用户即将进入其他应用系统时,根据用户输入的登录信息的映射关系,获取并自动输入用户即将进入的应用系统登录信息。
但是,上述单点登录方法存在以下缺陷:
(1)当用户较多时,服务端储存的登录信息的数量比较庞大,不仅占用了内存,而且会存在太多登录信息之间具备映射关系,其逻辑比较复杂,这严重加剧了服务端的负荷,进而降低了工作效率和质量。
(2)服务端在单点登录过程中只负责在用户进入应用系统时,自动获取并输入对应的登录信息,这就决定了服务端无法进行关于用户行为的操作和管理。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在服务端针对每位用户仅储存1条登录信息的基础上,实现单点登录,本发明能够显著降低服务端的内存,提高服务端的工作效率和质量。
为达到以上目的,本发明提供的基于客户端的单点登录方法,包括以下步骤:
S1:服务端创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限,转到S2;
S2:客户端将用户的登录信息加密后上传至服务端,转到S3;
S3:服务端将登录信息进行解密后,若白名单文件中存在当前登录信息,转到S4;
S4:服务端根据当前登录信息生成随机数,对随机数进行加密后下发至客户端,转到S5;
S5:客户端对随机数进行解密和标记后,将随机数上传至服务端,转到S6;
S6:服务端对客户端上传的随机数进行验签通过后,转到S7;
S7:客户端在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面。
在上述技术方案的基础上,S3还包括以下步骤:若白名单文件中不存在当前登录信息,则将当前登录信息添加至白名单文件后,向客户端下发身份认证令牌。
在上述技术方案的基础上,S1至S7之间还包括以下步骤:服务端定期与客户端同步白名单文件。
在上述技术方案的基础上,S1中所述登录信息包括用户名信息和/或数字证书信息,用户名信息为用户名和密码。
在上述技术方案的基础上,S2包括以下步骤:客户端通过浏览器获取用户的登录信息,将登录信息加密后上传至服务端。
本发明提供的基于客户端的单点登录系统,包括设置于服务端上的白名单文件创建模块、登录信息验证模块、随机数生成模块和随机数验证模块;还包括设置于客户端上的登录信息上传模块、随机数上传模块和应用系统登录模块;
白名单文件创建模块用于:创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限;
登录信息上传模块用于:将用户的登录信息加密后上传至服务端的登录信息验证模块;
登录信息验证模块用于:将收到的登录信息进行解密后,若白名单文件中存在当前登录信息,向随机数生成模块发送随机数生成信号;
随机数生成模块用于:收到随机数生成信号后,根据当前登录信息生成随机数,对随机数进行加密后下发至客户端的随机数上传模块;
随机数上传模块用于:对收到的随机数进行解密和标记后,将随机数上传至服务端的随机数验证模块;
随机数验证模块用于:对收到的随机数进行验签通过后,向客户端的应用系统登录模块发送应用系统登录信号;
应用系统登录模块用于:收到应用系统登录信号后,在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面。
在上述技术方案的基础上,所述登录信息验证模块还用于:若白名单文件中不存在当前登录信息,则将当前登录信息添加至白名单文件后,向客户端下发身份认证令牌。
在上述技术方案的基础上,所述白名单文件创建模块在应用系统登录模块工作之前,还用于:定期与应用系统登录模块同步白名单文件。
在上述技术方案的基础上,所述白名单文件创建模块中的登录信息包括用户名信息和/或数字证书信息,用户名信息为用户名和密码。
在上述技术方案的基础上,所述登录信息上传模块的工作流程为:通过浏览器获取用户的登录信息,将登录信息加密后上传至服务端的登录信息验证模块。
与现有技术相比,本发明的优点在于:
(1)参见本发明S1至S7可知,与现有技术中服务端需要储存用户相对于每个应用系统的登录信息相比,本发明使得用户只用具备1条登录信息,因此服务端针对每位用户只用储存1条登录信息,占用的内存较小。在此基础上,本发明不会出现现有技术中多条登录信息具备映射关系的情况,逻辑非常简单,进而显著降低了服务端的负荷,提高了工作效率和质量。
在此基础上,参见本发明S4可知,本发明能够为不同的登录信息生成不同的随机数,后续服务端只有收到客户端上传的正确随机数,才会让客户端成功登录,因此让每条登录信息对应的随机数不同,会防止第三方破解1台客户端得到随机数后,仿造其他登录信息进行登录,进而为用户和应用系统的安全提供了有利的保证。
(2)参见本发明S3和S5可知,用户使用客户端登录应用系统时,服务端通过在用户注册时向客户端下发身份认证令牌、以及用户登录时向客户端下发随机数,来获取和管理用户行为信息,便于后续的扩展、数据收集、以及问题的排查和定位。
附图说明
图1为本发明实施例中基于客户端的单点登录方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的基于客户端的单点登录方法,包括以下步骤:
S1:服务端创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限(即每条登录信息具备哪些应用系统的登录权限,就代表该登录信息能够登入哪些应用系统),登录信息包括用户名信息(用户名和密码,即采用用户名和密码的方式进行登录)和/或数字证书信息(即采用数字证书的方式进行登录),转到S2。
S2:客户端将用户的登录信息加密后上传至服务端,实际使用时,若用户为新用户或需要获取客户端为存储的登录信息,则由用户主动输入用户信息;若登录信息之前已保存在客户端的浏览器插件中,则可直接通过浏览器插件获取,若登录信息为数字证书,则通过浏览器插件从终端USBKEY(主要用于网络认证,锁内主要保存数字证书和用户私钥中读取)中获取数字证书,转到S3。
S3:服务端将登录信息进行解密后,判断白名单文件中是否存在当前登录信息,若是,转到S4,否则将当前登录信息添加至白名单文件后(即注册加入白名单文件的前提条件为当前登录信息被服务端认可,否则提示错误),向客户端下发身份认证令牌(该身份认证令牌能够便于后续管理登录信息,例如通过获取身份认证令牌能够得知,谁在什么时候注册过),重新执行S2。
S4:服务端根据当前登录信息生成随机数,对随机数进行加密后下发至客户端,转到S5。
S4中生成随机数的目的为:由于后续服务端只有收到客户端上传的正确随机数,才会让客户端成功登录,因此让每条登录信息对应的随机数不同,会防止第三方破解1台客户端得到随机数后,仿造其他登录信息进行登录,进而为用户和应用系统的安全提供了有利的保证。
S5:客户端对随机数进行解密、签名和保存(进行客户端标记)后,将签名的随机数上传至服务端,转到S6。
S6:服务端对客户端上传的随机数进行验签通过后(即判断签名的随机数是否为S4中生成的随机数,若是,则验签通过,否则验签失败),转到S7。
S7:客户端在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面;用户点击应用系统集成页面中的某个应用系统时,直接进入,至此,单点登录完成。
S1至S7之间还包括以下步骤:服务端定期与客户端同步白名单文件,其目的在于:同步之后,S7中客户端能够直接在本地获取白名单文件,而不用去向服务端请求获取白名单文件,这不仅提高了工作效率,而且显著提升了用户体验。
参见S1至S7可知,本发明实施例使得用户只用具备1条登录信息,因此服务端针对每位用户只用储存1条登录信息,占用的内存较小。在此基础上,本发明实施例不会出现多条登录信息具备映射关系的情况,逻辑非常简单,进而显著降低了服务端的负荷,提高了工作效率和质量。
参见S3和S5可知,用户使用客户端登录应用系统时,服务端通过在用户注册时向客户端下发身份认证令牌、以及用户登录时向客户端下发随机数,来获取和管理用户行为信息,便于后续的扩展、数据收集、以及问题的排查和定位。
本发明实施例中的基于客户端的单点登录系统,其特征在于:该系统包括设置于服务端上的白名单文件创建模块、登录信息验证模块、随机数生成模块和随机数验证模块;还包括设置于客户端上的登录信息上传模块、随机数上传模块和应用系统登录模块。
白名单文件创建模块用于:创建白名单文件,白名单文件中包括所有已注册用户的登录信息(登录信息包括用户名信息和/或数字证书信息,用户名信息为用户名和密码)、以及每条登录信息对应的登录权限;在应用系统登录模块工作之前,还用于:定期与应用系统登录模块同步白名单文件。
登录信息上传模块用于:通过浏览器获取用户的登录信息,将登录信息加密后上传至服务端的登录信息验证模块。
登录信息验证模块用于:将收到的登录信息进行解密后,若白名单文件中存在当前登录信息,向随机数生成模块发送随机数生成信号;若白名单文件中不存在当前登录信息,则将当前登录信息添加至白名单文件后,向客户端下发身份认证令牌。
随机数生成模块用于:收到随机数生成信号后,根据当前登录信息生成随机数,对随机数进行加密后下发至客户端的随机数上传模块。
随机数上传模块用于:对收到的随机数进行解密和标记后,将随机数上传至服务端的随机数验证模块。
随机数验证模块用于:对收到的随机数进行验签通过后,向客户端的应用系统登录模块发送应用系统登录信号。
应用系统登录模块用于:收到应用系统登录信号后,在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种基于客户端的单点登录方法,其特征在于,该方法包括以下步骤:
S1:服务端创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限,转到S2;
S2:客户端将通过浏览器获取的用户的登录信息加密后上传至服务端,转到S3;
S3:服务端将登录信息进行解密后,若白名单文件中存在当前登录信息,转到S4;若白名单文件中不存在当前登录信息,则将当前登录信息添加至白名单文件后,向客户端下发身份认证令牌,执行S2;
S4:服务端根据当前登录信息生成随机数,对随机数进行加密后下发至客户端,转到S5;
S5:客户端对随机数进行解密和标记后,将随机数上传至服务端,转到S6;
S6:服务端对客户端上传的随机数进行验签通过后,转到S7;
S7:客户端在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面。
2.如权利要求1所述的基于客户端的单点登录方法,其特征在于:S1至S7之间还包括以下步骤:服务端定期与客户端同步白名单文件。
3.如权利要求1或2所述的基于客户端的单点登录方法,其特征在于:S1中所述登录信息包括用户名信息和/或数字证书信息,用户名信息为用户名和密码。
4.一种基于客户端的单点登录系统,其特征在于:该系统包括设置于服务端上的白名单文件创建模块、登录信息验证模块、随机数生成模块和随机数验证模块;还包括设置于客户端上的登录信息上传模块、随机数上传模块和应用系统登录模块;
白名单文件创建模块用于:创建白名单文件,白名单文件中包括所有已注册用户的登录信息、以及每条登录信息对应的登录权限;
登录信息上传模块用于:将通过浏览器获取的用户的登录信息加密后上传至服务端的登录信息验证模块;
登录信息验证模块用于:将收到的登录信息进行解密后,若白名单文件中存在当前登录信息,向随机数生成模块发送随机数生成信号;若白名单文件中不存在当前登录信息,则将当前登录信息添加至白名单文件后,向客户端下发身份认证令牌;
随机数生成模块用于:收到随机数生成信号后,根据当前登录信息生成随机数,对随机数进行加密后下发至客户端的随机数上传模块;
随机数上传模块用于:对收到的随机数进行解密和标记后,将随机数上传至服务端的随机数验证模块;
随机数验证模块用于:对收到的随机数进行验签通过后,向客户端的应用系统登录模块发送应用系统登录信号;
应用系统登录模块用于:收到应用系统登录信号后,在白名单文件中获取当前登录信息具备登录权限的所有应用系统后,根据所述所有应用系统生成并显示应用系统集成页面。
5.如权利要求4所述的基于客户端的单点登录系统,其特征在于:所述白名单文件创建模块在应用系统登录模块工作之前,还用于:定期与应用系统登录模块同步白名单文件。
6.如权利要求4或5所述的基于客户端的单点登录系统,其特征在于:所述白名单文件创建模块中的登录信息包括用户名信息和/或数字证书信息,用户名信息为用户名和密码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711033888.9A CN107749854B (zh) | 2017-10-30 | 2017-10-30 | 基于客户端的单点登录方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711033888.9A CN107749854B (zh) | 2017-10-30 | 2017-10-30 | 基于客户端的单点登录方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749854A CN107749854A (zh) | 2018-03-02 |
CN107749854B true CN107749854B (zh) | 2019-12-27 |
Family
ID=61253683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711033888.9A Active CN107749854B (zh) | 2017-10-30 | 2017-10-30 | 基于客户端的单点登录方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749854B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520401B (zh) * | 2018-04-08 | 2021-04-27 | 深圳乐信软件技术有限公司 | 用户名单管理方法、装置、平台及存储介质 |
CN110912857B (zh) * | 2018-09-17 | 2022-07-26 | 福建天泉教育科技有限公司 | 移动应用间共享登录的方法、存储介质 |
CN109347831A (zh) * | 2018-10-24 | 2019-02-15 | 国家电网有限公司 | 一种基于UKey认证的双重认证安全接入系统及方法 |
CN109639660A (zh) * | 2018-12-05 | 2019-04-16 | 肇庆市诚网络技术有限公司 | 电销外呼管理系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534192B (zh) * | 2008-03-14 | 2012-01-11 | 西门子公司 | 一种提供跨域令牌的系统和方法 |
CN102064941B (zh) * | 2010-10-12 | 2013-01-02 | 深圳市龙视传媒有限公司 | 一种松耦合单点登录的实现方法及其系统 |
CN104753855B (zh) * | 2013-12-25 | 2019-01-04 | 中国移动通信集团公司 | 单点登录方法、应用客户端、浏览器、终端及服务器 |
US11070380B2 (en) * | 2015-10-02 | 2021-07-20 | Samsung Electronics Co., Ltd. | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method |
CN106357629B (zh) * | 2016-08-31 | 2021-10-26 | 天津灵创智恒软件技术有限公司 | 基于数字证书的智能终端身份认证与单点登录系统及方法 |
-
2017
- 2017-10-30 CN CN201711033888.9A patent/CN107749854B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107749854A (zh) | 2018-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11038873B2 (en) | Time-based one time password (TOTP) for network authentication | |
CN108235806B (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
US11748498B2 (en) | Information processing device, information processing method, and distributed component | |
CN107749854B (zh) | 基于客户端的单点登录方法及系统 | |
US9699167B1 (en) | Distributed authentication | |
US11184336B2 (en) | Public key pinning for private networks | |
CN105025019A (zh) | 一种数据安全分享方法 | |
CN103532966A (zh) | 一种支持基于usb key单点登录虚拟桌面的装置及方法 | |
CN101321064A (zh) | 一种基于数字证书技术的信息系统的访问控制方法及装置 | |
CN104574176A (zh) | 一种基于usbkey的安全网上报税方法 | |
CN108173648B (zh) | 基于私钥托管的数字安全处理方法、设备及存储介质 | |
CN109905384B (zh) | 数据迁移方法及系统 | |
CN102916965A (zh) | 一种云服务接口的安全认证机制及其认证系统 | |
CN113609213B (zh) | 设备密钥的同步方法、系统、设备和存储介质 | |
CN106533677B (zh) | 一种用户登录方法、用户终端及服务器 | |
EP3909221A1 (de) | Verfahren zum sicheren bereitstellen einer personalisierten elektronischen identität auf einem endgerät | |
CN104486087A (zh) | 一种基于远程硬件安全模块的数字签名方法 | |
CN110740038A (zh) | 区块链及其通信方法、网关、通信系统和存储介质 | |
CN115150109A (zh) | 认证方法、装置及相关设备 | |
CN103559430A (zh) | 基于安卓系统的应用账号管理方法和装置 | |
CN113872986B (zh) | 配电终端认证方法、装置和计算机设备 | |
CN116170759A (zh) | 一种基于微信的局域网访问方法及系统 | |
CN112422289B (zh) | 一种NB-IoT终端设备的数字证书离线安全分发方法和系统 | |
CN111404680B (zh) | 口令管理方法和装置 | |
CN115242471A (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 |