身份提供商(IdP)是一种专业服务,旨在存储和管理用户的数字身份信息。形象地说,它就像一份电子版的来宾名单,但服务于数字和云托管的应用程序,而非实体活动。IdP能够通过用户名密码组合以及其他认证因素来确认用户的身份,或者直接向其他服务提供商(例如单点登录,SSO)提供用户身份列表。
身份提供商的功能不仅限于验证人类用户。在技术层面上,IdP能够验证接入网络或系统的任何实体,包括计算机和其他设备。由IdP存储的每一个实体被统称为“主体”,而非简单的“用户”。尽管如此,IdP在云计算环境中主要用于管理用户的身份信息。
何为用户身份?数字用户身份是指与计算机系统能够验证的量化因素相关联的信息。这些因素被称作“身份验证因素”,通常包括以下三类:
- 知识因素:例如用户名和密码等您所知道的信息; - 占有因素:例如智能手机等您所拥有的物品; - 内在因素:例如指纹或视网膜扫描等您内在的特质。 IdP可以利用这些因素中的一个或多个来识别用户。采用多个身份验证因素进行身份验证的过程称为多因素身份验证(MFA)。 为何需要身份提供商(IdP)?在数字化时代,跟踪数字身份变得至关重要,尤其是在云计算环境中,用户身份直接决定着对敏感数据的访问权限。云服务必须确切了解用户身份的存储位置以及如何验证它们。此外,用户身份的记录必须以安全的方式存储,防止攻击者利用这些信息冒充用户。专业的云身份提供商通常会采取额外的安全措施来保护用户数据,而那些非专业存储身份的服务可能会将数据存储在不安全的位置,例如公开的互联网服务器。
IdP如何与SSO服务相配合?单点登录服务(通常简称SSO)为用户提供了一个统一的登录平台,使一次登录即可访问所有云服务。除了提升用户便利性,SSO的实施也往往能够增强登录安全性。
在多数情况下,SSO和IdP是独立运作的。SSO服务利用IdP来验证用户身份,但它本身并不存储这些身份信息。SSO提供商更像是中介机构,而非完整的解决方案;它类似于一家安保公司,被雇佣来维护公司的安全,但并不属于公司本身。
尽管如此,IdP在SSO登录过程中扮演着关键角色。用户登录时,SSO提供商会与IdP核对用户身份。验证完成后,SSO即可为连接的任意数量的云应用程序验证用户身份。
然而,SSO和IdP并非总是分离的。理论上,两者可以集成在一起。但这种设置更容易受到在途攻击的威胁,攻击者可能通过伪造SAML断言来获取应用程序的访问权限。因此,IdP和SSO通常保持分离。
注:SAML断言是一种由SSO服务发送到云应用程序的专用消息,用于确认用户身份验证,从而允许用户访问和使用该应用程序。
在现实世界中,这一过程是如何运作的?以爱丽丝为例,她在办公室使用自己的工作笔记本电脑。为了与同事进行有效沟通,她需要登录公司的实时聊天应用程序。在浏览器中打开一个标签页,加载聊天应用程序。如果公司使用SSO服务,以下步骤会在幕后进行:
聊天应用程序向SSO查询爱丽丝的登录状态。SSO发现爱丽丝尚未登录,于是提示她登录。此时,爱丽丝的浏览器会将她重定向到SSO登录页面。页面上会有输入框,供她输入用户名和密码。由于公司实施了双因素认证,爱丽丝还需要输入一个短信验证码,该码已通过短信发送到她的手机。完成这些步骤后,她点击“登录”按钮。
现在的情况如下:SSO向爱丽丝公司使用的IdP发送SAML请求。IdP向SSO发送SAML响应,确认爱丽丝的身份。SSO然后将SAML断言发送到爱丽丝最初想要访问的聊天应用程序。
爱丽丝被重定向回聊天应用程序,此时她可以开始与同事们交流。整个过程只需几秒钟。标签: 区块链