一种分布式系统中去中心化实现登录鉴权的方法技术方案

技术编号:34097344 阅读:15 留言:0更新日期:2022-07-11 22:37
本发明专利技术提出了一种分布式系统中去中心化实现登录鉴权的方法,包括以下步骤:S1,客户端向登录节点发起登录授权请求,登录节点将请求传递给业务系统;S2,业务系统计算权限节点,向权限节点发起基础信息预授权请求;S3,权限节点向业务系统返回基础信息临时授权令牌;S4,业务系统向登录节点返回基础信息临时授权令牌;S5,登录节点向权限节点获取基础信息授权数据,权限节点返回基础信息授权数据给登录节点;S6,登录节点向客户端返回基础信息授权数据以及授权令牌Token;S7,客户端调用业务系统数据操作接口时,传递Token,业务系统判断该接口是否需要鉴权,若无需鉴权则调用接口返回数据;本发明专利技术能够降低数据暴露后造成的损失。本发明专利技术能够降低数据暴露后造成的损失。本发明专利技术能够降低数据暴露后造成的损失。

【技术实现步骤摘要】
一种分布式系统中去中心化实现登录鉴权的方法


[0001]本专利技术涉及权限管理领域,特别是涉及一种分布式系统中去中心化实现登录鉴权的方法。

技术介绍

[0002]目前多数的分布式系统都开发有专用的权限中心,用于控制登录以及管理用户在系统中的权限信息,这种方式能够实现权限的统一管控,但随之而来的是两个问题:
[0003]一是当权限中心不可用时,所有的登录鉴权都会失效,直接导致整个系统的瘫痪,对于这一点,多数开发者会使用集群的方式实现高可用,但我们知道,在分布式系统的实际开发中存在CAP理论,当使用集群时,很难保证同时满足一致性、可用性和分区容错性,为尽力保障上述三点,会耗费不少的资源;
[0004]二是权限数据的安全性问题,将所有的权限都存储在一起,当发生数据泄漏时,用户的所有权限信息对于外部系统一览无遗,若被盗用,则可以模拟该用户在系统内进行非法操作;相对于第一点而言,数据泄露的风险是完全无法接受的,所以现在更多的软件系统在倡导去中心化。

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种分布式系统中去中心化实现登录鉴权的方法。
[0006]为了实现本专利技术的上述目的,本专利技术提供了一种分布式系统中去中心化实现登录鉴权的方法,包括以下步骤:
[0007]S1,客户端向登录节点发起登录授权请求,登录节点将请求传递给业务系统;
[0008]S2,业务系统获取权限节点,向权限节点发起基础信息预授权请求;
[0009]S3,权限节点向业务系统返回基础信息临时授权令牌;
[0010]S4,业务系统向登录节点返回基础信息临时授权令牌;
[0011]S5,登录节点向权限节点获取基础信息授权数据,权限节点返回基础信息授权数据给登录节点;
[0012]S6,登录节点向客户端返回基础信息授权数据以及授权令牌Token;
[0013]S7,客户端调用业务系统数据操作接口时,传递用户标识UK1以及Token,业务系统判断该接口是否需要鉴权,若需鉴权执行下一步骤;若无需鉴权则调用接口返回数据;
[0014]S8,当接口需要鉴权时,业务系统根据Token以及接口需要的权限标识向权限节点发起权限验证请求;
[0015]S9,权限节点对业务系统提交的Token及权限标识,结合节点存储的用户接口权限信息进行核对,返回核对结果;
[0016]S10,业务系统根据权限节点返回的权限核对结果进行接口放行或者拦截。
[0017]进一步地,所述S1包括:
[0018]客户端用户需要登录时,向登录节点传递用户身份信息和登录的业务系统标识BK1,登录节点对用户信息进行校验,确认该用户信息是否为合法的用户信息,若为非法的用户信息,直接标记为非法请求,拒绝登录;若该用户信息为合法用户信息,则将用户信息记录为标识UK1。
[0019]进一步地,所述S2包括:
[0020]登录节点向业务节点发起权限获取凭证生成请求,传递用户标识UK1,业务节点收到该请求,向对应权限节点发起权限信息预查询请求,传递用户标识UK1以及查询类型权限范围SCOPE。
[0021]进一步地,所述S3包括:
[0022]权限节点收到预查询请求后,针对本次预查询请求,生成预查询请求标识RequestId1,同时生成一对临时密钥,自身持有公钥PK2,并将预查询请求标识ReuqestId1以及私钥SK2返回给业务节点,同时缓存查询类型权限范围SCOPE、密钥对、权限预查询用户标识UK1和RequestId1的对应关系。
[0023]进一步地,所述S4包括:
[0024]业务系统得到响应,将私钥SK2返回给登录节点,同时也返回该业务系统对应的权限节点信息以及预查询请求标识ReuqestId1给登录节点。
[0025]进一步地,所述S5包括:
[0026]登录节点收到私钥SK2及对应的权限节点信息,使用私钥SK2将用户标识UK1进行加密生成密文ED1传输向权限节点发起权限信息查询请求,同时传输预查询请求RequestId1;
[0027]权限节点收到请求后,利用权限预查询请求标识RequestId1获取到公钥PK2对密文ED1进行解密,获得请求中携带的用户标识UK2,同时根据传输的RequestId1获取到节点自身存储的该次预查询请求对应的用户标识UK1,判断UK2是否与UK1一致,若不一致,则标识该用户身份信息被篡改,标记为非法请求,向登录节点返回错误信息;若UK2与UK1一致,则说明该请求合法,权限节点根据用户标识UK1以及查询类型权限范围SCOPE查询出节点内存储的用户权限信息,同时生成基础信息授权令牌Token,该令牌的有效期为时间T1,权限节点缓存该Token对应的用户信息UK1;使用公钥PK2将权限信息及基础信息授权令牌Token加密后生成密文数据ED2,将密文数据ED2返回给登录节点,同时,将预查询请求RequestId以及公钥PK2作废。
[0028]进一步地,所述S6包括:
[0029]登录节点收到返回的密文数据ED2,使用持有的私钥SK2,对ED2进行解密,获取到用户拥有的权限信息PD1和基础信息授权令牌Token,并销毁无效私钥SK2,同时将用户权限信息以及基础信息授权令牌Token返回给客户端完成用户登录和基础权限数据获取。
[0030]进一步地,所述S8包括以下步骤:
[0031]使用本身持有的授权私钥SK1将UK1、Token以及接口类型权限范围SCOPE2、该接口需要的权限标识PEK1加密传输至对应的权限节点。
[0032]进一步地,所述S9包括以下步骤:
[0033]权限节点使用公钥PK1进行解密,获取到用户身份UK1、Token、SCOPE2以及需要查询的权限标识PEK1,先验证基础信息授权令牌Token是否合法,
[0034]若Token不合法,则返回错误给业务系统;若Token合法,则根据传输的用户身份标识UK1、接口类型权限范围SCOPE2以及权限PEK1,进行权限数据查询,若查询到对应数据,则证明该用户具有该权限,返回业务系统鉴权结果为通过;若未查询到对应数据,则证明该用户不具有该接口权限,返回业务系统鉴权结果为不通过。
[0035]进一步地,所述验证的方法包括:
[0036]S

