802 1X

background image

Piotr Piwoński, 113755, gr.KTI+KSG

Bezpieczeństwo 802.1X – wsparcie protokolarne

1. O 802.1X

IEEE 802.1X jest standardem kontroli dostępu do sieci przewodowych i bezprzewodowych.

Jest częścią grupy protokołów IEEE 802.1. Standard ten zapewnia mechanizm

uwierzytelniania urządzeń w momencie podłączenia się do sieci LAN lub WLAN.

Ze standardem tym ściśle związany jest protokół EAP ( Extensible Authentication

Protocol ), który odpowiada za odpowiednią wymianę danych uwierzytelniających

pomiędzy klientem a zabezpieczoną siecią. EAP początkowo został zaprojektowany dla sieci

Dial-up, jednak w przypadku Ethernetu sprawdza się równie dobrze. Protokół ten w

odniesieniu do standardów grupy IEEE 802 nosi nazwę EAPoL ( EAP over LAN ).

2. Jak to działa?

Schemat uwierzytelniania 802.1X opiera się o trzy pojęcia: klient ( supplicant ), punkt

dostępowy sieci ( authenticator ) oraz serwer uwierzytelniający ( authentication server ).

Klient jest urządzeniem ( komputerem lub urządzeniem przenośnym ), który chce uzyskać

dostęp do chronionej sieci, punktem dostępowym jest często zarządzalny switch lub access

point z możliwością kontroli dostępu. Serwer uwierzytelniający natomiast najczęściej jest

usługą RADIUS.

Punkt dostępowy odgrywa rolę strażnika sieci udostępniający jedynie taki ruch sieciowy,

który jest niezbędny do uwierzytelnienia klienta – w tym przypadku wyłącznie ruch EAPoL.

Ze względu na to, że 802.1X definiuje zabezpieczenie w warstwie łącza danych, żaden inny

ruch sieciowy ( taki jak DHCP, ARP, IP itp. ) nie jest dostępny dla klienta. Schemat działania

802.1X pokazuje poniższy rysunek:

background image

Klient chcąc dostać się do sieci udostępnia swoje dane uwierzytelniające ( credentials ) w

postaci nazwy użytkownika i hasła lub certyfikatu dla punktu dostępowego. Ten przekazuje je dalej

do serwera uwierzytelniającego, który sprawdza otrzymane dane. Jeśli są poprawne odsyła do

punktu dostępowego wiadomość o poprawnym uwierzytelnieniu. Ten z kolei otwiera port, do

którego jest dołączony klient oraz wysyła do niego wiadomość o możliwości dostępu do sieci.

To jednak w jaki sposób są wysyłane wiadomości oraz czym są dane uwierzytelniające definiuje już

bezpośrednio sam protokół EAP a w szczególności jego metody ( EAP-Methods ), które zostaną

opisane poniżej.

Dane uwierzytelniające stanową treść EAP, które są opakowywane w ramke EAPoL. Jak

można zauważyć z powyższego rysunku ramki EAPoL odpowiadają za przekazywanie wiadomości

wyłącznie pomiędzy klientem a punktem dostępowym. W komunikacji pomiędzy punktem

dostępowym a serwerem uwierzytelniającym wykorzystywane są już inne protokoły zależne od

architektury samego serwera. W naszym przypadku jest to protokół RADIUS.

3. EAPoL

Ze względu na to, że sam protokół EAP nie odpowiada za sposób przekazywania

odpowiednich wiadomości, na potrzeby sieci lokalnej został opracowany EAPoL. Oprócz

standardowej ramki przechowującej treść protokołu EAP, zostały opracowane także inne,

które służą celom administracyjnym. Wyróżniamy zatem:

• EAPoL-Start – w momencie gdy klient łączy się po raz pierwszy z siecią nie zna adresu

MAC punktu dostępowego ( nawet nie wie, że on istnieje ). By rozwiązać ten problem

została stworzona wiadomość EAPoL-start, która wysłana na odpowiedni MAC-Address

