HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop

НОВОСТИ 2 в 1: шифрование с имитозащитой

BDFpromo
Оффлайн

BDFpromo

.
.
Регистрация
23.09.18
Сообщения
12.347
Реакции
176
Репутация
0
Классическими задачами, которые решаются криптографическими методами, являются обеспечение конфиденциальности и обеспечение аутентичности/имитостойкости хранимых и передаваемых данных. Ранее (примерно до середины 2000-х годов) для решения подобных задач использовались шифрование (конфиденциальность) и функции выработки имитовставки/кодов аутентификации (имитостойоксть). При этом шифрование и функция выработки имитовставки реализовывались отдельными криптографическими механизмами, что вызывало много проблем. В первую очередь, это связано с управлением ключевой информацией: при использовании одного ключа для шифрования и имитозащиты ряд схем, например, AES-CBC + AES-CBC-MAC являются полностью . Для того, чтобы сделать такие конструкции безопасности приходится вырабатывать дополнительные ключи используя, например, функции выработки производных ключей (KDF). Это, в свою очередь, зачастую приводит к сильному усложнению криптографических протоколов, использующих подобные схемы. Кроме этого, последовательное использование двух механизмов не всегда является самым быстрым решением с точки зрения производительности.

С начала XXI века начались попытки создать механизмы шифрования с имитозащитой (иногда можно встретить термин «аутентифицированное шифрование» — от английского Authenticated Encryption), которые бы решали сразу обе указанные задачи.

Следующей ступенью развития таких механизмов можно считать механизмы шифрования с имитозащитой и ассоциированными данными (от англ. AEAD — Authenticated Encryption with Associated Data). Особенностью AEAD-механизмов является то, что они одновременно могут обрабатывать данные двух типов: данные, для которых необходимо обеспечить конфиденциальность и имитозащиту (например, данные IP-пакета), и данные, для которых необходимо обеспечить только имитозащиту без конфиденциальности – их еще называют «дополнительно имитозащищаемые данные» («ассоциированные данные», «дополнительно аутентифицируемые данные» — это может быть заголовок IP-пакета). Одной из наиболее востребованных областей применения AEAD-механизмов являются различные криптографические протоколы защиты данных, например, недавно принятый IETF TLS 1.3 , о чем уже писали на . Так вот, этот RFC 8446 рассматривает в качестве используемых в протоколе алгоритмы аутентифицированного шифрования (о принципах, лежащих в основе протокола TLS 1.3, можно почитать ).

Строиться AEAD-механизмы могут на основе различных конструкций: поточные и блочные шифры, сжимающие отображения (хэш-функции), популярные сейчас конструкции типа «губка» (от англ. «sponge»). Разнообразие вариантов можно посмотреть, в частности, на сайте конкурса и в различных обзорах про этот конкурс, см. например и . Кстати, сам конкурс был организован в 2013 году как раз с целью определения лучшего AEAD-механизма взамен широко используемого AES-GCM (режим GCM стандартизован NIST в 2007 году), для которого на тот момент был предложен ряд атак ( и ). При этом, к участникам конкурса CAESAR были предъявлены дополнительные функциональные требования, такие как возможность работы «онлайн», возможность распараллеливания, свобода от инверсий, защита от некорректного использования инициализационных и одноразовых векторов, наличие предвычислений, инкрементация данных, промежуточные имитовставки, повторное использование фиксированных ассоциированных данных. Поясним подробнее.

Работа «онлайн»: зачастую для обеспечения конфиденциальности/имитостойкости требуется сначала сформировать полностью весь пакет данных, который будет обрабатываться, а только потом начать процедуру обработки. Механизмы, допускающие работу «онлайн», этого не требуют, они могут работать с поступающим в режиме реального времени потоком данных, обрабатывая его «на лету». Под распараллеливанием AEAD-механизмов понимается возможность распределения вычислений между несколькими процессорами. Под свободой от инверсий понимается использование в AEAD-механизме только функции зашифрования или только функции расшифрования. Эта характеристика важна с точки зрения реализации: для некоторых шифров (как, например, Кузнечик, AES) – шифрование и расшифрование реализуются с помощью разных преобразований, соответственно, свобода от инверсий означает меньшую площадь кристалла при аппаратных реализациях или меньший объем программного кода при программной. С предвычислениями все просто – это возможность после выбора ключа провести ряд предварительных вычислений, которые в дальнейшем ускорят обработку поступающих данных.

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

