Методы аутентификации - Открытая, PSK и EAP. Процедура аутентификации и согласования ключей Протокол расширенной проверки подлинности eap

Целью процедуры аутентификации и согласования ключей (Authentication and Key Agreement – AKA) является выполнение взаимной аутентификации между пользовательским терминалом и сетью, а также генерация ключа функции безопасности KSEAF (см. Рис. 7). Единожды сгенерированный ключ KSEAF, может использоваться для формирования нескольких контекстов безопасности, в т.ч. для 3GPP и non-3GPP доступа.
Release 15 3GPP определяет два обязательных метода процедуры аутентификации и согласования ключей – EPS-AKA" и 5G-AKA, которые будут рассмотрены ниже.
В рамках обоих методов вызывается функция деривации (KDF), которая на основании управляющей строки символов осуществляет преобразование криптографического ключа. В состав управляющей строки символов может входить имя обслуживающей абонента гостевой сети (Serving Network Name – SN-name). В частности, SN-name используется при вычислении:
- ключа функции безопасности KSEAF;
- отклика аутентификации (RES*, XRES*);
- промежуточных ключей CK’ и IK’.
SN-name конструируется путем объединения сервисного кода (service code ="5G") и идентификатора гостевой сети, которая аутентифицирует пользователя (network identifier или SN Id). SN Id вычисляется на основе мобильного кода страны (MCC) и мобильного кода сети (MNC) – см. Рис. 3.

Рис. 3 (network identifier или SN Id)

Использование имени обслуживающей сети (SN-name) позволяет однозначно привязывать результаты работы криптографических алгоритмов к конкретной гостевой сети.

Инициация и выбор метода аутентификации

В соответствии с политикой безопасности оператора связи функциональный модуль SEAF может инициировать аутентификацию пользовательского терминала (UE) в рамках любой процедуры, предусматривающей установку сигнального соединения с UE, например, при регистрации в сети (attach), либо обновлении зоны слежения (tracking area update). Для "выхода в эфир" UE должен использовать либо скрытый идентификатор SUCI (в случае первичной регистрации в сети), либо 5G-GUTI (в иной ситуации).
Для аутентификации пользовательского терминала SEAF использует ранее созданный и еще незадействованный вектор аутентификации, либо направляет запрос "Authentication Initiation Request" (5G-AIR) в AUSF, устанавливая в качестве идентификатора пользователя SUCI (в случае первичной регистрации в сети), либо SUPI (при получении от UE валидного 5G-GUTI). Запрос аутентификации (5G-AIR), помимо идентификатора пользователя должен также включать в себя тип доступа (3GPP или non-3GPP), а также имя обслуживающей сети (SN-name).
Далее AUSF проверяет правомочность использования имени обслуживающей сети (SN-name) и при успешной проверке – транслирует полученный запрос в блок унифицированной базы данных (UDM), где (при необходимости) функциональным модулем извлечения идентификатора пользователя (SIDF) выполняется расшифровка скрытого идентификатора пользователя (SUCI), после чего репозиторий учетных данных аутентификации (ARPF) осуществляется выбор соответствующего алгоритма аутентификации – 5G-AKA, либо EAP-AKA".

Метод аутентификации EAP-AKA"

Метод аутентификации EAP-AKA" представляет собой дальнейшее развитие EAP-AKA и вводит новую функцию деривации, обеспечивающую привязку криптографических ключей к имени сети доступа. Запуск метода EAP-AKA", описанного в RFC 5448, осуществляется UDM/ARPF при получении им от AUSF запроса на аутентификацию пользователя (сообщения Authentication Information Request – Auth Info-Req). На Рис. 4 приведена диаграмма, включающая нижеперечисленные шаги.

Рис. 4 (Метод аутентификации EPS-AKA)

1. Модуль репозитория и обработки учетных данных пользователя (UDM/ARPF) генерирует вектор аутентификации, включающий в себя RAND, AUTN, XRES, CK, IK. Для вычисления вектора аутентификации используются пять односторонних функций f1-f5, реализуемых на основе блокового шифра MILENAGE (в соответствии с 3GPP TS 33.102 – см. Рис. 5) с установленным в значение "1" битом AMF. При вычислении f1-f5 используется 128-ми битное поле конфигурирования алгоритма – OP (operator-variant algorithm configuration field). OP позволяет сделать уникальную (секретную) реализацию алгоритма для каждого оператора. Значение OP (либо OPc, вычисляемое из OP и KI через функцию блочного шифрования) должно храниться в ARPF и на USIM пользователя.

Рис. 5 (Вектор аутентификации)

2. UDM/ARPF посредством функции деривации и с использованием имени обслуживающей сети (SN-name) вычисляет "привязанные" значения CK", IK" и передает вектор (RAND, AUTN, XRES, CK", IK") серверу аутентификации (AUSF) от которого был получен запрос.
3. AUSF запускает криптографическую функцию PRF метода EAP-AKA", описанную в RFC5448. Входными параметрами функции являются ключи CK" и IK", а также имя обслуживающей сети (SN-name). На выходе функции получаются следующие поля:
- K_encr – ключ (128 бит), используемый для шифрования отдельных атрибутов сообщений EAP-AKA" (в соответствии с политикой безопасности оператора связи);
- K_aut – ключ (256 бит), используемый для вычисления кодов контроля целостности сообщений EAP-AKA" (MAC – Message Authentication Code);
- K_re – ключ (256 бит), используемый при реаутентификации;
- MSK (Master Session Key) – мастер ключ (512 бит);
- EMSK (Extended Master Session Key) – расширенный мастер ключ (512 бит).
4. AUSF посылает якорной функции безопасности (SEAF) запрос EAP-Request/AKA"-Challenge, который далее прозрачно транслируется пользовательскому терминалу в NAS-сообщении. EAP-Request/AKA"-Challenge содержит следующие атрибуты:
- AT_RAND (случайное число);
- AT_AUTN (токен аутентификации);
- AT_KDF (идентификатор используемой функции деривации, где 1 – соответствует использованию функции деривации по умолчанию);
- AT_KDF_INPUT (имя обслуживающей сети – SN-name);
- AT_MAC (код контроля целостности сообщения – Message Authentication Code).