multicastowy grupy (zarezerwowana specjalnie do tego celu) , dociera do punktu

dostępowego. Dzięki temu klient dowiaduje się o istnieniu punktu dostępowego i może

zacząć wymianę kolejnych wiadomości.

background image

• EAPoL-Key – wiadomość ta służy do wysłania klucza szyfrującego do klienta. Służy ona do

wstępnego uwierzytelniania w momencie asocjacji. Wykorzystywana jest ona szczególnie w

standardzie 802.11i.

• EAPoL-Packet – służy do wysyłania poszczególny wiadomości EAP poprzez LAN co jest

podstawowym zadaniem EAPOL'u.

• EAPoL-logoff – w momencie gdy klient odłącza się od sieci zostaje wysłana ta wiadmość

by poinformować punkt dostępowy o zablokowaniu portu.

• EAPoL-Encapsulated-ASF-Alert – zaprojektowana by można było bez uwierzytelnienia

wysyłać do sieci odpowiednie pakiety SNMP w celu monitorowania stanu sieci. Ze względu

bezpieczeństwa rzadko wykorzystywana.

Poniżej format ramki EAPoL:

◦ Eth Mac Header – początek ramki Ethernetowej zawierająca adres źródłowy, docelowy itp.
◦ Protocol Version – wersja protokołu EAPOL.

◦ Packet type – jedno-bajtowe pole określające typ wiadomości ( opisane wyżej )
◦ Packet Body Length – długość wiadomości

◦ Packet Body – treść wiadomości.

4. Etapy uwierzytelniania

Uwierzytelnianie 802.1X przebiega w czterech krokach:

• Inicjalizacja ( Initalization ) - w trakcie detekcji nowego klienta port na switchu jest

włączony i ustawiony na stan „nieautoryzowany”. W tym stanie jest możliwy wyłącznie

ruch 802.1X. Pozostały ruch jak DHCP lub HTTP jest odrzucany.

• Inicjacja ( Initiation ) - do rozpączęcia uwierzytelniania punkt dostępowy wysyła okresowo

żądania identyfikacji ( EAP-Request Identity ) pod specjalny adres warstwy drugiej (

01:80:C2:00:00:03). Klient w momencie gdy otrzyma takie żądanie odpowiada ramką typu

EAP-Response zawierającą dane uwierzytelniające. Punkt dostępowy następnie opakowuje

te dane w ramkę RADIUS i odsyła ją do serwera. Klient również sam może rozpocząć

proces uwierzytelnienia poprzez wysłanie ramki EAPoL-Start do punktu dostępowego.

• Negocjacja ( EAP negotation ) - serwer uwierzytelniający wysyła do punktu dostępowego

odpowiedź EAP-Request zawierającą metodę uwierzytelniania jakiej oczekuje. Punkt

dostępowy opakowuje tę wiadomość w ramkę EAPoL i wysyła ją do klienta. W tym

momencie klient może negocjować metodę uwierzytelnienia i odesłać z powrotem żądanie o

background image

metodę, której by oczekiwał.

• Uwierzytelnianie ( Authentication ) - Jeśli obie strony, czyli klient i serwer

uwierzytelniający, zgodzą się co do metody wówczas rozpoczyna się wymiana pomiędzy

nimi żądań EAP-Request i EAP-Response do momentu gdy serwer odeśle EAP-Success lub

EAP-Failure. Jeśli uwierzytelnienie klienta przebiegło pomyślnie punk dostępowy ustawia

port w stanie „autoryzowany”. W momencie gdy klient odłącza się od sieci, wysyła ramkę

EAPoL-logoff do punktu dostępowego, a ten zmienia port znów na stan „nieautoryzowany”.

5. Protokół EAP

EAP jest podstawowym protokołem wymiany wiadomości uwierzytelniających pomiędzy

klientem a chronioną siecią. Określa wiadomości typu request/response poprzez które

przesyłany jest odpowiedni algorytm uwierzytelniający czyli tzw EAP-Method. Najczęściej