Как оказалось, создать AEAD-механизм, одновременно удовлетворяющий такому широкому спектру требований, крайне сложно. Это привело к тому, что конкурс CAESAR неоднократно продлевался, дедлайны переносились, поскольку жюри не могло выбрать победителя – все участники обладали различными наборами свойств – и закончилось с оревнование только лишь весной 2019 года выбором нескольких участников с различными свойствами.

Прообраз отечественного AEAD-режима, впоследствии названого MGM (Multi Linear Galois Mode), впервые был в 2017 г. MGM является режимом работы блочного шифра. Режим состоит из двух частей, каждая из которых основывается на своем счетчике. Первый счетчик используется для выработки последовательности, которая далее используется для шифрования. Принцип работы схож со счетчиком режима CTR (см. ГОСТ Р 34.13-2015 или ISO/IEC 10116), однако имеет существенное отличие: первоначальное значение счетчика получается с помощью шифрования из уникального вектора инициализации (nonce). Второй счетчик используется для построения мультилинейной функции, на основе которой вырабатывается имитовставка. Первый и второй счетчики работают по разному, первый инкрементирует правую половину блока, а второй — левую. Схема работы режима представлена на рисунке.

otibj4bgnhyv27phuekunj8vs5w.jpeg


Здесь
c067cd8924c3bb0bd52bae64ed90e8db.svg
— произвольный блочный шифр с длиной блока
08d9faefbe272bdf8fbb80773542e343.svg
бит,
e939198482d1d22fe0c4f46221e110b9.svg
— блоки ассоциированных данных,
d9efe8f0379b13ad737c91571d9645c3.svg
— блоки открытого текста,
aebead60cd9fa7966758c25bbf850443.svg
— уникальный вектор инициализации длины
216e7cd4e839145b7d2bb6f2f6e5306f.svg
бит,
c8ad6a46d6933e1f4368ce15a60a7c76.svg
— операция побитового сложения,
d4967114ad8f993ade0096e146c71447.svg
— операция умножения в поле
f09c065867a89bd85a296ecd37cd0c45.svg
,
41e398e84c6e49e8a1ef1a1cbdb51ed9.svg
— усечение блока длины до длины
cb6d45cf916546ae1085088c0c5dcd09.svg
,
60f84f23911285ae3039bdec491009fc.svg
— длина в битах ассоциированных данных и шифртекста соответственно,
580f3571aea412108f0bc07cb386de1c.svg
— функции инкрементирования.

В и в можно найти подробное описание принципов построения режима MGM. Если коротко, то при разработке решалась следующая задача: создать функциональный и хорошо распараллеливаемый режим работы блочных шифров, который был бы не подвержен известным атакам, в частности, атакам, успешно применимым к режиму GCM. В упомянуты докладе показаны следующие функциональные возможности режима:

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

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

Теорема
Преимущество противника в задаче нарушения конфиденциальности, делающего не более
d68cc4926bf74bae8fa3b51ca4a09ec8.svg
запросов к оракулу, общей длины открытого текста и ассоциированных данных не более
bd253add01b6a626f79861899c5e7d73.svg
блоков, оценивается следующим неравенством:



43fd90a973594e918f351ed53f913ec3.svg



Вторая — о безопасности аутентификации данных (их имитостойкости).

Теорема
Преимущество противника в задаче нарушения имитостойкости, делающего не более
d68cc4926bf74bae8fa3b51ca4a09ec8.svg
запросов к оракулу, общей длины открытого текста и ассоциированных данных не более
bd253add01b6a626f79861899c5e7d73.svg
блоков, и выдающего подделку общей длины шифртекста и ассоциированных данных не более
30fb6814eea0091044df0e5de33dfbc2.svg
блоков, оценивается следующим неравенством:



63456b402e071b29f5ddfa48f374c42e.svg



Заметим, что при использовании подхода «доказуемой стойкости» всегда возникает вопрос о точности полученных оценок (т.е. насколько они на самом деле соответствуют действительности и адекватны практике). Так вот в данном случае они оказались точными, что подтвердили результаты , в которой указаны теоретические атаки для режима MGM в случае, если объем материала не удовлетворяет приведенным теоремам.

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

cfuwej_c_vb76pbd_yni9zknz4y.jpeg


В таблице в качестве используемого примитива: обозначены BC — блочный шифр, SC — поточный шифр, Dedic — оригинальная конструкция (не использует шифр), Sponge — использует губку.

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

В сентябре прошлого года Росстандарт утвердил режим MGM в рекомендациях по стандартизации . Кроме того, в начале этого года организацией IANA , а Росстандартом были приняты рекомендации по стандартизации для использования российских криптоалгоритмов в протоколе TLS 1.3, — и как раз с применением режима MGM.
 
Сверху Снизу