stringtranslate.com

Аутентифицированное шифрование

Аутентичное шифрование (AE) — это схема шифрования , которая одновременно обеспечивает конфиденциальность данных (также известную как приватность: зашифрованное сообщение невозможно понять без знания секретного ключа [1] ) и подлинность (другими словами, его невозможно подделать: [2] зашифрованное сообщение включает в себя тег аутентификации , который отправитель может вычислить, только обладая секретным ключом [1] ). Примерами режимов шифрования , которые обеспечивают AE, являются GCM , CCM . [1]

Многие (но не все) схемы AE позволяют сообщению содержать «ассоциированные данные» (AD), которые не являются конфиденциальными, но их целостность защищена (т. е. они читаемы, но их подделка будет обнаружена). Типичным примером является заголовок сетевого пакета , который содержит его адрес назначения. Для правильной маршрутизации пакета все промежуточные узлы на пути сообщения должны знать пункт назначения, но по соображениям безопасности они не могут обладать секретным ключом. [3] Схемы, которые позволяют ассоциированные данные, обеспечивают аутентифицированное шифрование с ассоциированными данными, или AEAD . [3]

Интерфейс программирования

Типичный программный интерфейс для реализации AE обеспечивает следующие функции:

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

История

Необходимость в аутентифицированном шифровании возникла из наблюдения, что безопасное объединение отдельных режимов работы блочного шифра конфиденциальности и аутентификации может быть подвержено ошибкам и затруднено. [4] [5] Это было подтверждено рядом практических атак, внедренных в производственные протоколы и приложения из-за неправильной реализации или отсутствия аутентификации. [6]

Около 2000 года было предпринято несколько попыток стандартизации режимов, гарантирующих правильную реализацию. В частности, большой интерес к возможно безопасным режимам возник после публикации в 2000 году режимов CBC с учетом целостности и параллельного режима IAPM Чаранджита Джутлы [7] (см. OCB и хронологию [8] ). Шесть различных аутентифицированных режимов шифрования (а именно режим offset codebook 2.0 , OCB  2.0; Key Wrap ; counter with CBC-MAC , CCM; encrypt then authenticate then translate , EAX; encrypt-then-MAC , EtM; и режим Galois/counter , GCM) были стандартизированы в ISO/IEC 19772:2009. [9] В ответ на запрос NIST были разработаны дополнительные аутентифицированные методы шифрования . [10] Функции Sponge могут использоваться в дуплексном режиме для обеспечения аутентифицированного шифрования. [11]

Белларе и Нампремпре (2000) проанализировали три композиции примитивов шифрования и MAC и продемонстрировали, что шифрование сообщения и последующее применение MAC к зашифрованному тексту (подход Encrypt-then-MAC) подразумевает безопасность против атаки с адаптивным выбранным зашифрованным текстом , при условии, что обе функции соответствуют минимальным требуемым свойствам. Кац и Юнг исследовали понятие под названием «неподделываемое шифрование» и доказали, что оно подразумевает безопасность против атак с выбранным зашифрованным текстом. [12]

В 2013 году был объявлен конкурс CAESAR для поощрения разработки аутентифицированных режимов шифрования. [13]

В 2015 году ChaCha20-Poly1305 был добавлен в качестве альтернативной конструкции AE для GCM в протоколах IETF .

Варианты

Аутентифицированное шифрование с сопутствующими данными

Аутентифицированное шифрование с ассоциированными данными (AEAD) — это вариант AE, который позволяет включать в сообщение «ассоциированные данные» (AD, дополнительная неконфиденциальная информация, также известная как «дополнительные аутентифицированные данные», AAD). Получатель может проверить целостность как ассоциированных данных, так и конфиденциальной информации в сообщении. AD полезен, например, в сетевых пакетах , где заголовок должен быть виден для маршрутизации , но полезная нагрузка должна быть конфиденциальной, и оба требуют целостности и подлинности . Понятие AEAD было формализовано Рогауэем (2002). [3]

AEAD с ключевыми обязательствами

