找到 this关于基于 Java 的 SSO 系统的文章,想知道它是否以任何方式适用于安全 Web 服务。
使用安全的网络服务,您需要:
- 安全的传输
- 身份验证
- 数字标牌
- 加密负载
通常这可以通过一些符合 OASIS 标准的安全框架(CXF、WSS4J、XWSS 等)通过 SSL 进行传输来完成。
我对 Kerberos、JAAS 或 GSS 一点都不熟悉,但在我看来,如果它们可以用来保持客户端和多个 Java EE 应用程序之间的安全连接,为什么不能直接使用它们使用其中一个框架(如 WSS4J)来提供 WSS。
我可以使用 Kerberos 而不是 SSL,然后让 WSS4J 处理所有 WS 特定的东西。
通过这种方式,我可以制作可重用的 Kerberos 组件,这些组件既可以用于 SSO 中,也可以用于 Web 服务中的传输层安全性。
我是不是完全疯了?
最佳答案
尤吉, 规定的要求是典型的。但细节差异很大。 因此,总结单一的方法或解决方案是不切实际的。
需求需要进一步分割,单独分析。
例如:SSO 大致有两个要求 a) 身份验证 b) 授权。 您可以对两者使用单一解决方案,也可以对每个解决方案使用多个解决方案。一个精心设计的系统可以同时使用多个身份验证,例如 .. 基于表单、基于证书、基于 token 、远程身份验证。
在授权的情况下,我们可以使用 LDAP/ActiveDirectory/Domino 的集中式解决方案 或与上述所有协调的去中心化。
这些解决方案中的每一个都有局限性,例如,Kerberos 不能有效抵御密码猜测攻击
安全解决方案的选择取决于许多参数,例如 持续的威胁、成本、性能等。
WS-Security 项目试图解决许多此类架构问题。 回答您的问题——不,您不能将 kerberos 用于 SSO 和传输层加密 --Kiran.Kumar
关于java - 使用 Kerberos 和 JAAS 保护 Java EE Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902764/