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

Метод шифрования

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

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

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

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

  • Шифрование
    • Входные данные: открытый текст , ключ и, необязательно, заголовок (также известный как дополнительные аутентифицированные данные , AAD , или связанные данные , AD ) в открытом тексте, который не будет зашифрован, но будет защищен защитой подлинности.
    • Выходные данные: зашифрованный текст и тег аутентификации ( код аутентификации сообщения или MAC).
  • Расшифровка
    • Входные данные: зашифрованный текст , ключ , тег аутентификации и, необязательно, заголовок (если используется во время шифрования).
    • Вывод: открытый текст или ошибка, если тег аутентификации не соответствует предоставленному зашифрованному тексту или заголовку .

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

История

Необходимость в аутентифицированном шифровании возникла из наблюдения, что безопасное объединение отдельных режимов работы блочного шифра конфиденциальности и аутентификации может быть подвержено ошибкам и затруднено. [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 (например,hmac-sha1-etm@openssh.com).

Шифрование и MAC (E&M)

Подход 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. ^ Кент, Стивен (декабрь 2005 г.). «Раздельные алгоритмы конфиденциальности и целостности». RFC 4303 — IP Encapsulating Security Payload (ESP) . Internet Engineering Task Force (IETF) . Получено 12 сентября 2018 г.
  25. ^ Lonvick, Chris M.; Ylonen, Tatu (январь 2006 г.). «Целостность данных». 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
Общий
  • Белларе, М.; Нампремпре, К. (2000), «Аутентифицированное шифрование: связи между понятиями и анализ парадигмы общей композиции», в T. Okamoto (ред.), Advances in Cryptology — ASIACRYPT 2000 (PDF) , Lecture Notes in Computer Science, т. 1976, Springer-Verlag, стр.  531–545 , doi : 10.1007/3-540-44448-3_41 , ISBN 978-3-540-41404-9

Источники

  • Katz, J.; Lindell, Y. (2020). Введение в современную криптографию. Серия Chapman & Hall/CRC Cryptography and Network Security. CRC Press. ISBN 978-1-351-13301-2. Получено 2023-06-08 .
  • Блэк, Дж. (2005). «Аутентифицированное шифрование». Энциклопедия криптографии и безопасности . Springer US. стр.  11– 21. doi :10.1007/0-387-23483-7_15. ISBN 978-0-387-23473-1.
  • Альбертини, Анж; Дуонг, Тай; Герон, Шай; Кёльбл, Стефан; Луйкс, Атул; Шмиг, Софи (2020). «Как злоупотреблять и исправлять аутентифицированное шифрование без передачи ключа» (PDF) . USENIX.
  • Белларе, Михир; Хоанг, Вьет Тунг (2022). «Эффективные схемы для выполнения аутентифицированного шифрования» (PDF) . EUROCRYPT 2022.
  • Абдалла, Мишель; Белларе, Михир; Невен, Грегори (2010). «Надежное шифрование». Теория криптографии . Том 5978. Берлин, Гейдельберг: Springer Berlin Heidelberg. doi :10.1007/978-3-642-11799-2_28. ISBN 978-3-642-11798-5.
  • Фаршим, Пуйя; Либерт, Бенуа; Патерсон, Кеннет Г.; Куалья, Элизабет А. (2013). «Надежное шифрование, пересмотр». Криптография с открытым ключом – PKC 2013. Том 7778. Берлин, Гейдельберг: Springer Berlin Heidelberg. doi : 10.1007/978-3-642-36362-7_22. ISBN 978-3-642-36361-0.
  • Чан, Джон; Рогауэй, Филлип (2022). «О совершении аутентифицированного шифрования». Computer Security – ESORICS 2022. Vol. 13555. Cham: Springer Nature Switzerland. doi : 10.1007/978-3-031-17146-8_14. ISBN 978-3-031-17145-1.
Взято с "https://en.wikipedia.org/w/index.php?title=Аутентифицированное_шифрование&oldid=1271034804#Аутентифицированное_шифрование_с_ассоциированными_данными_(AEAD)"