Новая атака Logjam на TLS основана на общих группах DH. This link рекомендует создать новую настраиваемую 2048-битную группу DH для каждого сервера.Как настроить пользовательскую группу DH в Java SSLEngine для предотвращения атаки Logjam?
Как настроить настраиваемую группу DH в коде сервера Java, которая использует SSLEngine?
ETA: Я был бы в безопасности, если бы использовал только эфемерные комплекты шифрования DH, т. Е. С DHE или ECDHE, а не с DH или ECDH от их имени? Или это не связано?
Logjam применяется только к эфемерному целому DH, где сервер использует слабые параметры, поскольку используется экспорт поддельных (DHE_EXPORT) или «нормальный» DHE, но сервер тупо настроен/закодирован (раздел 3.5 документа). Это применимо к статическому целочисленному DH, если вы можете получить сертификат для DH, который на практике вы не можете, * и * CA разрешили глупо слабые параметры, которых они не хотели. Это не относится к ECDH как эфемерным, так и статическим, и в документе рекомендуется ECDHE в качестве исправления в целом, но, в свою очередь, вызывает подозрения в существующих общих кривых SECG/NIST. –
Это прежде всего * слабость * (512 бит, возможно 768 и, возможно, 1024), что делает атаку возможной. Совместное использование делает атаку более рентабельным, потому что вы получаете больше «вывода» для одного «ввода». Общий 2048 был бы штраф *, если * сгенерирован * достоверно * (так что вы можете быть уверены, что он действительно имеет силу 2048). –
@ dave_thompson_085 И у нас нет способа узнать, безопасны ли общие 2048-битные параметры в 'sun.security.provider.ParameterCache'? – danarmak