Атаки потокового шифрования
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Потоковые шифры , в которых биты открытого текста объединяются с битовым потоком шифра с помощью операции исключающего или ( xor ), могут быть очень безопасными при правильном использовании. [ нужна ссылка ] . Однако они уязвимы для атак, если не соблюдать определенные меры предосторожности:
- ключи никогда не должны использоваться дважды
- никогда не следует полагаться на действительную расшифровку для указания на подлинность.
Атака с повторным использованием ключа
[ редактировать ]Потоковые шифры уязвимы для атак, если один и тот же ключ используется дважды (глубина два) или более.
мы отправляем сообщения A и B одинаковой длины, зашифрованные с использованием одного и того же ключа K. Допустим , Поточный шифр создает строку битов C(K) той же длины, что и сообщение. Зашифрованные версии сообщений тогда:
- E(A) = A xили C
- E(B) = B xили C
где xor выполняется побитно.
Предположим, противник перехватил E(A) и 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 x или B , что является формой шифра с работающим ключом . Даже если ни одно из сообщений неизвестно, но оба сообщения написаны на естественном языке, такой шифр часто можно взломать с помощью бумаги и карандаша. Во время Второй мировой войны британский криптоаналитик Джон Тилтман осуществил это с помощью шифра Лоренца (получившего название «Тунни»). На обычном персональном компьютере такие шифры обычно можно взломать за считанные минуты. Если известно одно сообщение, решение тривиально.
Другая ситуация, когда восстановление является тривиальным, - это если меры безопасности потока трафика заставляют каждую станцию отправлять непрерывный поток битов шифрования с нулевыми символами (например, LTRS в Бодо ), отправляемыми при отсутствии реального трафика. Это обычное явление в военной связи. В этом случае, а также если канал передачи не полностью загружен, существует большая вероятность того, что один из потоков зашифрованного текста будет просто нулевым. АНБ делает все возможное , чтобы предотвратить повторное использование ключей. Системы шифрования 1960-х годов часто включали в себя устройство считывания перфокарт для загрузки ключей. Механизм автоматически разрезал карту пополам, когда карта была удалена, предотвращая ее повторное использование. [1] : с. 6
Один из способов избежать этой проблемы — использовать вектор инициализации (IV), отправленный в открытом виде, который в сочетании с секретным главным ключом создает одноразовый ключ для потокового шифра. Это делается в нескольких распространенных системах, использующих популярный потоковый шифр RC4 , включая Wired Equiвалентную конфиденциальность (WEP), защищенный доступ Wi-Fi (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
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( декабрь 2017 г. ) |
Потоковые шифры объединяют секретный ключ с согласованным вектором инициализации (IV) для создания псевдослучайной последовательности, которая время от времени повторно синхронизируется. [2] Атака «Выбранный IV» основана на поиске конкретных IV, которые в совокупности, вероятно, раскроют информацию о секретном ключе. Обычно выбираются несколько пар IV, а затем различия в сгенерированных потоках ключей статистически анализируются на предмет линейной корреляции и/или алгебраического логического отношения (см. также Дифференциальный криптоанализ ). Если выбор определенных значений вектора инициализации действительно раскрывает неслучайный шаблон в сгенерированной последовательности, то эта атака вычисляет некоторые биты и, таким образом, сокращает эффективную длину ключа. Симптомом атаки может быть частая повторная синхронизация. Современные потоковые шифры включают шаги по адекватному смешиванию секретного ключа с вектором инициализации, обычно путем выполнения многих начальных раундов.
Ссылки
[ редактировать ]- ^ Обеспечение безопасности записей связи: TSEC / KW-26. Архивировано 10 октября 2012 г. в Wayback Machine , Мелвилл Кляйн, серия историй АНБ.
- ^ Энглунд, Хакан; Йоханссон, Томас; Сонмез Туран, Мельтем (2007). «Структура выбранного IV статистического анализа потоковых шифров». Прогресс в криптологии – INDOCRYPT 2007 (PDF) . Конспекты лекций по информатике. Том. 4859 (ИНДОКРИПТ / том 4859 изд. LNCS). Спрингер. стр. 268–281. дои : 10.1007/978-3-540-77026-8_20 . ISBN 978-3-540-77025-1 . S2CID 18097959 . Архивировано из оригинала (PDF) 1 октября 2018 г. Проверено 1 октября 2018 г.
Внешние ссылки
[ редактировать ]- Безопасность алгоритма WEP
- «Атаки на потоковые шифры: обзор» - краткий обзор различных атак на потоковые шифры за 2014 год.
- «Атаки на потоковые шифры: перспектива» - слайды доклада, 2011 г.