- вычисляет значения XMAC, RES, CK" и IK";
- запускает криптографическую функцию PRF алгоритма EAP-AKA" (аналогичную функции, выполняемой сервером аутентификации);
- проверяет корректность кода контроля целостности сообщения (атрибут AT_MAC);
- проверяет установку бита AMF атрибута AT_AUTN в значение "1";

- посылает якорной функции безопасности (SEAF) отклик EAP-Response/AKA"-Challenge с атрибутами AT_RES и AT_MAC, который далее прозрачно транслируется серверу аутентификации (AUSF).
6. AUSF проверяет корректность кода контроля целостности сообщения (атрибут AT_MAC) и выполняет аутентификацию пользовательского терминала, посредством сравнения значений RES и XRES, полученных от UE и ARPF/UDM соответственно.
7. В случае успеха AUSF через якорную функцию безопасности (SEAF) направляет UE отклик EAP-Success. Если политика безопасности оператора связи подразумевает передачу EAP-Success в зашифрованном виде – "protected successful result indications", предварительно выполняется обмен сообщениями нотификации. Также (при необходимости), через вызов функции SIDF выполняется дешифрация скрытого идентификатора (SUCI) и извлечение 5G SUPI.
8. На заключительном шаге ARPF/UDM формирует ключ функции аутентификации KAUSF, в качестве которого используются первые 256 бит расширенного мастер ключа (EMSK). В дальнейшем на основе KAUSF вычисляются ключи шифрования и контроля целостности в соответствии с иерархией криптографических ключей, приведенной на Рис. 7.

Метод аутентификации 5G-AKA представляет собой дальнейшее развитие EPS-AKA, описанного в рекомендации 3GPP TS 33.401 и применяемого на сетях 4G-LTE. Запуск метода 5G-AKA осуществляется UDM/ARPF при получении им от AUSF запроса на аутентификацию пользователя (сообщения Authentication Information Request – Auth Info-Req). На Рис. 6 приведена диаграмма, включающая в себя нижеперечисленные шаги.

Рис. 6 (Метод аутентификации 5G-AKA)

1. По аналогии с алгоритмом EAP-AKA" модуль репозитория и обработки учетных данных пользователя (UDM/ARPF) на основе блокового шифра MILENAGE генерирует вектор аутентификации, включающий в себя RAND, AUTN, XRES, CK, IK (бит AMF должен быть установлен в единицу).
2. UDM/ARPF посредством функции деривации и с использованием имени обслуживающей сети (SN-name) вычисляет:
- привязанное значение ожидаемого отклика XRES*,
- значение ключа функции аутентификации KAUSF,
формирует вектор "5G HE AV" (Home Environment Authentication Vector), включающий в себя RAND, AUTN, XRES*, KAUSF и направляет его серверу аутентификации (AUSF).
3. AUSF вычисляет:
- значение HXRES*, представляющего собой усеченный до 128-ми бит хэш от конкатенации ожидаемого отклика аутентификации XRES* и случайного числа RAND: HXRES*  младшие 128 бит от SHA-256;
- значение ключа функции безопасности KSEAF.
Далее AUSF формирует вектор "5G AV" (5G Authentication Vector), включающий в себя RAND, AUTN, HXRES*, KSEAF и направляет его якорной функции безопасности (SEAF) посредством сообщения 5G-AIA (Authentication Initiation Answer). В случае, если запрос на аутентификацию (5G-AIR) содержал скрытый идентификатор пользователя (SUCI), AUSF через вызов функции SIDF, получает 5G SUPI и добавляет его в 5G-AIA.
4. SEAF осуществляет контроль таймера времени жизни полученного вектора и направляет пользовательскому терминалу NAS сообщение Auth-Req с включенными параметрами RAND и AUTN.
5. Пользовательский терминал:
- через вызов соответствующих функций USIM модуля вычисляет значения RES, AUTN, CK, IK;
- выполняет аутентификацию сети путем сравнения вычисленного и принятого значений AUTN;
- вычисляет значения ключей KAUSF и KSEAF;
- вычисляет привязанное значение отклика аутентификации RES*;
- направляет якорной функции безопасности (SEAF) сообщение Auth-Resp, содержащее RES*.
6. SEAF вычисляет хэш HRES* (по аналогии с AUSF) и осуществляет аутентификацию пользовательского терминала посредством сравнения HRES* и HXRES*.
7. При успешной аутентификации SEAF направляет AUSF сообщение подтверждения 5G-AC (Authentication Confirmation), содержащее в т.ч. значение отклика RES*, полученное от UE. Данный шаг является опциональным и может не использоваться при регистрации пользователя в домашней сети.
8. AUSF осуществляет проверку таймера времени жизни вектора аутентификации, сравнивает значения вычисленного (XRES*) и полученного (RES*) откликов, после чего завершает процедуру аутентификации.
3GPP рекомендует в рамках одной процедуры аутентификации генерировать и использовать только один вектор. Это позволит завершать каждую процедуру аутентификации сообщением подтверждения.

В этой статье содержится пример конфигурации аутентификации EAP (протокол расширенной аутентификации) беспроводных пользователей в локальной базе данных сервера RADIUS на точке доступа, работающей под управлением Cisco IOS®.

Благодаря пассивной роли, которую играет точка доступа в EAP (она преобразует беспроводные пакеты клиентов в пакеты, передающиеся по проводам, и направляет их на сервер аутентификации, и наоборот), данная конфигурация используется практически со всеми методами EAP. Эти методы включают (но не ограничиваются) LEAP, защищенный EAP (PEAP)-MS-протокол взаимной аутентификации (CHAP) версии 2, PEAP-плата Generic Token (GTC), гибкая аутентификация EAP через безопасный туннель (FAST), EAP-протокол безопасности транспортного уровня (TLS) и EAP-Tunneled TLS (TTLS). Необходимо соответствующим образом настроить сервер аутентификации для каждого из методов EAP. Данная статья содержит только сведения по настройке точки доступа.

Требования

При проведении настройки могут понадобиться следующие знания:

  • Общее представление о Cisco IOS GUI или CLI.
  • Общее представление о концепции аутентификации EAP.

