基于RSA动态公私钥加解密的单点登录方法与流程

文档序号:28263599发布日期:2021-12-31 17:27阅读:452来源:国知局
基于RSA动态公私钥加解密的单点登录方法与流程
基于rsa动态公私钥加解密的单点登录方法
技术领域
1.本发明属于数据加密技术领域,具体涉及基于rsa(非对称加密算法)动态公私钥加解密的单点登录方法。


背景技术:

2.通过单点登录功能实现多个系统之间切换时的免密登录,比如从公共办公系统或公网相关业务系统(如:oa系统,企业门户等)跳转至企业核心bi系统。
3.单点登录功能的实现与上游系统耦合在一起且跳转的过程中数据包主要传输的内容为url(目标系统登录链接)及其中涉及到的账户信息;在对url数据内容无加密保护的情况下,极易发生企业内部账号信息泄露;在对url数据内容采用较为安全的rsa(非对称加密算法)加密的情况下任然存在公私钥泄露导致内部账号泄露的风险。
4.账号信息泄露将导致公司经营数据暴露的风险,客户信息的数据安全无法保障,因此采用基于rsa动态公私钥加解密方法,来降低风险。


技术实现要素:

5.本发明所要解决的技术问题是针对上述现有技术的不足,提供基于rsa动态公私钥加解密的单点登录方法,可单点登录功能与上游业务系统解耦、防止恶意登录、实现账号信息rsa算法加密、并动态更新公私钥对。
6.为实现上述技术目的,本发明采取的技术方案为:
7.基于rsa动态公私钥加解密的单点登录方法,包括:
8.步骤1:将单点登录服务从业务系统剥离,单独部署单点登录服务;
9.步骤2:上游业务系统访问单点登录服务地址,发送请求至单点登录服务;
10.步骤3:单点登录服务获取上游业务系统的地址信息以及账号信息;
11.步骤4:通过步骤3获取的业务系统的地址信息设置系统域信息,通过系统域信息匹配目标系统地址信息,以实现单点登录与业务系统之间的解耦;
12.步骤5:通过步骤4获取的系统域信息及步骤3获取的账号信息,查询用户登录信息与系统访问控制信息,通过系统访问控制信息效验账户准入规则;
13.如不符合准入规则,则返回限制登录信息,并清空登录信息中的公钥和私钥,设置限制登录时间触发器,以防止恶意登录行为;
14.如符合准入规则,则将获取到的账户信息进行加密拼接成最终的跳转目标地址,访问目标系统,即下游系统,进入步骤6;
15.步骤6:目标系统获取私钥解密以获取用户账号、密码,进行登录,向单点登录服务返回登录信息,进入步骤7;
16.步骤7:若单点登录服务接收到步骤6的登录成功信息,则生成新的rsa公私钥信息,并写入中间数据库;
17.若单点登录服务接收到步骤6的登录失败信息,则触发限制登录时间触发器,冷却
该账号一段时间后生成新的rsa公私钥信息,并写入中间数据库,动态更新公私钥对。
18.为优化上述技术方案,采取的具体措施还包括:
19.上述的步骤3中,单点登录服务通过ajax获取上游业务系统的地址信息以及账号信息。
20.上述的步骤4中,系统域信息匹配信息为约定的系统访问地址对照表,由上下游系统管理员协商决定。
21.上述的步骤5中,通过步骤4获取的系统域信息及步骤3获取的账号信息,进入中间数据库查询用户登录信息与系统访问控制信息,其中,系统访问控制信息由上下游系统管理员制定规则。
22.上述的步骤5中,如符合准入规则,则将获取到的账户信息,拼接成json字符串并使用中间数据库中的公钥加密生成密文,将密文、上游系统域、下游系统地址拼接成最终的跳转目标地址访问目标系统,即下游系统,进入步骤6。
23.上述的步骤6种,目标系统访问中间数据库中系统域、账号获取对应的私钥解密以获取用户账号、密码,进行登录,向单点登录服务返回登录信息。
24.本发明具有以下有益效果:
25.本发明可实现不同账号,不同系统之间实现公私钥的动态管理,能有效降低私钥泄露导致单点登录环节出现账号密码被盗取的风险。
附图说明
26.图1为本发明方法流程示意图。
具体实施方式
27.以下结合附图对本发明的实施例作进一步详细描述。
28.参见图1,本发明基于rsa动态公私钥加解密的单点登录方法,包括:
29.步骤1:将单点登录服务从业务系统剥离,单独部署单点登录服务;
30.步骤2:上游业务系统访问单点登录服务地址,发送请求至单点登录服务;
31.步骤3:单点登录服务获取上游业务系统的地址信息以及账号信息;
32.步骤4:通过步骤3获取的业务系统的地址信息设置系统域信息,通过系统域信息匹配目标系统地址信息,以实现单点登录与业务系统之间的解耦;
33.步骤5:通过步骤4获取的系统域信息及步骤3获取的账号信息,查询用户登录信息与系统访问控制信息,通过系统访问控制信息效验账户准入规则;
34.如不符合准入规则,则返回限制登录信息,并清空登录信息中的公钥和私钥,设置限制登录时间触发器,以防止恶意登录行为;
35.如符合准入规则,则将获取到的账户信息进行加密拼接成最终的跳转目标地址,访问目标系统,即下游系统,进入步骤6;
36.步骤6:目标系统获取私钥解密以获取用户账号、密码,进行登录,向单点登录服务返回登录信息,进入步骤7;
37.步骤7:若单点登录服务接收到步骤6的下游系统登录成功信息,则生成新的rsa公私钥信息,并写入中间数据库;
38.若单点登录服务接收到步骤6的下游系统登录失败信息,则触发限制登录时间触发器,冷却该账号一段时间后生成新的rsa公私钥信息,并写入中间数据库,动态更新公私钥对。
39.实施例中,所述步骤3中,单点登录服务通过ajax获取上游业务系统的地址信息以及账号信息。
40.实施例中,所述步骤4中,系统域信息匹配信息为约定的系统访问地址对照表,由上下游系统管理员协商决定。
41.实施例中,所述步骤5中,通过步骤4获取的系统域信息及步骤3获取的账号信息,进入中间数据库查询用户登录信息与系统访问控制信息,其中,系统访问控制信息由上下游系统管理员制定规则,如:一分钟内限制登录20次。
42.实施例中,所述步骤5中,如符合准入规则,则将获取到的账户信息,拼接成json字符串并使用中间数据库中的公钥加密生成密文,将密文、上游系统域、下游系统地址拼接成最终的跳转目标地址访问目标系统,即下游系统,进入步骤6。
43.实施例中,所述步骤6种,目标系统访问中间数据库中系统域、账号获取对应的私钥解密以获取用户账号、密码,进行登录,向单点登录服务返回登录信息。
44.本发明具体实施的运行环境如下:
45.1)加密算法为rsa。
46.2)jdk版本1.8
47.3)编程语言为javascript+jquery+springboot。
48.部分关键代码如下:
49.[0050][0051]
综上所述,本发明可实现不同账号,不同系统之间实现公私钥的动态管理,能有效降低私钥泄露导致单点登录环节出现账号密码被盗取的风险。
[0052]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1