A,Token是否在该权限节点上存在,若在该权限节点上存在,执行下一步骤;若不在该权限节点上存在,则基础信息授权令牌Token不合法;
[0037]S

B,Token对应的用户身份标识UK2是否与UK1一致,若UK2与UK1一致,说明基础信息授权令牌Token合法;若UK2与UK1不一致,则基础信息授权令牌Token不合法。
[0038]进一步地,所述权限信息包括基础权限信息以及接口权限信息。
[0039]基础权限信息对应查询类型权限范围SCOPE;接口本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,包括以下步骤:S1,客户端向登录节点发起登录授权请求,登录节点将请求传递给业务系统;S2,业务系统获取权限节点,向权限节点发起基础信息预授权请求;S3,权限节点向业务系统返回基础信息临时授权令牌;S4,业务系统向登录节点返回基础信息临时授权令牌;S5,登录节点向权限节点获取基础信息授权数据,权限节点返回基础信息授权数据给登录节点;S6,登录节点向客户端返回基础信息授权数据以及授权令牌Token;S7,客户端调用业务系统数据操作接口时,传递Token,业务系统判断该接口是否需要鉴权,若需鉴权执行下一步骤;若无需鉴权则调用接口返回数据;S8,当接口需要鉴权时,业务系统根据Token以及接口需要的权限标识向权限节点发起权限验证请求;S9,权限节点对业务系统提交的Token及权限标识,结合节点存储的用户接口权限信息进行核对,返回核对结果;S10,业务系统根据权限节点返回的权限核对结果进行接口放行或者拦截。2.根据权利要求1所述的一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,所述S1包括:客户端用户需要登录时,向登录节点传递用户身份信息和登录的业务系统标识BK1,登录节点对用户信息进行校验,确认该用户信息是否为合法的用户信息,若为非法的用户信息,直接标记为非法请求,拒绝登录;若该用户信息为合法用户信息,则将用户信息记录为标识UK1。3.根据权利要求1所述的一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,所述S2包括:登录节点向业务节点发起权限获取凭证生成请求,传递用户标识UK1,业务节点收到该请求,向对应权限节点发起权限信息预查询请求,传递用户标识UK1以及查询类型权限范围SCOPE。4.根据权利要求1所述的一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,所述S3包括:权限节点收到预查询请求后,针对本次预查询请求,生成预查询请求标识RequestId1,同时生成一对临时密钥,自身持有公钥PK2,并将预查询请求标识ReuqestId1以及私钥SK2返回给业务节点,同时缓存查询类型权限范围SCOPE、密钥对、权限预查询用户标识UK1和RequestId1的对应关系。5.根据权利要求1所述的一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,所述S4包括:业务系统得到响应,将私钥SK2返回给登录节点,同时也返回该业务系统对应的权限节点信息以及预查询请求标识ReuqestId1给登录节点。6.根据权利要求1所述的一种分布式系统中去中心化实现登录鉴权的方法,其特征在于,所述S5包括:登录节点收到私钥SK2及对应的权限节点信息,使用私钥SK2将用户标识UK1进行加密
生成密文ED1传输向权限节点发起权限信息查询请求,同时传输预查询请求Reques...

【专利技术属性】
技术研发人员:曹亮
申请(专利权)人:重庆米帕斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1