轻量级第三方认证
轻量级第三方认证 (LTPA) 用于分布式、多应用程序服务器和机器环境。LTPA 支持可转发的凭证和单点登录 (SSO)。LTPA 通过密码术可支持分布式环境中的安全性。此支持允许 LTPA 进行加密、数字签名和安全地传输与认证相关的数据,并在以后对该签名进行解密和验证。
分布在多个节点和单元中的应用程序服务器可以使用 LTPA 协议来安全地进行通信。它还提供单点登录 (SSO) 功能。使用此功能时,用户只需在域名系统 (DNS) 域中进行一次认证,就可以访问其他 WebSphere® Application Server 单元中的资源,而不会再看到认证提示。每个系统上的 DNS 域中的领域名是区分大小写的,并且必须完全匹配。
对于本地操作系统,领域名与主机名相同。
对于本地操作系统,如果正在使用域,那么领域名是域的名称,领域名也可以是机器名。
对于轻量级目录访问协议 (LDAP),领域名是 LDAP 服务器的 host:port 值。
LTPA 协议使用密钥来对服务器之间传递的用户数据进行加密和解密。不同单元之后必须共享这些密钥,才能使一个单元中的资源访问其他单元中的资源,但前提是涉及到的所有单元都使用相同的 LDAP 或定制注册表。
当使用 LTPA 时,使用用户信息和截止时间来创建令牌,并由密钥签署。LTPA 令牌是对时间敏感的。参与保护域的所有产品服务器都必须使它们的时间和日期同步。否则,LTPA 令牌会过早到期并且导致认证或验证失败。缺省情况下将使用全球标准时间 (UTC),并且所有其他机器必须具有相同 UTC 时间。有关如何确保这一点的信息,请参阅操作系统文档。
通过 Web 资源的 Cookie(当启用了 SSO 时)或者通过企业 Bean 的认证协议层,将此令牌传递给同一单元或另一单元中的其他服务器。
如果接收服务器与源服务器共享相同的密钥,那么可以将令牌解密以获取用户信息,然后验证该用户信息以确保它尚未到期,并且令牌中的用户信息在它的注册表中是有效的。成功验证后,在授权检查后可访问接收服务器中的资源。
每个服务器都必须具有有效凭证。如果凭证到期,那么要求服务器与用户注册表通信以进行验证。用户注册表中断可能会导致服务器进程挂起,要求重新启动它们以进行恢复。延长 LTPA 令牌保持高速缓存的时间可以降低此风险,但明显提高了定义安全策略时要考虑的安全性风险。
一个单元(Deployment Manager、节点和应用程序服务器)中的所有 WebSphere Application Server 进程共享相同的密钥集。如果不同的单元间需要密钥共享,那么从一个单元导出它们并将它们导入另一个单元。出于安全性考虑,将使用随机生成的密钥对导出的密钥进行加密,并使用用户定义的密码来保护这些密钥。在将密钥导入另一个单元时,需要这个相同的密码。该密码仅用于保护这些密钥,而不是用于生成这些密钥。
WebSphere Application Server 支持 LTPA 协议和 Kerberos 协议。
当在创建概要文件期间启用了安全性时,缺省情况下将配置 LTPA。
LTPA 要求已配置的用户注册表是中央共享库(例如,LDAP 或 Windows 域类型注册表),以便用户和组在任何机器上都是相同的。
只有对于所有服务器都位于同一系统上的配置,才适于将 LTPA 与本地操作系统用户注册表配合使用。