Почему использование неслучайного IV с режимом CBC является уязвимостью?

Я понимаю цель IV. В частности, в режиме CBC это гарантирует, что первый блок из 2 сообщений, зашифрованных одним и тем же ключом, никогда не будет идентичен. Но почему это уязвимость, если IV являются последовательными? Согласно CWE-329 NON-Random IV допускают возможность атаки по словарю. Я знаю, что на практике протоколы, такие как WEP, не прилагают усилий, чтобы скрыть IV. Если у злоумышленника есть текстовое сообщение IV и шифр, это открывает дверь для словарной атаки на ключ. Я не вижу, как случайный iv меняет это. (Я знаю, что атаки против Wep более сложны, чем это.)

Какое преимущество безопасности имеет рандомизированный iv? Это все еще проблема с "Идеальным блочным шифром"? (Совершенно безопасный блочный шифр без возможных недостатков.)

3 ответа

Решение

Предсказуемые IV могут быть использованы выбранным простым текстом.

Притворись, что Ева - администратор страховой компании. Компания собирает медицинские истории от бенефициаров, которые включают в себя множество истинных / ложных флажков о состоянии здоровья. Эта компания также происходит с собственным поставщиком медицинского страхования. Ева понимает, что Алису можно шантажировать, если она обнаружит, что Алиса имеет особенно неловкое состояние здоровья. Однако значение в каждом из этих полей зашифровано, поэтому, несмотря на то, что Ева является администратором базы данных, она имеет доступ только к зашифрованному тексту.

В CBC IV XORed (отмеченный "" "ниже) с простым текстом, затем проходит через блочный шифр: C 1 = E k (IV ⊕ P 1).

Поскольку Ева является бенефициаром страховой компании, она может выбрать простой текст для своей медицинской карты, а поскольку она является администратором базы данных, она может проверить любой зашифрованный текст. В дополнение к использованию предсказуемых IV, неаккуратный разработчик приложений проделал плохую работу по проверке входных данных приложения. Если Ева может заранее предсказать IV, которые будут применены к ее (IV канун) и Алисе (IV Алиса) записям, она может выбрать простой текст для своей собственной записи следующим образом: P eve = IV канун ⊕ IV Алиса ⊕"false"

Приложение зашифровывает этот простой текст следующим образом:

C eve = E k (IV канун ⊕ P eve) = E k (IV канун ⊕ (IV канун ⊕ IV Алиса ⊕"ложь"))

Канун IV - IV канун отменяется, что означает, что C eve = E k (IV alice ⊕"ложь")

Теперь Ева может сравнивать Еву и Алису. Если они отличаются, она знает, что Алиса должна была ввести "истина" для этого заболевания.

Создание IV непредсказуемым образом препятствует этой атаке, и простой способ сделать их непредсказуемыми состоит в том, чтобы выбирать их случайным образом после предоставления простого текста.

Другие ответы хорошие, хотя и очень технические.

Почему использование неслучайного IV с режимом CBC является уязвимостью?

Когда вы шифруете данные ключом, если данные и ключ одинаковы (не изменились), то зашифрованные данные будут одинаковыми. Если зашифрованные данные одинаковы, то наборы зашифрованных данных могут быть проанализированы на наличие шаблонов, которые затем могут быть использованы для получения знаний о зашифрованных данных.

CBC (Cipher Block Chaining) решает эту проблему путем XOR -шифрования зашифрованных данных предыдущего блока с данными, которые должны быть зашифрованы. Это означает, что блоки с одинаковыми данными будут отличаться, если зашифрованные данные из предыдущего блока отличаются, даже если ключи одинаковы.

Проблема с CBC состоит в том, что делать с первым блоком, поскольку нет предыдущего блока для получения зашифрованных данных. Вместо этого данные XORed с блоком случайных битов, называемых IV (вектор инициализации).

Вы можете считать безопасность IV такой же, как и безопасность зашифрованных блоков данных. Другими словами, если им могут быть предоставлены зашифрованные данные, то им также может быть предоставлен IV.

Я хочу объяснить ваш вопрос с помощью WEP, который уязвим, и теперь используются другие протоколы, такие как WPA2.

простое правило IEEE гласит:

Основное правило: никогда не используйте клавишу +IV дважды, никогда

Одна из причин компрометации WEP - причина генерации IV.

альтернативный текст

Как видно на рисунке, когда WEP впервые появился, длина IV составляла 24 бита (позже он увеличился на 48 бит), если злоумышленник знает, как генерируется IV, или в этой ситуации IV достаточно малы, чтобы злоумышленник смог использовать Сообщения.

Если кто-то знает о генерации IV или он перекрывается (поскольку IV являются 24-битными, это означает 2^24 IV) во время передачи пакетов, то злоумышленник, отслеживающий трафик, может: если IV являются последовательными, это означает, что все еще существует вероятность того, что IV будут перекрываться через некоторое время.

давайте предположим,

passphrase key Kp

initialization vector Ivi

plaintext data D1, D2 (for separateblocks)

Traffic Key:Kti=Kp||Ivi

Ciphertext: E(Kti,Di)=RC4(Kti) xor Di

и предположим, что

IV1=IV2  (created sequentially and from 0 to 2^24 again returns back)

Атакующий имеет,

(RC4(Kt1) xor D1) Xor  (RC4(Kt1) xor D2) = D1 XOR D2

Это может быть сломано с помощью Aircrack-NG с использованием сетевых трассировок. Идея, которую я показал, - это базовое, более сложное предположение, которое можно сделать, опять же, никогда не используйте тот же IV, который будет перекрываться.

Другие вопросы по тегам