stringtranslate.com

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

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

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

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

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

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

История

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

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

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

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

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

Варианты

Аутентифицированное шифрование со связанными данными

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

Ключевое обязательство AEAD

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

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

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

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

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

подход ЭТМ

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

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

Э&М подход

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. ^ М. Белларе; П. Рогауэй; Д. Вагнер. «Обычный режим шифрования с аутентификацией» (PDF) . НИСТ . Проверено 12 марта 2013 г. у людей дела шли довольно плохо, когда они пытались соединить традиционную (только конфиденциальную) схему шифрования и код аутентификации сообщения (MAC).
  5. ^ Т. Коно; Дж. Вьега и Д. Уайтинг. «Режим шифрования с проверкой подлинности CWC (связанные данные)» (PDF) . НИСТ . Проверено 12 марта 2013 г. очень легко случайно объединить схемы безопасного шифрования с безопасными MAC-адресами и при этом получить небезопасные схемы шифрования с проверкой подлинности.
  6. ^ «Ошибки криптографии с секретным ключом» (PDF) . Дэниел Дж. Бернштейн. Архивировано из оригинала (PDF) 18 апреля 2013 года . Проверено 12 марта 2013 г.
  7. ^ Ютл, Чаранджит С. (1 августа 2000 г.). «Режимы шифрования с почти свободной целостностью сообщений». Архив криптологии ePrint: отчет 2000/039 . Труды IACR EUROCRYPT 2001. IACR . Проверено 16 марта 2013 г.
  8. ^ Т. Кровец; П. Рогауэй (01 марта 2011 г.). «Производительность программного обеспечения в режимах шифрования с аутентификацией» (PDF) . Быстрое программное шифрование 2011 (FSE 2011) . МАКР .
  9. ^ ab «Информационные технологии — Методы безопасности — Аутентифицированное шифрование». 19772:2009 . ИСО/МЭК . Проверено 12 марта 2013 г.
  10. ^ «Разработка режимов шифрования». НИСТ . Проверено 17 апреля 2013 г.
  11. ^ Команда Кечака. «Дуплексирование губки» (PDF) .
  12. ^ Кац, Дж.; Юнг, М. (2001). «Неподдельное шифрование и выбранные безопасные режимы работы зашифрованного текста». В Б. Шнайере (ред.). Быстрое программное шифрование (FSE): Труды 2000 года . Конспекты лекций по информатике. Том. 1978. стр. 284–299. дои : 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. ^ пончо. «Ключевые обязательства AEAD». Обмен стеками криптографии . Проверено 21 февраля 2024 г.(См. также раздел комментариев, в котором обсуждается пересмотренная рекомендация libsodium по добавлению обязательств по ключам.)
  23. ^ abc «Аутентифицированное шифрование: отношения между понятиями и анализ парадигмы общей композиции». М. Белларе и К. Нампремпре. Архивировано из оригинала 23 января 2018 года . Проверено 13 апреля 2013 г.
  24. ^ «Отдельные алгоритмы конфиденциальности и целостности». RFC 4303 — Полезная нагрузка безопасности, инкапсулирующая IP (ESP) . Целевая группа инженеров Интернета (IETF) . Проверено 12 сентября 2018 г.
  25. ^ «Целостность данных». РФК 4253 . Целевая группа инженеров Интернета (IETF) . Проверено 12 сентября 2018 г.
  26. ^ Белларе, Михир; Коно, Тадаёси; Нампремпре, Чанатип. «Взлом и доказуемое восстановление схемы шифрования с аутентификацией SSH: пример парадигмы кодирования, затем шифрования и MAC» (PDF) . Транзакции ACM по информационной и системной безопасности . Проверено 30 августа 2021 г.
  27. ^ Рескорла, Эрик; Диркс, Тим (август 2008 г.). «Защита полезной нагрузки записи». РФК 5246 . Целевая группа инженеров Интернета (IETF) . Проверено 12 сентября 2018 г.
  28. ^ «Порядок шифрования и аутентификации для защиты коммуникаций (или: насколько безопасен SSL?)» (PDF) . Х. Кравчик . Проверено 13 апреля 2013 г.
  29. ^ Дуонг, Тайский; Риццо, Джулиано (13 мая 2011 г.). «А вот и ⊕ ниндзя» (PDF) .– Технический документ по атаке BEAST
Общий

Источники