分布式认证方案

7、分布式安全中介PKI与改进的远程用户认证方案解析 本文探讨了分布式安全中介PKI的主动方案及其改进的远程用户认证机制。主动方案具备独立性、保密性和可用性,有效提升了系统的安全性。改进的DSEM解决了原始方案中的不安全性、低效更新等问题。同时,针对Lu-Cao远程用户认证方案存在的密码分配不合理和不必要的计算问题,提出了优化方案,提高了用户友好性、安全性和效率。适用于构建更加可靠的公钥基础设施和远程认证体系。 阅读详情
分布式认证方案

随着软件环境和需求的变化 ,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫分布式系统,分 布式系统的运行通常依赖网络,它将单体结构的系统分为若干服务,服务之间通过网络交互来完成用户的业务处 理,当前流行的微服务架构就是分布式系统架构,如下图:

在这里插入图片描述

分布式系统具体如下基本特点:

  1. 分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务。
  2. 伸缩性:每个部分都可以集群方式部署,并可针对部分结点进行硬件及软件扩容,具有一定的伸缩能力。
  3. 共享性:每个部分都可以作为共享资源对外提供服务,多个部分可能有操作共享资源的情况。
  4. 开放性:每个部分根据需求都可以对外发布共享资源的访问接口,并可允许第三方系统访问。
分布式认证需求

分布式系统的每个服务都会有认证、授权的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布式 系统共享性的特点,需要由独立的认证服务处理系统认证授权的请求;考虑分布式系统开放性的特点,不仅对系统 内部服务提供认证,对第三方系统也要提供认证。分布式认证的需求总结如下:

  • 统一认证授权
    提供独立的认证服务,统一处理认证授权。无论是不同类型的用户,还是不同种类的客户端(web端,H5、APP),均采用一致的认证、权限、会话机制,实现 统一认证授权。

    要实现统一则认证方式必须可扩展,支持各种认证需求,比如:用户名密码认证、短信验证码、二维码、人脸识别等认证方式,并可以非常灵活的切换。

  • 应用接入认证
    应提供扩展和开放能力,提供安全的系统对接机制,并可开放部分API给接入第三方使用,一方应用(内部系统服务)和三方应用(第三方应用)均采用统一机制接入。

分布式认证方案
  1. 基于session的认证方式

    在分布式的环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡将本地的请求分配到另一个应用服务需要将session信息带过去,否则会重新认证。
    在这里插入图片描述
    这个时候,通常的做法有下面几种:

    • Session复制: 多台应用服务器之间同步session,使session保持一致,对外透明。
    • Session黏贴: 当用户访问集群中某台服务器后,强制指定后续所有请求均落到此机器上。
    • Session集中存储: 将Session存入分布式缓存中,所有服务器应用实例统一从分布式缓存中存取Session。

    总体来讲,基于session认证的认证方式,可以更好的在服务端对会话进行控制,且安全性较高。但是,session机 制方式基于cookie,在复杂多样的移动客户端上不能有效的使用,并且无法跨域,另外随着系统的扩展需提高 session的复制、黏贴及存储的容错性。

  2. 基于token的认证方式

    基于token的认证方式,服务端不用存储认证数据,易维护扩展性强, 客户端可以把token 存在任意地方,并且可 以实现web和app统一认证机制。其缺点也很明显,token由于自包含信息,因此一般数据量较大,而且每次请求 都需要传递,因此比较占带宽。另外,token的签名验签操作也会给cpu带来额外的处理负担。

在这里插入图片描述

技术方案

根据选型的分析,决定采用基于token的认证方式,它的优点是:

  1. 适合统一认证的机制,客户端、一方应用、三方应用都遵循一致的认证机制。
  2. token认证方式对第三方应用接入更适合,因为它更开放,可使用当前有流行的开放协议Oauth2.0、JWT等。
  3. 一般情况服务端无需存储会话信息,减轻了服务端的压力。

分布式系统认证技术方案见下图:
在这里插入图片描述

