Linux 在政府部门的应用:理解联邦身份管理
回想当年,Scott McNeally 和 Steve Ballmer 登上舞台并开始像一对刚从谷仓里出来的乡村舞者一样跳跃,我绞尽脑汁也想不明白他们到底在高兴什么。我想这只能说明他们有一些自认为能让他们更加富有的秘密。他们甚至用他们那些花哨的动作,举着底特律活塞队的球衣等等,给接下来的冰球赛季下了诅咒。
我不明白有什么如此重要。所以当 Steve 站起来说他要给 McNeally 先生 7 亿美元来解决未决的反垄断问题,9 亿美元来解决专利问题,然后还笑了的时候,那天可真是让不少人感到震惊。此外,Sun 和微软同意为彼此技术的使用支付专利费,微软预先支付 3.5 亿美元,而 Sun 在将微软的技术纳入其服务器产品时支付费用。
那时,我们大多数人都没有意识到技术才是那天的重要问题。在管理用户身份、认证和授权的大型计算环境方面,除了 IBM 之外,Sun 领先于所有人。事实上,Sun 的联邦身份管理产品在每个重要类别中都与 IBM 的 Tivoli 不相上下。与此同时,微软需要一个合作伙伴来赶上 IBM。
现在想起另一件事,Sun 已经放弃了 Linux 桌面。微软想进入大型机游戏领域,但这是 IBM 一直拒绝允许的。微软为了试图切断 IBM 的“空气供应”而向其支付费用,我们来自雷德蒙德的朋友们很可能会最终登上 Sun 的大型机,同时给 IBM 一个响亮的嘲笑。
由于 Sun 和微软的协议,他们的工程师开始在身份信息方面进行合作。最初听起来像是 Linux 将能够登录 Active Directory。实际上,这意味着 Active Directory 和 Java System Identity Server 将协同工作。包括媒体在内的大多数人认为 Sun 能够登录 Active Directory 看起来是最大的胜利。今天,我们意识到微软需要 Sun,而不是反过来。
实际上,我们应该问 FIM 有多重要。它是数字融合的关键,也可能是现代最重要的技术之一。很快,我们将开始沉浸在数字电视、多功能电话、各种设备之中,而使所有这些东西与我们的计算机网络和互联网协同工作的核心在于身份管理。而身份管理的核心在于联邦。
人们使用 FIM 来指代一种系统,该系统允许个人使用相同的用户名、密码或其他个人身份识别信息登录到多个企业的网络,以便进行交易。您可能会看到它被称为单点登录(SSO)。
联邦身份管理(FIM)系统中的合作伙伴相互依赖,以验证各自的用户,并保证他们对服务的访问和权限。每个参与的合作伙伴都依赖另一个合作伙伴进行验证。合作伙伴组成了一个信任圈。
例如,一个联邦系统允许像 AT&T 这样的公司构建一项服务,其中数十家第三方供应商聚集在一起提供一项服务。我自己就在使用 AT&T 的 VoIP 服务。事实证明,系统上的几乎每项服务都来自第三方,包括计费、VoIP 电话适配器的激活和管理、语音邮件、呼叫过滤、电子邮件、来电显示、三方通话、呼叫转移、传真和调制解调器支持、呼叫等待等等。
如果没有 AT&T 的联邦身份管理系统,每个服务提供商都会要求您拥有单独的 ID 和密码。公司将不得不信任其合作伙伴来保证他们自己的用户。每个合作伙伴都必须依赖另一个合作伙伴说:“这个用户没问题;让他们访问这个应用程序。”
标准确实存在,而这却是一个问题。这个问题如此严重,以至于布什总统不得不发布一项名为国土安全总统指令/Hspd -12 的指令。该指令演变成了联邦信息处理标准 201 (FIPS 201)。正如国防人力数据中心副主任 Mary Dixon 在《政府计算机新闻》中引用的那样
对我们来说,一个大问题是供应商卡之间的互操作性。我们还必须弄清楚如何确保我们雇用的每个人都通过国家机构审查。这对每个人来说都是一个巨大的挑战。
标准允许公司共享应用程序,而无需采用相同的目录服务、安全和身份验证技术。在公司内部,目录服务允许公司通过单一身份识别其用户。要求其他组织匹配技术或为其合作伙伴的员工维护用户帐户会造成混乱。
一场争取让所有人加入的斗争正在进行。我们有以下标准制定机构试图成为最终候选者。
OASIS 和 SAML
我们可以从安全断言标记语言(SAML)开始。结构化信息标准促进组织(OASIS)开发了 SAML 作为一种基于 XML 的规范。现在是第二个版本,SAML 最初为三种类型的断言提供了一种通用语言
身份验证断言,即关于用户身份的声明
属性断言,包含关于用户的特定详细信息
授权决策断言,指定用户被允许在特定站点上执行的操作
SAML 授权机构是基于服务器的应用程序,它们发布断言。当实体请求访问资源时,SAML 授权机构会提供一个数字签名的令牌,实体可以使用该令牌进行进一步的请求,而无需重新身份验证。
微软、IBM 和 WS-Fed
微软和 IBM 发布了一份联合白皮书,概述了一组 Web 服务安全规范的路线图。WS-Security 最初提供了将安全令牌附加到消息的方法。这些令牌包括身份令牌。
在我看来,微软经常参与到标准制定工作中,并制造混乱。似乎垄断技术领域仍然是该公司参与其中的根本目的。微软的 WS-Fed 并非源于参与标准制定机构。您必须将 WS-Fed 视为创建事实标准的本土尝试,例如微软 Office 生产力套件的 XML 文件格式。
Liberty Alliance
大多数行业合作伙伴发起了 Liberty Alliance。他们提供三个基本规范
Liberty 身份联邦框架(ID-FF)。ID-FF 允许单点登录、帐户链接、匿名性、关联以及元数据交换的各种选项。
Liberty 身份 Web 服务框架(ID-WSF)。ID-WSF 提供基于权限的属性共享、身份服务发现、交互服务安全配置文件和身份服务模板的功能。
Liberty 身份服务接口规范(ID-SIS),ID-SIS 提供在 ID-WSF 上构建可互操作的服务。可构建的服务可能包括地址列表、联系人簿、日历或具有地理位置数据的应用程序。ID-SIS 通过使用约定的上下文相关模式提供互操作性。
这些规范可以独立使用,也可以组合使用。IBM 加入了 Liberty Alliance,并且 SAML 和 Liberty 之间存在协同作用,可以开发出被接受的融合标准。
当 Sun Microsystems 和微软开始扩展他们自己的身份管理平台以包括联邦和跨公司合作时,自由/开源阵营进入游戏的时间稍晚。IBM 在 Linux 服务器上部署了领先的产品 Tivoli,这对社区来说是一个很大的优势。
一家名为 Ping Identity Corporation 的开源公司似乎是开放解决方案的最佳希望。PingID 是由 André Durand 和 Jabber 的人员创建的一家风险企业,与其他联邦领域的科技公司相比,最初似乎以隐身模式运行。现在,该公司已经完成了一轮最初为 750 万美元的 B 轮融资,当 SAP Ventures 加入后,融资额超过了预期。
Ping Identity Corporation 没有忘记其根基,它赞助了 SourceID,这是一个开源联邦身份管理项目。SourceID 为 SAML、Liberty 和 WS-Fed 提供开源工具包。SourceID 工具包侧重于在现有 Web 应用程序、产品或服务中轻松集成和部署。SourceID 提供高级开发人员功能和自定义。该项目旨在使集成商和企业免受联邦的典型复杂性和不断变化的联邦标准的困扰。
Ping Identity Corporation 符合开源成熟度模型公司的模型。您应该会发现它的 联邦身份入门 非常有参考价值。此外,您可以从 这里 下载 PDF 格式的开发人员用例。
Tom Adelstein 是 Hiser + Adelstein 的负责人,这是一家专注于自由和开源软件解决方案和支持的咨询和运营公司。Tom 是《探索 JDS Linux 桌面》一书的合著者,一本即将出版的关于 Linux 系统管理的书的作者,并且自 1985 年以来著作颇丰。Tom 的职业生涯始于公共会计,在那里他首先学会了编程和开发软件,后来进入华尔街,在那里他成为纽约证券交易所一家公司的指定负责人。他后来重返技术领域,并曾为初创公司以及财富 500 强的领导者提供咨询和合作。