Атака по центру - Meet-in-the-middle attack
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В встреча посередине (MITM), известная атака открытым текстом[1], представляет собой общую криптографическую атаку пространственно-временного компромисса против схем шифрования, которые полагаются на выполнение нескольких операций шифрования последовательно. Атака MITM - основная причина, почему Двойной DES не используется и почему Тройной DES ключ (168 бит) может быть взломан злоумышленником с помощью 256 пробел и 2112 операции.[2][3]
Описание
При попытке повысить безопасность блочного шифра возникает соблазнительная идея - зашифровать данные несколько раз с использованием нескольких ключей. Можно подумать, что это удваивается или даже п-повышает безопасность схемы множественного шифрования, в зависимости от того, сколько раз данные были зашифрованы, потому что исчерпывающий поиск по всем возможным комбинациям ключей (простой перебор) потребует 2п·k пытается, если данные зашифрованы с помощью k-битовые ключи п раз.
MITM - это обычная атака, которая ослабляет преимущества безопасности от использования нескольких шифров, сохраняя промежуточные значения из шифров или дешифрования и используя их для сокращения времени, необходимого для перебора ключей дешифрования. Это делает атаку Meet-in-the-Middle (MITM) общим пространственно-временным компромиссом. криптографический атака.
Атака MITM пытается найти ключи, используя как диапазон (зашифрованный текст), так и домен (открытый текст) композиции нескольких функций (или блочных шифров), так что прямое отображение через первые функции такое же, как обратное отображение (обратное image) через последние функции, буквально встреча в середине составной функции. Например, хотя Double DES шифрует данные двумя разными 56-битными ключами, Double DES можно взломать с помощью 257 операции шифрования и дешифрования.
Многомерный MITM (MD-MITM) использует комбинацию нескольких одновременных атак MITM, как описано выше, где встреча происходит в нескольких позициях в составной функции.
История
Диффи и Хеллман впервые предложил атаку "встречу посередине" на гипотетическое расширение блочный шифр в 1977 г.[4]Их атака использовала компромисс между пространством и временем взломать схему с двойным шифрованием всего за вдвое больше времени, чем требуется для взлома схемы с одинарным шифрованием.
В 2011 году Бо Чжу и Гуан Гун исследовали многомерная атака на встречу посередине и представили новые атаки на блочные шифры ГОСТ, КТАНТАН и Колибри-2.[5]
Встреча посередине (1D-MITM)
Предположим, кто-то хочет атаковать схему шифрования со следующими характеристиками для данного открытого текста п и зашифрованный текст C:
куда ENC это функция шифрования, DEC функция дешифрования, определенная как ENC−1 (обратное отображение) и k1 и k2 два ключа.
Наивный подход к перебору этой схемы шифрования состоит в том, чтобы расшифровать зашифрованный текст всеми возможными способами. k2, и расшифровать каждый из промежуточных выходов всеми возможными k1, всего 2k1 × 2k2 (или 2k1+k2) операции.
Атака встречи посередине использует более эффективный подход. Расшифровывая C с k2, получаем следующую эквивалентность:
Злоумышленник может вычислить ENCk1(п) для всех значений k1 и DECk2(C) для всех возможных значений k2, всего 2k1 + 2k2 (или 2k1+1, если k1 и k2 одного размера) операции. Если результат любого из ENCk1(п) соответствует результату DECk2(C) операций пара k1 и k2 возможно правильный ключ. Этот потенциально правильный ключ называется кандидат ключ. Злоумышленник может определить, какой ключ-кандидат правильный, проверив его с помощью второго тестового набора открытого текста и зашифрованного текста.
Атака MITM - одна из причин, почему Стандарт шифрования данных (DES) был заменен на Тройной DES а не двойной DES. Злоумышленник может использовать атаку MITM для перебора двойного DES с 257 операции и 256 space, что делает его лишь небольшим улучшением по сравнению с DES.[6] Triple DES использует ключ «тройной длины» (168-бит) и также уязвим для атаки «встреча посередине» в 256 пробел и 2112 операций, но считается безопасным из-за размера своего пространства ключей.[2][3]
Алгоритм MITM
Вычислите следующее:
- :
- и сохранить каждый вместе с соответствующими в наборе A
- :
- и сравни каждый новый с множеством A
Когда совпадение найдено, оставьте kж1,kб1 в качестве пары ключей-кандидатов в таблице Т. Тестовые пары в Т на новой паре для подтверждения действительности. Если пара ключей не работает с этой новой парой, выполните MITM еще раз с новой парой .
MITM сложность
Если размер ключа k, эта атака использует только 2k+1шифрование (и дешифрование) и О(2k) память для хранения результатов прямых вычислений в Справочная таблица, в отличие от наивной атаки, которая требует 22·k шифрование, но О(1) пробел.
Многомерный MITM (MD-MITM)
Эта секция возможно содержит оригинальные исследования.Май 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Хотя 1D-MITM может быть эффективным, была разработана более сложная атака: многомерная атака на встречу посередине, также сокращенно МД-МИТМ. Это предпочтительнее, если данные были зашифрованы с использованием более чем двух способов шифрования с разными ключами. Вместо того, чтобы встречаться посередине (одно место в последовательности), атака MD-MITM пытается достичь нескольких определенных промежуточных состояний, используя прямые и обратные вычисления на нескольких позициях в шифре.[5]
Предположим, что атака должна быть установлена на блочном шифре, где шифрование и дешифрование определены, как и раньше:
то есть открытый текст P зашифрован несколько раз с использованием повторения одного и того же блочного шифра
MD-MITM использовался для криптоанализа, среди многих, Блочный шифр ГОСТ, где было показано, что 3D-MITM значительно снизил временную сложность атаки на него.[5]
Алгоритм MD-MITM
Вычислите следующее:
- и сохранить каждый вместе с соответствующими в комплекте .
- и сохранить каждый вместе с соответствующими в комплекте .
Для каждого возможного предположения о промежуточном состоянии вычислить следующее:
- и для каждого матча между этим и набор , спасти и в новом наборе .
- [требуется проверка ]
- и сохранить каждый вместе с соответствующими в комплекте .
- Для каждого возможного предположения о промежуточном состоянии вычислить следующее:
- и для каждого матча между этим и набор , проверьте также, есть ли
- это совпадает с а затем сохраните комбинацию подключей вместе в новом наборе .
- Для каждого возможного предположения о промежуточном состоянии вычислить следующее:
- и для каждого матча между этим и набор , проверьте также, совпадает ли он с , спасти и в новом наборе .
- и для каждого матча между этим и набор , проверьте также
соответствует ли это . Если это так, то: "
Используйте найденную комбинацию подключей на другой паре открытый текст / зашифрованный текст, чтобы проверить правильность ключа.
Обратите внимание на вложенный элемент в алгоритме. Предположение о всевозможных значениях sj выполняется для каждого предположения на предыдущем sj-1. Это составляет элемент экспоненциальной сложности для общей временной сложности этой атаки MD-MITM.
МД-МИТМ сложность
Временная сложность этой атаки без грубой силы составляет ⋅⋅
Что касается сложности памяти, легко увидеть, что намного меньше, чем первая построенная таблица возможных значений: по мере увеличения i значения-кандидаты, содержащиеся в должны удовлетворять большему количеству условий, поэтому меньшее количество кандидатов перейдет в конечный пункт назначения .
Тогда верхняя граница сложности памяти MD-MITM равна
куда k обозначает длину всего ключа (вместе).
Сложность данных зависит от вероятности того, что неверный ключ может пройти (получить ложное срабатывание), которая , куда л является промежуточным состоянием в первой фазе MITM. Размер промежуточного состояния и размер блока часто совпадают! Учитывая также, сколько ключей осталось для тестирования после первой фазы MITM, это .
Поэтому после первой фазы MITM есть , куда размер блока.
Каждый раз, когда окончательное значение-кандидат ключей проверяется на новой паре открытого текста / зашифрованного текста, количество ключей, которые пройдут, будет умножаться на вероятность того, что ключ может пройти, что составляет .
Часть брутфорс-тестирования (тестирование кандидата ключа на новом -пары, имеют временную сложность , очевидно, что при увеличении степени, кратной b, число стремится к нулю.
Заключение о сложности данных основано на аналогичных рассуждениях, ограниченных тем, что вокруг -пары.
Ниже приведен конкретный пример того, как монтируется 2D-MITM:
Общий пример 2D-MITM
Это общее описание того, как 2D-MITM устанавливается на шифрование блочного шифра.
В двумерном MITM (2D-MITM) метод заключается в достижении 2 промежуточных состояний внутри многократного шифрования открытого текста. См. Рисунок ниже:
2D-MITM алгоритм
Вычислите следующее:
- и сохранить каждый вместе с соответствующими в наборе A
- и сохранить каждый вместе с соответствующими в комплекте Б.
Для каждого возможного предположения о промежуточном состоянии s между и вычислить следующее:
- и для каждого матча между этим и множество A, за исключением и в новом комплекте Т.
- и для каждого матча между этим и множество B, проверьте также, совпадает ли оно с T для
- если это так, то:
Используйте найденную комбинацию подключей на другой паре открытый текст / зашифрованный текст, чтобы проверить правильность ключа.
2D-MITM сложность
Временная сложность этой атаки без грубой силы составляет
где | ⋅ | обозначает длину.
Потребление оперативной памяти ограничено конструкцией наборов А и B куда Т намного меньше других.
Для сложности данных см. подраздел по сложности для МД-МИТМ.
Смотрите также
- Атака на день рождения
- Беспроводная безопасность
- Криптография
- Атака встречи посередине из трех подмножеств
- Атака с частичным совпадением по середине
Рекомендации
- ^ http://www.crypto-it.net/eng/attacks/meet-in-the-middle.html
- ^ а б Мур, Стефан (16 ноября 2010 г.). "Атаки по центру" (PDF): 2. Цитировать журнал требует
| журнал =
(помощь) - ^ а б Блондо, Селин. «Лекция 3: Блочные шифры» (PDF). CS-E4320 Криптография и безопасность данных.
- ^ ^ Диффи, Уитфилд; Хеллман, Мартин Э. (июнь 1977 г.). «Исчерпывающий криптоанализ стандарта шифрования данных NBS» (PDF). Компьютер. 10 (6): 74–84. Дои:10.1109 / C-M.1977.217750. S2CID 2412454.
- ^ а б c Чжу, Бо; Гуан Гун (2011). "Атака MD-MITM и ее приложения к ГОСТ, КТАНТАН и Колибри-2". eCrypt.
- ^ Чжу, Бо; Гуан Гун (2011). «Атака MD-MITM и ее применение к ГОСТ, КТАНТАН и Колибри-2». eCrypt.