Используемые компоненты

  • Точка доступа Cisco Aironet, работающая под управлением Cisco IOS.
  • Виртуальная LAN (VLAN), предположим, что в сети она только одна.
  • RADIUS сервер аутентификации, успешно выполняющий интеграцию в базу данных пользователя.
    • Cisco LEAP и EAP-FAST поддерживают следующие серверы аутентификации:
      • Сервер контроля доступа (ACS) Cisco Secure
      • Регистратор доступа Cisco (CAR)
      • Funk Steel Belted RADIUS
      • Interlink Merit
    • Microsoft PEAP-MS-CHAP версии 2 и PEAP-GTC поддерживают следующие серверы аутентификации:
      • Microsoft Internet Authentication Service (IAS)
      • Cisco Secure ACS
      • Funk Steel Belted RADIUS
      • Interlink Merit
      • Авторизацию могут выполнять любые другие серверы аутентификации Microsoft.
    Примечание: GTC или единоразовое введение пароля требуют подключения дополнительных служб, в свою очередь требующих наличия на стороне клиента и на стороне сервера дополнительного программного обеспечения, а также наличия аппаратного или программного генератора маркеров.
    • Необходимо проконсультироваться с производителем оборудования, установленного у клиента, чтобы уточнить при каких условиях сервера аутентификации, работающие по методам EAP-TLS, EAP-TTLS и другим EAP-методам, поддерживаются их продуктами.

Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только данные, полученные от устройств с конфигурацией по умолчанию. В рабочей сети необходимо понимать последствия выполнения всех команд.

Настройка

Данная конфигурация предполагает настройку EAP-аутентификации на точке доступа, работающей под управлением IOS.

Как большинство алгоритмов аутентификации, основанных на применении пароля, Cisco LEAP чувствителен к словарным атакам. Речь не идет о новом виде атаки или новом уязвимом месте Cisco LEAP. Для того, чтобы смягчить словарные атаки, необходимо разработать политику стойкого пароля. Это включает в себя использование устойчивых паролей и периодическую их смену.

Сетевой EAP или открытая аутентификация с EAP

При любом методе аутентификации, основанном на EAP/802.1x, может возникнуть вопрос о том каковы различия между сетевым EAP и открытой аутентификацией с EAP. Это относится к значениям в поле Authentication Algorithm в заголовках пакетов управления и связывания. Большинство производителей беспроводных клиентских устройств устанавливают значение этого поля равным 0 (открытая аутентификация), а затем сообщают о желании проводить аутентификацию EAP позднее, во время процесса ассоциации. В продуктах Cisco это значение задается по-другому, а именно с начала ассоциации с флагом сетевого протокола EAP.

Если в сети есть клиенты, которые являются:

  • Клиентами Cisco – необходимо использовать сетевой EAP.
  • Клиентами стороннего производителя (в том числе продукты, совместимые с CCX) – необходимо использовать открытую аутентификацию с EAP.
  • Сочетанием клиентских устройств Cisco и сторонних производителей – необходимо выбрать и сетевой EAP и открытую аутентификацию с EAP.

Определение сервера аутентификации

Первым шагом в настройке EAP является определение сервера аутентификации и установление связи с ним.

1. На закладке точки доступа Server Manager (пункт меню Security > Server Manager ), необходимо выполнить следующие действия:

  1. Ввести IP адрес сервера аутентификации в поле Server.
  2. Указать общий секретный ключ и порты.
  3. Нажать Apply для того, чтобы создать определение и заполнить выпадающие списки.
  4. Задать IP адрес сервера в поле Default Server Priorities > EAP Authentication type > Priority 1.
  5. Нажать Apply .


AP#configure terminal

AP(config)#aaa group server radius rad_eap

AP(config-sg-radius)#server 10.0.0.3 auth-port 1645 acct-port 1646

AP(config-sg-radius)#exit

AP(config)#aaa new-model

AP(config)#aaa authentication login eap_methods group rad_eap

AP(config)#radius-server host 10.0.0.3 auth-port 1645
acct-port 1646 key labap1200ip102

AP(config)#end

AP#write memory

2. Точка доступа должна быть настроена на сервере аутентификации как ААА клиент.

Например, на сервере контроля доступа Cisco Secure это настраивается на странице Network Configuration, на которой определены имя точки доступа, IP адрес, общий секретный пароль и метод аутентификации (RADIUS Cisco Aironet или RADIUS Cisco IOS/PIX). Для получения информации по серверам аутентификации, не принадлежащим к разряду серверов контроля доступа, обратитесь к документации их производителя.

Необходимо убедиться в том, что сервер аутентификации настроен на применение желаемого метода аутентификации EAP. Например, для сервера контроля доступа Cisco Secure, применяющего LEAP, необходимо настроить аутентификацию LEAP на странице System Configuration - Global Authentication Setup. Нажать System Configuration , затем нажать Global Authentication Setup . Для получения информации по серверам аутентификации, не принадлежащим к разряду серверов контроля доступа, или другим методам EAP обратитесь к документации их производителя.

На следующем рисунке показана настройка ACS Cisco Secure на применение PEAP, EAP-FAST, EAP-TLS, LEAP и EAP-MD5.

Определение методов аутентификации клиента

Как только точка доступа определит, куда необходимо отправить запрос на аутентификацию клиента, ее необходимо настроить на применение следующих методов.

Примечание: Эти инструкции предназначены для установки, основанной на WEP.

1. На закладке точки доступа Encryption Manager (пункт меню Security > Encryption Manager ) необходимо выполнить следующие действия:

  1. Указать использование WEP encryption .
  2. Указать, что использование WEP является обязательным Mandatory .
  3. Убедиться в том, что для размера ключа установлено значение 128-bits .
  4. Нажать Apply .

Также можно выполнить из CLI следующие команды:

AP#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

AP(config)#interface dot11radio 0

AP(config-if)#encryption mode wep mandatory

AP(config-if)#end

AP#write memory

2. Выполнить следующие действия на закладке точки доступа SSID Manager (пункт меню Security > SSID Manager ):

  1. Выбрать желаемый SSID.
  2. В пункте "Authentication Methods Accepted," установить флажок Open и использовав выпадающий список выбрать With EAP .
  3. Установить флажок Network-EAP при наличии клиентской карты Cisco.
  4. Нажать Apply .

