Аутентифицированное шифрование (AE) и аутентифицированное шифрование со связанными данными (AEAD ) - это формы шифрования, которые одновременно обеспечивают конфиденциальность и аутентичность данных.
Помимо защиты целостности и конфиденциальности сообщения, аутентифицированное шифрование может обеспечить защиту от атаки с выбранным зашифрованным текстом. В этих атаках злоумышленник пытается получить преимущество перед криптосистемой (например, информацию о секретном ключе дешифрования), отправляя тщательно выбранные зашифрованные тексты некоему «оракулу дешифрования» и анализируя дешифрованные результаты. Аутентифицированные схемы шифрования могут распознавать неправильно построенные зашифрованные тексты и отказываться их расшифровывать. Это, в свою очередь, не позволяет злоумышленнику запрашивать расшифровку любого зашифрованного текста, если он не был правильно сгенерирован с использованием алгоритма шифрования, что означает, что открытый текст уже известен. Правильно реализованное шифрование с аутентификацией устраняет полезность оракула дешифрования, не позволяя злоумышленнику получить полезную информацию, которой злоумышленник еще не обладает.
Многие специализированные режимы аутентифицированного шифрования были разработаны для использования с симметричными блочными шифрами . Однако аутентифицированное шифрование может быть в общем построено путем объединения схемы шифрования и кода аутентификации сообщения (MAC) при условии, что:
Типичный программный интерфейс для реализации AE предоставляет следующие функции:
Часть заголовка предназначена для обеспечения подлинности и защита целостности для сетей или метаданных хранилища, для которых конфиденциальность не требуется, но желательна аутентичность.
Потребность в аутентифицированном шифровании возникла из наблюдения, что безопасное объединение отдельных режимов конфиденциальности и аутентификации блочного шифра может быть подвержено ошибкам и затруднено. Это было подтверждено рядом практических атак, введенных в производственные протоколы и приложения из-за неправильной реализации или отсутствия аутентификации (включая SSL / TLS ).
Примерно в 2000 году был предпринят ряд усилий. вокруг понятия стандартизации режимов, обеспечивающих правильную реализацию. В частности, большой интерес к возможно безопасным режимам был вызван публикацией в 2000 г. режимов CBC с учетом целостности и параллелизируемого с учетом целостности IAPM ( см. OCB и хронологию). Шесть различных режимов аутентифицированного шифрования (а именно режим кодовой книги смещения 2.0, OCB 2.0; Key Wrap ; счетчик с CBC-MAC, CCM; зашифровать, затем аутентифицировать, затем преобразовать, EAX; encrypt-then-MAC, EtM; и Galois / counter mode, GCM) были стандартизированы в ISO / IEC 19772: 2009. В ответ на запрос NIST были разработаны более проверенные методы шифрования. Функции Sponge могут использоваться в дуплексный режим для обеспечения аутентифицированного шифрования.
Bellare и Namprempre (2000) проанализировали три композиции шифрования и примитивов MAC и продемонстрировали, что шифрование сообщения и последующее применение MAC к зашифрованному тексту (Encrypt-then -MAC) подразумевает защиту от атаки с адаптивным выбранным шифротекстом, при условии, что обе функции соответствуют минимальным требуемым свойствам. Кац и Юнг исследовали понятие под названием «неподдельное шифрование» и доказали, что оно подразумевает защиту от выбранных атак зашифрованного текста.
В 2013 году был объявлен конкурс на разработку режимов аутентифицированного шифрования.
AEAD - это вариант AE, который позволяет получателю проверять целостность как зашифрованной, так и незашифрованной информации в сообщении. AEAD связывает связанные данные (AD) с зашифрованным текстом и с контекстом, в котором он должен появиться, так что попытки «вырезать и вставить» действительный зашифрованный текст в другой контекст обнаруживаются и отклоняются.
Это требуется, например, для сетевых пакетов или кадров, где заголовок требует видимости, полезной нагрузки требуется конфиденциальность, и оба требуют целостности и аутентичности.
Сначала зашифровывается открытый текст, затем создается MAC на основе полученного зашифрованного текста. Зашифрованный текст и его MAC отправляются вместе. Используется, например, в IPsec. Стандартный метод согласно ISO / IEC 19772: 2009. Это единственный метод, который может достичь наивысшего уровня безопасности в AE, но это может быть достигнуто только в том случае, если используемый MAC "сильно не подделывается". В ноябре 2014 года расширение TLS и DTLS для EtM было опубликовано как RFC 7366. Для SSHv2 также существуют различные наборы шифров EtM (например, [email#160;protected] ).
Обратите внимание, что разделение ключей является обязательным (отдельные ключи должны использоваться для шифрования и для ключевого хэша), в противном случае это потенциально небезопасно в зависимости от конкретного метода шифрования и используемой хэш-функции.
MAC создается на основе открытого текста, а открытый текст зашифровывается без MAC. MAC открытого текста и зашифрованный текст отправляются вместе. Используется, например, в SSH. Несмотря на то, что не было доказано, что подход EM сам по себе является полностью неподдающимся подделке, можно внести некоторые незначительные изменения в SSH, чтобы сделать его совершенно неподдающимся подделке, несмотря на этот подход.
MAC создается на основе открытого текста, затем открытый текст и MAC вместе зашифровываются для создания зашифрованного текста на основе обоих. Зашифрованный текст (содержащий зашифрованный MAC) отправляется. Используется, например, в SSL / TLS. Несмотря на то, что подход MtE сам по себе не доказал, что его невозможно подделать, реализация SSL / TLS была доказана Кравчик, который показал, что SSL / TLS на самом деле безопасен из-за кодировка, используемая вместе с механизмом MtE. Несмотря на теоретическую безопасность, более глубокий анализ SSL / TLS смоделировал защиту как MAC-then-pad-then-encrypt, то есть открытый текст сначала дополняется до размера блока функции шифрования. Ошибки заполнения часто приводят к обнаруживаемым ошибкам на стороне получателя, что, в свою очередь, приводит к атакам оракула заполнения, таким как Lucky Thirteen.