最后更新日期:2024 年 3 月 1 日
撰稿人:Mark Scapicchio、Amber Forrest
单点登录 (SSO) 是一种身份验证方案,可支持用户使用一组凭证登录一次,即可在同一会话期间访问多个应用程序。
单点登录 (SSO) 可以简化用户身份验证,改善用户体验,如果实施得当,还可以提高安全性。此方案通常用于管理身份验证和对公司内网或外网、学生门户、公有云服务以及其他环境的安全访问,用户在这些环境下需要在不同应用程序之间切换才能完成工作。它还越来越多地用于面向客户的网站和应用程序(如银行和电子商务网站),以便将来自第三方提供商的应用程序组合成无缝、不间断的用户体验。
X-Force Threat Intelligence 指数可对主要威胁执行全新的洞察分析,帮助您更快地准备和响应网络攻击、勒索等。
注册获取《数据泄露成本报告》
单点登录 (SSO) 基于服务提供商(应用程序、网站、服务)与身份提供商 (IdP) 或 SSO 解决方案之间的数字信任关系。SSO 解决方案通常属于更大规模的身份和访问管理 (IAM) 解决方案。
一般来说,SSO 身份验证的工作原理如下:
用户使用 SSO 登录凭证登录其中一个服务提供商或中央门户网站(如公司内网或大学生门户网站)。
用户成功通过身份验证后,SSO 解决方案会生成一个会话身份验证令牌,其中包含有关用户身份的特定信息,如用户名、电子邮件地址等。该令牌存储在用户的网络浏览器或 SSO 系统中。
当用户尝试访问另一个可信服务提供商时,应用程序会与 SSO 系统进行确认,以确定用户是否已通过会话身份验证。如已通过,SSO 解决方案会使用数字证书签署身份验证令牌,从而验证用户,并授予用户访问应用程序的权限。否则,系统会提示用户重新输入登录凭证。
订阅安全主题最新资讯
上述 SSO 流程,即单次登录和一组用户凭证,可提供面向多个相关应用程序的会话访问权限,有时可称为简易 SSO 或纯 SSO。其他类型的 SSO 包括:
自适应 SSO 需要一组初始登录凭证,但当出现其他风险时,例如当用户从新设备登录,或尝试访问特别敏感的数据或功能时,会提示输入其他身份验证因素或重新登录。
联合身份管理 (FIM) 是 SSO 的超集。虽然 SSO 基于单个组织域内应用程序之间的数字信任关系,但 FIM 可将这种关系扩展到组织外部的可信任的第三方、供应商和其他服务提供商。例如,FIM 可能会支持已登录的员工访问第三方 Web 应用程序,例如 Slack 或 WebEx,而无需额外登录,或仅使用用户名登录。
社交登录可支持最终用户使用他们在热门社交媒体网站上使用的相同凭证来验证应用程序。对于第三方应用程序提供商来说,社交登录可以阻止不良行为(例如,错误登录、购物车弃购),并为改进其应用程序提供有价值的信息。
SSO 可以使用多种身份验证协议和服务中的任何一种来实现。
安全断言标记语言 (SAML) 是用于在身份提供商和多个服务提供商之间交换加密身份验证和授权数据的开放标准协议,历史十分悠久。由于相较于其他协议, SAML 提供了更好的安全性控制能力,因此通常会用于在企业或政府应用程序域内部和之间实施 SSO。
开放式授权或 OAuth 是一种开放式标准协议,可在应用程序之间交换授权数据,而不会泄露用户密码。OAuth 支持使用单次登录来简化通常需要单独登录的应用程序之间的交互。例如,OAuth 可支持 LinkedIn 搜索您的电子邮件联系人,以寻找潜在的新网络成员。
OICD 是另一种开放标准协议,使用 REST API 和 JSON 身份验证令牌,支持网站或应用程序通过其他服务提供商对用户进行身份验证,以便授予用户访问权限。
OICD 位于 OAuth 之上,主要用于实现第三方应用程序、购物车等的社交登录。OAuth/OIDC 是一种轻量级的方式,通常用于 SAML 跨软件即服务 (SaaS) 和云应用程序、移动应用程序和物联网 (IoT) 设备实施 SSO。
轻量级目录访问协议 (LDAP) 定义了用于存储和更新用户凭证的目录,以及根据该目录对用户进行身份验证的过程。LDAP 于 1993 年推出,至今仍是许多实施 SSO 的组织首选的身份验证目录解决方案,因为 LDAP 可支持企业对目录访问进行细粒度控制。
Active Directory 联合身份验证服务 (ADFS) 在 Microsoft Windows Server 上运行,以支持与本地和外部应用程序及服务的联合身份管理(包括单点登录 SSO )。ADFS 使用 Active Directory 域服务 (ADDS) 作为身份提供方。
SSO 可以为用户节省时间并减少麻烦。例如:通过 SSO,企业最终用户无需每天多次登录多个应用程序,只需登录一次企业内网,即可全天访问他们需要的每个应用程序。
但是通过显着减少用户需要记住的密码数量,以及管理员需要管理的用户账户数量,SSO 还可以提供诸多其他好处。
需要管理大量密码的用户经常会养成对每个应用程序设置相同且短而弱的密码(或仅作略微修改)的不良风险习惯。破解其中一个密码的黑客可以轻松访问多个应用程序。SSO 支持用户将多个短而弱的密码合并为一个长而强的密码,用户更容易记住,黑客更难破解。
根据 2024 年 IBM X-Force Threat Intelligence Index 数据显示,2023 年使用失窃凭证或泄露凭证的网络攻击同比增长了 71%。SSO 可以减少或消除对密码管理器、存储在电子表格中的密码、写在便签上的密码以及其他记忆辅助工具的需求,所有这些都为黑客提供了目标,或者令密码更容易被错误的人窃取或偶然发现。
行业分析专业机构 Gartner 的数据显示,20% 到 50% 的 IT 帮助台呼叫与忘记密码或密码重置有关。大多数 SSO 解决方案均可支持用户在帮助台的帮助下轻松自行重置密码。
SSO 可支持管理员更简单、更集中地控制账户配置和访问权限。当用户离开组织时,管理员可以通过更少的步骤删除权限并停用用户账户。
SSO 可以更加轻松地满足有关保护个人身份信息 (PII) 和数据访问控制的法规要求,以及某些法规(如 HIPAA)中关于会话超时的特定要求。
SSO 的主要风险在于,如果用户的凭证遭到泄露,攻击者可以获得访问网络上全部或大部分应用程序和资源的权限。要求用户创建又长又复杂的密码,并对这些密码进行仔细加密和保护,无论将其存储在哪里,对于防止这种最坏情况的发生有很大的帮助。
此外,大多数安全专家建议将双重身份验证 (2FA) 或多因素身份验证 (MFA) 融入任何 SSO 实施流程。2FA 或 MFA 要求用户除密码外至少再提供一个身份验证因素,例如发送到手机的验证码、指纹、身份证。由于黑客无法轻易窃取或伪造这些额外凭证,因此 MFA 可以显着降低与 SSO 中凭证泄露相关的风险。