Также можно выполнить из CLI следующие команды:

AP#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

AP(config)#interface dot11radio 0

AP(config-if)#ssid ssid labap1200

AP(config-if-ssid)#authentication open eap eap_methods

AP(config-if-ssid)#authentication network-eap eap_methods

AP(config-if-ssid)#end

AP#write memory

Как только правильная работа основной функциональной возможности с основной настройкой EAP будет подтверждена, можно будет добавить дополнительные функциональные возможности и управление ключами. Расположите более сложные функции на вершине функциональной базы для того, чтобы сделать поиск и устранение неисправностей легче.

Проверка

В данном разделе содержатся сведения, которые могут быть использованы при проверке работы конфигурации.

Некоторые команды show поддерживаются инструментом Output Interpreter Tool (только для зарегистрированных пользователей), который позволяет просмотреть анализ выходных данных команды show .
show radius server-group all – Выводит список всех настроенных групп RADIUS-серверов на точке доступа.

Поиск и устранение неисправностей

Процедура поиска и устранения неисправностей

Для того, чтобы осуществить поиск и устранение неисправностей в своей конфигурации, необходимо выполнить следующие действия.

  1. В утилите на стороне клиента или в программном обеспечении необходимо создать новый профиль или соединение с теми же или похожими параметрами для того, чтобы убедиться в том, что в настройках клиента ничего не было повреждено.
  2. Для того, чтобы исключить возможность влияния радиочастотных помех на успешную аутентификацию, необходимо временно отключить аутентификацию при помощи показанных ниже действий:
  3. Из CLI выполнить команды no authentication open eap eap_methods, no authentication network-eap eap_methods и authentication open .
  4. Из GUI на странице SSID Manager необходимо снять флажок Network-EAP , установить флажок Open и установить выпадающий список обратно в No Addition .
  5. Если клиент будет успешно сопоставлен, то радиочастота не вызовет проблем сопоставления.
  6. Необходимо убедиться в том, что общие секретные пароли синхронизированы между точкой доступа и сервером аутентификации.
  7. Из CLI выбрать строку radius-server host x.x.x.x auth-port x acct-port x key .
  8. Из GUI на странице Server Manager повторно ввести общий секретный ключ для соответствующего сервера в поле "Shared Secret."
  9. Общая секретная запись для точки доступа на RADIUS сервере должна содержать тот же общий секретный пароль, который упоминался ранее.
  10. Удалите все группы пользователей с сервера RADIUS. Иногда могут возникать конфликты между группами пользователей, определенными RADIUS-сервером, и группами пользователей на базовом домене. Проверьте записи журнала сервера RADIUS на предмет неудачных попыток и причин, по которым эти попытки были неудачными.

Команды поиска и устранения неисправностей

Некоторые команды show поддерживаются средством Output Interpreter Tool (только для зарегистрированных пользователей), что позволяет просматривать результаты выполнения команды show .

Раздел Отладка аутентификации содержит значительное количество подробностей того, как можно собрать и интерпретировать выходные данные команд отладки, связанных с EAP.

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

  • debug dot11 aaa authenticator state-machine – Выводит основные разделы (или состояния) согласования между клиентом и сервером аутентификации.
    Примечание: В программном обеспечении Cisco IOS релизов, предшествующих 12.2(15)JA, синтаксис команды debug является следующим debug dot11 aaa dot1x state-machine .
  • debug dot11 aaa authenticator process – Выводит единичные записи диалогов согласования между клиентом и сервером аутентификации.
    Примечание: В программном обеспечении Cisco IOS релизов, предшествующих 12.2(15)JA, синтаксис команды отладки следующий debug dot11 aaa dot1x process .
  • debug radius authentication – Выводит согласования RADIUS между сервером и клиентом, связанными мостом с точкой доступа.
  • debug aaa authentication – Выводит согласования ААА для аутентификации между клиентским устройством и сервером аутентификации.

Есть вопросы?
Обращайтесь в "Аквилон-А", чтобы узнать подробности и получить именно то, что вам требуется.

При развёртывании беспроводных сетей в домашних условиях или небольших офисах обычно используется вариант протокола безопасности WPA на основе общих ключей - WPA-PSK (Pre Shared Key), который также называют режимом WPA-Personal. Он использует статический ключ аналогично WEP. При использовании WPA-PSK в настройках точки доступа и профилях беспроводного соединения клиентов указывается пароль длиной от 8 до 63 печатных символов ASCII. При подключении пользователь должен будет ввести этот пароль и, если пароли совпадают с записями в базе, он получит разрешение на доступ в сеть.

В режиме WPA-EAP (Extensible Authentication Protocol), который также называется режимом WPA-предприятие (WPA-Enterprise), запросы проверки подлинности пересылаются на внутренний сервер с протоколом RADIUS. Служба Сервер сетевой политики (Network Policy Server, NPS) обеспечивает проверку подлинности RADUIS на серверах. NPS-сервер может передавать запросы проверки подлинности на контроллер домена, позволяя защищенным беспроводным сетям WPA-EAP выполнять проверку подлинности контроллеров домена без ввода ключа пользователями.

Режим WPA-EAP обеспечивает очень гибкую проверку подлинности. Например, можно настроить, чтобы пользователь подключался к защищенной производственной сети WPA-Enterprise с помощью смарт-карты. Поскольку WPA-EAP не использует статический ключ, этим режимом безопасности легче управлять, потому что не требуется изменять ключ в случае его определения хакером. Для поверки подлинности множество точек беспроводного доступа могут использовать один центральный сервер. Кроме того, этот режим безопасности взломать намного сложнее, чем WEP или WPA-PSK. беспроводный сеть шифрование криптографический

Механизмы шифрования, которые используются для WPA-EAP и WPA-PSK, являются идентичными. Единственное отличие WPA-PSK состоит в том, что аутентификация производится с использованием пароля, а не по сертификату пользователя.

Достоинства и недостатки

