【问题标题】:Restrict Eliptic curve in sun JSSE (JDK 1.8)Sun JSSE(JDK 1.8)中的限制椭圆曲线
【发布时间】:2016-09-28 19:14:12
【问题描述】:

应该选择哪些 EC 密码来避免 - secp160k1 曲线作为其较弱的一个。

我使用 jdk 1.8 和 SunEC 作为 JCA 提供者

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为该用户在这里提出了同样的问题:security.stackexchange.com/questions/138111/… 并且在那里更好。
  • @jmingov 似乎更适合这里。 JCA 具有禁用某些算法并限制特定于运行时的密钥长度的机制,通常与安全性或密码学无关。我会关闭另一个。
  • @erickson 好的伙计,你的老板 :p 让我们试着关闭另一个。 br
  • 完成@erickson,感谢您的意见。
  • @jmingov 谢谢

标签: ssl java-8 public-key-encryption elliptic-curve jsse


【解决方案1】:

在某些情况下,可以使用 JRE 中的 java.security 文件限制算法和密钥大小,但没有办法使用该方法限制 EC 曲线。

但是,通过指定您在生成密钥时允许的曲线,您实际上将密钥一致性限制在这些曲线上。如果不允许特定曲线,则不应有密钥对来支持它。

【讨论】:

  • 我正在寻找该配置选项,如何指定允许或不允许的曲线。我厌倦了 jdk.tls.disabledAlgorithms= EC keysize
  • @user1493834 抱歉,我忽略了问题主体之外的“JSSE”,并正在考虑直接使用KeyAgreement。不可能通过java.security 文件拒绝特定曲线,但应该可以要求更长的密钥。但必须指定实际密钥大小(以位为单位),而不是有效强度。因此,对于 EC 密钥,如果要禁用所有 160 位密钥,则应指定 224,而不是 112。如果你有机会,请尝试一下。如果我有时间设置测试服务器或在网上找到一个,我会进行实验。
  • 该配置在 tomcat 8.0x 上不起作用,即服务器仍然支持大小为 162 的较弱曲线,但我在 tomcat 8.5.5 中使用相同的 jdk 1.8 和相同的自签名验证了相同的密码集证书。我可以看到它只支持更强的曲线 - 256 及以上。我还没有找到解决办法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
相关资源
最近更新 更多