CCMP (CCM mode Protocol)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:09, 18 декабря 2017.

CCMP (CCM mode Protocol) - протокол блочного шифрования с кодом аутентичности сообщения и режимом сцепления блоков и счётчика, протокол шифрования IEEE 802.11 созданный для замены TKIP, обязательного протокола шифрования в WPA и WEP, как более надёжный вариант. CCMP является обязательной частью стандарта WPA2, и необязательной частью стандарта WEP.

CCMP использует алгоритм AES. В отличие от TKIP, управление ключами и целостностью сообщений осуществляется одним компонентом, построенным вокруг AES с использованием 128-битного ключа, 128-битного блока, в соответствии со стандартом шифрования FIPS-197 .

CCMP является расширенным вариантом данных криптографического механизма, предназначен для обеспечения конфиденциальности данных и на основе режима счетчика с CBC-MAC (CCM) от AES стандарта. Он был создан для устранения уязвимостей, представленных WEP. [Источник 1]

История CCMP

Данный протокол был использован с WPA2, который был определён в стандарте IEEE 802.11. В свою очередь IEEE 802.11 был принят в июне 2004 года, также эту дату можно смело считать датой, когда появился протокол CCMP. [Источник 2]

Архитектура

Алгоритм CCMP основан на другом алгоритме шифрования CCM AES. В данном случае CCM использует алгоритм CTR для обеспечения конфиденциальности и алгоритм CBC для проверки подлинности и целостности данных. Также CCM обеспечивает целостность как области данных пакета MPDU, то есть пакета, который передается по сети, так и некоторых частей заголовка пакета стандарта IEEE 802.11.

Вся обработка AES, которая используется в CCMP, может использовать AES со 128-битным ключом и 128-битным блоком.

Режим ССМ является общим режимом, который может быть использован с любым блочным алгоритмом шифрования. Алгоритм CCM содержит два параметра (М и L), и CCMP использует для них следующие значения:

  • M = 8 (вследствие того, что поле MIC[1] — 8-октетное);
  • L = 2 (говорит о том, что длина поля составляет 2 октета, которых должно быть достаточно для хранения всех возможных длин пакетов MPDU стандарта IEEE 802.11).

Стандарт алгоритма ССМ требует использования новых временных ключей для каждой вновь создаваемой сессии. Кроме того, ССМ требует уникального значения Nonce для каждого кадра, защищённого конкретным выбранным временным ключом. CCMP использует для этого 48-разрядный номер пакета (PN).

Повторное использование PN-номера с тем же временным ключом обнуляет все гарантии безопасности. [Источник 3]

Безопасность

CCMP является стандартным протоколом шифрования для использования со стандартом WPA2 и гораздо более безопасным, чем протокол WEP и протокол целостности временных ключей TKIP защищенного доступа WPA.

CCMP предоставляет следующие службы безопасности:

  • Конфиденциальность данных - гарантирует, что только уполномоченные стороны могут получить доступ к информации;
  • Аутентификация - обеспечивает доказательство подлинности пользователя;
  • Контроль доступа в сочетании с управлением уровнем;

Поскольку CCMP - это режим блочного шифрования с использованием 128-битного ключа, он защищен от атак на 264 шага операции. Обычные атаки «встречаются в середине» существуют и могут использоваться для ограничения теоретической силы ключа до 2n∕2 (где n - количество бит в ключе), необходимых для операции. [Источник 4]

Шифрование CCMP

Алгоритм шифрования CCMP

ССМР преобразует незашифрованный текст пакета (plaintext на рисунке) и инкапсулирует его в пакет данных, используя следующий алгоритм. Ке.gif

  • Увеличивается на некоторое положительное число номер пакета PN для того, чтобы получать свой номер для каждого пакета данных так, что номер пакета никогда не повторяется дважды при использовании одного временного ключа. Стоит отметить, что повторные пакеты данных не изменяются при их ретрансляции.
  • Используя поля в заголовке пакета, CCMP создаёт дополнительные аутентификациионные данные (AAD) для ССМ. Алгоритм ССМ обеспечивает шифрование для полей, включённых в AAD. Поля заголовка пакета, которые могут измениться при его ретрансляции не должны учитываться при создании дополнительных аутентификационных данных и потому считаются нулевыми при создании AAD.
  • Составляется поле Nonce из номера пакета, адреса A2 и поля приоритета, которое в существующей реализации является зарезервированным, так что его значение должно быть установлено равным нулю.
  • Новый номер пакета NP и идентификатор ключа key ID помещаются в заголовок пакета CCMP.