Достоинствами WPA, по сравнению с WEP, являются:

  • 1. усовершенствованная схема шифрования данных RC4 на основе TKIP (Temporal Key Integrity Protocol - протокол краткосрочной целостности ключей).
  • 2. улучшенные механизмы контроля доступа - обязательная аутентификация 802.1x посредством протокола EAP.
  • 3. модель централизованного управления безопасностью и возможность интеграции с действующими схемами корпоративной аутентификации.
  • 4. возможность облегчения установки для домашних пользователей, которые могут применить специальный режим, автоматизирующий функции настройки безопасности WPA.

Из недостатков можно выделить:

  • 1. защищенность WPA меньше, чем у WPA2.
  • 2. существования уязвимостей (описаны ниже),
  • 3. сюда можно отнести и то, что для работы с протоколом безопасности WPA необходимо, чтобы все устройства, подключенные к сети, располагали его поддержкой.

Недостатки WPA-PSK - статический ключ можно взломать с помощью технологий полного перебора значений. Кроме того, статическими ключами очень сложно управлять в производственной среде. В случае взлома отдельного компьютера, отконфигурированного с таким ключом, потребуется изменить ключ на каждой точке беспроводного доступа.

Источник: Башмаков А.В., Конспект лекция "Безопасность беспроводных сетей"

Известные уязвимости

Метод Бека-Тевса

6 ноября 2008 года на конференции PacSec двумя немецкими студентами, Мартином Беком из Дрездена и Эриком Тевсом из Дармштадта, был представлен способ, позволяющий взломать ключ TKIP, используемый в WPA, за 12-15 минут.

У TKIP было несколько особенностей, делавших его на тот момент самой надежной защитой. В частности, был предусмотрен контроль последовательности, в рамках которого точка доступа отвергала все пакеты, поступавшие вне очереди. Это защищало от так называемой "replay attack", при которой передача одних и тех же данных повторяется со злым умыслом и совсем не полезным "вложением". Также TKIP отличался 64-битным контролем целостности пакетов MIC, имевшим кодовое название MICHAEL. TKIP, помимо всего прочего, подразумевал передачу каждого пакета с уникальным ключом шифрования.

Поскольку TKIP создавался с учетом возможности программного апгрейда оборудования, ранее поддерживавшего только WEP, то шифр RC4 использовался и в нем, как и 4 байта для контроля целостности (ICV). Предложенный Беком и Тевсом в докладе метод атаки действует с учетом некоторых предположений, приводимых авторами: атакуемая сеть использует TKIP для шифрования трафика между точкой доступа и клиентами; в сети для адресации используется IPv4 c заранее известным диапазоном адресов вроде 192.168.0.X; длинным интервалом между сменами ключа (3600 секунд в примере авторов метода); QoS (Quality of Service, качество обслуживания) активирован.

Злоумышленник "прослушивает" трафик до тех пор, пока не найдет в нем ARP-запрос или ответ (ARP-протокол используется для сопоставления IP- и MAC-адресов в сети), такие пакеты легко вычисляются по характерной длине. Большая часть содержимого такого пакета хакеру известна, кроме последнего байта адреса, 8 байт MICHAEL и 4 байт контрольной суммы ICV. MICHAEL и ICV вместе образуют последние 12 байт. После этого хакер использует методы (chopchop), чтобы расшифровать оставшиеся байты. В TKIP есть два способа борьбы с такими атаками:

  • 1. Если клиент получает пакет с битым ICV, это считается ошибкой передачи данных, и пакет тихо "отменяется". Если ICV в порядке, но не проходит верификация по MIC, то точка доступа получает соответствующее уведомление, так называемый MIC failure report frame. Если таких уведомлений приходит более двух в течение минуты, связь прерывается, а все ключи обновляются после 60-секундного перерыва.
  • 2. Если пакет получен верно, то на канале, по которому он был получен, обновляется счетчик. Если входящий пакет получен с неверным порядковым номером, то есть вне очередности, такой пакет просто не принимается.

Тем не менее, обходной путь был найден: хакеру просто нужно запустить атаку по другому каналу QoS, отличному от того, по которому прошел пакет. Если последний байт адреса в ходе атаки был угадан неверно, пакет просто "сбросится", если же он был угадан верно, клиент пошлет уведомление MIC failure, но счетчик при этом не сработает. Хакеру нужно выжидать по крайней мере 60 секунд между отсылкой пакетов, чтобы не спровоцировать 1-й вариант защиты. 12 с небольшим минут - и в распоряжении атакующего значения MIC и ICV. Осталось угадать только IP-адреса точки и клиента.

Далее открывается широкое поле для экспериментов. Можно перенаправлять трафик, используя поддельные ARP-ответы. Если файрволл клиента не контролирует исходящий трафик, можно попытаться установить двустороннее соединение с клиентом, получая "ответы" не напрямую, а перенаправляя их через Интернет.

В качестве мер противодействия Бек и Тевс предлагали три варианта:

  • 1. Установить интервал смены ключей 120 секунд и менее. За этот промежуток хакер успеет расшифровать лишь часть ICV;
  • 2. Отключить отсылку уведомления MIC failure;
  • 3. Отбросить TKIP и перейти на AES-CCMP.

Метод Охигаси-Мории

Метод, разработанный сотрудником университета Хиросимы Тосихиро Охигаси (Toshihiro Ohigashi) и профессором университета Кобе Масакату Мории (Masakatu Morii), создан на базе технологии Бека-Тевса (Beck-Tews). Данная технология предусматривает незначительную модификацию пакетов, зашифрованных по временному протоколу целостности ключа (Temporal Key Integrity Protocol, TKIP) в рамках механизма безопасности WPA, и отправку измененных пакетов обратно на точку доступа. Недостаток метода Бека-Тьюза заключается в том, что на его выполнение требуется от 10 до 15 минут.

Метод, предложенный Охигаси и Мории, как и технология Бека-Тьюза, использует принцип атаки "человек посередине" (man-in-the-middle), который предусматривает вмешательство в коммуникацию между пользователями. Риск обнаружения атаки при таком подходе весьма высок, поэтому возможность сократить продолжительность атаки до 60 секунд является огромным преимуществом - по крайней мере, для хакеров.

Необходимо заметить, что соединения WPA, использующие более защищённый стандарт шифрования ключа AES, а также WPA2-соединения, не подвержены этим атакам.

Немного о WPA 2

