别吃错药:四大身份验证场景的协议选择

  • 时间:
  • 浏览:0

云栖号:https://www.aliyun.com/#module-yedOfott8

第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

协议取舍:OIDC、UMA

原文发布时间:2020-01-05

本文作者:安全牛

本文来自阿里云云栖号公司合作 伙伴“51CTO”,了解相关信息还不都能不能关注“51CTO”

身份、身份验证和授权协议。

不同应用场景选错身份验证协议的后果很严重,肯能错误的身份验证协议会破坏安全架构基础,并限制未来扩展。没办法 ,常见的身份验证用例都有那些推荐协议呢?

身份验证系统无论安装进内部管理,还是托管在内部管理,都还要谨慎取舍合适的身份验证协议。符合您用例的正确协议,还不都能不能使整个系统安全高效运行,就是我驱动未来扩展和兼容各种标准。此外,若想使用户身份可被内部管理服务识别,还需考虑怎么才能 才能 在保证过程安全的情况表下,便于那些服务摄入用户身份数据。

赋予用户不同账户类型的取舍,还不都能不能使用户不不先经历在线注册和验证过程,就能很方便地访问各保险服务。但这就要求每个 RP 支持多个协议,并需避免一家提供商的身份肯能不支持全版所需主张或属性的难题。而避免方案就是我使用身份编排代理,或采用不不都能不能翻译 RP 所需协议和采集全版所需属性的代理服务。

该用例中,此门户需支持高敏感医疗数据的多种数据共享依据。

此用例中,应用采用数字身份控制对应用及应用相关云资源的访问,比如说,亚马逊 Alexa 等物联网设备。Alexa 用于创建数据存储账户,就是我从中共享数据。

这是个授权访问资源的简单用例,OAuth2 就很合适,尤其是考虑到智能设备使用相对简单的情况表,比如无键盘或屏幕的智能设备。

协议取舍:SAML、OIDC

OIDC 若要达到相同的安全水平,还要额外的加密密钥,如开放银行 (Open Banking)扩展中呈现的那样,其设置和维护肯能相对较繁琐。就是我,OIDC 得益于 JSON 的使用,相对 SAML 更容易为移动应用所用。

说到身份验证,不得不提 DID(或称自主身份)。这人 身份系统依赖用户存储在移动设备上的身份属性,使用分布式账本技术验证那些属性的持有情况表。当前,将那些系统与成熟是什么期期是什么是什么图片 图片 图片 图片 期标准身份协议集成的建议不断提出,现状就是我复杂性自定义协议,比如 uPort。就是我,目前不推荐在通用身份或身份验证用例中使用 DID。不过,Avoco Secure 等提供的编排 API,倒是有望通过转译为标准协议而跨越这人 障碍。

1.物联网设备及相关应用

身份验证指的是通过一种依据识别用户身份,授权资源访问。本文所讨论的身份验证协议包括 SAML 2.0、OpenID Connect (OIDC) 和 OAuth2。注意,OAuth2 从不身份验证协议,但因其使用广泛,可使用户通过 Facebook、亚马逊等社交服务提供商登录,而纳入讨论。

需向依赖方 (RP) 提供身份数据的在线银行或政府服务归属该类用例。IdP 持有敏感数据,用户属性通过所谓了解客户 (KYC) 过程验证,提供达到标准水平的身份。仅受许可的 RP 不不都能不能访问 IdP。

协议取舍:OIDC/OAuth2

这人 四个 协议在功能上常有重叠。

云栖号:https://www.aliyun.com/#module-yedOfott8

第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

3.医疗数据共享门户

此处相对合适的选项是 OIDC,肯能肯能涉及多种设备,其中这人 都有基于浏览器的,也就排除掉了 SAML。与 OIDC 关联的内置许可强化了数据共享的隐私性。此外,还可运用签名和加密增强安全性,达到避免此类数据所需的合规要求。

保险服务医学会 就是我该用例的一大样本。系统需向用户提供使用现有身份账户连接那些服务的依据。用户肯能还要再加所需附加数据。

2.消费者身份提供商 (IdP)

协议取舍:OIDC、OAuth2 和 SAML

4.支持身份服务大环境中多服务提供商的系统

用户应能取舍一家 IdP,以便肯能在不同 IdP 处拥有账户的用户还不都能不能方便操作。举个例子,这人 用户肯能持有政府颁发的身份;这人 用户肯能仅拥有亚马逊账户或淘宝账户。

SAML 适用于安全要求高的场合。RP 和 IdP 之间的交换都能被双方数字发表声明和验证。这就保障了双方身份的真实性,避免出现某一方被假冒的情况表。此外,还还不都能不能加密来自 IdP 的断言,以便不仅仅依赖 HTTPS 避免攻击者触及用户的数据。若想进一步夯实安全性,还还不都能不能定期轮转签名和加密密钥。