IEEE 802.11i-2004

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

IEEE 802.11i-2004 или 802.11i, является поправкой к оригинальному IEEE 802.11, реализованному как Wi-Fi Protected Access II (WPA2) – защищённый доступ. Стандарт был ратифицирован 24 июня 2004 года. Этот стандарт определяет механизмы безопасности для беспроводных сетей, заменяя условие короткой аутентификации и конфиденциальности оригинального стандарта подробным условием безопасности. В ходе этого процесса устаревает WEP (Wired Equivalent Privacy), позднее он был включен в опубликованный стандарт IEEE 802.11-2007.

Замена WEP

802.11i заменяет предыдущую спецификацию безопасности, WEP, которая имеет уязвимости в системе безопасности. WPA (Wi-Fi Protected Access) ранее был представлен Wi-Fi Alliance как промежуточное решение для WEP-безопасности. WPA реализовал подмножество проекта 802.11i. Wi-Fi Alliance Альянс Wi-Fi ссылается на их одобренную, совместимую реализацию полного стандарта 802.11i в качестве WPA2, также называемую RSN (Robust Security Network - надежная безопасная сеть). 802.11i использует блочный шифр AES (Advanced Encryption Standard), тогда как WEP и WPA используют потоковый шифр RC4.

Работа протокола

IEEE 802.11i улучшает IEEE 802.11-1999, предоставляя Robust Security Network (RSN) с двумя новыми протоколами: 4-Way Handshake и Group Key Handshake. Они используют службы аутентификации и управления доступом к портам, описанные в IEEE 802.1X, для установки и изменения соответствующих криптографических ключей. RSN - это безопасная сеть, которая позволяет создавать безопасные сетевые соединения (RSNAs), которые являются типом соединения, используемым парой станций (STAs), если процедура установления аутентификации или связи между ними включает в себя 4-Way Handshake.

В стандарте также предусмотрены два протокола RSNA: конфиденциальность и целостность данных, TKIP и CCMP, причем внедрение CCMP является обязательным.

Первичный процесс аутентификации выполняется либо с использованием pre-shared key (PSK - предварительный общий ключ), либо после обмена EAP (Extensible Authentication Protocol) через 802.1X (известный как EAPOL, который требует наличия сервера аутентификации). Этот процесс обеспечивает аутентификацию клиентской станции (STA) с помощью точки доступа (AP - access point). После PSK или 802.1X аутентификации генерируется общий секретный ключ, называемый Pairwise Master Key (PMK – парный главный ключ). PSK является производным от пароля, который передается через PBKDF2-SHA1 в качестве криптографической хэш-функции. В сети с pre-shared-key, PSK является PMK. Если был проведен обмен EAP 802.1X, PMK извлекается из параметров EAP, предоставляемых сервером аутентификации.

4-Way Handshake

4-Way Handshake в 802.11i

4-Way Handshake создан так, что точка доступа (или аутентификатор) и беспроводной клиент (или проситель) могут независимо друг от друга доказать друг другу, что они знают PSK / PMK, не раскрывая ключ. Вместо того, чтобы раскрывать ключ, точка доступа и клиент каждый шифруют сообщения друг друга, которые могут быть расшифрованы только с использованием PMK, которым они делятся, и если дешифрование сообщений было успешным, это доказывает знание PMK. 4-Way Handshake имеет решающее значение для защиты PMK от вредоносных точек доступа - например, SSID злоумышленника, выдающего себя за реальную точку доступа, - так что клиент никогда не должен сообщать точке доступа свой PMK.

PMK предназначен для проведения всей сессии и должен быть открыт как можно меньше; поэтому необходимо получить ключи для шифрования трафика. 4-Way Handshake используется для установления другого ключа, называемого Pairwise Transient Key (PTK – параллельный переходный ключ). PTK генерируется путем объединения следующих атрибутов: PMK, AP nonce (ANonce), STA nonce (SNonce), MAC-адрес AP и MAC-адрес STA. Затем результат подвергается псевдослучайной функции. Handshake также дает GTK (Group Temporal Key - групповой временный ключ), используемый для дешифрования многоадресного и широковещательного трафика.

Сообщения, обмениваемые во время установления связи, изображены на рисунке и объяснены ниже (все сообщения отправляются как EAPOL-Key frames):

  1. AP отправляет одно единственное значение в STA (ANonce). Теперь у клиента есть все атрибуты для построения PTK.
  2. STA отправляет свое собственное одноразовое значение (SNonce) в AP вместе с кодом целостности сообщения (MIC), включая аутентификацию, которая на самом деле является аутентификацией сообщения и кодом целостности (MAIC).
  3. AP конструирует и отправляет GTK и порядковый номер вместе с другим MIC. Этот порядковый номер будет использоваться в следующем многоадресном или широковещательном фрейме, чтобы принимающая STA могла выполнить базовое обнаружение повтора.
  4. STA отправляет подтверждение AP.

Pairwise Transient Key (64 байта) разделен на пять отдельных ключей:

  1. 16 байт of EAPOL-Key Confirmation Key (KCK) – используется для вычисления MIC на WPA EAPOL Key message.
  2. 16 байт of EAPOL-Key Encryption Key (KEK) - AP использует этот ключ для шифрования дополнительных данных, отправленных (в поле «Данные ключа») клиенту (например, RSN IE или GTK).
  3. 16 байт of Temporal Key (TK) - используется для шифрования / дешифрования одноадресных пакетов данных.
  4. 8 байт of Michael MIC Authenticator Tx Key – используется для вычисления MIC на одноадресных пакетах данных, передаваемых AP.
  5. 8 байт of Michael MIC Authenticator Rx Key – используется для вычисления MIC на одноадресных пакетах данных, передаваемых станцией.

Group Temporal Key (32 байта) разделен на три отдельных ключа:

  1. 16 байт of Group Temporal Encryption Key - используется для шифрования / дешифрования многоадресных и широковещательных пакетов данных.
  2. 8 байт of Michael MIC Authenticator Tx Key – используется для расчета MIC на многоадресных и широковещательных пакетах, передаваемых AP.
  3. 8 байт of Michael MIC Authenticator Rx Key – в настоящее время не используется, поскольку станции не отправляют многоадресный трафик.

The Michael MIC Authenticator Tx/Rx Keys в PTK и GTK используются только в том случае, если сеть использует TKIP для шифрования данных.

Group key handshake

Group Temporal Key (GTK) используемому в сети, может потребоваться обновление по истечению времени, заданного таймером. Когда устройство выходит из сети, GTK также нуждается в обновлении. Это делается для того, чтобы устройство не получало от AP многоадресные или широковещательные сообщения.

Чтобы обрабатывать обновление, 802.11i определяет Group Key Handshake, который состоит из двухстороннего установления связи:

  1. AP отправляет новый GTK каждому STA в сети. GTK шифруется с использованием KEK, назначенного для этой STA, и защищает данные от несанкционированного доступа, используя MIC.
  2. STA подтверждает новый GTK и отвечает на AP.

См. также

Литература

Источники