Как отключить 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 )

Что делать?

1
задан 13 April 2016 в 20:21
1 ответ

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

Когда была представлена ​​3DES, требовалось, чтобы она была совместима с унаследованными системами single-DES. Идея 3DES заключается в том, что вы можете увеличить безопасность, выполняя несколько операций DES с разными ключами. Для обеспечения совместимости они использовали конструкцию EDE: 3 операции DES последовательно - шифрование, дешифрование, шифрование - или для краткости 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-битный ключ.

Это компромисс между временем и пространством, который позволяет сократить количество вычислений с 2 ​​ 168 до 2 112 с пробелом. стоимость 2 56 64-битных блоков (512 петабайт).

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

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

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

6
ответ дан 3 December 2019 в 16:44

Теги

Похожие вопросы