дополнительные аутентификационные данные, поле Nonce непосредственно данные пакета с использованием временного ключа TK шифруются алгоритмом CCM Этот шаг называют CCM originator processing.

Структура пакета протокола IEEE 802.11, использующего шифрование на основе CCMP

Использование CCMP обработки расширяет оригинальный размер пакета на 16 октетов, из которых 8 октетов располагаются в заголовке пакета MPDU и 8 октетов — в MIC-области. Заголовок CCMP состоит из следующих частей: PN, ExtIV, и идентификатора ключа. PN — 48-разрядный номер пакета, представляющий собой массив из 6 октетов. Ниже будет представлена структура пакета MDPU, зашифрованного алгоритмом CCMP Df.gif


Построение поля дополнительных аутентификационных данных

AAD строится из заголовка пакета MPDU. AAD не включает в поле заголовка «Срок действия», поскольку данное поле может измениться при передаче данных по каналам стандарта IEEE 802.11 (например, при изменении скорости во время ретрансляции пакета). По тем же причинам, несколько подполей в поле «Frame Control» считаются равными нулю. Создание дополнительных аутентификационных данных осуществляется в соответствии со следующим алгоритмом:

  • создаётся поле FC — Frame Control, причём биты Подтипов (Subtype bits) считаются равными нулю;
  • бит повтора (бит 11) считается равным нулю;
  • PwrMgt бит (бит 12) считается равным нулю;
  • MoreData бит (бит 13) считается равным нулю;
  • бит защиты (бит 14) всегда равен 1:
  • A1 — MPDU Address 1 field,
  • A2 — MPDU Address 2 field,
  • A3 — MPDU Address 3 field;
  • создаётся поле SC (поле контрольной последовательности пакета MPDU), причём подполе номера последовательности (биты 4-15) считается равным нулю. Подполе номера фрагмента не изменяется;

A4 — адресное поле пакета, если он присутствует в MPDU; QC — Качество обслуживания QoS, если присутствует. Это поле зарезервировано для будущего использования. Длина AAD составляет 22 октета, в случае, если отсутствуют поля A4 и QC, и 28 октетов, когда пакет содержит поле А4.[Источник 5]

Схема расшифрования CCMP

CCMP принимает в качестве полезной нагрузки зашифрованный текст пакета и расшифровывает пакет, используя следующую последовательность действий:

  1. С использованием данных пакета создаются поля дополнительных идентификационных данных AAD и nonce.
  2. Поле AAD извлекается из заголовка зашифрованного пакета
  3. Поле создаётся из полей A2, порядкового номера пакета PN, а также поля приоритета
  4. Для проверки целостности пакета, из него извлекается поле MIC
  5. Пакет расшифровывается, и проверяется его целостность, для чего используется непосредственно текст зашифрованного пакета, значения дополнительных идентификационных данных, временных ключ, поля MIC и nonce.
  6. Затем пакет снова собирается, уже в расшифрованном виде, и передаётся дальше на обработку.
  7. Процесс расшифрования предотвращает передачу повторяющихся пакетов на сторону пользователя, сравнивая порядковый номер пакет PN со своим внутренним счётчиком пакетов. [Источник 6]

Схема алгоритма показана на рисунке ниже:

Tt.gif


Источники

  1. CCMP // wikipedia [2017-2017]. Дата обновления: 05. 08.2016. URL:https://ru.wikipedia.org/wiki/CCMP. (Дата обращения:08.11.2017)
  2. История CCMP // know [2017-2017]. Дата обновления: 05. 08.2016. URL:https://www.know.cf/enciclopedia/RU/CCMP. (Дата обращения:28.11.2017)
  3. Архитектура CCMP // wikipedia [2017-2017]. Дата обновления: 05. 08.2016. URL:https://ru.wikipedia.org/wiki/CCMP. (Дата обращения:08.11.2017)
  4. Безопасность // wikipedia [2017-2017]. Дата обновления: 05. 08.2016. URL:https://en.wikipedia.org/wiki/CCMP_(cryptography). (Дата обращения:08.11.2017)
  5. Шифрование // dic.academic [2017-2017]. Дата обновления: 05. 08.2016. URL:https://dic.academic.ru/dic.nsf/ruwiki/1266336. (Дата обращения:08.11.2017)
  6. Расшифрование // dic.academic [2017-2017]. Дата обновления: 05. 08.2016. URL:https://dic.academic.ru/dic.nsf/ruwiki/1266336. (Дата обращения:08.11.2017)