Protocoale de autentificare: LDAP vs Kerberos vs Kerberos vs OAuth2 vs SAML vs RADIUS
Autentificarea utilizatorilor în aplicații este una dintre cele mai mari provocări actuale cu care se confruntă departamentul IT. Există o mulțime de sisteme diferite la care un utilizator trebuie să aibă acces și, de aceea, majoritatea protocoalelor de autentificare sunt, de obicei, standarde deschise.
Când citim întrebări despre protocoalele de autentificare pe Stack Overflow, devine destul de clar că acesta poate fi un subiect confuz și copleșitor.
În această postare pe blog, prezentăm cele cinci protocoale de autentificare cel mai des utilizate și explicăm cum funcționează și care sunt avantajele lor.
LDAP
LDAP (Lightweight Directory Access Protocol) este un protocol software pentru a permite oricui să localizeze organizații, persoane și alte resurse, cum ar fi fișiere și dispozitive, într-o rețea, fie că este vorba de internetul public sau de un intranet corporativ.
Este corect să spunem că LDAP a devenit un program popular. Acesta a servit drept fundație pe care Microsoft a construit Active Directory și a avut un rol esențial în dezvoltarea directoarelor actuale bazate pe cloud (cunoscute și sub numele de Directories-as-a-Service).
LDAP trimite mesaje între servere și aplicațiile client care pot include totul, de la solicitări ale clientului până la formatarea datelor.
La nivel funcțional, LDAP funcționează prin legarea unui utilizator LDAP la un server LDAP. Clientul trimite o cerere de operare care solicită un anumit set de informații, cum ar fi datele de autentificare ale utilizatorului sau alte date organizaționale. Serverul LDAP procesează apoi interogarea pe baza limbajului său intern, comunică cu serviciile de directoare, dacă este necesar, și răspunde. Atunci când clientul primește răspunsul, acesta se dezlipește de server și procesează datele în mod corespunzător.
Obțineți Ghidul nostru de generare de lead-uri pentru MSP
Aflați mai multe despre cum să generați cu succes lead-uri și să vă extindeți
Mergeți to Guide
Obțineți Ghidul nostru de generare de leaduri pentru MSP
Kerberos
Kerberos este un protocol de autentificare în rețea. Acesta este conceput pentru a oferi o autentificare puternică pentru aplicațiile client/server prin utilizarea criptografiei cu cheie secretă. O implementare gratuită a acestui protocol este disponibilă la Massachusetts Institute of Technology. Kerberos este disponibil, de asemenea, în multe produse comerciale.
Iată pașii cei mai de bază parcurși pentru autentificarea într-un mediu Kerberizat.
Clientul solicită un tichet de autentificare (TGT) de la centrul de distribuție a cheilor (KDC).
Centrul de distribuție a cheilor (KDC) verifică acreditările și trimite înapoi un TGT criptat și o cheie de sesiune.
Clientul solicită accesul la o aplicație de pe un server. O cerere de bilet pentru serverul aplicației este trimisă către KDC, care constă în TGT al clientului și un autentificator.
KDC returnează utilizatorului un bilet și o cheie de sesiune.
Biletul este trimis către serverul aplicației. Odată ce biletul și autentificatorul au fost primite, serverul poate autentifica clientul.
Serverul răspunde clientului cu un alt autentificator. La primirea acestui autentificator, clientul poate autentifica serverul.
Oauth 2
Oauth 2 este un cadru de autorizare care permite aplicațiilor să obțină acces limitat la conturile de utilizator pe un serviciu HTTP, cum ar fi Facebook, GitHub și DigitalOcean.
Iată o descriere a etapelor de bază ale procesului de autorizare:
Aplicația solicită utilizatorului autorizația de acces la resursele serviciului de acces.
Dacă acel utilizator aprobă, atunci aplicația primește o autorizație de autorizare.
Aplicația solicită un token de acces de la serverul de autorizare (API). Acest lucru se face prin prezentarea identității sale și a grantului de autorizare.
Dacă identitatea aplicației este autentificată și grantul de autorizare este valid, API emite un token de acces pentru aplicație. Autorizarea este completă.
Aplicația solicită resursa de la API și prezintă tokenul de acces pentru autentificare.
Dacă tokenul de acces este valid, API servește resursa aplicației.
SAML
Security Assertion Markup Language (SAML) este un format de date bazat pe XML, standard deschis pentru schimbul de date de autentificare și autorizare între părți, în special între un furnizor de identitate și un furnizor de servicii. SAML este un produs al OASIS Security Services Technical Committee.
JumpCloud este unul dintre cei mai buni furnizori de Single Sign-On (SSO) care acceptă protocoale de autentificare SAML. SSO de la JumpCloud oferă integrări SAML cu 700 de aplicații de afaceri populare (inclusiv Kisi) și caracteristici automatizate de gestionare a ciclului de viață al utilizatorului, cum ar fi provizionarea Just-in-Time (JIT) și provizionarea/deprovizionarea SCIM.
Iată o descriere a etapelor tipice ale procesului de autentificare:
Utilizatorul accesează aplicația la distanță folosind un link de pe un intranet sau similar, iar aplicația se încarcă.
Aplicația identifică originea utilizatorului (prin subdomeniul aplicației, adresa IP a utilizatorului sau similar). Aceasta redirecționează utilizatorul înapoi către furnizorul de identitate, solicitând autentificarea.
Utilizatorul fie are o sesiune de navigare activă existentă cu furnizorul de identitate, fie stabilește una prin conectarea la furnizorul de identitate.
Furnizorul de identitate construiește un răspuns de autentificare sub forma unui document XML care conține numele de utilizator sau adresa de e-mail a utilizatorului. Acesta este apoi semnat cu ajutorul unui protocol X.509 și apoi este postat la furnizorul de servicii.
Furnizorul de servicii (care cunoaște deja furnizorul de identitate și are o amprentă digitală a certificatului) recuperează răspunsul de autentificare și îl validează folosind amprenta digitală a certificatului.
Identitatea utilizatorului este stabilită, iar utilizatorului i se oferă acces la aplicație.
RADIUS
Remote Authentication Dial-In User Service (RADIUS) este un protocol de rețea care asigură gestionarea centralizată a autentificării, autorizării și contabilizării (AAA sau Triple A) pentru utilizatorii care se conectează și utilizează un serviciu de rețea.
Autentificarea RADIUS începe atunci când utilizatorul solicită accesul la o resursă de rețea prin intermediul serverului de acces la distanță (RAS). Utilizatorul introduce un nume de utilizator și o parolă, care sunt criptate de către serverul RADIUS înainte de a fi trimise prin procesul de autentificare.
Apoi, serverul RADIUS verifică acuratețea informațiilor prin utilizarea unor scheme de autentificare pentru a verifica datele. Acest lucru se face prin compararea informațiilor furnizate de utilizator cu o bază de date stocată local sau prin referire la surse externe, cum ar fi serverele Active Directory.
Serverele RADIUS vor răspunde apoi prin acceptarea, contestarea sau respingerea utilizatorului. Utilizatorilor individuali li se poate acorda acces restricționat fără a afecta alți utilizatori. În cazul unei contestații, serverul RADIUS solicită informații suplimentare de la utilizator pentru a verifica ID-ul său de utilizator – care poate fi un PIN sau o parolă secundară. În cazul unei respingeri, utilizatorului i se refuză necondiționat orice acces la protocolul RADIUS.
Atunci, care dintre ele să o alegeți?
LDAP, Kerberos, OAuth2, SAML și RADIUS sunt toate utile pentru diferite scopuri de autorizare și autentificare și sunt adesea utilizate cu SSO.
Protocolul pe care îl alegeți trebuie să reflecte nevoile aplicației dumneavoastră și infrastructura existentă. Este util să alegeți o soluție simplă și standardizată care să evite utilizarea de soluții de rezolvare pentru interoperabilitatea cu aplicațiile native. Acesta este motivul pentru care SAML este o alegere bună, deoarece se integrează cu SSO de la JumpCloud și cu 700 de aplicații de afaceri populare.
Dacă sunteți în căutare de mai mult conținut legat de SSO, puteți consulta ghidul nostru despre cum să decideți ce tip de autentificare unică puteți folosi.
Legături relevante
Evaluarea securității fizice | Cele mai bune practici & Procesul de audit
Ce este IoT – Definiții de la experți din industrie
Instrumente de gestionare a accesului la identitate (IAM)
.