Первоначально AE был разработан в первую очередь для обеспечения целостности зашифрованного текста: успешная проверка тега аутентификации Алисой с использованием ее симметричного ключа K A указывает на то, что сообщение не было подделано злоумышленником Мэллори , который не обладает K A . Схемы AE обычно не обеспечивают ключевое обязательство , гарантию того, что расшифровка не будет выполнена для любого другого ключа. [14] По состоянию на 2021 год большинство существующих схем AE (включая очень популярную GCM) позволяют декодировать некоторые сообщения без ошибок, используя не только (правильный) K A ; в то время как их открытый текст, декодированный с использованием второго (неправильного) ключа K M , будет неверным, тег аутентификации все равно будет совпадать. [ необходима цитата ] Поскольку создание сообщения с таким свойством требует, чтобы Мэллори уже обладала как K A , так и K M , эта проблема может показаться чисто академической. [15] Однако при особых обстоятельствах можно организовать практические атаки против уязвимых реализаций. Например, если протокол аутентификации личности основан на успешной расшифровке сообщения, которое использует ключ на основе пароля, способность Мэллори создать одно сообщение, которое будет успешно расшифровано с использованием 1000 различных ключей, связанных со слабыми и, таким образом, известными ей потенциальными паролями, может ускорить ее поиск паролей почти в 1000 раз. Для успешной атаки по словарю Мэллори также нужна способность отличать успешную расшифровку Алисы от неудачной, например, из-за плохой конструкции протокола или реализации, превращающей сторону Алисы в оракула . ​​Естественно, эта атака вообще не может быть реализована, когда ключи генерируются случайным образом. [16]

Первоначально передача ключей была изучена в 2010-х годах Абдаллой и др. [17] и Фаршимом и др. [18] под названием «надежное шифрование». [15] [19]

Чтобы смягчить описанную выше атаку без удаления «оракула», можно использовать AEAD с фиксацией ключа , которая не позволяет существовать этому типу созданных сообщений. AEGIS — это пример быстрого (если присутствует набор инструкций AES ) AEAD с фиксацией ключа. [20] Можно добавить фиксацию ключа к существующей схеме AEAD. [21] [22]

Подходы к аутентифицированному шифрованию

Шифрование-затем-MAC (EtM)

подход EtM

Сначала открытый текст шифруется, затем на основе полученного зашифрованного текста создается MAC. Зашифрованный текст и его MAC отправляются вместе. ETM является стандартным методом согласно ISO/IEC 19772:2009. [9] Это единственный метод, который может достичь наивысшего определения безопасности в AE, но это может быть достигнуто только тогда, когда используемый MAC является «строго неподдающимся подделке». [23]

IPSec принял EtM в 2005 году. [24] В ноябре 2014 года TLS и DTLS получили расширения для EtM с RFC  7366. Различные наборы шифров EtM существуют также для SSHv2 (например,[email protected]).

Подход E&M

MAC создается на основе открытого текста, а открытый текст шифруется без MAC. MAC открытого текста и зашифрованный текст отправляются вместе. Используется, например, в SSH . [25] Несмотря на то, что подход E&M сам по себе не доказал свою полную неподдельность, [23] можно применить некоторые незначительные изменения к SSH , чтобы сделать его полностью неподдельным, несмотря на подход. [26]

MAC-затем-шифрование (MtE)

подход MtE

MAC создается на основе открытого текста, затем открытый текст и MAC вместе шифруются для создания зашифрованного текста на основе обоих. Зашифрованный текст (содержащий зашифрованный MAC) отправляется. До TLS 1.2 все доступные наборы шифров SSL/TLS были MtE. [27]

MtE не доказал, что он сам по себе является строго неподдающимся подделке. [23] Реализация SSL/TLS была доказана как строго неподдающаяся подделке Кравчиком , который показал, что SSL/TLS был, по сути, безопасным из-за кодирования, используемого вместе с механизмом MtE. [28] Однако доказательство Кравчика содержит ошибочные предположения о случайности вектора инициализации (IV). Атака BEAST 2011 года использовала неслучайный цепочечный IV и сломала все алгоритмы CBC в TLS 1.0 и ниже. [29]

Кроме того, более глубокий анализ SSL/TLS смоделировал защиту как MAC-then-pad-then-encrypt, то есть открытый текст сначала дополняется до размера блока функции шифрования. Ошибки дополнения часто приводят к обнаруживаемым ошибкам на стороне получателя, которые в свою очередь приводят к атакам оракула дополнения , таким как Lucky Thirteen .

Смотрите также

