本
文
摘
要
现在是移动互联网的时代,每个人的手机中都装有N多的应用软件,通常在使用这些软件的时候,从安全和隐私角度需要我们输入用户名和口令通过后才可以登录,虽然安全但是给用户使用带来了不便,有没有一种仅登录一次,然后通过平台之间的透明跳转,互相认证,现统一的身份认证和权限控制,从而提升用户体验和使用效率。答案是肯定的:单点登录可以实现这一个愿景,实际上这个功能在现在的软件中已经非常常见,比如阿里系的应用,在支付宝登录后,其他的诸如淘宝、咸鱼、饿了么和飞猪等都可以使用。
如今,几乎每个网站都需要某种形式的身份验证才能访问其功能和内容。随着网站和服务数量的增加,单点登录已成为必需。现在比以往任何时候都更需要单点登录(SSO)身份验证,通过单点登录用户仅使用一组凭据即可登录多个系统。
什么是单点登录?
单点登录(SSO)是一种会话和用户身份验证服务,具有访问管理(IAM)的属性,它允许用户使用一组登录凭据(例如,名称和密码),就可以安全地对多个应用程序和网站进行身份验证,从而实现访问多个应用程序。企业、小型组织和个人可以使用SSO来简化各种用户名和密码的管理。使用SSO用户尝试访问的应用程序或网站依赖于受信任的第三方来验证用户的身份。它的优势在于其简单性:该服务在一个指定平台上对登录用户进行身份验证,使用户可以使用大量服务,而不必每次都登录和注销。
单点登录(SSO)是一种识别系统,它允许网站使用其他受信任的网站来验证用户。提升效率的同时,使企业摆脱了在数据库中保存密码的需求,减少了登录故障排除的时间,并减少了黑客可能造成的损失。
为什么要使用单点登录?
使用者可能会认为通过支付宝、微信或微博进行社交登录是强大的SSO平台,每个平台都可以访问各种第三方服务。在企业中,组织可以使用SSO来允许用户登录专有Web应用程序(托管在内部服务器上)或云托管的ERP系统。正确实施SSO可以极大地提高生产力、IT监视和管理以及安全控制。使用一个安全令牌(用户名和密码),管理员可以启用和禁用用户对多个系统、平台、应用程序和其他资源的访问。还可以减少密码丢失,忘记或安全漏洞的风险。经过深思熟虑并执行良好的SSO策略可以消除与密码相关的重置成本和停机时间,减轻内部威胁的风险,改善用户体验和身份验证流程,并使组织牢牢控制用户访问。
单点登录的优势。单点登录显然可以最大程度地降低不良密码习惯的风险。此外从服务器或网络存储中删除登录凭据可以极大地防止网络攻击。单点登录对与SSO交互的用户有一些主要好处,SSO的最大优势可以说是它提供的可伸缩性。
给客户带来的好处:
· 无缝的用户体验:客户可以使用一个标识来浏览多个Web和移动服务应用程序。
· 更强大的密码保护:由于用户只需要使用一个密码,SSO便使他们更容易生成,记住和使用更强大的密码。
· 减少客户时间:重新输入相同身份密码所花费的时间。用户将花费更少的时间登录各种应用程序来完成工作。
对企业的好处:
· 提高转化率和收入:客户可以通过一个活动会话访问所有域和服务。
· 降低风险:访问第三方站点(用户密码不在外部存储或管理)无风险。
· 统一客户资料:创建客户数据的单个实例可提供所有渠道的客户集中视图。
· 降低IT成本:降低运维成本,因此IT可以花费更少的时间来帮助用户记住或重置数百种应用程序的密码。
给业务带来的好处
· 更多的用户注册。SSO降低了进入门槛,因此新客户可以依靠知名品牌轻松安全地注册。
· 后端工作少。用户不必费心找密码。在降低黑客入侵风险的同时,更重要的是不必每隔五分钟重置一次用户的密码。所有的身份验证和密码繁重工作均由受信任的身份验证器管理。
· 降低风险。如果没有大量的登录详细信息,黑客攻击网站的动机就会减少。也不太可能拥有大量使用非常弱密码的用户,从而拉低网站的整体安全性。
单点登录的挑战
· 必须执行超强密码。如果SSO账户被绿色,则使用相同身份验证的其他帐户也可能受到威胁。
· 当SSO关闭时,将停止对所有连接的站点的访问。这是在选择SSO系统时要格外小心的重要原因。它必须格外可靠,并且应该制定处理故障的计划。
· 如果黑客破坏了身份提供者用户帐户,则所有链接的系统都可能受到攻击。这可能是经典的单点故障,应该在计划过程中避免。从好的方面来说,高质量的身份提供者具有一流的安全性。
· SSO所需的时间可能比预期的要长。每个环境都是不同的,因此实施中可能需要增加一些步骤。一个示例是将身份提供者链接到服务提供者的任务。
· SSO对于多用户计算机而言是有风险的。当一个用户登录而另一个用户需要使用计算机时会发生什么?
· 某些与SSO链接的站点可能会将其用户数据提供给第三方实体。这是需要仔细注意的区域。
这些是令人关注的主题,但没有一个是不可逾越的。SSO的优势远远超过了谨慎的理由,但是在规划和实施过程中,必须有专家级的专业指导,才能从中受益,同时最大程度地减少弊端。
为什么要使用单点登录?SSO的兴起与其他显着且相互关联的趋势相吻合,包括公共云的兴起、密码疲劳、开发人员新方法、,企业移动性以及Web和云原生应用程序。尤其是迁移到云应用程序既是机遇,也是障碍。根据最新研究,2019年企业预计将平均使用17个云应用程序来支持其IT、运营和业务战略。因此,不足为奇的是有61%的受访者认为如今的身份和访问管理(IAM)比两年前困难得多。
使用SSO的两个明显原因。第一个原因是,它通过阻止基于SaaS云应用程序的惊人增长而引起的各种用户名和密码的泛滥来改善用户体验。第二个原因是提高了安全性。违反的主要原因是凭据受损,用户拥有的用户名和密码越多,密码使用状况就越糟,应用越多,用户开始在各处使用相同的密码,而且它们通常变得越来越简单,从而更容易破坏凭据。
单点登录是有效安全程序复杂结构中的重要元素。它是一项服务,使用户只需输入一个登录名、一个用户名和一个密码即可访问多个网络目标。简化登录过程可简化工作流程,并通过减少出错的可能性来增加安全性。
单点登录如何工作?
没有SSO的身份验证如何工作?没有单点登录每个网站都会维护自己的用户及其凭据数据库。当用户尝试登录应用程序或网站时,将发生以下情况:
(1)该网站首先检查用户是否已通过身份验证。如果有用户可以访问该网站;
(2)如果还没有,它将要求用登录,并根据用户数据库中的信息检查用户名和密码;
(3)登录后,每次进入新页面时,该站点都会传递身份验证验证数据,以验证用户是否已通过身份验证。
身份验证验证数据通常以带有会话数据的cookie或令牌的形式传递,它们不跟踪会话,并且处理速度更快。
单点登录(SSO)身份验证。开发团队迟早都会遇到一个问题:用户已经在域X上开发了一个应用程序,现在希望域Y上的新部署使用与另一个域相同的登录信息。实际上还需要更多:用户希望已经在域X上登录的用户已经在域Y上登录,这就是SSO的全部目的。
解决此问题的明显方法是在不同域之间共享会话信息。但是,出于安全原因,浏览器会强制执行一个称为"相同开源策略"的策略。该政策规定Cookie只能由其创建者访问。换句话说,域X *** 域Y的cookie,反之亦然。这就是SSO解决方案以一种或另一种方式解决的问题:跨不同域共享会话信息。
不同的SSO协议以不同的方式共享会话信息,但是基本概念是相同的:存在一个中心域,通过该域执行身份验证,然后以某种方式与其他域共享会话。比如:中心域可以生成签名的JSON Web令牌(JWT),可以使用JSON Web加密(JWE)对其进行加密。然后,可以将此令牌传递给客户端,并由身份验证域以及任何其他域使用。令牌可以通过重定向传递到原始域,并且它包含为需要身份验证的域标识用户所需的所有信息。由于令牌已签名,因此客户端无法以任何方式对其进行修改。
每当用户进入需要身份验证的域时,他们就会被重定向到身份验证域。由于用户已经在该域登录,因此可以立即使用必要的身份验证令牌将其重定向到原始域。
单点登录不同的协议。如果您在网上阅读有关SSO的信息,则可能会发现有许多不同的实现方式:OpenID Connect、Facebook Connect、SAM等。建议是选择最简单的开发方式,快速实现业务。
单点登录通过拥有所有应用程序都信任的中央服务器来工作。首次登录时,将在此中央服务器上创建cookie。然后,每当尝试访问第二个应用程序时,都将重定向到中央服务器,如果那里已经有一个cookie,则将直接使用令牌将其重定向到该应用程序,而无需登录提示,这意味着您已经登录在。
如何选择安全的SSO解决方案
SSO解决方案必须满足支持IT需求的基本需求。这意味着一个稳定的解决方案和一个功能强大的解决方案。如今,数字化转型依赖于客户身份和访问管理(CIAM)平台,该平台包括SSO和其他工具,因此在选择合适的SSO解决方案范围时需要牢记这点。选择安全的单点登录解决方案时要考虑的7个关键点:
(1)对开发人员的支持:确的SSO解决方案为主要平台提供足够的生命周期管理API支持和SDK。
(2)身份验证:额外的安全层如何?了解它是否支持MFA、自适应身份验证、自动强制身份验证等。
(3)第三方支持:确定是否可以使用任何企业标识提供程序。确保它支持Microsoft Active Directory,Google Directory等。
(4)支持移动平台:确保身份平台支持移动设备的SSO,并与各种多因素身份验证工具良好地同步。
(5)灵活的密码管理规则:它应支持密码验证要求,例如可自定义的密码过期限制,密码复杂性和过期通知。
(6)安全信誉:检查其是否符合ISO 27017、ISO 27018、ISO 27001、SOC 2 Type 2等安全标准以及GDPR和CCPA等全球合规性。
(7)行为分析:了解是否允许将IP列入黑名单或白名单,设置响应以应对暴力绿色尝试,并提供重新认证的规定。
确定最佳实施方法实际上取决于使用场景、技术架构和业务需求。单点登录的目标是解放用户,但是需要明确的是安全是易用性的基础。
写在最后
单点登录身份验证将保留下来。去中心化系统变得越来越普遍,身份验证是所有系统中必不可少的方面。SSO解决了一个大问题:如何在整个应用程序和服务生态系统中管理越来越多的用户。