Protokoły uwierzytelniania: LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS

paź 25, 2021
admin

Uwierzytelnianie użytkowników w aplikacjach jest jednym z największych obecnych wyzwań, przed jakimi stoi dział IT. Istnieje wiele różnych systemów, do których użytkownik potrzebuje dostępu i dlatego większość protokołów uwierzytelniania to zazwyczaj otwarte standardy.

Czytając pytania dotyczące protokołów uwierzytelniania na Stack Overflow, staje się całkiem jasne, że może to być temat zagmatwany i przytłaczający.

W tym wpisie na blogu przedstawiamy pięć najczęściej używanych protokołów uwierzytelniania i wyjaśniamy, jak działają i jakie są ich zalety.

LDAP

LDAP (Lightweight Directory Access Protocol) jest protokołem oprogramowania umożliwiającym każdemu zlokalizowanie organizacji, osób i innych zasobów, takich jak pliki i urządzenia w sieci, czy to w publicznym Internecie, czy w korporacyjnej sieci intranet.

Można powiedzieć, że LDAP stał się popularnym programem. Służył jako fundament, na którym Microsoft zbudował Active Directory, i odegrał kluczową rolę w rozwoju dzisiejszych katalogów opartych na chmurze (znanych również jako Directories-as-a-Service).

LDAP wysyła wiadomości między serwerami a aplikacjami klienckimi, które mogą obejmować wszystko, od żądań klienta do formatowania danych.

Na poziomie funkcjonalnym LDAP działa poprzez wiązanie użytkownika LDAP z serwerem LDAP. Klient wysyła żądanie operacji, które prosi o określony zestaw informacji, takich jak dane uwierzytelniające logowanie użytkownika lub inne dane organizacyjne. Serwer LDAP przetwarza zapytanie w oparciu o swój wewnętrzny język, w razie potrzeby komunikuje się z usługami katalogowymi i udziela odpowiedzi. Gdy klient otrzyma odpowiedź, odłącza się od serwera i odpowiednio przetwarza dane.

Poznaj nasz Przewodnik po generowaniu leadów dla MSP

Dowiedz się więcej, jak skutecznie generować leady i zwiększać skalę

Przejdź do przewodnika

Poznaj nasz przewodnik Lead Generation Guide for MSPs

Kerberos

Kerberos to sieciowy protokół uwierzytelniania. Został on zaprojektowany w celu zapewnienia silnego uwierzytelniania dla aplikacji klient/serwer poprzez użycie kryptografii z kluczem tajnym. Darmowa implementacja tego protokołu jest dostępna w Massachusetts Institute of Technology. Kerberos jest również dostępny w wielu produktach komercyjnych.

Oto najbardziej podstawowe kroki podejmowane w celu uwierzytelnienia w środowisku Kerberized.

  1. Klient żąda biletu uwierzytelnienia (TGT) z Centrum Dystrybucji Kluczy (KDC).
  2. KDC weryfikuje dane uwierzytelniające i odsyła zaszyfrowany TGT oraz klucz sesji.
  3. Klient żąda dostępu do aplikacji na serwerze. Żądanie biletu dla serwera aplikacji zostaje wysłane do KDC, które składa się z TGT klienta i uwierzytelniacza.
  4. KDC zwraca użytkownikowi bilet i klucz sesji.
  5. Bilet jest wysyłany do serwera aplikacji. Po otrzymaniu biletu i uwierzytelniacza serwer może uwierzytelnić klienta.
  6. Serwer odpowiada klientowi za pomocą innego uwierzytelniacza. Po otrzymaniu tego uwierzytelniacza klient może uwierzytelnić serwer.

Oauth 2

OAuth 2 to framework autoryzacji, który umożliwia aplikacjom uzyskanie ograniczonego dostępu do kont użytkowników w usłudze HTTP, takiej jak Facebook, GitHub i DigitalOcean.

Oto opis podstawowych kroków w procesie autoryzacji:

  1. Aplikacja prosi o autoryzację dostępu do zasobów usługi od użytkownika.
  2. Jeśli użytkownik się zgadza, to aplikacja otrzymuje grant autoryzacji.
  3. Aplikacja prosi o token dostępu z serwera autoryzacji (API). Odbywa się to poprzez przedstawienie swojej tożsamości i grantu autoryzacji.
  4. Jeśli tożsamość aplikacji jest uwierzytelniona, a grant autoryzacji jest ważny, API wydaje token dostępu do aplikacji. Autoryzacja jest zakończona.
  5. Aplikacja żąda zasobu od API i przedstawia token dostępu w celu uwierzytelnienia.
  6. Jeśli token dostępu jest ważny, API serwuje zasób do aplikacji.