wykorzystywane metody to EAP-MD5, EAP-LEAP, EAP-TLS, EAP-TTLS i EAP-PEAP.

EAP definiuje cztery typy wiadomości: REQUEST, RESPONSE, SUCCESS i FAILURE.

Na początku klient wysyła żądanie dostępu do sieci. Wówczas następuje odpowiednia ilość

(zależna od metody ) wymiany komunikatów request/response aż do momentu uzyskania

SUCCESS lub FAILURE. Przykładowa wymiana wiadomości została pokazana na

poniższym rysunku.

background image

Dzięki takiej budowie protokół EAP w procesie uwierzytelniania jest bardzo elastyczny. Pozwala na

implementację dowolnych algorytmów uwierzytelniających bez potrzebnych zmian w

infrastrukturze sieci. Wystarczy aby ten algorytm „rozumiał” klient i serwer.

6. Bezpieczeństwo EAP

Pomimo że EAP oferuje całkiem dobrą elastyczność poprzez różne typy, cała wiadomość

może być przesyłana czystym tekstem. Jest to wyjątkowo niebezpieczne w przypadku sieci

bezprzewodowych gdzie hacker może podsłuchiwać sieć z zewnątrz. Ze względu na to, że

EAP jest szeroko stosowany znane są również jego słabe punkty. Możliwe ataki jakie można

wykonać to: DoS, atak słownikowy, atak man-in-th-middle, podszywanie się pod punkt

dostępowy, podszywanie się pod klienta oraz wykorzystanie słabych punktów samej

metody.

Wyżej wymienione metody ( EAP-Methods ) można podzielić na trzy grupy: metody z

kluczem symetrycznym, metody z kluczem publicznym i metody z tunelowaniem.

W metodach wykorzystujących klucz symetryczny, klient i serwer uwierzytelniający

zestawiają pomiędzy sobą zaufane połączanie poprzez udowodnienie znajomości sekretnego

klucza przez jedną i drugą stronę. Metody z kluczem symetrycznym mają tą zaletę, że nie

wymagają dużej złożoności obliczeniowej. Natomiast wadą jest to, że większość

użytkowników wybiera słabe hasła a przez to metoda ta jest podatna na ataki słownikowe.

Metodami wykorzystującymi klucz symetryczny są EAP-MD5 i EAP-LEAP.

◦ EAP-MD5 – jest najbardziej popularną metodą, która daje podstawowe zabezpieczenie.

Wykorzystywany jest tu jednostronny algorytm hash'ujący w połączeniu z sekretnym

kluczem i zadaniem ( challenge ), którego rozwiązanie potwierdza znajomość klucza

przez klienta. Brak tu dwustronnego uwierzytelniania ( mutual authentication ), jak

również nie dostarczany dynamiczny WEP na każdą rozpoczętą sesje. W momencie gdy

hacker podsłucha zadanie oraz jego zahash'owaną odpowiedź, może w łatwy sposób

uzyskać sekretny klucz poprzez wrzucanie wyrazów ze słownika aż uzyska tą samą

odpowiedź. Hacker znając hasło klienta może w prosty sposób podszyć się pod klienta.

Ponadto poprzez jednostronne uwierzytelnianie i słabość algorytmu, EAP-MD5 jest

podatny na ataki typu MITM. Hacker może podszyć się pod punkt dostępowy i przejąć

sesje klienta.

◦ EAP-LEAP – został zaprojektowany przez Cisco dla sieci bezprzewodowych. W

przeciwieństwie do MD5, LEAP używa dwustronnego uwierzytelnienia. To pozwala

wyeliminować ataki MITM. Szyfruje on dane używając dynamicznie zmieniającego się

background image

kluczy WEP. W LEAP klucze sesyjne są unikatowe dla każdego klienta. Niestety LEAP

jest podatny analogicznie do MD5 na ataki słownikowe.

Kolejną grupą są metody z kluczem publicznym. Do zaszyfrowania wiadomości używany

jest klucz publiczny natomiast do jego odszyfrowania służy wyłącznie klucz prywatny. By

