Protokół uwierzytelniania - Authentication protocol
Protokół uwierzytelniania jest typ komputera protokołu komunikacyjnego lub protokołu kryptograficznego specjalnie zaprojektowane do przenoszenia uwierzytelnienia danych pomiędzy dwoma podmiotami. Umożliwia jednostce odbierającej uwierzytelnienie łączącej się jednostki (np. klienta łączącego się z serwerem), jak również uwierzytelnienie się wobec łączącej się jednostki (serwer z klientem) poprzez zadeklarowanie typu informacji potrzebnych do uwierzytelnienia oraz składni. Jest to najważniejsza warstwa ochrony potrzebna do bezpiecznej komunikacji w sieciach komputerowych.
Cel, powód
Wraz ze wzrostem ilości wiarygodnych informacji dostępnych w sieci pojawiła się potrzeba uniemożliwienia dostępu do tych danych osobom nieuprawnionym. Kradzież czyjejś tożsamości jest łatwa w świecie komputerowym – trzeba było wymyślić specjalne metody weryfikacji, aby dowiedzieć się, czy osoba/komputer żądający danych jest rzeczywiście tym, za kogo się podaje. Zadaniem protokołu uwierzytelniania jest określenie dokładnej serii kroków potrzebnych do wykonania uwierzytelniania. Musi być zgodny z głównymi zasadami protokołu:
- Protokół musi obejmować co najmniej dwie strony, a wszyscy zaangażowani w protokół muszą go wcześniej znać.
- Wszystkie włączone strony muszą przestrzegać protokołu.
- Protokół musi być jednoznaczny – każdy krok musi być precyzyjnie zdefiniowany.
- Protokół musi być kompletny – musi zawierać określoną akcję dla każdej możliwej sytuacji.
Ilustracja uwierzytelniania opartego na hasłach przy użyciu prostego protokołu uwierzytelniania:
Alicja (podmiot, który chce zostać zweryfikowany) i Bob (podmiot weryfikujący tożsamość Alicji) są świadomi protokołu, na który zgodzili się używać. Bob przechowuje hasło Alicji w bazie danych dla porównania.
- Alicja wysyła Bobowi swoje hasło w pakiecie zgodnym z zasadami protokołu.
- Bob porównuje otrzymane hasło z hasłem przechowywanym w jego bazie danych. Następnie wysyła pakiet o treści „Uwierzytelnianie powiodło się” lub „Uwierzytelnianie nie powiodło się” w zależności od wyniku.
Jest to przykład bardzo podstawowego protokołu uwierzytelniania narażone na wiele zagrożeń, takich jak podsłuch , powtórki ataku , man-in-the-middle ataki, ataki słownikowe i ataki brute-force . Większość protokołów uwierzytelniania jest bardziej skomplikowana, aby zapewnić odporność na te ataki.
Rodzaje
Protokoły uwierzytelniania opracowane dla protokołu PPP Point-to-Point
Protokoły są używane głównie przez serwery Point-to-Point Protocol (PPP) do sprawdzania tożsamości klientów zdalnych przed przyznaniem im dostępu do danych serwera. Większość z nich używa hasła jako podstawy uwierzytelniania. W większości przypadków hasło musi być wcześniej dzielone między komunikującymi się podmiotami.
PAP - Protokół uwierzytelniania hasła
Protokół uwierzytelniania hasła jest jednym z najstarszych protokołów uwierzytelniania. Uwierzytelnianie jest inicjowane przez klienta wysyłającego pakiet z poświadczeniami (nazwą użytkownika i hasłem) na początku połączenia, przy czym klient powtarza żądanie uwierzytelnienia aż do otrzymania potwierdzenia. Jest wysoce niepewny, ponieważ poświadczenia są wysyłane „ w sposób jawny ” i wielokrotnie, co sprawia, że jest podatny nawet na najprostsze ataki, takie jak podsłuchiwanie i ataki typu man-in-the-middle . Chociaż jest powszechnie obsługiwana, określono, że jeśli implementacja oferuje silniejszą metodę uwierzytelniania, ta metoda musi być oferowana przed PAP. Uwierzytelnianie mieszane (np. ten sam klient naprzemiennie używający zarówno PAP, jak i CHAP) również nie jest oczekiwane, ponieważ uwierzytelnianie CHAP zostałoby naruszone przez wysłanie hasła w postaci zwykłego tekstu przez PAP.
CHAP - Protokół uwierzytelniania typu Challenge-handshake
Proces uwierzytelniania w tym protokole jest zawsze inicjowany przez serwer/host i może być wykonywany w dowolnym momencie sesji, nawet wielokrotnie. Serwer wysyła losowy ciąg (zwykle o długości 128B). Klient używa hasła i otrzymanego ciągu znaków jako parametrów funkcji skrótu MD5, a następnie przesyła wynik wraz z nazwą użytkownika w postaci zwykłego tekstu. Serwer używa nazwy użytkownika do zastosowania tej samej funkcji i porównuje obliczony i otrzymany hash. Uwierzytelnianie powiodło się lub nie powiodło się.
EAP — rozszerzalny protokół uwierzytelniania
EAP został pierwotnie opracowany dla PPP (Point-to-Point Protocol), ale obecnie jest szeroko stosowany w IEEE 802.3 , IEEE 802.11 (WiFi) lub IEEE 802.16 jako część struktury uwierzytelniania IEEE 802.1x . Najnowsza wersja jest standaryzowana w RFC 5247. Zaletą EAP jest to, że jest tylko ogólnym szkieletem uwierzytelniania dla uwierzytelniania klient-serwer - specyficzny sposób uwierzytelniania jest zdefiniowany w wielu jego wersjach zwanych metodami EAP. Istnieje ponad 40 metod EAP, z których najpopularniejsze to:
- EAP-MD5
- EAP-TLS
- EAP-TTLS
- EAP-SZYBKO
- EAP- PEAP
Protokoły architektury AAA (uwierzytelnianie, autoryzacja, księgowość)
Złożone protokoły stosowane w większych sieciach do weryfikacji użytkownika (Authentication), kontroli dostępu do danych serwera (Authorization) oraz monitorowania zasobów sieciowych i informacji potrzebnych do rozliczenia usług (Accounting).
TACACS , XTACACS i TACACS+
Najstarszy protokół AAA wykorzystujący uwierzytelnianie oparte na IP bez żadnego szyfrowania (nazwy użytkowników i hasła były przesyłane jako zwykły tekst). Późniejsza wersja XTACACS (Extended TACACS) dodała autoryzację i księgowość. Oba te protokoły zostały później zastąpione przez TACACS+. TACACS+ rozdziela komponenty AAA, dzięki czemu można je segregować i obsługiwać na osobnych serwerach (może nawet używać innego protokołu do np. Autoryzacji). Do transportu używa protokołu TCP (Transmission Control Protocol) i szyfruje cały pakiet. TACACS+ jest własnością firmy Cisco.
PROMIEŃ
Usługa zdalnego uwierzytelniania użytkownika Dial-In (RADIUS) jest pełnym protokołem AAA powszechnie używanym przez ISP . Poświadczenia są w większości oparte na kombinacji nazwy użytkownika i hasła, do transportu używa protokołu NAS i UDP .
ŚREDNICA
Diameter (protokół) wyewoluował z RADIUS i obejmuje wiele ulepszeń, takich jak zastosowanie bardziej niezawodnego protokołu transportowego TCP lub SCTP oraz wyższe bezpieczeństwo dzięki TLS .
Inne
Kerberos (protokół)
Kerberos to scentralizowany system uwierzytelniania sieciowego opracowany w MIT i dostępny jako bezpłatna implementacja z MIT, ale także w wielu produktach komercyjnych. Jest to domyślna metoda uwierzytelniania w systemie Windows 2000 i nowszych. Sam proces uwierzytelniania jest znacznie bardziej skomplikowany niż w poprzednich protokołach — Kerberos używa kryptografii z kluczem symetrycznym , wymaga zaufanej strony trzeciej i może w razie potrzeby używać kryptografii klucza publicznego podczas pewnych faz uwierzytelniania.
Lista różnych innych protokołów uwierzytelniania
- ZNANY JAKO
- Uwierzytelnianie dostępu podstawowego
- Uwierzytelnianie oparte na CAVE
- CRAM-MD5
- strawić
- Protokół tożsamości hosta (HIP)
- Menedżer LAN
- NTLM , znany również jako NT LAN Manager
- Protokół OpenID
- Protokoły uzgadniania kluczy uwierzytelniane hasłem
- Protokół do przenoszenia uwierzytelniania dostępu do sieci (PANA)
- Protokół bezpiecznego zdalnego hasła (SRP)
- Protokoły uwierzytelniania RFID
- Woo Lam 92 (protokół)
- SAML