Выпуск #3/2014
Д.Ковалев, М.Ковцур
Механизмы аутентификации и управления ключами стандарта IEEE 802.11-2012
Механизмы аутентификации и управления ключами стандарта IEEE 802.11-2012
Просмотры: 17436
В статье приводится обзор механизмов аутентификации и управления ключами, используемых в стандарте IEEE 802.11-2012. Подробно описываются процедуры аутентификации, а также выработки и распределения ключевого материала. Особое внимание уделено процедуре четырехстороннего рукопожатия (4-way handshake), которая используется для генерации, проверки и согласования ключевого материала. Приведено описание иерархии, образуемой сгенерированными ключами. Подробно объясняются расчеты, производимые участвующими в аутентификации сторонами.
Теги: authentication authentication server eapol-key master-key rsna wireless local area network аутентификация беспроводные локальные сети мастер-ключ сервер аутентификации
Обеспечение безопасности в беспроводных сетях IEEE 802.11
Согласно прогнозу одного из крупнейших производителей сетевого оборудования компании Cisco Systems, к 2016 году трафик беспроводных и мобильных сетей превысит трафик проводных на 10% [1]. Быстрый рост количества беспроводных устройств диктуется успешным развитием новых технологий, таких как BYOD (Bring Your Own Device), которая позволяет использовать на рабочем месте собственное вычислительное устройство, или стандарт 802.11ac, существенно расширяющий пропускную способность сети. Кроме того, с каждым годом устройства, поддерживающие беспроводную связь, обзаводятся новыми функциональными и интеллектуальными возможностями. При таком стремительном развитии необходимы надежные механизмы обеспечения безопасности.
Появилось целое семейство стандартов передачи цифровых потоков данных по радиоканалам. В 2012 году Институт инженеров электротехники и электроники (IEEE) утвердил стандарт IEEE 802.11-2012. Это четвертый вариант стандарта с момента его первой публикации в 1997 году. Новый стандарт значительно расширен. C момента последнего пересмотра его размер увеличился в два раза. Стандарт определяет технические аспекты беспроводных локальных сетей семейства 802.11, а также описывает поправки для улучшения существующей функциональности на уровне управления доступом к среде и физическом уровне. Он также включает десять поправок в IEEE 802.11-2007, которые публиковались в период с 2008 по 2011 годы [2]. В статье рассматриваются наиболее актуальные на сегодняшний день механизмы аутентификации, приведенные в стандарте IEEE 802.11-2012, а также особенности их реализации.
Механизмы аутентификации
В стандарте 802.11-2012 используется концепция RSNA (Robust Security Network Association), которая включает в себя аутентификацию предустановленным ключом и механизм аутентификации 802.1x.
Стандарт 802.11-2012 определяет такое понятие, как AKM – Authentication and key management suite. AKM – это совокупность алгоритмов, предназначенных для аутентификации и управления ключами либо по отдельности, либо в сочетании с алгоритмами аутентификации и управления ключами более высокого уровня, которые описываются в смежных стандартах [3]. Каждый набор определяет, какие операции между клиентом и аутентификатором будут производиться, а также последовательность их выполнения. Использование того или иного набора определяется выбором одного из таких механизмов защиты, как аутентификация предустановленным ключом (PSK – Pre-Shared Key) и аутентификация по протоколу 802.1x.
Аутентификация предустановленным ключом предполагает использование ключа, предварительно настроенного на беспроводном клиенте и точке доступа. В случае использования аутентификации предустановленным ключом станция определяет политики безопасности точки доступа через пассивный мониторинг с помощью beacon-фреймов или через активное прослушивание. После обнаружения станция выполняет SAE-аутентификацию (Simultaneous Authentication of Equals) с точкой доступа (рис.1). После успешного завершения SAE-аутентификации станция и точка доступа генерируют парный мастер-ключ (Pairwise Master Key, PMK), который используется в четырехстороннем рукопожатии (4-way handshake) для генерации парного переходного ключа (Pairwise Transient Key, PTK).
Аутентификация SAE представляет собой вариант обмена ключами на основе доказательства с нулевым разглашением и используется беспроводными узлами для аутентификации с помощью пароля. В результате успешного завершения аутентификации между узлами распределяется парный мастер-ключ PMK (Pairwise Master Key, PMK). Аутентификация SAE имеет следующие особенности:
злоумышленник не может определить пароль или PMK не только в случае пассивного наблюдения обмена сообщениями, но и в случае активного вмешательства в него;
злоумышленник не может определить пароль или результирующий общий ключ с помощью модификации, подмены или воспроизведения кадров, а также в случае, если в процессе аутентификации участвуют неповрежденные устройства;
злоумышленник не может производить более одной попытки угадывания пароля за атаку;
компрометация PMK из предыдущего запуска протокола не дает злоумышленнику преимуществ в определении пароля или общего ключа.
В отличие от других протоколов аутентификации, в SAE нет таких понятий, как "инициатор" и "респондент". Стороны обмена равноправны, и каждая сторона может инициировать запуск протокола.
Стандарт IEEE 802.1x используется для аутентификации пользователей и рабочих станций в сети передачи данных. В случае применения стандарта в беспроводных сетях для выполнения аутентификации используется расширяемый протокол аутентификации EAP (Extensible Authentication Protocol) [4].
Архитектура стандарта включает в себя три обязательных компонента, которые участвуют в процедуре аутентификации (рис.2):
клиент (Supplicant);
аутентификатор (Authenticator);
сервер аутентификации (Authentication server).
Клиент запрашивает аутентификацию и доступ к сети. Каждый клиент имеет уникальные учетные данные, которые проверяются на сервере аутентификации. В качестве клиента может выступать рабочая станция пользователя, планшетный компьютер или иное устройство, поддерживающее беспроводной стандарт 802.11. Аутентификатором служит устройство, которое блокирует или разрешает прохождение трафика через порт. В беспроводной сети, как правило, это точка доступа или контроллер WLAN [5]. Аутентификатор выполняет обмен сообщениями с сервером аутентификации, в результате чего принимается решение о предоставлении доступа клиенту в сеть или о его дальнейшей блокировке. Сервер аутентификации проверяет учетные данные клиента, запрашивающего доступ, и уведомляет аутентификатор о результатах прохождения процедуры аутентификации [6]. В корпоративных сетях наибольшее распространение получили серверы стандарта RADIUS и TACACS+ [7].
Как и в случае использования аутентификации предустановленным ключом, станция получает информацию о политиках безопасности точки доступа через пассивный мониторинг с помощью сигнальных фреймов (beacon-frame) или через активное прослушивание (рис.3).
Если обнаруживается, что аутентификатор использует аутентификацию по протоколу 802.1x, то клиент отправляет сообщение EAPoL-Start для инициализации соединения. Если инициатором выступает аутентификатор, он отправляет сообщение Probe Request. Начинается процесс установления соединения по протоколу EAP (рис.4).
Клиент и аутентификатор проверяют подлинность друг друга и переходят к процессу четырехстороннего рукопожатия (4-way handshake key) для выработки ключей (рис.5). Этот механизм завершает процедуру аутентификации. Рукопожатие инициируется аутентификатором, при этом используется формат пакета EAPoL-key.
Процедура рукопожатия начинается с вычисления клиентом и аутентификатором парного мастер-ключа (PMK). После генерации PMK начинается обмен сообщениями EAPoL-key.
В первом сообщении аутентификатор посылает кадр EAPoL-key, содержащий ANonce (Authenticator Nonce). ANonce – одноразовое случайное или псевдослучайное число, которое генерируется с помощью счетчика глобальных ключей размером 256 бит, содержащегося в каждой беспроводной станции. Он инициализируется при загрузке системы. Значение счетчика устанавливается с помощью псевдослучайной функции Nonce [3]:
Nonce ← PRF-256(Random number, "Init Counter", Local MAC Address || Time),
где PRF-256 – псевдослучайная функция (Pseudorandom Function), результат которой имеет размер 256 бит; Random number – случайное число; "Init Counter" – символьная строка; Local MAC Address – MAC-адрес устройства; Time – значение текущего времени в формате протокола NTP (Network Time Protocol).
Во втором сообщении клиент генерирует случайное число SNonce (Supplicant Nonce) с помощью функции Nonce. Далее, используя полученный ANonce и сгенерированный SNonce, клиент вычисляет парный передаточный ключ (PTK – Pairwise Transient Key). Клиент посылает кадр EAPoL-key, который содержит SNonce, RSNE (Robust Security Network element) и код целостности сообщения MIC (Message Integrity Code). RSNE указывает на поддерживаемые узлом конфигурации безопасности и содержит в своем теле описание используемых криптографических профилей и механизмов AKM. Аутентификатор также использует ANonce и SNonce для вычисления PTK с помощью той же псевдослучайной функции, что и клиент. Также аутентификатор вычисляет MIC и сверяет его с полученным от клиента. Если аутентификатор обнаруживает несовпадение, сообщение отбрасывается. Далее аутентификатор отсылает третье сообщение, содержащее ANonce, RSNE из кадров Beacon или Probe Response, MIC, а также указание клиенту на возможность установки временных ключей. В завершающем сообщении клиент отсылает MIC и указание на то, что ключи установлены.
Вычисление парного передаточного ключа – одна из важнейших задач, выполняемых с помощью процедуры четырехстороннего рукопожатия, так как именно этот ключ содержит в себе ключевой материал для дальнейших криптографических преобразований. Вся совокупность ключей стандарта 802.11-2012 представляется с помощью иерархии ключевого материала.
Иерархия ключевого материала
Концепция RSNA определяет следующие иерархии ключей:
иерархия парных ключей (Pairwise Keys Hierarchy), использующихся для защиты одноадресного трафика;
иерархия групповых временных ключей GTK (Group Temporary Key) для защиты многоадресного и широковещательного трафика;
иерархия целостности GTK (integrity GTK), состоящая из одного ключа, необходимого для защиты целостности многоадресных кадров управления.
Ключи образуют иерархию, как показано на рис.6. На верхнем уровне находится PMK, который затем используется для выработки других ключей. В случае аутентификации по протоколу 802.1x PMK генерируется на этапе взаимной аутентификации между клиентом и сервером аутентификации. В случае использования аутентификации предустановленным ключом, PMK выполняет роль PSK (Pre-Shared Key), который в свою очередь генерируется из предустановленного ключа с помощью функции PBKDF2 (Password-Based Key Derivation Function 2) [3]:
PSK ← PBKDF2(PassPhrase, ssid, ssidLength, 4096, 256),
где passphrase – предустановленный ключ, представляющий собой последовательность ASCII-символов длиной от 8 до 63 бит (каждый символ в предустановленном ключе должен быть закодирован в таблице ASCII в диапазоне от 32 до 126 включительно); ssid (service set identifier) – идентификатор точки доступа, где используется вышеуказанный предустановленный ключ, представляющий собой строку октетов, которая включается в кадры Beacon и Probe Response; ssidLength – длина SSID в октетах; 4096 – число циклов повторного хеширования предустановленного ключа; 256 – длина PSK.
После генерации PMK участвует в вычислении парного передаточного ключа (PTK). Кроме случаев, когда используется предварительная проверка подлинности, PTK вырабатывается из PMK с помощью псевдослучайных функций PRF-384 и PRF-512.
PTK вычисляется по следующей формуле [3]:
PTK ← PRF-X(PMK, "Pairwise key expansion" || Min(AA,SPA) || Max(AA,SPA) ||Min(ANonce,SNonce) || Max(ANonce,SNonce)),
где PRF-X – псевдослучайная функция, результат которой имеет размер "X" (384 или 512); PMK – парный мастер-ключ; "Pairwise key expansion" – символьная строка; Min() – функция выбора минимального значения из указанных в скобках; Max() – функция выбора максимального значения из указанных в скобках; AA – MAC-адрес аутентификатора (Authenticator MAC Address); SPA – MAC-адрес клиента (Supplicant MAC Address); ANonce – случайное число, генерируемое аутентфикатором, SNonce – случайное число, генерируемое клиентом.
PTK затем разбивается на три ключа [3]:
KCK (EAPoL-Key Confirmation Key) – используется для проверки подлинности данных в сообщениях четырехстороннего рукопожатия. KCK представляет собой последовательность бит PTK с 0 до 127;
KEK (EAPoL-Key Encryption Key) – используется для обеспечения конфиденциальности в сообщениях четырехстороннего рукопожатия. KEK представляет собой последовательность бит PTK с 128 до 255;
временный ключ (temporal key) – используется для защиты одноадресного соединения между аутентификатором и конкретным клиентом. Составляет последовательность бит PTK с 256 по 511.
С помощью этих ключей можно обеспечить защиту одноадресных кадров, т.е. предназначенных для единственного пользователя. Для широковещательных кадров предусмотрена своя иерархия – иерархия групповых ключей (рис.7). На вершине иерархии находится групповой мастер-ключ (GMK, Group Master-Key). Поскольку групповые ключи используются только для защиты сообщений и не используются для обеспечения аутентификации, нет необходимости связывать конкретный ключ с конкретным устройством. Таким образом, аутентификатор просто генерирует 256-битное криптографически качественное случайное число и использует его для получения GTK по следующей формуле [3]:
GTK ← PRF-X(GMK, "Group key expansion" || AA || GNonce),
где PRF-X – псевдослучайная функция с результатом "X" бит; X = 256 + (количество бит временного ключа); "Group key expansion" – символьная строка; AA – MAC-адрес аутентификатора; GNonce – случайное число.
Предлагаемые в стандарте 802.11-2012 концепцией RSNA процедуры установления соединения предоставляют надежные протоколы взаимной аутентификации. Рассматриваемые протоколы тесно связаны с механизмами управления ключами, являются достаточными для предотвращения несанкционированного доступа к информации и позволяют гарантировать генерацию свежих временных ключей для протоколов обеспечения конфиденциальности и целостности информации, а поддержка парных ключей в связке с расширенными криптографическими механизмами позволяет принимающей стороне обнаружить атаки типа MAC-spoofing и data forgery.
Литература
1. Cisco Visual Networking Index: Forecast and Methodology, 2013–2018. – Cisco Public, 2014, June 10.
2. IEEE Std 802.11 – 2007 Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. – The Institute of Electrical and Electronics Engineers, Inc., 2007, 12 June.
3. IEEE Std 802.11 – 2012 (Revision of IEEE Std 802.11-2007) Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. – The Institute of Electrical and Electronics Engineers, Inc., 2012, 29 March.
4. RFC 3748. Aboba B., Blunk L., Vollbrecht J., Carlson J., Levkowetz H. Extensible Authentication Protocol (EAP). – IETF, June, 2004.
5. 802.11 Wireless Networks Security and Analysis. Holt A., Chi-Yu Huang. – Springer, 2010.
6. RFC 3580. Congdon P., Aboba B., Smith A., Zorn G., Roese J. IEEE 802.1X Remote Authentication Dial In User Service (RADIUS). Usage Guidelines. – IETF, September 2003.
7. Certified Wireless Security Professional Official Study Guide. Coleman D., Westcott D., Harkins B., Jackman S. – Wiley Publishing, Inc., 2010.
Согласно прогнозу одного из крупнейших производителей сетевого оборудования компании Cisco Systems, к 2016 году трафик беспроводных и мобильных сетей превысит трафик проводных на 10% [1]. Быстрый рост количества беспроводных устройств диктуется успешным развитием новых технологий, таких как BYOD (Bring Your Own Device), которая позволяет использовать на рабочем месте собственное вычислительное устройство, или стандарт 802.11ac, существенно расширяющий пропускную способность сети. Кроме того, с каждым годом устройства, поддерживающие беспроводную связь, обзаводятся новыми функциональными и интеллектуальными возможностями. При таком стремительном развитии необходимы надежные механизмы обеспечения безопасности.
Появилось целое семейство стандартов передачи цифровых потоков данных по радиоканалам. В 2012 году Институт инженеров электротехники и электроники (IEEE) утвердил стандарт IEEE 802.11-2012. Это четвертый вариант стандарта с момента его первой публикации в 1997 году. Новый стандарт значительно расширен. C момента последнего пересмотра его размер увеличился в два раза. Стандарт определяет технические аспекты беспроводных локальных сетей семейства 802.11, а также описывает поправки для улучшения существующей функциональности на уровне управления доступом к среде и физическом уровне. Он также включает десять поправок в IEEE 802.11-2007, которые публиковались в период с 2008 по 2011 годы [2]. В статье рассматриваются наиболее актуальные на сегодняшний день механизмы аутентификации, приведенные в стандарте IEEE 802.11-2012, а также особенности их реализации.
Механизмы аутентификации
В стандарте 802.11-2012 используется концепция RSNA (Robust Security Network Association), которая включает в себя аутентификацию предустановленным ключом и механизм аутентификации 802.1x.
Стандарт 802.11-2012 определяет такое понятие, как AKM – Authentication and key management suite. AKM – это совокупность алгоритмов, предназначенных для аутентификации и управления ключами либо по отдельности, либо в сочетании с алгоритмами аутентификации и управления ключами более высокого уровня, которые описываются в смежных стандартах [3]. Каждый набор определяет, какие операции между клиентом и аутентификатором будут производиться, а также последовательность их выполнения. Использование того или иного набора определяется выбором одного из таких механизмов защиты, как аутентификация предустановленным ключом (PSK – Pre-Shared Key) и аутентификация по протоколу 802.1x.
Аутентификация предустановленным ключом предполагает использование ключа, предварительно настроенного на беспроводном клиенте и точке доступа. В случае использования аутентификации предустановленным ключом станция определяет политики безопасности точки доступа через пассивный мониторинг с помощью beacon-фреймов или через активное прослушивание. После обнаружения станция выполняет SAE-аутентификацию (Simultaneous Authentication of Equals) с точкой доступа (рис.1). После успешного завершения SAE-аутентификации станция и точка доступа генерируют парный мастер-ключ (Pairwise Master Key, PMK), который используется в четырехстороннем рукопожатии (4-way handshake) для генерации парного переходного ключа (Pairwise Transient Key, PTK).
Аутентификация SAE представляет собой вариант обмена ключами на основе доказательства с нулевым разглашением и используется беспроводными узлами для аутентификации с помощью пароля. В результате успешного завершения аутентификации между узлами распределяется парный мастер-ключ PMK (Pairwise Master Key, PMK). Аутентификация SAE имеет следующие особенности:
злоумышленник не может определить пароль или PMK не только в случае пассивного наблюдения обмена сообщениями, но и в случае активного вмешательства в него;
злоумышленник не может определить пароль или результирующий общий ключ с помощью модификации, подмены или воспроизведения кадров, а также в случае, если в процессе аутентификации участвуют неповрежденные устройства;
злоумышленник не может производить более одной попытки угадывания пароля за атаку;
компрометация PMK из предыдущего запуска протокола не дает злоумышленнику преимуществ в определении пароля или общего ключа.
В отличие от других протоколов аутентификации, в SAE нет таких понятий, как "инициатор" и "респондент". Стороны обмена равноправны, и каждая сторона может инициировать запуск протокола.
Стандарт IEEE 802.1x используется для аутентификации пользователей и рабочих станций в сети передачи данных. В случае применения стандарта в беспроводных сетях для выполнения аутентификации используется расширяемый протокол аутентификации EAP (Extensible Authentication Protocol) [4].
Архитектура стандарта включает в себя три обязательных компонента, которые участвуют в процедуре аутентификации (рис.2):
клиент (Supplicant);
аутентификатор (Authenticator);
сервер аутентификации (Authentication server).
Клиент запрашивает аутентификацию и доступ к сети. Каждый клиент имеет уникальные учетные данные, которые проверяются на сервере аутентификации. В качестве клиента может выступать рабочая станция пользователя, планшетный компьютер или иное устройство, поддерживающее беспроводной стандарт 802.11. Аутентификатором служит устройство, которое блокирует или разрешает прохождение трафика через порт. В беспроводной сети, как правило, это точка доступа или контроллер WLAN [5]. Аутентификатор выполняет обмен сообщениями с сервером аутентификации, в результате чего принимается решение о предоставлении доступа клиенту в сеть или о его дальнейшей блокировке. Сервер аутентификации проверяет учетные данные клиента, запрашивающего доступ, и уведомляет аутентификатор о результатах прохождения процедуры аутентификации [6]. В корпоративных сетях наибольшее распространение получили серверы стандарта RADIUS и TACACS+ [7].
Как и в случае использования аутентификации предустановленным ключом, станция получает информацию о политиках безопасности точки доступа через пассивный мониторинг с помощью сигнальных фреймов (beacon-frame) или через активное прослушивание (рис.3).
Если обнаруживается, что аутентификатор использует аутентификацию по протоколу 802.1x, то клиент отправляет сообщение EAPoL-Start для инициализации соединения. Если инициатором выступает аутентификатор, он отправляет сообщение Probe Request. Начинается процесс установления соединения по протоколу EAP (рис.4).
Клиент и аутентификатор проверяют подлинность друг друга и переходят к процессу четырехстороннего рукопожатия (4-way handshake key) для выработки ключей (рис.5). Этот механизм завершает процедуру аутентификации. Рукопожатие инициируется аутентификатором, при этом используется формат пакета EAPoL-key.
Процедура рукопожатия начинается с вычисления клиентом и аутентификатором парного мастер-ключа (PMK). После генерации PMK начинается обмен сообщениями EAPoL-key.
В первом сообщении аутентификатор посылает кадр EAPoL-key, содержащий ANonce (Authenticator Nonce). ANonce – одноразовое случайное или псевдослучайное число, которое генерируется с помощью счетчика глобальных ключей размером 256 бит, содержащегося в каждой беспроводной станции. Он инициализируется при загрузке системы. Значение счетчика устанавливается с помощью псевдослучайной функции Nonce [3]:
Nonce ← PRF-256(Random number, "Init Counter", Local MAC Address || Time),
где PRF-256 – псевдослучайная функция (Pseudorandom Function), результат которой имеет размер 256 бит; Random number – случайное число; "Init Counter" – символьная строка; Local MAC Address – MAC-адрес устройства; Time – значение текущего времени в формате протокола NTP (Network Time Protocol).
Во втором сообщении клиент генерирует случайное число SNonce (Supplicant Nonce) с помощью функции Nonce. Далее, используя полученный ANonce и сгенерированный SNonce, клиент вычисляет парный передаточный ключ (PTK – Pairwise Transient Key). Клиент посылает кадр EAPoL-key, который содержит SNonce, RSNE (Robust Security Network element) и код целостности сообщения MIC (Message Integrity Code). RSNE указывает на поддерживаемые узлом конфигурации безопасности и содержит в своем теле описание используемых криптографических профилей и механизмов AKM. Аутентификатор также использует ANonce и SNonce для вычисления PTK с помощью той же псевдослучайной функции, что и клиент. Также аутентификатор вычисляет MIC и сверяет его с полученным от клиента. Если аутентификатор обнаруживает несовпадение, сообщение отбрасывается. Далее аутентификатор отсылает третье сообщение, содержащее ANonce, RSNE из кадров Beacon или Probe Response, MIC, а также указание клиенту на возможность установки временных ключей. В завершающем сообщении клиент отсылает MIC и указание на то, что ключи установлены.
Вычисление парного передаточного ключа – одна из важнейших задач, выполняемых с помощью процедуры четырехстороннего рукопожатия, так как именно этот ключ содержит в себе ключевой материал для дальнейших криптографических преобразований. Вся совокупность ключей стандарта 802.11-2012 представляется с помощью иерархии ключевого материала.
Иерархия ключевого материала
Концепция RSNA определяет следующие иерархии ключей:
иерархия парных ключей (Pairwise Keys Hierarchy), использующихся для защиты одноадресного трафика;
иерархия групповых временных ключей GTK (Group Temporary Key) для защиты многоадресного и широковещательного трафика;
иерархия целостности GTK (integrity GTK), состоящая из одного ключа, необходимого для защиты целостности многоадресных кадров управления.
Ключи образуют иерархию, как показано на рис.6. На верхнем уровне находится PMK, который затем используется для выработки других ключей. В случае аутентификации по протоколу 802.1x PMK генерируется на этапе взаимной аутентификации между клиентом и сервером аутентификации. В случае использования аутентификации предустановленным ключом, PMK выполняет роль PSK (Pre-Shared Key), который в свою очередь генерируется из предустановленного ключа с помощью функции PBKDF2 (Password-Based Key Derivation Function 2) [3]:
PSK ← PBKDF2(PassPhrase, ssid, ssidLength, 4096, 256),
где passphrase – предустановленный ключ, представляющий собой последовательность ASCII-символов длиной от 8 до 63 бит (каждый символ в предустановленном ключе должен быть закодирован в таблице ASCII в диапазоне от 32 до 126 включительно); ssid (service set identifier) – идентификатор точки доступа, где используется вышеуказанный предустановленный ключ, представляющий собой строку октетов, которая включается в кадры Beacon и Probe Response; ssidLength – длина SSID в октетах; 4096 – число циклов повторного хеширования предустановленного ключа; 256 – длина PSK.
После генерации PMK участвует в вычислении парного передаточного ключа (PTK). Кроме случаев, когда используется предварительная проверка подлинности, PTK вырабатывается из PMK с помощью псевдослучайных функций PRF-384 и PRF-512.
PTK вычисляется по следующей формуле [3]:
PTK ← PRF-X(PMK, "Pairwise key expansion" || Min(AA,SPA) || Max(AA,SPA) ||Min(ANonce,SNonce) || Max(ANonce,SNonce)),
где PRF-X – псевдослучайная функция, результат которой имеет размер "X" (384 или 512); PMK – парный мастер-ключ; "Pairwise key expansion" – символьная строка; Min() – функция выбора минимального значения из указанных в скобках; Max() – функция выбора максимального значения из указанных в скобках; AA – MAC-адрес аутентификатора (Authenticator MAC Address); SPA – MAC-адрес клиента (Supplicant MAC Address); ANonce – случайное число, генерируемое аутентфикатором, SNonce – случайное число, генерируемое клиентом.
PTK затем разбивается на три ключа [3]:
KCK (EAPoL-Key Confirmation Key) – используется для проверки подлинности данных в сообщениях четырехстороннего рукопожатия. KCK представляет собой последовательность бит PTK с 0 до 127;
KEK (EAPoL-Key Encryption Key) – используется для обеспечения конфиденциальности в сообщениях четырехстороннего рукопожатия. KEK представляет собой последовательность бит PTK с 128 до 255;
временный ключ (temporal key) – используется для защиты одноадресного соединения между аутентификатором и конкретным клиентом. Составляет последовательность бит PTK с 256 по 511.
С помощью этих ключей можно обеспечить защиту одноадресных кадров, т.е. предназначенных для единственного пользователя. Для широковещательных кадров предусмотрена своя иерархия – иерархия групповых ключей (рис.7). На вершине иерархии находится групповой мастер-ключ (GMK, Group Master-Key). Поскольку групповые ключи используются только для защиты сообщений и не используются для обеспечения аутентификации, нет необходимости связывать конкретный ключ с конкретным устройством. Таким образом, аутентификатор просто генерирует 256-битное криптографически качественное случайное число и использует его для получения GTK по следующей формуле [3]:
GTK ← PRF-X(GMK, "Group key expansion" || AA || GNonce),
где PRF-X – псевдослучайная функция с результатом "X" бит; X = 256 + (количество бит временного ключа); "Group key expansion" – символьная строка; AA – MAC-адрес аутентификатора; GNonce – случайное число.
Предлагаемые в стандарте 802.11-2012 концепцией RSNA процедуры установления соединения предоставляют надежные протоколы взаимной аутентификации. Рассматриваемые протоколы тесно связаны с механизмами управления ключами, являются достаточными для предотвращения несанкционированного доступа к информации и позволяют гарантировать генерацию свежих временных ключей для протоколов обеспечения конфиденциальности и целостности информации, а поддержка парных ключей в связке с расширенными криптографическими механизмами позволяет принимающей стороне обнаружить атаки типа MAC-spoofing и data forgery.
Литература
1. Cisco Visual Networking Index: Forecast and Methodology, 2013–2018. – Cisco Public, 2014, June 10.
2. IEEE Std 802.11 – 2007 Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. – The Institute of Electrical and Electronics Engineers, Inc., 2007, 12 June.
3. IEEE Std 802.11 – 2012 (Revision of IEEE Std 802.11-2007) Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. – The Institute of Electrical and Electronics Engineers, Inc., 2012, 29 March.
4. RFC 3748. Aboba B., Blunk L., Vollbrecht J., Carlson J., Levkowetz H. Extensible Authentication Protocol (EAP). – IETF, June, 2004.
5. 802.11 Wireless Networks Security and Analysis. Holt A., Chi-Yu Huang. – Springer, 2010.
6. RFC 3580. Congdon P., Aboba B., Smith A., Zorn G., Roese J. IEEE 802.1X Remote Authentication Dial In User Service (RADIUS). Usage Guidelines. – IETF, September 2003.
7. Certified Wireless Security Professional Official Study Guide. Coleman D., Westcott D., Harkins B., Jackman S. – Wiley Publishing, Inc., 2010.
Отзывы читателей