Введение

криптографический протокол Multimedia Internet KEYing (MIKEY) — это протокол управления ключами, предназначенный для использования с приложениями реального времени. Он может быть использован для установления ключей шифрования для мультимедийных сеансов, защищенных с помощью SRTP — протокола безопасности, обычно используемого для защиты коммуникаций в реальном времени, таких как VoIP. MIKEY был впервые определен в RFC 3830. Дополнительные режимы MIKEY были определены в RFC 4873, RFC 5234, RFC 6378 и RFC 8333.

Цель программы MIKEY

Как описано в RFC 3830, протокол MIKEY предназначен для обеспечения сквозной безопасности между пользователями для поддержки обмена сообщениями. Для этого он обменивается ключом сеанса, известным как Ключ шифрования трафика (TEK), между участниками сеанса связи. Протокол MIKEY также может аутентифицировать участников обмена сообщениями. MIKEY предоставляет множество методов для обмена ключом сеанса и аутентификации участников.

Использование MIKEY на практике

MIKEY используется для управления ключами с целью защиты протокола мультимедийной связи. Соответственно, обмен сообщениями MIKEY обычно происходит в рамках протокола сигнализации, поддерживающего эту связь. Распространенная схема заключается в использовании MIKEY для обеспечения безопасности VoIP, предоставляя механизм управления ключами для протокола VoIP (SRTP). Управление ключами реализуется путем включения сообщений MIKEY в содержимое SDP сигнальных сообщений SIP.

Основные методы транспортировки и обмена

MIKEY поддерживает восемь различных методов установки общего секрета (для использования, например, в качестве ключа сеанса или сеансового KEK):
Предопределенный ключ (MIKEY PSK): Это наиболее эффективный способ передачи общего секрета, поскольку используется только симметричное шифрование и требуется обмен небольшим объемом данных. Однако, для каждого участника необходимо передать индивидуальный ключ, что приводит к проблемам масштабируемости в больших группах пользователей.
Публичный ключ (MIKEY PK): Общий секрет обменивается с использованием шифрования с открытым ключом. В крупных системах для этого требуется инфраструктура открытых ключей (PKI) для безопасного распространения открытых ключей.
Diffie–Hellman (MIKEY DH): Для установки общего секрета используется обмен ключами Diffie–Hellman. Этот метод требует больше ресурсов (как вычислительного времени, так и пропускной способности), чем предыдущие, но обеспечивает прямой секрет. Кроме того, он может использоваться без PKI.
DH HMAC (MIKEY DHHMAC) (Diffie–Hellman с аутентификацией HMAC): Это облегченная версия Diffie–Hellman MIKEY: вместо сертификатов и RSA-подписей используется HMAC для взаимной аутентификации сторон. DH HMAC определен в RFC 4650.
RSA R (MIKEY RSA R) (Обратный RSA): Общий секрет обменивается с использованием шифрования с открытым ключом без необходимости использования PKI: инициатор отправляет свой открытый ключ RSA респонденту, который выбирает общий секрет и отправляет его обратно инициатору, зашифрованным открытым ключом инициатора. RSA R определен в RFC 4738.
TICKET (MIKEY TICKET): Режим распределения ключей на основе билетов в MIKEY (Multimedia Internet KEYing). MIKEY TICKET определен в RFC 6043.
IBAKE (MIKEY IBAKE): Режим распределения ключей с аутентификацией на основе идентификатора (IBAKE) в MIKEY (Multimedia Internet KEYing). MIKEY IBAKE определен в RFC 6267.
SAKKE (MIKEY SAKKE): Шифрование ключа Sakai-Kasahara в MIKEY (Multimedia Internet KEYing). Это метод обмена ключами с аутентификацией на основе идентификатора. MIKEY SAKKE определен в RFC 6509.

Сообщения от MIKEY

Большинство методов MIKEY требует от инициатора отправки сообщения участникам (I MESSAGE), а от получателей – ответа другим сообщением (R MESSAGE). После завершения этого обмена участники могут сгенерировать ключ сессии. MIKEY SAKKE не требует R MESSAGE.

Содержание сообщения MIKEY

Сообщения MIKEY состоят из нескольких полезных нагрузок. Каждая полезная нагрузка описывает следующую в сообщении MIKEY. Таким образом, протокол MIKEY продемонстрировал свою гибкость в плане расширения и адаптации. Первая полезная нагрузка всегда является общим заголовком (HDR). Он определяет версию протокола MIKEY, используемый метод (тип данных), требуется ли ответ и идентифицирует криптографическую сессию, которая будет установлена в ходе обмена. Дальнейшие полезные нагрузки определяются используемым методом MIKEY. Часто они включают информационные полезные нагрузки, такие как:
Полезная нагрузка временной метки (T) – содержит время и, следовательно, помогает защититься от атак повторного воспроизведения. Полезные нагрузки идентификации (ID) – идентифицируют участников. Этот тип полезной нагрузки также может содержать сертификаты (CERT). В RFC 6043 он был расширен для включения «роли» пользователя в качестве части идентификатора (IDR). Полезная нагрузка RAND (RAND) – это случайные данные, используемые для добавления соли к производному ключу после обмена. Политики безопасности (SP) – содержат ограниченный набор политик безопасности для поддержки связи. Хеш сертификата (CHASH) – хеш, указывающий на сертификат, используемый для шифрования с открытым ключом. Кроме того, сообщение MIKEY содержит как минимум одну полезную нагрузку, которая заключает в себе ключевой материал. К ним относятся:
Транспорт ключевых данных (KEMAC) – заключает ключ в оболочку, шифруя его с использованием предварительно общего секрета. В RFC 4650 он расширен для поддержки аутентифицированного Diffie-Hellman (DHHMAC). Diffie-Hellman (DH) – содержит криптографическую информацию, поддерживающую протокол Diffie-Hellman. Данные Envelope (PKE) – заключают ключ в оболочку с использованием шифрования с открытым ключом. Расширен в RFC 4738 и RFC 6267. Sakai Kasahara (SAKKE) – заключает ключ в оболочку с использованием протокола Sakai Kasahara, основанного на идентификации. Определен в RFC 6509. Ticket (TICKET) – предоставляет криптографический токен для запроса ключевого материала с внешнего сервера (KMS). Определен в RFC 6043. Наконец, сообщение MIKEY может содержать полезную нагрузку аутентификации. К ним относятся:
Подпись (SIGN) – подпись к сообщению MIKEY. Проверка (V) – MAC, отправленный получателем для подтверждения получения.