stringtranslate.com

Атаки потокового шифрования

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

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

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

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

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

где xor выполняется пошагово.

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

E(A) xor E(B)

Однако xor является коммутативным и обладает тем свойством, что X xor 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 , включая Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA) и Ciphersaber . Одной из многих проблем с WEP было то, что его IV был слишком коротким, 24 бита. Это означало, что была высокая вероятность того, что один и тот же IV будет использован дважды, если более нескольких тысяч пакетов были отправлены с одним и тем же главным ключом (см. атаку дня рождения ), подвергая пакеты с дублированным IV атаке повторного использования ключа. Эта проблема была устранена в WPA путем частой смены «главного» ключа.

Атака с переворачиванием битов

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

(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"

Вспомним, что строка, XOR-связанная с собой, производит все нули, а строка нулей, XOR-связанная с другой строкой, оставляет эту строку нетронутой. Результат, C(K) xor "$9500.00", - это то, каким был бы наш шифртекст, если бы $9500 были правильной суммой.

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

Атака Избранного-IV

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

Ссылки

  1. ^ Защита записей коммуникаций: TSEC/KW-26 Архивировано 10 октября 2012 г. на Wayback Machine , Мелвилл Кляйн, серия «История АНБ»
  2. ^ Englund, Hakan; Johansson, Thomas; Sonmez Turan, Meltem (2007). "A Framework for Chosen IV Statistical Analysis of Stream Ciphers". Progress in Cryptology – INDOCRYPT 2007 (PDF) . Lecture Notes in Computer Science. Vol. 4859 (INDOCRYPT / volume 4859 of LNCS ed.). Springer. pp. 268–281. doi :10.1007/978-3-540-77026-8_20. ISBN 978-3-540-77025-1. S2CID  18097959. Архивировано из оригинала (PDF) 2018-10-01 . Получено 1 октября 2018 .

Внешние ссылки