SASL lub prosta warstwa uwierzytelniania i bezpieczeństwa to framework uwierzytelniania, który określa i opisuje proces podłączania mechanizmów uwierzytelniania do protokołów aplikacji. Jest to ramy standardów internetowych lub metoda śledzenia uwierzytelniania zdalnych komputerów.
Framework SASL umożliwia implementację mechanizmów uwierzytelniania na serwerach i aplikacjach, które wykorzystują protokoły IMAP, XMPP, ACAP, LDAP i SMTP. Zapewnia wspólne biblioteki i programistów aplikacji właściwy i niezawodny kontrola, szyfrowanie i uwierzytelnianie.
Ten artykuł zawiera wprowadzenie do SASL. Omówi funkcje i cechy SASL oraz sposób, w jaki działa ten ramy. Poza tym ten artykuł podkreśla architekturę SASL i zakończy się opisując różne zaangażowane mechanizmy.
Cechy SASL
Ta warstwa uwierzytelniania intuicyjnie pozwala programistom kodować aplikacje i programy do ogólnego interfejsu API. Nie określa technologii wykonywania jakiegokolwiek uwierzytelnienia, ponieważ odpowiedzialność leży w każdym mechanizmie SASL. Zatem podejście jest przydatne w unikaniu zależności od konkretnych mechanizmów uwierzytelniania lub szyfrowania.
Oczywiście, wspomniane wcześniej protokoły wspierają SASL. Biblioteka SASL jest popularnie określana jako LibsAsl, ramy, które weryfikują i pozwala odpowiednim programom i aplikacjom SASL na korzystanie z wtyczek SASL dostępnych w twoim systemie.
SASL to ramy, które opierają się na różnych mechanizmach rządzenia wymianą protokołów. Te wtyczki mechanizmu bezpieczeństwa pozwalają SASL na przedstawianie następujących funkcji:
Identyfikatory autoryzacji i uwierzytelniania w SASL
Po pierwsze, ważne jest, aby znać różnicę między identyfikatorem autoryzacji w SASL a identyfikatorem uwierzytelniania. Zwykle identyfikator użytkownika, użytkownik lub identyfikator autoryzacji dla SASL to identyfikator, którego dowolna aplikacja Linux używa do sprawdzania opcji, do których może umożliwić dostęp i używać.
Z drugiej strony identyfikator uwierzytelnienia lub identyfikator autoryzacji to identyfikator uwierzytelnienia. Ta tożsamość jest identyfikatorem, który jest związany z sprawdzaniem przez system. System uwierzytelnia tylko użytkowników, których tożsamość i hasła odpowiadają przechowywanym szczegółom.
Jak działa SASL
Podobnie jak jego nazwa, SASL działa w dość prosty sposób. Negocjacje zaczynają się od klienta żądania uwierzytelnienia z serwera poprzez nawiązanie połączenia. Serwer i klient wykonają kopie swoich lokalnych kopii biblioteki (LIBSASL) za pośrednictwem SAL API. LIBSASL nawiązuje połączenie z wymaganymi mechanizmami SASL za pośrednictwem interfejsu usługodawcy (SPI).
Serwer odpowie na listę wszystkich obsługiwanych mechanizmów. Z drugiej strony klient zareaguje, wybierając jeden mechanizm. Serwer i klient będą następnie wymieniać dane, dopóki żądany proces uwierzytelniania się nie powiedzie lub nie powiedzie. W szczególności klient i serwer będą wiedzieć, kto jest po drugiej stronie kanału.
Ilustracja architektury znajduje się na poniższym rysunku:
Ilustracja uwierzytelnienia SMTP znajduje się na poniższym rysunku:
Pierwsze 3 linie na ilustracji zawierają listę wszystkich obsługiwanych mechanizmów, w tym między innymi CRAM-MD5, Digest-MD5 i Plain; pochodzą z serwera. Poniższy wiersz pochodzi od klienta i wskazuje, że wybrał CRAM-MD5 jako preferowany mechanizm. Serwer odpowiada komunikatem generowanym przez funkcje SASL. Wreszcie serwer akceptuje uwierzytelnianie.
Podobnie jak większość frameworków, SASL obsługuje koncepcję „Realms”. I z definicji królestwa są streszczeniem użytkowników. Odkryjesz również, że określone mechanizmy mogą uwierzytelniać tylko użytkowników w niektórych dziedzinach.
Wspólne mechanizmy SASL
W poprzednich sekcjach zauważyliśmy już, że SASL działa, gdy serwer wymienia dostępne mechanizmy, a klient wybiera jeden z mechanizmów konkretnego uwierzytelnienia. Tak więc niektóre mechanizmy SASL, z którymi najprawdopodobniej będziesz wchodzić w interakcje, obejmują:
Wspólne tajne mechanizmy
Dwa podstawowe tajne mechanizmy wspierane przez SASL to CRAM-MD5 i Digest-MD5, który przyszedł później. Polegają na sukcesie klienta i serwera dzielącego tajemnicę, a ta sekret często będzie hasłem. Serwer zakwestionuje klienta o ten sekret. Z drugiej strony klient powinien zawsze udzielić odpowiedzi na ten sekret, aby udowodnić, że zna sekret.
Chociaż ta metoda jest bezpieczniejsza niż wysyłanie haseł w różnych sieciach, jej wykonalność opiera się na możliwości przechowywania tajemnic w bazie danych. Naruszenie bezpieczeństwa w bazie danych serwera będzie również narażone na bezpieczeństwo przechowywanych haseł.
Proste mechanizmy
Wyłącznie ta metoda jest dość mniej bezpieczna. Dlatego idealnie nadaje się do połączeń, które mają już inne poziomy szyfrowania. Działa poprzez przesyłanie identyfikatora uwierzytelnienia, identyfikatora użytkownika i hasła do serwera, aby serwer mógł ustalić, czy kombinacja jest poprawna i dopuszczalna, czy nie.
W szczególności największym problemem związanym z tym mechanizmem jest sposób, w jaki poświadczenia uwierzytelniania i hasła są sprawdzane i weryfikowane.
Mechanizmy Kerberosa
Wreszcie biblioteka SASL ma mechanizmy, które mogą korzystać z systemów uwierzytelniania Kerberos 4 i Kerberos 5. Mechanizm Kerberos_V4 może użyć Kerberos 4, podczas gdy GSSAPI może użyć Kerberos 5. Ponieważ używają interfejsu Kerberos, nie potrzebują żadnych haseł.
Wniosek
Ta warstwa uwierzytelniania jest pomocna w szeregu aplikacji i programów Linux. Z tego artykułu powinieneś teraz mieć pojęcie o tym, co pociąga za sobą warstwa uwierzytelniania. W tym artykule szczegółowo omawia funkcje, architekturę i sposób, w jaki SASL działa w środowisku Linux. Artykuł również krótko wyjaśnia niektóre z popularnych mechanizmów SASL, które spotkasz.