шифровальные наборы spring high encryption (aes camellia без aead)

#spring-boot #security #cryptography

#весенняя загрузка #Безопасность #криптография

Вопрос:

У меня есть тест безопасности с двумя уязвимостями (aes camellia без aead -> не предлагается, сбой в системе -> УЯЗВИМ)

Проверка безопасности проводилась в приложении Spring boot, и в моем файле конфигурации есть следующая конфигурация:

 server:
  ssl:
    ciphers: EECDH CHACHA20,EECDH AESGCM,EECDH AES SHA384,EECDH AES SHA256,EECDH AES,EDH AES256,!EDH AESGCM,!EDH SHA256,HIGH,!aNULL,!eNULL,!EXPORT,!DES,!MD5,!PSK,!RC4,!ECDHE-RSA-AES256-GCM-SHA384,!SHA1,!SHA256,!SHA384
  

Я удалил алгоритмы CBC, потому что алгоритмы CBC были сообщены мне как уязвимость.

В тесте мне тоже показали уязвимость logjam, но я следую руководству:

https://geekflare.com/test-logjam-attack-cve-2015-4000-and-fix/

И я включил !ЭКСПОРТ в мои шифровальные наборы

Я не знаю, что мне нужно для решения logjam (потому что на всех страницах я нахожу один и тот же ответ, и AES Camelia, потому что я удаляю алгоритмы CBC, для другой уязвимости).

Ответ №1:

EDH AES256, вероятно, отвечает за обнаружение сбоев в работе, что означает, что ваш JRE использует DH-простое число 1024 бит или меньше. Либо удалите этот набор шифров, либо измените простое число.

Если вы используете Oracle, может сработать следующее (ссылка):

Измените размер ключа по умолчанию в реализациях AlgorithmParameterGenerator и KeyPairGenerator с 1024 до 2048 бит

Это изменение позволит поставщикам JDK использовать 2048 бит в качестве размера ключа по умолчанию для DSA, RSA и DiffieHellman вместо 1024 бит, когда приложения явно не инициализировали java.security.KeyPairGenerator и java.security.AlgorithmParameterGenerator объекты с размером ключа.
Чтобы протестировать это изменение, загрузите JDK 9.0.1, 8u151, 7u161, 6u171 или более поздние версии и задайте системное свойство jdk.security.defaultKeySize с алгоритмом и желаемым размером ключа по умолчанию. Например, чтобы проверить размер ключа DSA по умолчанию 2048, укажите "‑Djdk.security.defaultKeySize=DSA:2048" в командной строке Java.

В вашем случае добавление "‑Djdk.security.defaultKeySize=DiffieHellman:2048" в качестве флага командной строки должно сработать.