IEEE 802.11i-2004 , или 802.11i для краткости, является поправкой к оригинальному IEEE 802.11 , реализованной как Wi-Fi Protected Access II (WPA2). Проект стандарта был ратифицирован 24 июня 2004 года. Этот стандарт определяет механизмы безопасности для беспроводных сетей , заменяя краткий пункт «Аутентификация и конфиденциальность» оригинального стандарта на подробный пункт «Безопасность» . В процессе поправка упразднила сломанный Wired Equivalent Privacy (WEP), хотя позже он был включен в опубликованный стандарт IEEE 802.11-2007 .
802.11i заменяет предыдущую спецификацию безопасности, Wired Equivalent Privacy (WEP), которая, как было показано, имела уязвимости безопасности. Wi-Fi Protected Access (WPA) ранее был представлен Wi-Fi Alliance в качестве промежуточного решения для уязвимостей WEP. WPA реализовал подмножество проекта 802.11i. Wi-Fi Alliance называет свою одобренную, совместимую реализацию полного 802.11i WPA2 , также называемую RSN (Robust Security Network). 802.11i использует блочный шифр Advanced Encryption Standard (AES) , тогда как WEP и WPA используют потоковый шифр RC4 . [1]
IEEE 802.11i расширяет IEEE 802.11-1999, предоставляя надежную сеть безопасности (RSN) с двумя новыми протоколами: четырехсторонним рукопожатием и групповым ключом. Они используют службы аутентификации и управления доступом к портам, описанные в IEEE 802.1X, для установки и изменения соответствующих криптографических ключей. [2] [3] RSN — это безопасная сеть, которая позволяет создавать только надежные ассоциации сетей безопасности (RSNA), которые являются типом ассоциации, используемой парой станций (STA), если процедура установления аутентификации или ассоциации между ними включает четырехстороннее рукопожатие. [4]
Стандарт также предусматривает два протокола конфиденциальности и целостности данных RSNA, TKIP и CCMP , при этом реализация CCMP является обязательной, поскольку механизмы конфиденциальности и целостности TKIP не столь надежны, как у CCMP. [5] Основной целью внедрения TKIP было то, что алгоритм должен быть реализуемым в рамках возможностей большинства старых устройств, поддерживающих только WEP.
Первоначальный процесс аутентификации выполняется либо с использованием предварительного общего ключа (PSK), либо после обмена EAP через 802.1X (известного как EAPOL , который требует наличия сервера аутентификации). Этот процесс гарантирует, что клиентская станция (STA) аутентифицирована точкой доступа (AP). После аутентификации PSK или 802.1X генерируется общий секретный ключ, называемый парным главным ключом (PMK). В аутентификации PSK PMK на самом деле является PSK, [6] который обычно выводится из пароля WiFi путем пропускания его через функцию выведения ключа , которая использует SHA-1 в качестве криптографической хэш-функции . [7] Если был выполнен обмен 802.1X EAP, PMK выводится из параметров EAP, предоставленных сервером аутентификации.
Четырехэтапное рукопожатие [8] разработано таким образом, что точка доступа (или аутентификатор) и беспроводной клиент (или проситель) могут независимо доказать друг другу, что они знают PSK/PMK, не раскрывая ключ. Вместо раскрытия ключа точка доступа (AP) и клиент шифруют сообщения друг другу, которые можно расшифровать только с помощью PMK, которым они уже делятся, и если расшифровка сообщений прошла успешно, это доказывает знание PMK. Четырехэтапное рукопожатие имеет решающее значение для защиты PMK от вредоносных точек доступа, например, SSID злоумышленника, выдающего себя за реальную точку доступа, так что клиенту никогда не придется сообщать точке доступа свой PMK.
PMK разработан так, чтобы длиться весь сеанс, и должен быть раскрыт как можно меньше; поэтому необходимо вывести ключи для шифрования трафика. Четырехэтапное рукопожатие используется для установления другого ключа, называемого парным переходным ключом (PTK). PTK генерируется путем конкатенации следующих атрибутов: PMK, одноразовый номер AP (ANonce), одноразовый номер STA (SNonce), MAC-адрес AP и MAC-адрес STA. Затем продукт проходит через псевдослучайную функцию . Рукопожатие также дает GTK (групповой временный ключ), используемый для расшифровки многоадресного и широковещательного трафика.
Фактические сообщения, которыми обмениваются во время рукопожатия, изображены на рисунке и пояснены ниже (все сообщения отправляются как ключевые кадры EAPOL ):
Групповой временный ключ (GTK), используемый в сети, может нуждаться в обновлении из-за истечения предустановленного таймера. Когда устройство покидает сеть, GTK также необходимо обновить. Это необходимо для того, чтобы устройство не получало больше многоадресных или широковещательных сообщений от точки доступа.
Для управления обновлением 802.11i определяет групповое ключевое рукопожатие , которое состоит из двустороннего рукопожатия:
CCMP основан на режиме Counter с CBC-MAC (CCM) алгоритма шифрования AES. CCM объединяет CTR для конфиденциальности и CBC-MAC для аутентификации и целостности. CCM защищает целостность как поля данных MPDU, так и выбранных частей заголовка IEEE 802.11 MPDU.
RSNA определяет две ключевые иерархии:
Описание ключевых иерархий использует следующие две функции:
Парная иерархия ключей использует PRF-384 или PRF-512 для получения сеансовых ключей из PMK, генерируя PTK, который разделяется на KCK и KEK, а также все временные ключи, используемые MAC для защиты одноадресной связи.
GTK представляет собой случайное число, которое также генерируется с использованием PRF-n, обычно PRF-128 или PRF-256. В этой модели иерархия групповых ключей берет GMK (групповой главный ключ) и генерирует GTK.
«Поле защищенного кадра имеет длину 1 бит. Поле защищенного кадра устанавливается в 1, если поле тела кадра содержит информацию, обработанную алгоритмом криптографической инкапсуляции. Поле защищенного кадра устанавливается в 1 только в кадрах данных типа Data и в кадрах управления типа Management, подтипа Authentication. Поле защищенного кадра устанавливается в 0 во всех других кадрах. Когда битовое поле защищенного кадра установлено в 1 в кадре данных, поле тела кадра защищается с использованием алгоритма криптографической инкапсуляции и расширяется, как определено в пункте 8. Только WEP разрешен в качестве алгоритма криптографической инкапсуляции для кадров управления подтипа Authentication». [8]
RSNA использует IEEE 802.1X для предоставления услуг аутентификации и использует схему управления ключами IEEE 802.11