【问题标题】:Java SSL/TLS with Anonymous Diffie Hellman具有匿名 Diffie Hellman 的 Java SSL/TLS
【发布时间】:2012-10-11 18:16:10
【问题描述】:

我有一个用 Java 编写的基本客户端/服务器应用程序,它使用普通套接字进行通信。

我想防止对其进行被动窃听攻击,并通过 TLS/SSL 进行通信。我不希望应用程序用户陷入设置证书等的麻烦,我想使用 AES 加密(TLS_DH_anon_WITH_AES_128_CBC_SHA 模式)使用匿名 Diffie Hellman 通过 SSL 设置套接字。

但是,我在网上找不到任何合适的示例或任何关于如何设置 SSLContext 或 SSLSocketFactory 以启用我想要的模式的文档。我会很感激这个最小的例子。

【问题讨论】:

  • 您知道匿名密码套件不安全吗?
  • EJP,正如我在问题中所说,我的目标是防止“被动窃听”,我认为它满足了我的安全要求。

标签: java ssl


【解决方案1】:

您应该使用setEnabledCipherSuitesSSLSocket(或SSLEngine)上设置密码套件。

【讨论】:

  • 在您从工厂获得的SSLSocket 上,致电setEnabledCipherSuites(new String[] { "TLS_DH_anon_WITH_AES_128_CBC_SHA" }。正如 EJP 所说,匿名密码套件对 MITM 攻击是不安全的。通常,能够执行被动窃听的攻击者也能够执行 MITM 攻击。
  • 我希望我可以使用 TLS-PSK 但 Java 没有 :(
  • 如果获取证书有问题,您始终可以使用在您的信任库中明确导入的自签名证书。我怀疑 PSK 需要的配置比这更少。
猜你喜欢
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
相关资源
最近更新 更多