Ссылки

  1. ^ abc Black 2005, стр. 1.
  2. ^ Кац и Линделл 2020, стр. 116.
  3. ^ abc Black 2005, стр. 2.
  4. ^ M. Bellare; P. Rogaway; D. Wagner. "A Conventional Authenticated-Encryption Mode" (PDF) . NIST . Получено 12 марта 2013 г. . люди добились довольно плохих результатов, когда попытались объединить традиционную (только конфиденциальную) схему шифрования и код аутентификации сообщений (MAC)
  5. ^ T. Kohno; J. Viega & D. Whiting. "The CWC Authenticated Encryption (Associated Data) Mode" (PDF) . NIST . Получено 12 марта 2013 г. . Очень легко случайно объединить безопасные схемы шифрования с безопасными MAC и по-прежнему получать небезопасные аутентифицированные схемы шифрования.
  6. ^ "Неудачи криптографии с секретным ключом" (PDF) . Дэниел Дж. Бернстайн. Архивировано из оригинала (PDF) 18 апреля 2013 г. . Получено 12 марта 2013 г. .
  7. ^ Jutl, Charanjit S. (2000-08-01). "Режимы шифрования с почти свободной целостностью сообщений". Архив Cryptology ePrint: Отчет 2000/039 . Труды IACR EUROCRYPT 2001. IACR . Получено 2013-03-16 .
  8. ^ T. Krovetz; P. Rogaway (2011-03-01). "Производительность программного обеспечения режимов аутентифицированного шифрования" (PDF) . Fast Software Encryption 2011 (FSE 2011) . IACR .
  9. ^ ab "Информационные технологии -- Методы безопасности -- Аутентифицированное шифрование". 19772:2009 . ISO/IEC . Получено 12 марта 2013 г. .
  10. ^ "Разработка режимов шифрования". NIST . Получено 17 апреля 2013 г.
  11. ^ Команда Keccak. «Дуплексирование губки» (PDF) .
  12. ^ Katz, J.; Yung, M. (2001). «Неподдельное шифрование и выбранные безопасные режимы работы шифротекста». В B. Schneier (ред.). Fast Software Encryption (FSE): 2000 Proceedings . Lecture Notes in Computer Science. Vol. 1978. pp. 284–299. doi :10.1007/3-540-44706-7_20. ISBN 978-3-540-41728-6.
  13. ^ "CAESAR: Конкуренция за аутентифицированное шифрование: безопасность, применимость и надежность" . Получено 12 марта 2013 г.
  14. ^ Альбертини и др. 2020, стр. 1–2.
  15. ^ аб Альбертини и др. 2020, с. 2.
  16. ^ Лен, Джулия; Граббс, Пол; Ристенпарт, Томас (2021). Атаки на разделение Oracle. USENET '21. С. 195–212.
  17. ^ Абдалла, Белларе и Невен 2010, стр. 480–497.
  18. ^ Фаршим и др. 2013, стр. 352–368.
  19. ^ Белларе и Хоанг 2022, стр. 5.
  20. ^ Денис, Фрэнк. «Семейство алгоритмов аутентифицированного шифрования AEGIS». cfrg.github.io .
  21. ^ Герон, Шей (2020). «Ключевые обязательства AEAD» (PDF) .
  22. ^ poncho. "Key Committing AEADs". Cryptography Stack Exchange . Получено 21 февраля 2024 г. .(См. также раздел комментариев, в котором обсуждается пересмотренная рекомендация libsodium по добавлению key-commitment.)
  23. ^ abc "Authenticated Encryption: Relations among conceptuals and analysis of the generic composition paradigm". M. Bellare и C. Namprempre. Архивировано из оригинала 23 января 2018 г. Получено 13 апреля 2013 г.
  24. ^ "Раздельные алгоритмы конфиденциальности и целостности". RFC 4303 - IP Encapsulating Security Payload (ESP) . Internet Engineering Task Force (IETF) . Получено 2018-09-12 .
  25. ^ "Целостность данных". RFC 4253. Internet Engineering Task Force (IETF) . Получено 12 сентября 2018 г.
  26. ^ Белларе, Михир; Коно, Тадаёши; Нампремпре, Чанатип. «Взлом и доказуемое восстановление схемы шифрования с аутентификацией SSH: пример парадигмы «кодировать-затем-шифровать-и-MAC»» (PDF) . ACM Transactions on Information and System Security . Получено 30 августа 2021 г. .
  27. ^ Рескорла, Эрик; Диркс, Тим (август 2008 г.). «Защита полезной нагрузки записи». RFC 5246. Internet Engineering Task Force (IETF) . Получено 12 сентября 2018 г.
  28. ^ «Порядок шифрования и аутентификации для защиты коммуникаций (или: насколько безопасен SSL?)» (PDF) . H. Krawczyk . Получено 13 апреля 2013 г. .
  29. ^ Дуонг, Тай; Риццо, Джулиано (13 мая 2011 г.). «Here Come The ⊕ Ninjas» (PDF) .– Белая книга атаки BEAST
Общий

Источники