23 июля 2010 года была опубликована информация об уязвимости Hole196 в протоколе WPA2. Используя эту уязвимость, авторизовавшийся в сети злонамеренный пользователь может расшифровывать данные других пользователей, используя свой закрытый ключ. Никакого взлома ключей или брут-форса (полный перебор) не требуется.

Более правильно было бы сказать, что протокол защиты WPA2 взломан, настолько обширную уязвимость нашли специалисты по сетевой безопасности из компании AirTight Networks. Они доказали, что протокол защиты данных WPA2, наиболее распространенный сейчас в сетях WiFi, можно взломать с целью получения любой информации из такой сети. Кроме того, специалисты утверждают, что уязвимость может помогать хакерам атаковать различные ресурсы, используя возможности взломанной сети.

Обнаруженная уязвимость оказалась применимой ко всем беспроводным сетям, которые совместимы со стандартом IEEE802.11 Standard (Revision, 2007). Уязвимость получила и собственное название - Hole 196.

Уязвимость была найдена при использовании атаки типа Man-in-the-middle. Человек, авторизовавшийся в такой сети, и воспользовавшийся эксплоитом, сможет перехватывать и расшифровывать данные, передаваемые внутри сети. Кроме того, при использовании этой "дыры" становится возможным подмена MAC-адресов. Таким образом, информацию можно передавать поддельным клиентским системам, и это же позволяет использовать ресурсы взломанной сети для атак на различные веб-ресурсы, без особого опасения быть обнаруженным.

Способы взлома беспроводных сетей, защищенных WPA

WPA-TKIP

Уязвимость в протоколе WPA-TKIP, обнаруженной исследователями и членами команды aircrack-ng Мартином Бэком и Эриком Тюзом.

В результате эксплуатации уязвимости основной ключ невозможно восстановить, можно лишь узнать ключ, используемый для проверки целостности и ключевой поток. На основании этого, не зная основного ключа, появляется возможность передавать пакеты в сеть. Получаются обратно пакеты по схеме, подобной easside-ng.

Эту уязвимость можно проверить, используя тестовую программу tkiptun-ng добавленную в aircrack-ng. Известно, что для проведения атаки необходимо сменить MAC своего адаптера на MAC клиента, который атакуется. Также атакуемая точка доступа должна поддерживать QoS или WMM, использовать WPA + TKIP (не AES), и время смены временного ключа должно быть больше 3600 секунд. Если все это присутствует, то можно запускать: #tkiptun-ng -h -a -m 80 -n 100 <интерфейс>.

После успешного исполнения можно получить поток ключа, с помощью которого можно создавать пакеты и запускать их в сеть.

Протокол WPA2 не подвержен этой уязвимости.

Классический взлом WPA. Перехват handshake.

Суть атаки - в переборе всех возможных комбинаций ключа до его определения. Метод гарантирует успех, но если ключ достаточно длинный и не находиться в словарях, то можно считать себя защищенным от этой атаки. Таким образом, взламываются как WPA так и WPA2 сети, но лишь в PSK режиме.

Шифрования WPA/WPA2 PSK уязвимы к атакам по словарю. Для осуществления этой атаки, необходимо получить 4-way WPA handshake между wifi-клиентом и точкой доступа (АР), а также словарь содержащий парольную фразу.

WPA/WPA2 PSK работает следующим образом: он вытекает из ключа предварительной сессии, которая называется Pairwise Transient Key (PTK). PTK, в свою очередь использует Pre-Shared Key и пять других параметров - SSID, Authenticator Nounce (ANounce), Supplicant Nounce (SNounce), Authenticator MAC-address (MAC-адрес точки доступа) и Suppliant MAC-address (МАС-адрес wifi-клиента). Этот ключ в дальнейшем использует шифрование между точкой доступа (АР) и wifi-клиентом. Злоумышленник, который в этот момент времени прослушивает эфир, может перехватить все пять параметров. Единственной вещью, которой не владеет злодей это - Pre-Shared key. Pre-Shared key получается (создается) благодаря использованию парольной фразы WPA-PSK, которую отправляет пользователь, вместе с SSID. Комбинация этих двух параметров пересылается через Password Based Key Derivation Function (PBKDF2), которая выводит 256-bit"овый общий ключ.

В обычной/типичной WPA/WPA2 PSK атаке по словарю, злоумышленник будет использовать словарь с программой (инструментом). Программа будет выводить 256-bit"овый Pre-Shared Key для каждой парольной фразы и будет использовать ее с другими параметрами, которые были описаны в создании PTK. PTK будет использоваться для проверки Message Integrity Check (MIC) в одном из пакетов handshake. Если они совпадут, то парольная фраза в словаре будет верной, в противном случае наоборот (неверной).

Эта атака встроена в пакет aircrack-ng. Сначала нужно словить аутентификацию клиента, чтобы на основании ее уже восстанавливать основной ключ. Это проще всего сделать, запустив #airodump-n g и дождавшись аутентификации, либо запустив атаку деаутентификации #aireplay-ng -0 <количество деаутентификаций> . Через некоторое время, airodump-ng покажет, что аутентификация уловлена и записана в файл. После этого, нужно лишь запустить aircrack-ng <файл аутентификации> и ждать.

Ускорить процесс можно используя большой словарь с часто используемыми словами. Еще поможет использование специализированных микроконтроллеров или видеокарт. Без этого перебор всех возможных ключей займет слишком много времени.

Для противостояния такой атаке можно использовать достаточно длинные и необычные ключи.

Wi-Fi Protected Setup

Wi-Fi Protected Setup (WPS) - стандарт, предназначенный для полуавтоматического создания беспроводной домашней сети, созданный Wi-Fi Alliance. Официально запущен 8 января 2007 года.

Большинство современных роутеров поддерживают механизм WPS. Целью протокола WPS является упрощение процесса настройки беспроводной сети, поэтому изначально он назывался Wi-Fi Simple Config. Протокол призван оказать помощь пользователям, которые не обладают широкими знаниями о безопасности в беспроводных сетях, и как следствие, имеют сложности при осуществлении настроек. WPS автоматически обозначает имя сети и задает шифрование, для защиты от несанкционированного доступа в сеть, при этом нет необходимости вручную задавать все параметры.

