登 录
注 册
< 信息安全
数据安全
密码学
安全常识
一文读懂SSO
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
当前位置:
首页
>>
安全常识
>>
一文读懂SSO
一文读懂SSO
2023-08-27 18:58:20 星期日 发表于北京 阅读:806
 Single Sign-On (SSO) 是一种身分验证解决方案,允许使用者透过一次性使用者身分验证登入多个应用程式和网站 鉴于现今使用者经常直接从其浏览器存取应用程式,因此组织将优先采用可`提高安全性`和`使用者体验`的存取管理策略。SSO 提供了这两个方面,因为一旦使用者的身分通过验证,则其可以存取所有受密码保护的资源,且无需重复登入。 #### 为什么 SSO 很重要? 一般来说,SSO在组织内有如下不可替代的作用  ##### 加强密码安全 当人们不使用 SSO 时,他们必须记住不同网站的多个密码。这可能会导致不推荐的安全做法,例如对不同账户使用简单或重复的密码。此外,用户在登录服务时可能会忘记或输入错误的凭证。SSO 可防止密码疲劳并鼓励用户创建可用于多个网站的强密码。 ##### 提高生产效率 员工经常使用多个需要单独身份验证的企业应用程序。手动输入每个应用程序的用户名和密码不但费时,而且效率很低。SSO 简化了企业应用程序的用户验证过程,并且更容易访问受保护的资源。 ##### 降低成本 在尝试记住大量密码时,企业用户可能会忘记他们的登录凭证。这将导致频繁请求检索或重置其密码,从而增加内部 IT 团队的工作负载。实施 SSO 可减少忘记密码的次数,从而最大限度地减少处理密码重置请求的支持资源。 ##### 改善安全状况 通过最大限度地减少每个用户的密码数量,SSO 促进了用户访问审计,并为所有类型的数据提供了强大的访问控制。这降低了针对密码的安全事件的风险,同时帮助组织遵守数据安全法规。 ##### 提供更好的客户体验 云应用程序供应商使用 SSO 为最终用户提供无缝登录体验和凭证管理。用户管理的密码更少,并且仍然可以安全地访问完成日常工作所需的信息和应用程序。 #### SSO 的工作原理 SSO 在应用程序或服务与外部服务提供商(也称为身份提供者(IdP))之间建立信任。这是通过在应用程序和集中式 SSO 服务之间执行的一系列身份验证、验证和通信步骤来实现的。SSO 解决方案中的重要组件如下所示。 ##### SSO 服务 SSO 服务是用户登录时应用程序依赖的中心服务。如果未经身份验证的用户请求访问应用程序,应用程序会将他们重定向到 SSO 服务。然后,该服务对用户进行身份验证并将用户重定向回原始应用程序。该服务通常在专用的 SSO 策略服务器上运行。 ##### SSO 令牌 SSO 令牌是包含用户识别信息的数字文件,例如用户名或电子邮件地址。当用户请求访问应用程序时,应用程序会与 SSO 服务交换 SSO 令牌以对用户进行身份验证。 ##### SSO 流程 SSO 流程如下: >1、当用户登录应用程序时,应用程序会生成 SSO 令牌并向 SSO 服务发送身份验证请求。 2、该服务会检查用户之前是否在系统中进行了身份验证。如果是,它会向应用程序发送一个身份验证确认响应,以授予用户访问权限。 3、如果用户没有经过验证的凭证,SSO 服务会将用户重定向到中央登录系统并提示用户提交其用户名和密码。 4、提交后,服务会验证用户凭证并将肯定响应发送到应用程序。 5、否则,用户会收到错误消息并且必须重新输入凭证。多次尝试登录失败可能会导致服务阻止用户在固定的时间段内进行更多尝试。 #### SSO 类型 SSO 解决方案使用不同的标准和协议来对用户凭证进行验证和身份验证。 |序号|类型|解释| |-|-|-| |1|SAML|SAML(或安全断言标记语言)是应用程序用来与 SSO 服务交换身份验证信息的协议或规则集。SAML 使用 XML(一种浏览器友好的标记语言)来交换用户标识数据。基于 SAML 的 SSO 服务提供更好的安全性和灵活性,因为应用程序不需要在其系统上存储用户凭证| |2|OAuth|OAuth(或开放授权)是一种开放标准,它允许应用程序安全地从其他网站获取用户信息,而无需提供密码。应用程序不是请求用户密码,而是使用 OAuth 来获得用户访问受密码保护的数据的权限。OAuth 通过 API 建立应用程序之间的信任,允许应用程序在已建立的框架中发送和响应身份验证请求| |3|OIDC|OpenID 是使用一组用户凭证访问多个站点的方法。它允许服务提供商承担验证用户凭证的角色。Web 应用程序不是将身份验证令牌传递给第三方身份提供商,而是使用 OIDC 来请求附加信息并验证用户的真实性| |4|Kerberos|Kerberos 是一种基于票证的身份验证系统,可让两方或多方在网络上相互验证其身份。它使用安全密码学来防止未经授权访问在服务器、客户端和密钥分发中心之间传输的标识信息| #### SSO 安全性 SSO 是一种先进且理想的身份访问管理解决方案。部署后,单点登录解决方案可帮助组织对企业应用程序和资源进行用户访问管理。 SSO 解决方案使应用程序用户更容易设置和记住强密码。 此外,IT 团队可以使用 SSO 工具监控用户行为,提高系统弹性,降低安全风险