一种基于安全密码代理服务器的单点登录方法及系统
技术领域
本发明涉及单点登录领域,特别是涉及一种基于安全密码代理服务器的单点登录方法及系统。
背景技术
随着计算机技术的发展与应用,无论是企业、事业单位还是政府,都使用了大量信息系统,来支撑自身业务的日常运营与快速发展,但是这些系统大部分都是分散的、独立的,每个系统都有自身独立的账号体系、认证机构和授权模型。系统的最终用户通常面临如下问题:
1)业务系统众多,登录每个业务系统都进行身份认证,操作繁琐,用户体验极差;
2)每个业务系统的密码不尽相同,难于记忆;如果设置为相同,又会增加账号安全风险;
为了解决上述问题,企业、事业单位以及政府通常会搭建自身的统一认证平台,实现用户的集中管理和单点登录。而常见的单点登录技术,包括SAML、Oauth2.0、CAS、LTPA令牌等、表单代填等。
企业中经常用到一类软件,例如,VPN、堡垒机、无线准入设备,通常是硬件产品,本身支持Radius和LDAP协议,但不支持SAML、Oauth2.0、CAS、LTPA协议。
如果要使用SAML、Oauth2.0、CAS、LTPA令牌单点登录集成方式,要进行集成改造,通常成本较大。
如果使用表单代填技术,则安全风险较大,容易受到重放攻击;并且如果用户更改了业务系统的密码,还需要与单点登录系统进行密码同步,否则表单代填将失败。
发明内容
本发明的目的是提供一种基于安全密码代理服务器的单点登录方法,通过安全密码代理服务器实现支持Radius或者LDAP协议的业务系统的单点登录,密码一次一密具有时效性,有效提高业务系统的安全性。
为实现上述目的,本发明提供了如下方案:
一种基于安全密码代理服务器的单点登录方法,所述方法包括:
客户端获取登录信息,所述登录信息用于访问门户系统;
所述客户端确定用户待登业务系统;
所述门户系统获取随机密码,所述随机密码用于登录所述待登业务系统;
安全密码代理服务器将所述随机密码返回至所述门户系统;
所述门户系统将接收到的所述随机密码代填至所述待登业务系统;
所述待登业务系统将所述代填到待登业务系统的随机密码发送至所述安全密码代理服务器;
所述安全密码服务器验证代填到所述待登业务系统的随机密码是否正确,得到验证结果;
当所述验证结果表示所述随机密码正确时,所述安全密码服务器确定登录业务系统成功,销毁所述随机密码,并将所述验证结果发送至门户系统;
当所述验证结果表示所述随机密码错误时,所述安全密码服务器确定登录业务系统失败,销毁所述随机密码,重新确定待登业务系统。
可选的,在所述获取随机密码之后,还包括:
将所述随机密码发送至用户的客户端,并触发Java脚本自动生成表单。
可选的,所述获取用户待登业务系统具体包括:
获取用户对于链接的点击操作;
确定所述链接对应的业务待登系统。
可选的,在所述确定用户待登业务系统后,还包括:
调用安全密码代理服务器中的web service接口,并获取设备证书;所述设备证书用于防止非授权的门户系统调用所述web service接口。
可选的,所述web service接口采用HTTPS安全加密通道。
可选的,所述获取随机密码具体包括:
获取密码生成设备生成的随机密码。
本发明还另外提供一种基于安全密码代理服务器的单点登录系统,所述系统包括:客户端、待登业务系统、安全密码代理服务器、密码生成设备、门户系统;
所述客户端包括:登录信息获取模块,用于获取登录信息,所述登录信息用于访问门户系统;
待登录业务系统确定模块,用于确定所述待登录业务系统;
所述密码生成设备包括:随机密码获取模块,用于获取随机密码,所述随机密码用于登录所述待登业务系统;
所述安全密码代理服务器包括:第一随机密码发送模块,用于通过所述安全密码代理服务器将所述随机密码发送至所述门户系统;
所述门户系统包括:随机密码代填模块,用于将所述门户系统将接收到的所述随机密码代填至所述待登业务系统;
所述待登业务系统包括:第二随机密码发送模块,用于将所述代填到待登业务系统的随机密码发送至所述安全密码代理服务器;
所述安全密码代理服务器还包括:验证模块,用于验证代填到所述待登业务系统的随机密码是否正确,得到验证结果;
第一执行模块,用于当所述验证结果表示所述随机密码正确时,确定登录业务系统成功,销毁所述随机密码,并将所述验证结果发送至门户系统;
第二执行模块,用于当所述验证结果表示所述随机密码错误时,确定登录业务系统失败,销毁所述随机密码,重新获取业务待登业务系统。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明中的安全密码代理服务器可以接入多个应用系统,具有极强的灵活性,不同应用连接同一密码服务时,根据口令规则识别不同应用系统,例如为不同应用系统生成不同前缀的随机口令;不同应用连接同一密码服务时,根据请求来源识别不同应用系统,比如根据IP地址判断是哪个业务系统发来的请求;密码服务可以开启多个监听端口,不同的应用系统,可以发送请求到不同的端口,据此识别应用系统。不同的应用系统可以配置不同的验证策略,如密码复杂度、密码有效期、是否采用硬件密码设备等;不同应用系统可以通过密码代理服务连接不同的LDAP服务;同一应用系统可以通过密码代理服务同时连接多LDAP服务。密码代理服务器提供接口,集成商只需按照接口规则实现自己的验证策略,即可完成扩充,易于定制。
并且,本发明产生的密码是随机的,一次一密,能够有效防止重放攻击,安全性高,密码由密码设备通过安全密码代理服务器同一发放和销毁,用户无需记忆,用户在业务系统修改密码时,不影响代填,易于维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于安全密码代理服务器的单点登录方法流程图;
图2为本发明实施例基于安全密码代理服务器的单点登录系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于安全密码代理服务器的单点登录方法,通过安全密码代理服务器实现支持Radius或者LDAP协议的业务系统的单点登录,密码一次一密具有时效性,有效提高业务系统的安全性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例基于安全密码代理服务器的单点登录方法流程图,如图1所示,所述方法包括:
步骤101:客户端获取登录信息,所述登录信息用于访问门户系统;
步骤102:所述客户端确定用户待登业务系统;
具体包括,获取用户对于链接的点击操作;
确定所述链接对应的业务待登系统。
步骤103:所述门户系统获取随机密码,所述随机密码用于登录所述待登业务系统;
具体包括,通过密码生成设备来获取随机密码。
步骤104:安全密码代理服务器将所述随机密码返回至所述门户系统;
步骤105:所述门户系统将接收到的所述随机密码代填至所述待登业务系统;
步骤106:所述待登业务系统将所述代填到待登业务系统的随机密码发送至所述安全密码代理服务器;
步骤107:所述安全密码服务器验证代填到所述待登业务系统的随机密码是否正确,得到验证结果;当所述验证结果表示所述随机密码正确时,执行步骤108;当所述验证结果表示所述随机密码错误时,所述安全密码服务器确定登录业务系统失败,销毁所述随机密码,返回步骤102重新确定待登业务系统。
步骤108:所述安全密码服务器确定登录业务系统成功,销毁所述随机密码,并将所述验证结果发送至门户系统。
具体的,所述步骤101中,对于,门户系统的访问可以是任意一种认证方式进行认证,例如,静态口令、OTP令牌、数字证书、扫码登录等。
具体的,本发明的该方法在所述步骤103之前,还包括:
将所述随机密码发送至用户的客户端,并触发Java脚本自动生成表单。
具体的,本发明的该方法在所述步骤102后,还包括:
调用安全密码代理服务器中的web service接口,并获取设备证书;所述设备证书用于防止非授权的门户系统调用所述web service接口。
所述web service接口采用HTTPS安全加密通道,用于保证数据传输的安全性。
图2为本发明实施例基于安全密码代理服务器的单点登录系统流程图,如图2所示,一种基于安全密码代理服务器的单点登录系统,所述系统包括:客户端、待登业务系统、安全密码代理服务器、密码生成设备、门户系统;
所述客户端包括:登录信息获取模块201,用于获取登录信息,所述登录信息用于访问门户系统;
待登录业务系统确定模块202,用于确定所述待登录业务系统;
所述密码生成设备包括:随机密码获取模块203,用于获取随机密码,所述随机密码用于登录所述待登业务系统;
所述安全密码代理服务器包括:第一随机密码发送模块204,用于通过所述安全密码代理服务器将所述随机密码发送至所述门户系统;
所述门户系统包括:随机密码代填模块205,用于将所述门户系统将接收到的所述随机密码代填至所述待登业务系统;
所述待登业务系统包括:第二随机密码发送模块206,用于将所述代填到待登业务系统的随机密码发送至所述安全密码代理服务器;
所述安全密码代理服务器还包括:验证模块207,用于验证代填到所述待登业务系统的随机密码是否正确,得到验证结果;
第一执行模块208,用于当所述验证结果表示所述随机密码正确时,确定登录业务系统成功,销毁所述随机密码,并将所述验证结果发送至门户系统;
第二执行模块209,用于当所述验证结果表示所述随机密码错误时,确定登录业务系统失败,销毁所述随机密码,重新获取业务待登业务系统。
具体的,本发明中的安全密码代理服务器可描述为四个层次:协议解析层、接口层、系统策略可视化管理层、系统审计层。
其中,协议解析层包括消息透传模块、透传认证模块、安全认证模块、动态密码仓库;
消息透传模块主要用于适配业务系统通过LDAP协议调用安全密码代理服务进行认证的场景。
透传认证模块也同样是用于适配业务系统通过LDAP协议调用安全密码代理服务进行认证的场景。其功能是不将不符合随机密码规则的认证请求发送给真正的LDAP服务器进行认证,并将LDAP服务返回的认证结果返回给业务系统;
安全认证模块用于调用本地认证模块,模块返回认证结果。该处收到的用户和密码,是门户系统通过WebService接口调用时生成的随机密码。
动态密码仓库用于生成存储随机密码,并根据策略自动维护随机密码的生命周期。
所谓生命周期,即随机密码生成后存在“未使用”、“已使用”、“已过期”三种状态。目前安全密码代理服务器的密码生命周期策略比较简单:N分钟内必须使用。如果N分钟后尚未使用,安全密码服务会将其标识为“已过期”,后续收到用户使用该密码进行认证时,将会返回认证失败,密码已过期错误。如果N分钟内使用了,并且验证成功,则会将其标识为“已使用”,后续在收到用户使用改密码进行认证时,将会返回认证失败,密码已失效错误。
基于本发明的安全密码代理服务,可以同时接入多套业务系统,不同的业务系统,不同的业务系统可以根据安全需求,设置不同的随机密码有效期。
接口层为web service接口,为门户系统提供获取随机密码的功能。该接口的安全性采用以下两种方式保证:
第一、为了防止非授权的门户系统调用该接口,需要为门户系统提供设备证书,业务系统每次调用该接口时需要使用设备证书对请求参数进行签名;
第二、接口采用HTTPS安全加密通道,保证数据传输安全。
系统策略可视化管理层,主要采用web方式,提供安全密码代理服务的管理功能。主要功能包括:应用管理(业务系统接入时,基础信息配置)、审计管理(查看审计日志)。
系统审计层,主要实现安全密码代理服务管理员操作审计、为业务系统提供的认证服务审计。后续可以基于用户的认证数据,进行数据统计分析。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。