流程描述:

  1. 用户通过接入方(应用)登录,接入方采取OAuth2.0方式在统一认证服务(UAA)中认证。
  2. 认证服务(UAA)调用验证该用户的身份是否合法,并获取用户权限信息。
  3. 认证服务(UAA)获取接入方权限信息,并验证接入方是否合法。
  4. 若登录用户以及接入方都合法,认证服务生成jwt令牌返回给接入方,其中jwt中包含了用户权限及接入方权 限。
  5. 后续,接入方携带jwt令牌对API网关内的微服务资源进行访问。
  6. API网关对令牌解析、并验证接入方的权限是否能够访问本次请求的微服务。
  7. 如果接入方的权限没问题,API网关将原请求header中附加解析后的明文Token,并将请求转发至微服务。
  8. 微服务收到请求,明文token中包含登录用户的身份和权限信息。因此后续微服务自己可以干两件事:
    • 用户授权拦截(看当前用户是否有权访问该资源)
    • 将用户信息存储进当前线程上下文(有利于后续业务逻辑随时 获取当前用户信息)

流程所涉及到UAA服务、API网关这三个组件职责如下:

  1. 统一认证服务(UAA) 它承载了OAuth2.0接入方认证、登入用户的认证、授权以及生成令牌的职责,完成实际的用户认证、授权功能。
  2. API网关作为系统的唯一入口,API网关为接入方提供定制的API集合,它可能还具有其它职责,如身份验证、监控、负载均 衡、缓存等。API网关方式的核心要点是,所有的接入方和消费端都通过统一的网关接入微服务,在网关层处理所 有的非业务功能。
40、基于身份系统中的公钥认证及分布式密钥分发方案 本文探讨了基于身份系统中的公钥认证方法和一种新的分布式密钥分发方案。通过信任机构的层次结构和配对基系统的应用,详细分析了公钥认证的实现方式及其在权利委托、群组创建等场景中的作用。同时,针对密钥分发的安全性需求,提出了一个基于ElGamal同态加密的分布式方案,结合零知识证明和可验证秘密共享机制,以应对被动和主动攻击者。该技术适用于云计算、物联网和金融交易等领域,为数字通信提供高效且安全的解决方案。 阅读详情

相关推荐

告别二极管发热!手把手教你用MOS管搭建同步整流电路(附死区时间设置避坑指南)

本文详细介绍了如何利用MOS管搭建同步整流电路(SR),以替代传统二极管,显著降低导通损耗和发热问题。内容涵盖自驱动方案的选择、关键元件参数计算、PCB布局要点及死区时间设置技巧,帮助工程师优化电源设计效率。

weixin_29540599的博客 453

分布式系统的认证授权方案

分布式系统的认证授权方案 spring security spring security OAuth2

m0_67814200的博客 801

S32K144 ADC硬件触发实战:PDB与TRGMUX配置避坑指南

本文深入解析了S32K144微控制器中ADC硬件触发的两种核心方案:PDB与TRGMUX。通过对比其架构差异、详细配置流程及常见问题排查,提供了从寄存器操作到DMA联动的完整优化指南,旨在帮助开发者解决多通道采样时序不稳、CPU负载过高等实际难题,实现高效稳定的数据采集。

weixin_29168153的博客 443

Spring Security OAuth2分布式系统认证解决方案

目录1 什么是分布式系统2 分布式认证需求3 分布式认证方案3.1 选型分析3.2 技术方案4 OAuth2.04.1 OAuth2.0介绍4.2 Spring Cloud Security OAuth24.2.1 环境介绍4.2.2 环境搭建4.2.2.1 父工程4.2.2.2 创建UAA授权服务工程4.2.2.3 创建Order资源服务工程4.2.2.授权服务器配置4.2.2.1 EnableAuthorizationServer4.2.2.1.配置客户端详细信息4.2.2.2.管理令牌4.2.2.3.

赵广陆 4200

基因组研究之单倍型T2T基因组(一)

单倍型T2T基因组(Haplotype-resolved T2T genome)是一种高精度、高连续性、高完整性的基因组组装技术,它能够提供从端粒到端粒的完整基因组序列,包括所有的基因和非编码序列。完整覆盖:T2T基因组覆盖从端粒到端粒的染色体序列,包含所有的基因和非编码序列,包括以往难以解析的端粒和着丝粒区域。单倍型解析:单倍型T2T基因组能够区分来自父母本的遗传信息,进行亚基因组不对称演化研究,挖掘单倍型等位基因间的表达差异,这对于重测序、性状定位、进化、基因功能、基因编辑等研究至关重要。

