Назад | Перейти на главную страницу

Как отключить 112-битный набор шифров в ssl Java-сервера

Как отключить набор 112-битных шифров на сервере приложений Java. Конкретно эти.

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Я редактировал java.security файл и сделал jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 2048 , все равно эти алгоритмы перечислены.

Также я хочу иметь предотвращение атак на более раннюю версию (TLS_FALLBACK_SCSV)

Что делать ?

Прежде чем менять конфигурацию SSL, возможно, стоит понять, в чем именно заключается уязвимость.

Когда была представлена ​​3DES, требовалось, чтобы она была совместима с существующими системами single-DES. Идея 3DES заключается в том, что вы можете увеличить безопасность, выполняя несколько операций DES с разными ключами. Для обеспечения совместимости они использовали конструкцию EDE: 3 операции DES последовательно - Encrypt, Decrypt, Encrypt - или для краткости EDE. Оказывается, операция дешифрования DES в основном взаимозаменяема с операцией шифрования с точки зрения безопасности, так что это работает довольно хорошо. Когда вы используете три независимых ключа для каждой операции (известная как вариант ввода 1), вы, по сути, получаете 168-битный ключ. Если вы хотите вернуться в старый режим single-DES, вы используете другую опцию ввода ключей (3), в которой для всех трех подключей установлено одинаковое значение, т.е. k1 = k2 = k3, так что две операции отменяются и только действительно важна одна операция DES. Существует также еще один вариант ввода, который имеет два ключа с одинаковым значением, но один другой, что дает 112-битный ключ, но на самом деле он не используется в действительности и (несколько сбивает с толку) полностью не связан с тем, почему вы видите 3DES. сообщается как 112-битный.

Чтобы еще больше запутать ситуацию, вы иногда будете слышать, как люди говорят о 64-битном DES или 192-битном 3DES. С криптографической точки зрения они идентичны 56-битному DES или 168-битному 3DES. DES определяет систему заполнения клавиш, при которой 8 битов заполнения могут быть добавлены к 56-битному ключу для создания 64-битного дополненного ключа. Это было для использования в некоторых старых системах, и это не очень важно, но 8 бит можно игнорировать, и только 56 бит на самом деле являются ключевым материалом. В 192-битном 3DES происходит то же самое, где каждый 56-битный подключ дополняется 8 битами заполнения, но снова реальный криптографический ключ имеет длину всего 168 бит.

Итак, что это за 112-битная штука?

3DES страдает от проблемы, называемой встреча посередине. Подход следующий:

  1. Найдите известную пару блоков открытого текста и зашифрованного текста для данного ключа, который вы хотите взломать.
  2. Вычислите первый шаг шифрования (то есть одну операцию шифрования DES) в блоке открытого текста для всех возможных 56-битных ключей.
  3. Сохраните все полученные 64-битные блоки в большой таблице поиска.
  4. Для каждой возможной оставшейся 112-битной части ключа выполните две другие операции (расшифровать, зашифровать) с зашифрованным текстом.
  5. Если результат двух операций совпадает с каким-либо блоком в вашей таблице поиска, вы нашли ключ. В противном случае попробуйте следующий 112-битный ключ.

Это компромисс между временем и пространством, который позволяет сократить количество вычислений с 2168 до 2112 при стоимости помещения 256 64-битные блоки (512 петабайт).

Теперь, по какой-то странной причине, все инструменты безопасности, кажется, сообщают 3DES-EDE как 112-битную, не уточняя почему. 3DES-EDE не имеет 112-битной длины ключа и даже 112-битной эффективной длины ключа, если вы не укажете, что ваш злоумышленник имеет 512 ПиБ молниеносного хранилища, доступного вместе с их огромным массивом ASIC для взлома DES. Практика сообщения об этом как о 112-битном, похоже, началась с инструмента "sslscan" и с тех пор копировалась различными другими инструментами, что привело к разного рода путанице и заблуждениям (я даже видел, что это неправильно отмечено на экзамене по безопасности. !)

Это не значит, что ты не должен отключить 3DES - сейчас это старый алгоритм и с ним есть проблемы, так что, наверное, стоит от него отойти. Просто стоит знать почему.

Если хотите, добавьте DESede и DES в ваш список отключенных алгоритмов. Эти имена определены в документация поставщиков криптографических услуг, если вы хотите отключить другие.