Java 安全前景
自由联盟(和 Web 服务安全)
自由联盟计划( Liberty Alliance project )始于 2001 年 9 月,旨在为联合身分管理( federated identity management )及相关服务建立一种开放的标准。在本文中,这个项目的重要性在于 Sun Microsystems 是自由联盟的创始成员之一。自由联盟的理事会现在还包括其他的 13 家公司,比如 American Express 、 HP 、 Nokia 、 Sony 、 GM ,等等,还有大量成员公司成为了自由联盟的发起人、合作人和会员。
联盟的主要成果是一种联盟网络身分架构,以及为想要创建基于创新性身分的 Web 服务的企业提供技术蓝图的规范。
- 对于使用基于 Web 的服务感兴趣的用户被称为 首要用户 ( principal ) , 包括人员和系统用户 。
- 服务提供者提供一组首要用户想要使用的服务(比如预订飞机票)。
- 身份提供者为服务提供者提供证书,以便对首要用户进行身份验证。
该架构还描述了一个过程,该过程允许首要用户进行单点登录( sign-on , SSO )和单点注销。 SSO 允许用户在 Liberty 支持的站点(或者服务提供者)处进行一次登录,这种登录是无缝的,当导航到另一个 Liberty 支持的站点时,无需再次进行身份验证。单点注销提供跨越特定的身分提供者验证的所有会话的同步会话注销功能。
另外,该架构还定义了信赖圈( circle of trust )的概念,它是具有基于 Liberty 架构和操作协议的业务关系的服务提供者和身分提供者的联合,用户们可以通过它们在一种安全而且显然无缝的环境中处理业务。最后,该架构描述了安全性断言标记语言( Security Assertion Markup Language , SAML ),这是一种 OASIS 标准,用于在服务和身分提供者之间交互与安全相关的信息(称为断言)。
在本文中,我从概要描述围绕系统安全性的很多问题开始。然后,我从高层次探讨了 Java 平台上这个难题的各个部分,以便帮助您创建安全的架构。记住,没有什么比使用 Java ,放置合适的防火墙和代理服务器,并使用 SSL 进行通信能够提供更多的系统安全性。设计应用程序的架构时就要考虑到安全性方面的问题,这样才能设计出安全的应用程序。