Аутентифицированное шифрование - Authenticated encryption
Аутентифицированное шифрование ( AE ) и аутентифицированное шифрование со связанными данными ( AEAD ) - это формы шифрования, которые одновременно обеспечивают конфиденциальность и подлинность данных.
Гарантии безопасности
В дополнение к защите целостности и конфиденциальности сообщения аутентифицированное шифрование может обеспечить защиту от атаки с выбранным зашифрованным текстом . В этих атаках злоумышленник пытается получить преимущество перед криптосистемой (например, информацию о секретном ключе дешифрования), отправляя тщательно выбранные зашифрованные тексты некоему «оракулу дешифрования» и анализируя дешифрованные результаты. Аутентифицированные схемы шифрования могут распознавать неправильно построенные зашифрованные тексты и отказываться их расшифровывать. Это, в свою очередь, не позволяет злоумышленнику запрашивать расшифровку любого зашифрованного текста, если он не был правильно сгенерирован с использованием алгоритма шифрования, что означает, что открытый текст уже известен. Правильно реализованное шифрование с проверкой подлинности устраняет полезность оракула дешифрования, не позволяя злоумышленнику получить полезную информацию, которой у злоумышленника еще нет.
Многие специализированные режимы аутентифицированного шифрования были разработаны для использования с симметричными блочными шифрами . Однако аутентифицированное шифрование может быть в общем построено путем объединения схемы шифрования и кода аутентификации сообщения (MAC) при условии, что:
- Схема шифрования семантически безопасна при выбранной атаке с открытым текстом .
- Функцию 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)
Открытый текст сначала зашифровывается, затем на основе полученного зашифрованного текста создается MAC. Зашифрованный текст и его MAC отправляются вместе. Используется, например, в IPsec . Стандартный метод согласно ISO / IEC 19772: 2009. Это единственный метод, который может достичь наивысшего уровня безопасности в AE, но это может быть достигнуто только в том случае, если используемый MAC "сильно неподдающийся подделке". В ноябре 2014 года расширение TLS и DTLS для EtM было опубликовано как RFC 7366 . Для SSHv2 также существуют различные наборы шифров EtM (например,[email protected]).
Обратите внимание, что разделение ключей является обязательным (для шифрования и для ключевого хэша должны использоваться разные ключи), в противном случае это потенциально небезопасно в зависимости от конкретного метода шифрования и используемой хеш-функции.
Шифрование и MAC (E&M)
MAC создается на основе открытого текста, а открытый текст зашифрован без MAC. MAC открытого текста и зашифрованный текст отправляются вместе. Используется, например, в SSH . Несмотря на то, что не было доказано, что подход E&M сам по себе является полностью неподдающимся подделке, можно внести некоторые незначительные изменения в SSH, чтобы сделать его совершенно неподдающимся подделке, несмотря на такой подход.
MAC-затем-шифрование (MtE)
MAC создается на основе открытого текста, затем открытый текст и MAC вместе зашифровываются для создания зашифрованного текста на основе обоих. Зашифрованный текст (содержащий зашифрованный MAC) отправляется. Используется, например, в SSL / TLS . Несмотря на то, что подход MtE сам по себе не доказал, что его невозможно подделать, реализация SSL / TLS оказалась совершенно неподдающейся подделке Кравчиком, который показал, что SSL / TLS на самом деле безопасен из-за кодировки, используемой вместе с MtE. механизм. Несмотря на теоретическую безопасность, более глубокий анализ SSL / TLS смоделировал защиту как MAC-затем-pad-then-encrypt, то есть открытый текст сначала дополняется до размера блока функции шифрования. Ошибки заполнения часто приводят к обнаруживаемым ошибкам на стороне получателя, что, в свою очередь, приводит к атакам оракула заполнения , таким как Lucky Thirteen .
Смотрите также
- Режим работы блочного шифра
- CCM режим
- CWC режим
- Режим OCB
- Режим EAX
- Поли1305
- GCM
- GCM-SIV
- SGCM
- Шифрование подписи
использованная литература
- Общий
- Bellare, M .; Namprempre, C. (2000), T. Okamoto (редактор), «Аутентифицированное шифрование: взаимосвязь между понятиями и анализ общей парадигмы композиции» , Extended Abstract in Advances in Cryptology: Asiacrypt 2000 Proceedings , Lecture Notes in Computer Science, Springer -Verlag, 1976 : 531, DOI : 10.1007 / 3-540-44448-3_41 , ISBN 978-3-540-41404-9
внешние ссылки
- NIST: разработка режимов
- Как выбрать режим аутентифицированного шифрования