SSO“门户”

SSO“门户”

根据我的问题缓解密码爆炸,我联系了一些我们付费访问其网站的服务商,询问我们是否可以验证我们自己的用户,其中一些人说可以,并向我发送了如何验证的规范。(其中一个网站将这样的系统称为页面或“门户”;我从未听说过这个术语被这样使用。)

它非常简单,我很想自己动手。最大的麻烦是,一个网站希望我们在用户首次登录后将每个用户的密钥存储在我们的数据库中(我认为 LDAP 数据库是合理的)。因此,这并不简单,但可行。

我认为,这类任务的本质是,如果一开始就小而简单,那么就不会以那种方式结束。肯定有一些软件可以解决这个问题,并且很容易扩展。

在我的搜索中,我遇到了:

[哇,天哪。我之前搜索的时候漏掉了一些!维基百科页面中央认证服务很有用,并且OpenID 的替代方案看起来有很多选择。

有人可以推荐其中任何一种,或者建议应该避免使用哪些吗?

在内部,我们使用 Apple 的 Open Directory [ == OpenLDAP + Kerberos + 密码服务器(我相信 == SAML)] 进行身份验证。

至于系统的扩展/调整/高级配置,我能够使用 Python、C++ 编程,可以做一些基本的 PHP,也许还能记住一些 Java。看来我需要在某个时候学习 Ruby。

附录:我还希望用户能够通过网络更改他们的密码(并且某些用户可以更改其他用户的密码)。

答案1

我的印象(基于最近一次关于云计算的会议)是,最受关注和支持的三个参与者是 OpenID,SAML, 和信息卡

OpenID 对于个人来说更有用,因为它更容易使用/安装/等等,但在安全性方面做出了一些妥协以使这一点“更容易”实现。

SAML 和信息卡更加面向企业,具有强大的安全性。

这三个都可以处理您的身份管理需求,但是我认为 OpenID 并不像其他两个一样具有真正的 SSO,也就是说,如果我使用 OpenID 登录到网站,它不会自动将我登录到我授权的其他网站。

SAML 受到 Google 及其合作伙伴的支持,因此如果您使用 Google Apps、Salesforce.com 等,这是一个轻松的选择。信息卡或多或少源自 Microsoft,并且(我认为)被 MSN Live 使用。

有基于 Python 的 OpenID 和 SAML 库,但我还没有找到用于信息卡的库(好吧,并没有真正寻找:)

答案2

Shibboleth 只适用于保护通过 HTTP 访问资源的安全。它还被设计为只处理受信任的网站,而不像 OpenID,后者被设计用于对不受信任的网站进行身份验证。我认为 OpenID 的实现比 Shibboleth 简单得多。

答案3

我使用过 Shibboleth 和 SimpleSAML,并且对两者的扩展都进行过研究。

在我们的办公室,我们使用定制版 SimpleSAML php 为 Google Apps 提供 IDP。因此,我们的员工可以使用与本地办公室 LDAP 相同的凭据登录 Google Apps。

恕我直言:

暗语

  • 功能非常强大(如果你能弄清楚如何配置它们)。
  • 需要花一段时间来理解架构和设置 - 一切都是 XML。
  • 文档需要进一步挖掘才能获取信息。
  • IDP 用 Ja​​va 编写。SP 是一个 Apache 模块。

简单SAML

  • 易于使用/设置-您可以在几分钟内按照其文档启动并运行它。
  • 非常容易定制,即许多示例模块和文档易于遵循。
  • 具有更多深奥的功能,例如 YubiKey 支持。
  • 用 PHP 编写的 SP/IDP。

在我们的理想设置中,我们将使用带有 SimpleSAML IDP 的 Shibboleth SP。

相关内容