Oauth2
Źródło: Digital Ocean

SAML

Security Assertion Markup Language (SAML) to oparty na XML, oparty na otwartym standardzie format danych służący do wymiany danych uwierzytelniania i autoryzacji między stronami, w szczególności między dostawcą tożsamości a dostawcą usług. SAML jest produktem OASIS Security Services Technical Committee.

JumpCloud jest jednym z najlepszych dostawców Single Sign-On (SSO), który obsługuje protokoły uwierzytelniania SAML. SSO JumpCloud zapewnia integracje SAML z 700 popularnymi aplikacjami biznesowymi (w tym Kisi) i zautomatyzowane funkcje zarządzania cyklem życia użytkownika, takie jak Just-in-Time (JIT) provisioning i SCIM provisioning/deprovisioning.

Oto opis typowych kroków w procesie uwierzytelniania:

  1. Użytkownik uzyskuje dostęp do zdalnej aplikacji za pomocą łącza w intranecie lub podobnego, a aplikacja ładuje się.
  2. Aplikacja identyfikuje pochodzenie użytkownika (za pomocą subdomeny aplikacji, adresu IP użytkownika lub podobnego). Przekierowuje użytkownika z powrotem do dostawcy tożsamości, prosząc o uwierzytelnienie.
  3. Użytkownik albo ma istniejącą aktywną sesję przeglądarki z dostawcą tożsamości, albo ustanawia ją poprzez zalogowanie się do dostawcy tożsamości.
  4. Dostawca tożsamości buduje odpowiedź uwierzytelniającą w postaci dokumentu XML zawierającego nazwę użytkownika lub adres e-mail. Jest on następnie podpisany przy użyciu certyfikatu X.509 a następnie wysyłany do dostawcy usług.
  5. Dostawca usług (który już zna dostawcę tożsamości i ma odcisk palca certyfikatu) pobiera odpowiedź uwierzytelniającą i waliduje ją za pomocą odcisku palca certyfikatu.
  6. Tożsamość użytkownika jest ustalona, a użytkownik otrzymuje dostęp do aplikacji.

RADIUS

Remote Authentication Dial-In User Service (RADIUS) to protokół sieciowy, który zapewnia scentralizowane zarządzanie uwierzytelnianiem, autoryzacją i rachunkowością (AAA lub Triple A) dla użytkowników, którzy łączą się i korzystają z usług sieciowych.

Uwierzytelnianie RADIUS rozpoczyna się, gdy użytkownik żąda dostępu do zasobu sieciowego za pośrednictwem serwera zdalnego dostępu (RAS). Użytkownik wprowadza nazwę użytkownika i hasło, które są szyfrowane przez serwer RADIUS przed przesłaniem ich przez proces uwierzytelniania.

Następnie serwer RADIUS sprawdza poprawność informacji, stosując schematy uwierzytelniania w celu weryfikacji danych. Odbywa się to poprzez porównanie informacji dostarczonych przez użytkownika z lokalnie przechowywaną bazą danych lub odwołując się do źródeł zewnętrznych, takich jak serwery Active Directory.

Serwer RADIUS odpowie wtedy poprzez zaakceptowanie, zakwestionowanie lub odrzucenie użytkownika. Poszczególni użytkownicy mogą otrzymać ograniczony dostęp bez wpływu na innych użytkowników. W przypadku wyzwania, serwer RADIUS żąda od użytkownika dodatkowych informacji w celu weryfikacji jego identyfikatora użytkownika – może to być PIN lub hasło dodatkowe. W przypadku odrzucenia użytkownik jest bezwarunkowo pozbawiony wszelkiego dostępu do protokołu RADIUS.

Więc który wybrać?

LDAP, Kerberos, OAuth2, SAML i RADIUS są przydatne do różnych celów autoryzacji i uwierzytelniania i są często używane z SSO.

Protokół, który wybierzesz powinien odzwierciedlać potrzeby Twojej aplikacji i istniejącą infrastrukturę. Pomaga to wybrać proste i ustandaryzowane rozwiązanie, które pozwala uniknąć stosowania obejść dla interoperacyjności z natywnymi aplikacjami. Dlatego SAML jest dobrym wyborem, ponieważ integruje się z SSO JumpCloud i 700 popularnymi aplikacjami biznesowymi.

Jeśli szukasz więcej treści związanych z SSO, możesz sprawdzić nasz przewodnik, jak zdecydować, jakiego typu pojedynczego logowania możesz użyć.

Właściwe linki

  • Ocena bezpieczeństwa fizycznego | Najlepsze praktyki &Proces audytu
  • Co to jest IoT – definicje ekspertów branżowych
  • Narzędzia do zarządzania dostępem do tożsamości (IAM)

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.