Як я можу завантажити сертифікат бездротового AP за допомогою 802.1X?


11

Наскільки я розумію, бездротові точки доступу, що використовують WPA-Enterprise (тобто WPA плюс 802.1X), можуть надсилати клієнту сертифікат відкритого ключа під час налаштування з'єднання. Клієнт може перевірити цей сертифікат, щоб переконатися, що він не підключається до несанкціонованого AP (аналогічно валідації сертифікату в HTTPS).

Запитання:

  • Я правильно це зрозумів?
  • Якщо так, чи є спосіб завантажити сертифікат AP? В ідеалі, я хотів би, щоб рішення працювало під Linux.

Я хотів би завантажити самопідписаний сертифікат, щоб використовувати його для перевірки подальших спроб з'єднання. Це було б простіше, ніж запитувати в оператора AP-файл.


Я не знаю спеціально інструменту для завантаження та збереження cert, але він з’являється чітко, тому ви можете захопити його за допомогою Wireshark або tcpdump. Здається, я згадую, як бачив дані cert у журналах налагодження / багатослівної wpa_supplicant, тож ви можете також переглянути це. Будь-який з цих підходів може зажадати трохи обміну даними, щоб отримати їх з форми pcap / log у потрібний файл X.509 .cer.
Spiff

Відповіді:


11

Так, найбільш поширені конфігурації WPA-Enterprise використовують або PEAP, або TTLS, обидві реалізують TLS через EAP над 802.1X.

Зазвичай сертифікат вже десь публікується операторами мережі саме для цієї мети. Користувач не повинен запитувати .

На жаль, у wpa_supplicant немає можливості скидати сертифікати навіть у режимі налагодження. (Я оновлю це, якщо знайду кращий спосіб.) Ви все ще можете відстежувати фактичний процес автентифікації EAPOL. Спочатку встановіть Wireshark.

Відключившись, піднесіть інтерфейс вручну та починайте його робити:

$ sudo ip link set wlan0 up
$ wireshark -ki wlan0 &

Запустіть wpa_supplicant, і незабаром ви побачите рукостискання TLS:

Сервер відправить свої сертифікати відразу після ServerHello. Виберіть перший такий пакет, після чого викопайте:

802.1X
└─Extensible Authentication Protocol
  └─Secure Sockets Layer
    └─Handshake Protocol: Certificatte
      └─Certificates

Клацніть правою кнопкою миші перший екземпляр "Сертифікат ( речі )" та виберіть "Експорт вибраних байтів пакетів". Wireshark збереже його у файлі у форматі ДЕРЖ. Повторіть це для всіх інших сертифікатів. На верхньому (сервер RADIUS) є інформація, яку можна налаштувати altsubject_match; останній (кореневий CA) повинен бути наданий wpa_supplicant як ca_cert.

Тепер у вас є кілька файлів *.crtабо *.derфайлів у двійковому форматі DER. Перетворити їх у формат тексту "PEM":

openssl x509 -inform DER < mycert.der > mycert.pem

(Якщо ваш wpa_supplicant використовує OpenSSL як обробник TLS, ви повинні надати йому сертифікат "root CA"; надання йому сертифікату сервера не працюватиме.

Зверніть увагу, що також можливо, що останній сертифікат, помічений у Wireshark, не буде кореневим CA, а видається лише одним із кореневих ЦС у вашому /etc/ssl/certsкаталозі ... Якщо це так, обов'язково встановіть domain_suffix_matchінакше - інакше, використання громадських ЦО було б небезпечно (802.1X, на жаль, не знає, яке "ім'я хоста" перевірити, як, наприклад, HTTPS.)


Дякуємо за детальну реєстрацію. Це звучить трохи складно; але якщо це найпростіший спосіб зробити це, я спробую.
sleske

Так, це справді спрацювало, я завантажував EAP echange, tpcpdumpале працював як шарм. Смішно, однак, у моєму потоці був лише один сервер Привіт, сертифікат, ... запис
mTorres

У моєму прикладі повідомлення TLS фрагментоване на кілька пакетів EAP, оскільки воно занадто велике (особливо якщо воно надсилає купу великих сертифікатів RSA). Це завжди лише один сервер TLS ServerHello.
користувач1686

Будь ласка, поводьтеся зі мною, якщо я кажу щось неправильне. Необхідність такої діяльності полягає у завантаженні сертифіката та застосуванні його на пристроях, які не дозволяють завантажувати та приймати сертифікат при першому з'єднанні.
Мауро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.