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

Аутентифицированное шифрование ( AE ) и аутентифицированное шифрование со связанными данными ( AEAD ) - это формы шифрования, которые одновременно обеспечивают конфиденциальность и подлинность данных.

Гарантии безопасности

В дополнение к защите целостности и конфиденциальности сообщения аутентифицированное шифрование может обеспечить защиту от атаки с выбранным зашифрованным текстом . В этих атаках злоумышленник пытается получить преимущество перед криптосистемой (например, информацию о секретном ключе дешифрования), отправляя тщательно выбранные зашифрованные тексты некоему «оракулу дешифрования» и анализируя дешифрованные результаты. Аутентифицированные схемы шифрования могут распознавать неправильно построенные зашифрованные тексты и отказываться их расшифровывать. Это, в свою очередь, не позволяет злоумышленнику запрашивать расшифровку любого зашифрованного текста, если он не был правильно сгенерирован с использованием алгоритма шифрования, что означает, что открытый текст уже известен. Правильно реализованное шифрование с проверкой подлинности устраняет полезность оракула дешифрования, не позволяя злоумышленнику получить полезную информацию, которой у злоумышленника еще нет.

Многие специализированные режимы аутентифицированного шифрования были разработаны для использования с симметричными блочными шифрами . Однако аутентифицированное шифрование может быть в общем построено путем объединения схемы шифрования и кода аутентификации сообщения (MAC) при условии, что:

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

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

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

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

История

Потребность в аутентифицированном шифровании возникла из наблюдения, что безопасное сочетание отдельных режимов конфиденциальности и аутентификации блочного шифра может быть подвержено ошибкам и затруднено. Это было подтверждено рядом практических атак, введенных в производственные протоколы и приложения из-за неправильной реализации или отсутствия аутентификации (включая SSL / TLS ).

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

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

В 2013 году был объявлен конкурс на разработку режимов аутентифицированного шифрования.

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

AEAD - это вариант AE, который позволяет получателю проверять целостность как зашифрованной, так и незашифрованной информации в сообщении. AEAD привязывает связанные данные (AD) к зашифрованному тексту и к контексту, в котором он должен появиться, так что попытки «вырезать и вставить» действительный зашифрованный текст в другой контекст обнаруживаются и отклоняются.

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

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

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

Image
EtM подход

Открытый текст сначала зашифровывается, затем на основе полученного зашифрованного текста создается MAC. Зашифрованный текст и его MAC отправляются вместе. Используется, например, в IPsec . Стандартный метод согласно ISO / IEC 19772: 2009. Это единственный метод, который может достичь наивысшего уровня безопасности в AE, но это может быть достигнуто только в том случае, если используемый MAC "сильно неподдающийся подделке". В ноябре 2014 года расширение TLS и DTLS для EtM было опубликовано как RFC  7366 . Для SSHv2 также существуют различные наборы шифров EtM (например,[email protected]).

Обратите внимание, что разделение ключей является обязательным (для шифрования и для ключевого хэша должны использоваться разные ключи), в противном случае это потенциально небезопасно в зависимости от конкретного метода шифрования и используемой хеш-функции.

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

Image
E&M подход

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

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

Image
Подход MtE

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

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

использованная литература

Общий

внешние ссылки