2401_89507557的博客 2438

【异常】Openclaw Gateway进程异常停止问题分析与解决方案

本文分析了Gateway服务异常停止的问题,提出了三种解决方案。核心问题是缺乏进程守护和自动恢复机制,导致服务崩溃后无法自行重启。推荐方案是使用PM2进程管理工具(方案1),提供进程监控、自动重启和开机自启功能。替代方案包括自定义守护脚本(方案2)和supervisord管理(方案3)。这些方案都能有效解决当前服务脆弱性问题,显著提升服务可用性,其中PM2方案成熟度高、配置简单,是首选解决方案。实施后可将服务从人工干预转变为自动恢复,确保业务连续性。

奶爸的编程之路,也就一周冷个三天 458

分布式系统的认证授权

以云音乐系统为例

bjjx123456的博客 734

qcc304x笔记之手机端显示电量(九)

默认的sdk有些安卓手机不支持电量显示,所以需要加电量显示的补丁 流程分析 1. 首先新建一个task,并将task注册给电池模块 appBatteryRegister(batteryRegistrationForm) 实现handler处理函数,当battery模块电池电量更新后,会将电池百分比值发送到本模块,然后我们就可以在handler中将实时电量同步到手机端了。 hfpAtCmdInit atCmdTask.task.handler = appAtCmdHandleM...

在云巅的博客 2201

你没见过的分布式系统认证方案!

一、分布式系统的特点 分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务 伸缩性:每个部分都可以集群方式部署,并可针对部分结点进行硬件及软件扩容,具有一定的伸缩能力 共享性:每个部分都可以作为共享资源对外提供服务,多个部分可能有操作共享资源的情况。 开放性:每个部分根据需求都可以对外发布共享资源的访问接口,并可允许第三方系统访问。 二、分布式认证需求 分布式系统的每个服务都会有认证、授权的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布式系统共享性的特点,

程序员小刘 1069

正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真

调节方波信号的占空比,也就是改变输出信号的高低电平时间比例,可以设置电容不同的充放电时间来达到目的,RP2可以使得电容具有不同的充放电时间,其中二极管起到限制电流流向的作用。假设U+>U,那么输出端就达到正向饱和,电容开始充电,当电容电压大于同相输入端电压时,此时电容开始放电,由此往复,从而产生方波信号。3,正反馈支路占优势,电路开始起振并不是稳定的,振荡会不断增大,最终将导致运放饱和,输出的波形是削波失真的正弦波。通常在电路中引入负反馈,例如使用负温度系数的热敏电阻,以自动稳定增益,防止输出波形失真。

XU157303764的博客 5321

lvgl 9虚拟键盘控件 (lv_keyboard) 使用指南

是 LittlevGL 提供的一个虚拟键盘控件,适用于在图形界面中输入文本。与按钮矩阵类似,虚拟键盘预定义了多个键位布局,支持多种模式和自定义键位映射,能够满足各种文本输入需求。通过与文本区域 (Text Area) 的结合,键盘能够自动将输入的字符传送到指定区域。控件是 LittlevGL 提供的强大虚拟键盘解决方案,适用于任何需要文本输入的界面。通过预定义的键盘模式、自定义键位映射和文本区域自动填充功能,可以大大提升用户输入体验。无论是在嵌入式系统的用户界面中,还是在其他需要虚拟键盘的应用中,

m0_62599305的博客 2185

JWT实现分布式登陆认证方案

最近做基于BFF架构的分布式移动端API接口的系统设计。在这里把关于JWT常见的一些疑问统一回答下吧。 JWT认证方案 JSON Web Token (JWT)是一种基于 token 的认证方案。 JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely betw...

u013308504的博客 6846

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【论文解读】分布式跨域匿名认证方案在物联网中的应用

论文提出的认证机制分为域内机制和跨域机制这篇论文针对物联网跨域认证的难题,提出了一种分布式、匿名、安全高效安全性:阈值机制彻底解决单点失效;隐私性:身份与行为均实现匿名保护;高效性:协议轻量,计算与通信开销低,适合 IoT 场景。将该方案与区块链结合,增强可追溯性与可验证性;引入零知识证明同态加密等先进隐私技术;在大规模 IoT 场景下进行实际部署和性能验证。📌 推荐阅读原文:👉。