Существует три варианта использования WPS:

  • 1. Push-Button-Connect (PBC). Пользователь нажимает специальную кнопку на роутере и на компьютере (программная), тем самым активируя процесс настройки.
  • 2. Ввод PIN-кода в веб-интерфейсе. Пользователь заходит через браузер в административный интерфейс роутера и вводит там PIN-код из восьми цифр, написанный на корпусе устройства, после чего происходит процесс настройки.
  • 3. При соединении с роутером можно открыть специальную сессию WPS, в рамках которой настроить роутер или получить уже имеющиеся настройки, если правильно ввести PIN-код. Для открытия подобной сессии не нужна никакая аутентификация. Получается, что PIN-код уже потенциально подвержен атаке типа bruteforce.

Здесь PIN-код состоит из восьми цифр - следовательно, существует 10^8 (100 000 000) вариантов для подбора. Но дело в том, что последняя цифра PIN-кода представляет собой контрольную сумму, которая высчитывается на основании семи первых цифр. В итоге получаем уже 10^7 (10 000 000) вариантов. К тому же, проверка PIN-кода осуществляется в два этапа - каждая часть проверяется отдельно. Получаем 10^4 (10 000) вариантов для первой половины и 10^3 (1 000) для второй. Итого, всего лишь 11 000 вариантов для полного перебора. Но здесь стоит отметить один важный момент - возможная скорость перебора. Она ограничена скоростью обработки роутером WPS-запросов: одни точки доступа будут выдавать результат каждую секунду, другие - каждые десять секунд.

Реализацию брутфорса можно выполнить с помощью утилиты wpscrack , а так же с помощью утилиты Reaver . Reaver будет предпочтительней в виду своей большей функциональности и поддержкой намного большего количества беспроводных адаптеров.

Как и для любой другой атаки на беспроводную сеть, понадобится Linux. Для использования Reaver необходимо проделать следующие вещи:

  • § узнать имя беспроводного интерфейса - $ iwconfig ;
  • § перевести беспроводной адаптер в режим мониторинга - $ airmon-ng start *** (обычно это wlan0);
  • § узнать MAC-адрес точки доступа (BSSID) с шифрованием WPA/WPA2 и аутентификацией по ключу PSK - $ airodump-ng *** (обычно mon0);
  • § убедиться, что на точке активирован WPS - $ ./wash -i mon0 .

После можно приступать непосредственно к перебору PIN"а. Необходимо указать имя интерфейса (переведенного ранее в режим мониторинга) и BSSID точки доступа:

$ reaver -i mon0 -b 00:21:29:74:67:50 -vv

Ключ "-vv" включает расширенный вывод программы, чтобы можно было убедиться, что все работает как надо. Если программа последовательно отправляет PIN"ы точке доступа, значит, все работает хорошо, и остается только ждать. Процесс может затянуться - примерно время может варьироваться от четырех до десяти часов. Как только он будет подобран, программа об этом сообщит и выдаст. Найденный ключ WPA-PSK, можно сразу же использовать для подключения.

Также стоит отметить то, что существует более быстрый вариант. Дело в том, что у некоторых одинаковых моделей роутеров обычно оказывается одинаковый PIN. И, если, PIN модели выбранного роутера уже известен, то время взлома составляет буквально несколько секунд.

Защититься от атаки можно пока одним способом - отключить WPS в настройках роутера. Правда, сделать это возможно далеко не всегда. Или, чтобы максимально противодействовать брутфорсу, можно блокировать WPS на неопределенное время после нескольких неудачных попыток ввода PIN-кода. То перебор может затянуться на очень и очень долгое время, в зависимости от выставленного значения периода блокировки.

Немного о WPA/WPA2-Enterprise. Взлом MS-CHAPv2.

В Enterprise, MS-CHAPv2 является только одним из возможных методов EAP. Популярность MS-CHAPv2 вызвана тем, что это наиболее простой метод для интеграции с продуктами Microsoft (IAS, AD, и т.д.).

Утверждается, что MS-CHAPv2 взламывается с результативностью 100%. Для этого нужно перехватить обмен по протоколу MS-CHAPv2, после чего, используя уязвимости в шифровании можно вычислить реквизиты пользователя. Утверждается, что MS-CHAPv2 используется в системах VPN и WPA2-Enterprise. При этом и VPN и WPA2 упоминаются в контексте AAA-серверов (Authentication, Authorization, Accounting), что весьма логично, так как именно там и ловится нешифрованный MS-CHAP. Т.е., если перехватить MS-CHAPv2 обмен между клиентом и AAA-сервером - можно вычислить реквизиты пользователя.

Но так как при наличии туннеля перехват сессии MS-CHAPv2 уже невозможен (вначале надо взломать шифрование туннеля), такой способ взлома действителен только, если сымитировать точку доступа. Тогда можно спокойно заполучить и клиента, и его MS-CHAPv2 сессию, при условии, что отсутствуют сертификаты на точке доступа и выключена проверка сертификатов на клиентах.

Таким образом, для грамотно построенной беспроводной сети с WPA2-Enterprise на основе PEAP/MS-CHAPv2 такая атака не страшна. Разве что, вклиниться в канал между аутентификатором (точкой доступа, контроллером) и AAA-сервером, но это уже не относится к WPA.

методы аутентификации:

Message Digest 5 (MD5) -- процедура односторонней аутентификации саппликанта сервером аутентификации, основанная на применении хэш-суммы MD5 имени пользователя и пароля как подтверждение для сервера RADIUS. Данный метод не поддерживает ни управления ключами, ни создания динамических ключей. Тем самым исключается его применение в стандарте 802.11i и WPA.

Transport Layer Security (TLS) -- процедура аутентификации, которая предполагает использование цифровых сертификатов Х.509 в рамках инфраструктуры открытых ключей (Public Key Infrastructure -- PKI). EAP-TLS поддерживает динамическое создание ключей и взаимную аутентификацию между саппликантом и сервером аутентификации. Недостатком данного метода является необходимость поддержки инфраструктуры открытых ключей.

Tunneled TLS (TTLS) -- EAP расширяющий возможности EAP-TLS. EAP-TTLS использует безопасное соединение, установленное в результате TLS-квитирования для обмена дополнительной информацией между саппликантом и сервером аутентификации.

