Атака с выбранным шифротекстом ( CCA ) — это модель атаки для криптоанализа , где криптоаналитик может собирать информацию, получая расшифровки выбранных шифротекстов. Из этих фрагментов информации злоумышленник может попытаться восстановить секретный ключ, используемый для расшифровки.
Формальные определения безопасности против атак с использованием выбранного шифртекста см., например: Майкл Луби [1] и Михир Беллар и др. [2]
Ряд в остальном безопасных схем можно преодолеть с помощью атаки на основе выбранного зашифрованного текста. Например, криптосистема Эль-Гамаля семантически безопасна при атаке на основе выбранного открытого текста , но эта семантическая безопасность может быть тривиально преодолена при атаке на основе выбранного зашифрованного текста. Ранние версии RSA- заполнения, используемые в протоколе SSL , были уязвимы для сложной адаптивной атаки на основе выбранного зашифрованного текста , которая раскрывала ключи сеанса SSL. Атаки на основе выбранного зашифрованного текста также имеют последствия для некоторых самосинхронизирующихся потоковых шифров . Разработчики защищенных от несанкционированного доступа криптографических смарт-карт должны быть особенно осведомлены об этих атаках, поскольку эти устройства могут полностью находиться под контролем злоумышленника, который может выдать большое количество выбранных зашифрованных текстов в попытке восстановить скрытый секретный ключ.
Было совершенно не ясно, смогут ли криптосистемы с открытым ключом противостоять атаке с использованием выбранного шифротекста, пока в 1990 году не появилась первая прорывная работа Мони Наора и Моти Юнга , в которой был предложен режим двойного шифрования с доказательством целостности (теперь известный как парадигма шифрования «Наор-Юнг»). [3] Эта работа сделала понимание понятия безопасности против атаки с использованием выбранного шифротекста гораздо более ясным, чем прежде, и открыла направление исследований по созданию систем с различными видами защиты от вариантов атаки.
Когда криптосистема уязвима для атаки с выбранным шифротекстом, разработчики должны быть осторожны, чтобы избегать ситуаций, в которых злоумышленник может расшифровать выбранные шифротексты (т. е. избегать предоставления оракула дешифрования). Это может быть сложнее, чем кажется, поскольку даже частично выбранные шифротексты могут допускать тонкие атаки. Кроме того, существуют другие проблемы, и некоторые криптосистемы (например, RSA ) используют один и тот же механизм для подписи сообщений и их расшифровки. Это позволяет проводить атаки, когда хеширование не используется для подписываемого сообщения. Лучшим подходом является использование криптосистемы, которая доказуемо безопасна при атаке с выбранным шифротекстом, включая (среди прочего) RSA-OAEP, безопасную при эвристике случайного оракула, Крамера-Шоупа , которая была первой практической системой с открытым ключом, которая была безопасной. Для симметричных схем шифрования известно, что аутентифицированное шифрование , которое является примитивом, основанным на симметричном шифровании, обеспечивает безопасность от атак с выбранным шифротекстом, как впервые показали Джонатан Кац и Моти Юнг . [4]
Атаки с выбранным шифротекстом, как и другие атаки, могут быть адаптивными или неадаптивными. В адаптивной атаке с выбранным шифротекстом злоумышленник может использовать результаты предыдущих расшифровок, чтобы сделать выбор, какие шифротексты расшифровать. В неадаптивной атаке злоумышленник выбирает шифротексты для расшифровки, не видя ни одного из полученных открытых текстов. Увидев открытые тексты, злоумышленник больше не может получить расшифровку дополнительных шифротекстов.
Особо отмеченным вариантом атаки с выбранным шифротекстом является атака «обеденное время», «полночь» или «безразличное», в которой злоумышленник может делать адаптивные запросы с выбранным шифротекстом, но только до определенного момента, после чего злоумышленник должен продемонстрировать некоторые улучшенные возможности для атаки на систему. [5] Термин «атака с обеденным временем» относится к идее, что компьютер пользователя с возможностью расшифровки доступен злоумышленнику, пока пользователь находится на обеде. Эта форма атаки была первой, которую обычно обсуждали: очевидно, что если злоумышленник имеет возможность делать адаптивные запросы с выбранным шифротекстом, ни одно зашифрованное сообщение не будет в безопасности, по крайней мере, пока эта возможность не будет отнята. Эту атаку иногда называют «атакой с неадаптивным выбранным шифротекстом»; [6] здесь «неадаптивный» относится к тому факту, что злоумышленник не может адаптировать свои запросы в ответ на вызов, который дается после того, как возможность делать запросы с выбранным шифротекстом истекла.
(Полная) адаптивная атака с выбранным шифртекстом — это атака, в которой шифртексты могут быть выбраны адаптивно до и после того, как злоумышленнику будет предоставлен шифртекст вызова, с единственным условием, что сам шифртекст вызова не может быть запрошен. Это более сильное понятие атаки, чем атака в обеденное время, и обычно называется атакой CCA2 по сравнению с атакой CCA1 (в обеденное время). [6] Немногие практические атаки имеют такую форму. Скорее, эта модель важна для ее использования в доказательствах безопасности против атак с выбранным шифртекстом. Доказательство того, что атаки в этой модели невозможны, подразумевает, что никакая реалистичная атака с выбранным шифртекстом не может быть выполнена.
Практической адаптивной атакой с выбранным шифртекстом является атака Блейхенбахера против PKCS#1 . [7]
Многочисленные криптосистемы доказали свою безопасность против адаптивных атак с выбранным шифротекстом, некоторые доказывают это свойство безопасности, основанное только на алгебраических предположениях, некоторые дополнительно требуют предположения о идеализированном случайном оракуле. Например, система Крамера-Шоупа [5] является безопасной на основе предположений теории чисел и без идеализации, и после ряда тонких исследований было также установлено, что практическая схема RSA-OAEP является безопасной при предположении RSA в модели идеализированного случайного оракула. [8]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )