1

我们正在使用去中心化身份 (DID) 开始一个 POC(概念证明),并获得一份讨论要使用的身份验证方法的文档:

OIDC 云代理与 SIOP 边缘代理。

不明白这两个是什么东西?以及使用一种或另一种的优点或缺点是什么。

我知道 OpenId Connect 但不知道这两个,任何解释或阅读链接将不胜感激。

谢谢

4

1 回答 1

7

这个答案假设您对 Indy、Aries、DID、可验证凭证和 OIDC 有一定的了解。我对第一组主题了解很多,但我不是 OIDC 专家,所以请耐心等待 :-)。

SIOP(Self-Issued OpendID Connection Provider)是 OIDC 的标准扩展,尽管大多数 IAM 供应商并未实施它。实施后,OIDC 依赖方 (RP) 可以使用 SIOP 协议直接联系 DID 持有者(例如身份钱包)并使用标准 OIDC 协议取回经过验证的标识符。Decentralized Identity Foundation (DIF) 的一个项目(Interop Project)正在使用 SIOP 来实现 DID 身份验证。这里有一篇关于该方法的文章 - https://medium.com/decentralized-identity/using-openid-connect-with-decentralized-identifiers-24733f6fa636。可以在这里找到互操作项目:https ://github.com/decentralized-identity/interop-project

我们在不列颠哥伦比亚省 (BC) 政府与 Mattr Global(新西兰)合作的替代方案使用 OIDC 云代理来实现标准的 OIDC 身份提供者 (OP),它在一侧与 OIDC 对话,并使用 DID 协议 (DIDComm ) 在另一边与可验证凭证持有者(同样是身份钱包)交谈。我们在一侧使用标准 OIDC 客户端库来接收来自 RP 的授权请求,然后(使用 HTTP)向 Aries 代理(基于 Indy)发送请求以与 Identity Wallet(本身是 Aries 代理 -或至少一个与 DIDComm 对话的人)以请求证明,并接收回证明。然后,OIDC 库从声明中获取数据,将它们映射到 OIDC 令牌以返回给 RP。

此链接包含两个实现的图片:https ://github.com/decentralized-identity/interop-project/issues/16#issuecomment-521130043

请注意,SIOP 实现是关于验证 DID,而 OIDC 代理实现侧重于验证来自可验证凭据 (VC) 的声明。我们认为 VC 授权的退化案例是 DID 的证明,因此 OIDC 代理方法可能能够处理这两种情况。

这里对这些方法的优缺点进行了很好的讨论/总结:https ://github.com/decentralized-identity/interop-project/issues/9

我们(BC Gov 和 Mattr Global)的工作在这里:https ://github.com/bcgov/vc-authn-oidc

于 2019-08-22T16:58:07.597 回答