Так же существуют и другие методы:

EAP-SIM, EAP-AKA - используются в сетях GSM мобильной связи

LEAP - пропреоретарный метод от Cisco systems

EAP-MD5 - простейший метод, аналогичный CHAP (не стойкий)

EAP-MSCHAP V2 - метод аутентификации на основе логина/пароля пользователя в MS-сетях

EAP-TLS - аутентификация на основе цифровых сертификатов

EAP-SecureID - метод на основе однократных паролей

Кроме вышеперечисленных, следует отметить следующие два метода, EAP-TTLS и EAP-PEAP. В отличие от предыдущих, эти два метода перед непосредственной аутентификацией пользователя сначала образуют TLS-туннель между клиентом и сервером аутентификации. А уже внутри этого туннеля осуществляется сама аутентификация, с использованием как стандартного EAP (MD5, TLS), или старых не-EAP методов (PAP, CHAP, MS-CHAP, MS-CHAP v2), последние работают только с EAP-TTLS (PEAP используется только совместно с EAP методами). Предварительное туннелирование повышает безопасность аутентификации, защищая от атак типа «man-in-middle», «session hihacking» или атаки по словарю.

Протокол PPP засветился там потому, что изначально EAP планировался к использованию поверх PPP туннелей. Но так как использование этого протокола только для аутентификации по локальной сети - излишняя избыточность, EAP-сообщения упаковываются в «EAP over LAN» (EAPOL) пакеты, которые и используются для обмена информацией между клиентом и аутентификатором (точкой доступа).

Схема аутентификации

Она состоит из трех компонентов:

Supplicant - софт, запущенный на клиентской машине, пытающейся подключиться к сети

Authenticator - узел доступа, аутентификатор (беспроводная точка доступа или проводной коммутатор с поддержкой протокола 802.1x)

Authentication Server - сервер аутентификации (обычно это RADIUS-сервер)

Теперь рассмотрим сам процесс аутентификации. Он состоит из следующих стадий:

Клиент может послать запрос на аутентификацию (EAP-start message) в сторону точки доступа.

Точка доступа (Аутентификатор) в ответ посылает клиенту запрос на идентификацию клиента (EAP-request/identity message). Аутентификатор может послать EAP-request самостоятельно, если увидит, что какой-либо из его портов перешел в активное состояние.

Клиент в ответ высылает EAP-response packet с нужными данными, который точка доступа (аутентификатор) перенаправляет в сторону Radius-сервера (сервера аутентификации).

Сервер аутентификации посылает аутентификатору (точке доступа) challenge-пакет (запрос информации о подлинности клиента). Аутентификатор пересылает его клиенту.

Далее происходит процесс взаимной идентификации сервера и клиента. Количество стадий пересылки пакетов туда-сюда варьируется в зависимости от метода EAP, но для беспроводных сетей приемлема лишь «strong» аутентификация с взаимной аутентификацией клиента и сервера (EAP-TLS, EAP-TTLS, EAP-PEAP) и предварительным шифрованием канала связи.

На следующий стадии, сервер аутентификации, получив от клиента необходимую информацию, разрешает (accept) или запрещает (reject) тому доступ, с пересылкой данного сообщения аутентификатору. Аутентификатор (точка доступа) открывает порт для Supplicant-а, если со стороны RADIUS-сервера пришел положительный ответ (Accept).

Порт открывается, аутентификатор пересылает клиенту сообщение об успешном завершении процесса, и клиент получает доступ в сеть.

После отключения клиента, порт на точке доступа опять переходит в состояние «закрыт».

Для коммуникации между клиентом (supplicant) и точкой доступа (authenticator) используются пакеты EAPOL. Протокол RADIUS используется для обмена информацией между аутентификатором (точкой доступа) и RADIUS-сервером (сервером аутентификации). При транзитной пересылке информации между клиентом и сервером аутентификации пакеты EAP переупаковываются из одного формата в другой на аутентификаторе.

Протокол EAP (Extensible Authentication Protocol)

Протокол EAP (Extensible Authentication Protocol) является расширением протокола Point-to-Point Protocol (PPP); на нем основаны несколько методов проверки подлинности, предусматривающих обмен учетными данными и прочими сведениями произвольного объема. Протокол EAP был разработан с учетом растущей потребности в средствах проверки подлинности, использующих более широкий круг устройств системы безопасности; он предлагает стандартную архитектуру для поддержки дополнительных методов проверки подлинности в рамках PPP.

С помощью EAP можно реализовать поддержку нескольких алгоритмов проверки подлинности — так называемых типов EAP, к числу которых относятся генераторы кода доступа, одноразовые пароли, средства проверки подлинности на основе открытых ключей с использованием смарт-карт, сертификатов и др. Протокол EAP, в сочетании со строгими типами EAP, является ключевым компонентом технологии безопасных подключений виртуальных частных сетей (VPN). Строгие типы EAP, например основанные на сертификатах, обеспечивают более надежную защиту от попыток «грубого» взлома системы или подбора пароля, чем другие протоколы проверки подлинности, использующие пароли, такие как CHAP и MS-CHAP.

Чтобы узнать, используется ли в вашей организации какой-либо тип EAP, обратитесь к своему администратору сети.

В Windows XP существует поддержка двух типов EAP:

  • EAP-MD5 CHAP (аналог протокола проверки подлинности CHAP);
  • EAP-TLS (применяется для проверки подлинности на основе сертификатов пользователей).

EAP-TLS — это метод взаимной проверки подлинности, при котором и клиент, и сервер должны предоставлять доказательства своей подлинности. В ходе сеанса EAP-TLS клиент удаленного доступа отправляет свой сертификат пользователя, а сервер удаленного доступа — свой сертификат компьютера. Если хотя бы один из этих сертификатов не будет передан или окажется недействительным, подключение разрывается.

Примечания

  • В процессе проверки подлинности методом EAP-TLS генерируются общие секретные ключи шифрования для алгоритма MPPE (Microsoft Point-to-Point Encryption).

Если нашли ошибку в тексте выделите ее мышкой и нажмите сочетание клавиш Ctrl+ENTER, укажите правильный текст без ошибки.