dowieść o prawidłowości klienckiego klucza publicznego, serwer uwierzytelniający musi

zestawić zaufane połączenie w oparciu o autoryzowane certyfikaty CA. Przykładem takiego

rozwiązania jest EAP-TLS.

◦ EAP-TLS jest to całkowicie odporny na łamanie haseł, ze względu na to, że nie jest od

nich zależny. EAP-TLS oparty jest na dwustronnego uwierzytelniania bazującym na

certyfikatach X.509, co pozwala wyeliminować ataki MITM. Ponadto dynamicznie

generuje i odpowiednio rozprowadza pomiędzy klientami odpowiednio klucze publiczne

i prywatne służące do zabezpieczenia połączenia. Jedyną wadą EAP-TLS jest, że

wymaga się od dwóch stron ważnych certyfikatów, co powoduje trudności

administracyjne. Przykładowa wymiana certyfikatów została przedstawiona poniżej.

W momencie gdy punkt dostępowy zażąda RADIUS Access Request serwer

odpowiada klientowi swoim certyfikatem. Jeśli jest on zgodny z oczekiwaniami klienta

background image

wówczas wysyła on swój certyfikat. Po poprawnym uwierzytelnieniu wysyłana jest

wiadomość EAP-Success.

EAP-TLS jest uważany za bezpieczną metodę uwierzytelniania. Jest szeroko stosowana i

dobrze przetestowana. Jest odporna na większość popularnych ataków.

Ostatnią grupą są metody z tunelowaniem. Główną zaletą tunelów jest to, że realizują

ochronę tożsamości. Używanie tunelów i metod tunelowych pozwala na ukrycie tożsamości

klienta poprzez schowanie odpowiedzi EAP-Response Identity w zabezpieczonym tunelu.

Ze względu na to, że w pierwszej fazie jest zestawiany tunel a dopiero w drugiej następuje

faktyczne uwierzytelnianie, metody te są tak samo bezpieczne jak EAP-TLS.

◦ EAP-TTLS jest rozwinięciem EAP-TLS. Proces uwierzytelniania przebiega tutaj w

dwóch fazach. W pierwszej serwer wstępnie uwierzytelnia klienta na podstawie

certyfikatów X.509. Jednak w tym przypadku wymagany jest wyłącznie certyfikat

serwera. Po wymianie certyfikatów zestawiany jest szyfrowany tunel. W fazie drugiej

przesyłane są już przez tunel dane potrzebne do uwierzytelnienia.

◦ EAP-PEAP - Jest to protokół bardzo podobnej funkcjonalności do EAP-TTLS. Został

zaproponowany przez firmy Microsoft, CISCO oraz RSA Security jako alternatywa

EAP-TTLS. Mimo że standard powstał już po ukazaniu się EAP-TTLS, zyskał dużą

popularność i jest szeroko implementowany, oczywiście również w systemach Microsoft

Windows. Jedyną różnicą pomiędzy TTLS a PEAP jest to, że PEAP w drugie fazie może

wyłącznie z metod EAP, natomiast TTLS może korzystać z innego protokołu

uwierzytelniania.


Wyszukiwarka

Podobne podstrony:
IEEE 802 1X
IEEE 802 1x
802 11 Bezpieczeństwo
IEEE 802 id 209525 Nieznany
802 3as
Bach Duet 802 nie
TPL 1x, Recepty, Wyklady TLP
Historyczne ciesielskie konstrukcje?chowe Propozycja systematyki i uporządkowania terminologii, cz
Malzenstwo i rodzina 50 pytan 1x
Zbiorek przepisà w na Ä w z ppg 1x
802 11 Bezpieczenstwo
ieee 802 11 wireless lan security performance GQRO5B5TUOC7HMLSH2CWB5FMY6KJ5CX2O42KGCQ
802 3ba(prezentacja)
802 11 Bezpieczenstwo 802bez
802 11 Sieci bezprzewodowe Przewodnik encyklopedyczny
Modlitewnik Przebaczenie ma moc Najważniejsze działy 1x

więcej podobnych podstron