Атаки потокового шифра - Stream cipher attacks

Потоковые шифры, где биты открытого текста объединяются с потоком битов шифра с помощью операции исключающее ИЛИ (xor ), может быть очень безопасным при правильном использовании[нужна цитата ]. Однако они уязвимы для атак, если не соблюдать определенные меры предосторожности:

  • ключи нельзя использовать дважды
  • действительное дешифрование никогда не должно использоваться для подтверждения подлинности

Атака по повторно используемому ключу

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

Скажем, мы отправляем сообщения А и B одинаковой длины, оба зашифрованы с использованием одного и того же ключа, K. Потоковый шифр выдает строку битов С (К) такой же длины, как и сообщения. Затем зашифрованные версии сообщений:

E (A) = A xor C
E (B) = B x или C

куда xor выполняется по крупицам.

Скажем, противник перехватил E (A) и E (B). Он легко может вычислить:

E (A) xor E (B)

Тем не мение, xor является коммутативный и обладает тем свойством, что X x или X = 0 (самообратное) так:

E (A) xor E (B) = (A xor C) xor (B xor C) = A xor B xor C xor C = A xor B

Если одно сообщение длиннее другого, наш противник просто обрезает более длинное сообщение до размера более короткого, и его атака покажет только эту часть более длинного сообщения. Другими словами, если кто-то перехватит два сообщения, зашифрованных одним и тем же ключом, он сможет восстановить A xor B, который является формой бегущий ключевой шифр. Даже если ни одно сообщение не известно, пока оба сообщения написаны на естественном языке, такой шифр часто можно взломать обычными методами. В течение Вторая Мировая Война, Британский криптоаналитик Джон Тилтман добился этого с Шифр Лоренца (получивший название «Тунни»). В среднем персональный компьютер такие шифры обычно можно взломать за считанные минуты. Если известно одно сообщение, решение тривиально.

Другая ситуация, когда восстановление является тривиальным, - это если безопасность движения меры заключаются в том, что каждая станция отправляет непрерывный поток битов шифра с нулевыми символами (например, LTRS в Бодо ) отправляется при отсутствии реального трафика. Это обычное дело в военной связи. В этом случае и если канал передачи не полностью загружен, существует большая вероятность того, что один из потоков зашифрованного текста будет просто нулевым. В АНБ делает все возможное, чтобы ключи не использовались дважды. Системы шифрования 1960-х годов часто включали перфокарта считыватель для загрузки ключей. Механизм автоматически разрезал карту пополам при извлечении карты, предотвращая ее повторное использование.[1]:п. 6

Один из способов избежать этой проблемы - использовать вектор инициализации (IV), отправляемый в открытом виде, который объединяется с секретным главным ключом для создания одноразового ключа для потокового шифра. Это делается в нескольких распространенных системах, использующих популярный потоковый шифр. RC4, включая Конфиденциальность, эквивалентная проводной сети (WEP), Защищенный доступ Wi-Fi (WPA) и Шифровальный меч. Одна из многих проблем с WEP заключалась в том, что его IV был слишком коротким, 24 бита. Это означало, что была высокая вероятность того, что один и тот же IV будет использоваться дважды, если с одним и тем же мастер-ключом будет отправлено более нескольких тысяч пакетов (см. атака на день рождения ), подвергая пакеты с дублированным IV атаке повторного использования ключа. Эта проблема была устранена в WPA путем частой смены «главного» ключа.

Битовая атака

Предположим, злоумышленник знает точное содержание всего или части одного из наших сообщений. В составе человек в центре атаки или же повторная атака, он может изменить содержание сообщения, не зная ключа, K. Скажем, например, он знает, что часть сообщения, скажем, перевод средств на электронику, содержит ASCII нить "$1000.00". Он может изменить это на "$9500.00" путем выполнения операции XOR этой части зашифрованного текста со строкой: «1000 долларов США» или «9500 долларов США». Чтобы увидеть, как это работает, примите во внимание, что отправляемый нами зашифрованный текст просто C (K) xor "1000 долларов США". Новое сообщение, создаваемое противником:

(C (K) xor «1000,00 долларов США») xor («1000,00 долларов США» xor «9500,00 долларов США») = C (K) xor «1000,00 долларов США» xor «1000,00 долларов США» xor «9500,00 долларов США» = C (K) xor «9500,00 долларов США»

Напомним, что строка XORed с самим собой производит все нули и что строка нулей, соединенная с помощью операции XOR с другой строкой, оставляет эту строку нетронутой. Результат C (K) xor «9500,00 долларов» - это то, чем был бы наш зашифрованный текст, если бы 9500 долларов были правильной суммой. Смотрите также: пластичность (криптография).

Атаки с переворачиванием битов можно предотвратить, включив код аутентификации сообщения для повышения вероятности обнаружения взлома.

Выбранная-IV атака

Потоковые шифры объединяют секретный ключ с согласованным вектором инициализации (IV) для создания псевдослучайной последовательности, которая время от времени повторно синхронизируется. [2]. Атака "Chosen IV" основана на обнаружении определенных IV, которые, вместе взятые, вероятно, раскроют информацию о секретном ключе. Обычно выбирается несколько пар IV, и различия в генерируемых ключевых потоках затем анализируются статистически для линейного корреляция и / или алгебраическое булево отношение (см. также Дифференциальный криптоанализ ). Если выбор определенных значений вектора инициализации действительно раскрывает неслучайный образец в сгенерированной последовательности, то эта атака вычисляет некоторые биты и, таким образом, сокращает эффективную длину ключа. Симптомом атаки может быть частая повторная синхронизация. Современные потоковые шифры включают шаги для адекватного смешивания секретного ключа с вектором инициализации, обычно путем выполнения множества начальных раундов.

Рекомендации

  1. ^ Защита записи данных: TSEC / KW-26, Мелвилл Кляйн, серия истории АНБ
  2. ^ Энглунд, Хакан; Йоханссон, Томас; Сонмез Туран, Мелтем (2007). «Платформа для статистического анализа потоковых шифров Chosen IV». Прогресс в криптологии - INDOCRYPT 2007 (PDF). Конспект лекций по информатике. 4859 (INDOCRYPT / том 4859 изд. LNCS). Springer. С. 268–281. Дои:10.1007/978-3-540-77026-8_20. ISBN  978-3-540-77025-1. S2CID  18097959. Получено 1 октября 2018.

внешняя ссылка