m0_51964431的博客 994

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Shoptnt 安全架构揭秘:JWT 认证与分布式实时踢人方案

本文介绍了分布式架构中用户认证与授权的轻量级解决方案,结合JWT无状态认证与Redis Pub/Sub状态同步机制。核心思路是:使用JWT编码用户信息实现无状态访问,通过Redis发布订阅广播关键状态变更(如用户禁用)。具体实现包括JWT双Token机制、Spring Security集成、以及用户禁用状态的实时同步策略。该方案兼具高性能、高扩展性和关键操作的强一致性,避免了会话复制问题,为分布式系统提供了简洁高效的认证授权方案。

qq_25093429的博客 1356

Java分布式认证技术方案

序言 分布式系统的每个服务(系统)都会有认证、授权的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布式系统共享性的特点,需要由独立的认证服务来处理系统认证授权的请求; 下图是攀博课堂支付平台架构图,包括:商户平台应用、运营平台应用、门户应用,每个应用都需要身份认证,闪聚支付平台统一由UAA认证服务完成认证。 1、前端请求UAA认证服务请求认证,认证通过获取 Token 2、前端携带Token访问各各应用。 下边介绍UAA认证服务的认证方案。 基于session的认证方式 在分布式的环境下,基于

793

Session、Cookie、JWT 详解:从单体到分布式的认证方案演进

Cookie 是客户端的存储容器,Session 是服务端的有状态会话,JWT 是客户端的无状态凭证。

Mr__Miss的博客 215

分布式OAuth 2.1认证方案解析

在分布式系统中实现OAuth 2.1认证流时,Cookie丢失和SSO设计是典型挑战。

1026

构建高效安全的分布式认证授权系统:一站式解决方案

构建高效安全的分布式认证授权系统:一站式解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今的分布式系统架构中,统一认证授权是确保系统安全性和用户管理的关键环节。为了帮助开发者轻松构建高效、安全的分布式认证授权系统,我们推出了这份详细的资源文件。该资源文件涵盖了Gateway、Spring Security、OAuth2.0 和 JWT 等核心技术,旨在为开...

gitblog_09727的博客 1227

分布式认证中心实现方案:OAuth2.0 + Redis,refresh_token无感知刷新

分布式认证中心实现方案:OAuth2.0 + Redis,refresh_token无感知刷新

qq_52030824的博客 2053

分布式认证方案-基于session的认证方式

在分布式的环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡将本地的请求分配到另一个应用服务需要将session信息带过去,否则会重新认证。 这个时候,通常的做法有下面几种: Session复制:多台应用服务器之间同步session,使session保持一致,对外透明。 Session黏贴:当用户访问集群中某台服务器后,强制指定后续所有请求均落到此机器上。 Session集中存储:将Session存入分布式缓存中,所有服务器应用实例

Leon_Jinhai_Sun的博客 318

【限时免费】 热门项目推荐:xxl-sso - 统一身份认证的分布式解决方案

热门项目推荐:xxl-sso - 统一身份认证的分布式解决方案 【免费下载链接】xxl-sso A distributed single-sign-on framework.(单点登录框架XXL-SSO) 项目地址: https:...

gitblog_01419的博客 255

Spring Security整合JWT与Redis实现分布式认证方案

在现代分布式系统中,认证授权是保障系统安全的核心机制。JWT(JSON Web Token)作为一种无状态认证协议,通过自包含的签名令牌解决了传统Session的扩展性问题。其工作原理是将用户信息编码到Token中,服务端通过验证签名确保数据完整性。结合Redis实现Token黑名单和权限缓存,既能保留JWT的无状态优势,又能解决令牌主动失效的难题。Spring Security作为Java生态的主流安全框架,提供了可扩展的认证授权体系。这种技术组合特别适合微服务架构,能够实现跨服务的统一认证,同时通过Re

weixin_34005090的博客 201
上一篇: SpringSecurity--工作原理详解
下一篇: OAuth2.0--概述
吴声子夜歌
博客等级 码龄9年 2688粉丝 2270原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值