java - 使用 Kerberos 和 JAAS 保护 Java EE Web 服务

标签 java web-services ssl kerberos

找到 this关于基于 Java 的 SSO 系统的文章,想知道它是否以任何方式适用于安全 Web 服务。

使用安全的网络服务,您需要:

  1. 安全的传输
  2. 身份验证
  3. 数字标牌
  4. 加密负载

通常这可以通过一些符合 OASIS 标准的安全框架(CXF、WSS4J、XWSS 等)通过 SSL 进行传输来完成。

我对 Kerberos、JAAS 或 GS​​S 一点都不熟悉,但在我看来,如果它们可以用来保持客户端和多个 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/

相关文章:

.htaccess - 为多个域和 SSL 配置 .htaccess

java - 使用 ReSTLet 设置自定义内容范围 header

java - 使用元字符正则表达式模式执行多个字符串替换

java - 单击按钮时应用程序崩溃

c# - asmx Soap Web 服务中的额外类(class)

javascript - 使用jquery调用web服务

ssl - NGINX http ://example. com 到 https ://www. example.com 重写,如何?

java - 文字的算术运算是在编译时还是运行时计算的?

java - 如何从 NetBeans 生成的类中取回原始对象以供 JAX-WS 传输?

ios - 适用于 iOS 的 Google Analytics(分析)SDK 是否具有 SSL 固定?