【问题标题】:Java SSL provider with AES-NI support支持 AES-NI 的 Java SSL 提供程序
【发布时间】:2012-12-24 22:38:50
【问题描述】:

是否有可以处理 SSL 连接并支持 AES-NI 指令的 Java 安全提供程序?

我曾尝试将 SunPKCS11 与 Mozilla NSS 一起使用,但它不适用于使用 AES 加密的 SSL 连接。根据Java PKCS#11 Reference Guide,此提供程序不支持 SSLContext.* "算法" :-(

【问题讨论】:

  • 这可能会对你有所帮助,虽然有点老:stackoverflow.com/questions/3045520/aes-acceleration-for-java
  • @AndersR.Bystrup:谢谢。我找到了那个问题。不幸的是,它现在已经 2 岁多了。 Java7 现已推出,但我找不到任何关于开箱即用支持 AES-NI 的信息(没有 SunPKCS11 和外部库)。即便如此,我已经运行了 SunPKCS11+mozilla-nss,并且 AES 加密的速度得到了显着提升,但它不处理 SSL 连接,它仍然使用 SunJSSE 提供程序。
  • 这将是特定于平台的,因此我不确定这是 Java 的事情。但是,我会简单地使用 SWIG 并以这种方式为这些本机库提供接口。
  • 这是一个有趣的链接,与 IBM WebSphere 相关:www-01.ibm.com/support/docview.wss?uid=swg1IV26016
  • @AndersR.Bystrup:谢谢安德斯。我现在意识到我在这里混合了两种不同的“技术”/库:JCE(加密的东西)和 JSSE(安全套接字)。根据docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/… 的说法,“在 Java SE 6 中,SunJSSE 提供程序将 JCE 专门用于其所有加密操作,因此能够自动利用 JCE 功能和增强功能,包括 JCE 新添加的对 PKCS#11 的支持”。我需要更好地理解这一点......它似乎实际上可以按我的意愿工作。

标签: java security aes-ni


【解决方案1】:

2012 年 12 月在 上进行了一些活动,以支持 x86 上的 AES-NI。见JEPS-164

This 在 2012 年 12 月讨论了与 jdk8 的合并here 包括汇编代码更改以支持 AES-NI。从讨论看来,更改可能会被移植回 jdk7u12。

2012 年 11 月用于 Java V7 的 IBM JCE 包括对 AES-NI 的支持。

如果使用这些新的 JRE 之一,您的 java SSL/TLS 实现应该利用 AES-NI 而不使用 PKCS11 提供程序。

您可以检查您的 BIOS 以查看是否可以启用/禁用 AES-NI。如果可以,那么您可以运行 AES 加密/解密的微基准测试,看看有什么区别。

【讨论】:

  • 感谢您的回答。我确实运行了完全不科学的微基准测试,并且在使用 AES-NI 的机器上使用 PKCS11+mozilla-nss 时速度提升非常显着......它快了大约 4 倍。在没有 AES-NI 支持的机器上运行相同的测试时,加密提供者之间的差异要小得多,几乎不明显。在这个问题中,我想确保在使用 SSL 套接字时也能获得这种好处。
【解决方案2】:

我相信我已经找到了问题的答案。

首先,我为两个不同的库混合了“提供者”:JCE(加密算法的实现)和 JSSE(对安全套接字的支持)。

根据JavaTM Secure Socket Extension (JSSE) Reference Guide, section JCE and Hardware Acceleration/Smartcard Support,默认 JSSE 提供程序 (SunJSSE) 使用 JCE 进行所有加密操作。

JCE 可以配置为使用硬件加速的 AES,例如通过使用 SunPKCS11 + mozilla-nss 库,如 this answer 中所述。

剩下的工作(在我的例子中)是确保 SSL 配置了正确的密码,并验证 SunPKCS11 是否被 ssl 连接实际使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多