Введение

В криптографии, атака на связанных ключах – это любая форма криптоанализа, при которой злоумышленник может наблюдать работу шифра с использованием нескольких различных ключей, значения которых изначально неизвестны, но злоумышленнику известна некоторая математическая связь между этими ключами. Например, злоумышленник может знать, что последние 80 бит ключей всегда совпадают, хотя он и не знает их значения вначале.

Касуми

KASUMI — это восьмираундовый 64-битный блочный шифр со 128-битным ключом. Он основан на MISTY1 и был разработан как основа для алгоритмов конфиденциальности и целостности 3G. Марк Бла́нден и Эдриан Эскотт описали дифференциальные атаки со связанными ключами на пять и шесть раундов KASUMI. Дифференциальные атаки были предложены Бихамом и Шамиром. Атаки со связанными ключами были впервые предложены Бихамом. Дифференциальные атаки со связанными ключами обсуждаются в работе Kelsey et al.

WEP

Важным примером криптографического протокола, потерпевшего неудачу из-за атаки с использованием связанных ключей, является Wired Equivalent Privacy (WEP), используемый в беспроводных сетях Wi-Fi. Каждый клиентский сетевой адаптер Wi-Fi и точка беспроводного доступа в сети, защищенной WEP, используют один и тот же ключ WEP. Шифрование использует алгоритм RC4 – поточный шифр. Критически важно, чтобы один и тот же ключ никогда не использовался повторно с поточным шифром. Чтобы предотвратить это, WEP включает 24-битный вектор инициализации (IV) в каждый пакет данных. Ключ RC4 для данного пакета формируется путем конкатенации IV и ключа WEP. Ключи WEP необходимо изменять вручную, и это обычно происходит нечасто. Следовательно, злоумышленник может предположить, что все ключи, используемые для шифрования пакетов, связаны с одним ключом WEP. Этот факт сделал WEP уязвимым для ряда атак, которые оказались крайне эффективными. Самая простая из них основана на том, что 24-битный IV предоставляет чуть менее 17 миллионов возможных значений. В силу парадокса дней рождения, вероятно, что среди каждых 4096 пакетов два будут иметь одинаковый IV и, следовательно, один и тот же ключ RC4, что позволяет провести атаку на эти пакеты. Более серьезные атаки используют определенные слабые ключи в RC4 и в конечном итоге позволяют восстановить сам ключ WEP. В 2005 году агенты Федерального бюро расследований США публично продемонстрировали возможность этого, используя широко доступные программные инструменты, примерно за три минуты.

Предотвращение атак на связанные ключи

Один из подходов к предотвращению атак на связанные ключи — разработка протоколов и приложений таким образом, чтобы ключи шифрования никогда не имели простой взаимосвязи друг с другом. Например, каждый ключ шифрования может быть сгенерирован из исходного ключевого материала с использованием функции вывода ключа. Так, замена WEP, Wi-Fi Protected Access (WPA), использует три уровня ключей: главный ключ, рабочий ключ и ключ RC4. Главный ключ WPA совместно используется с каждым клиентом и точкой доступа и применяется в протоколе Temporal Key Integrity Protocol (TKIP) для частого создания новых рабочих ключей, что позволяет противостоять известным методам атак. Рабочие ключи затем объединяются с более длинным 48-битным IV для формирования ключа RC4 для каждого пакета. Эта конструкция достаточно похожа на подход WEP, чтобы позволить использовать WPA с сетевыми картами Wi-Fi первого поколения, некоторые из которых реализовали части WEP аппаратно. Однако не все точки доступа первого поколения поддерживают WPA. Другой, более консервативный подход — использовать шифр, разработанный для предотвращения атак на связанные ключи, обычно за счет использования надежного алгоритма формирования ключей. Более новая версия Wi-Fi Protected Access, WPA2, использует блочный шифр AES вместо RC4, в том числе и по этой причине. Атаки на связанные ключи в отношении AES существуют, но, в отличие от атак на RC4, они сложны в практической реализации, а функции генерации ключей WPA2 могут обеспечить некоторую защиту от них. Многие старые сетевые карты не поддерживают WPA2.