как установить размер ключа Диффи Хеллмана на 2048 в OpenJDK

Аудит безопасности, который я только что провел, показал, что мы используем силу ключа ниже номинала (рекомендуется 2048 или выше, у нас 1024 бита) для групп Диффи-Хеллмана (TLS). После исследования я обнаружил, что, начиная с JDK 8, мы можем установить размер ключа DH равным 2048. Все параметры, предложенные в Как увеличить размер ключа DH до 2048 в java 8 применимо к Oracle JDK, и они действительно работают для этого.

Однако, когда я пытаюсь установить -Djdk.tls.ephemeralDHKeySize=2048 в качестве аргумента JVM на моем Ubuntu с OpenJDK 8, он все еще остается равным 1024 битам. Любая помощь приветствуется.


person user3688037    schedule 06.04.2017    source источник
comment
Я не думаю, что вы можете, см. serverfault.com/a/722254/216617 Можете ли вы переключиться на Oracle JDK?   -  person Elliott Frisch    schedule 07.04.2017
comment
В упомянутом вами комментарии говорится о стеклянной рыбе, которая jdk 7. Я использую OpenJDK 8, который теоретически соответствует Oracle JDK 8. Я что-то упустил? Я бы не хотел переключаться на Oracle JDK только из-за этого   -  person user3688037    schedule 07.04.2017
comment
OpenJDK 8 определенно должен поддерживать jdk.tls.ephemeralDHKeySize. Вот изменение, которое добавило эту поддержку в OpenJDK 8. Можете ли вы предоставить более подробную информацию? Какую версию OpenJDK 8 вы используете? Как вы проверяете размер ключа? Что произойдет, если вы установите размер ключа, скажем, 65500 вместо 2048?   -  person omajid    schedule 07.04.2017
comment
java -version openjdk версия 1.8.0_72-internal Среда выполнения OpenJDK (сборка 1.8.0_72-internal-b05) 64-разрядная виртуальная машина сервера OpenJDK (сборка 25.72-b05, смешанный режим) Я добавил -Djdk.tls.ephemeralDHKeySize=2048 как JVM аргумент Когда я запускаю отчеты аудита безопасности для экземпляра OpenJDK, он говорит, что я все еще использую 1024 бита. В то время как в экземпляре Oracle JDK 1.8.0.72 нарушение размера ключа обрабатывается после добавления jvm arg.   -  person user3688037    schedule 07.04.2017


Ответы (1)


Это не проблема в последних версиях JDK, я проверил на JDK 9.0.4 и JDK 10. Как указано в комментариях к отчету об ошибке: свойство jdk.tls.ephemeralDHKeySize влияет только на в коде рукопожатия на стороне сервера и, как таковой, должен использоваться на JVM на стороне сервера.

В последней версии Oracle JDK 8u161 это работает, если этот параметр установлен на стороне сервера. Начиная с JDK 9, FFDHE доступен, и это свойство действует при установке на стороне клиента.

person Pallavi Sonal    schedule 22.02.2018