Autentiseringsprotokoll: LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS

okt 25, 2021
admin

Användarautentisering i applikationer är en av de största utmaningarna som IT-avdelningen står inför. Det finns många olika system som en användare behöver ha tillgång till och därför är de flesta autentiseringsprotokoll vanligtvis öppna standarder.

När man läser frågor om autentiseringsprotokoll på Stack Overflow blir det ganska tydligt att detta kan vara ett förvirrande och överväldigande ämne.

I det här blogginlägget presenterar vi de fem vanligaste autentiseringsprotokollen och förklarar hur de fungerar och deras fördelar.

LDAP

LDAP (Lightweight Directory Access Protocol) är ett programvaruprotokoll som gör det möjligt för vem som helst att lokalisera organisationer, personer och andra resurser, t.ex. filer och enheter, i ett nätverk, oavsett om det är på det offentliga Internet eller på ett företags intranät.

Det är rimligt att säga att LDAP har blivit ett populärt program. Det fungerade som den grund som Microsoft byggde Active Directory på och har varit avgörande för utvecklingen av dagens molnbaserade kataloger (även kallade Directories-as-a-Service).

LDAP skickar meddelanden mellan servrar och klientprogram som kan innehålla allt från klientförfrågningar till dataformatering.

På en funktionell nivå fungerar LDAP genom att binda en LDAP-användare till en LDAP-server. Klienten skickar en operationsbegäran som ber om en viss uppsättning information, t.ex. användarens inloggningsuppgifter eller andra organisatoriska uppgifter. LDAP-servern behandlar sedan förfrågan utifrån sitt interna språk, kommunicerar vid behov med katalogtjänster och svarar. När klienten får svaret kopplar den upp sig från servern och bearbetar uppgifterna i enlighet med detta.

Hämta vår vägledning för leadsgenerering för MSP:er

Lär dig mer om hur du framgångsrikt genererar leads och skalar upp

Go. till guiden

Hämta vår guide för Lead Generation Guide for MSPs

Kerberos

Kerberos är ett nätverksautentiseringsprotokoll. Det är utformat för att tillhandahålla stark autentisering för klient/server-tillämpningar med hjälp av kryptografi med hemliga nycklar. En gratis implementering av detta protokoll finns tillgänglig från Massachusetts Institute of Technology. Kerberos finns också i många kommersiella produkter.

Här är de mest grundläggande stegen för autentisering i en Kerberiserad miljö.

  1. Klienten begär en autentiseringsbiljett (TGT) från nyckelfördelningscentret (Key Distribution Center, KDC).
  2. KDC kontrollerar autentiseringsuppgifterna och skickar tillbaka en krypterad TGT och en sessionsnyckel.
  3. Klienten begär att få tillgång till ett program på en server. En biljettförfrågan för applikationsservern skickas till KDC som består av klientens TGT och en autentiserare.
  4. KDC returnerar en biljett och en sessionsnyckel till användaren.
  5. Biljetten skickas till applikationsservern. När biljetten och autentiseraren har mottagits kan servern autentisera klienten.
  6. Servern svarar klienten med en annan autentiserare. När klienten har mottagit denna autentiserare kan klienten autentisera servern.

Oauth 2

Oauth 2 är ett auktoriseringsramverk som gör det möjligt för tillämpningar att få begränsad åtkomst till användarkonton på en HTTP-tjänst, t.ex. Facebook, GitHub och DigitalOcean.

Här är en beskrivning av de grundläggande stegen i auktoriseringsprocessen:

  1. Applikationen begär tillstånd för åtkomst till tjänstens resurser från användaren.
  2. Om användaren godkänner får applikationen ett auktoriseringstillstånd.
  3. Applikationen begär en åtkomsttoken från auktoriseringsservern (API). Detta görs genom att presentera sin identitet och auktorisationstillståndet.
  4. Om applikationens identitet är autentiserad och auktorisationstillståndet är giltigt utfärdar API:et en åtkomsttoken till applikationen. Auktoriseringen är klar.
  5. Programmet begär resursen från API:et och presenterar åtkomsttoken för autentisering.
  6. Om åtkomsttoken är giltig serverar API:et resursen till programmet.
Oauth2
Källa: Digital Ocean

SAML

Security Assertion Markup Language (SAML) är ett XML-baserat dataformat med öppen standard för utbyte av autentiserings- och auktoriseringsdata mellan parter, i synnerhet mellan en identitetsleverantör och en tjänsteleverantör. SAML är en produkt av OASIS Security Services Technical Committee.

JumpCloud är en av de bästa leverantörerna av Single Sign-On (SSO) med stöd för SAML-autentiseringsprotokoll. JumpClouds SSO tillhandahåller SAML-integrationer med 700 populära företagsapplikationer (inklusive Kisi) och automatiserade funktioner för hantering av användarens livscykel som Just-in-Time (JIT) provisioning och SCIM provisioning/deprovisioning.

Här är en beskrivning av de typiska stegen i autentiseringsprocessen:

  1. Användaren får tillgång till fjärrprogrammet med hjälp av en länk på ett intranät eller liknande och programmet laddas.
  2. Programmet identifierar användarens ursprung (genom programmets subdomän, användarens IP-adress eller liknande). Den omdirigerar användaren tillbaka till identitetsleverantören och ber om autentisering.
  3. Användaren har antingen en befintlig aktiv webbläsarsession med identitetsleverantören eller upprättar en sådan genom att logga in på identitetsleverantören.
  4. Identitetsleverantören bygger upp ett autentiseringssvar i form av ett XML-dokument som innehåller användarens användarnamn eller e-postadress. Detta signeras sedan med hjälp av ett X.509 certifikat och skickas sedan till tjänsteleverantören.
  5. Tjänsteleverantören (som redan känner till identitetsleverantören och har ett certifikatfingeravtryck) hämtar autentiseringssvaret och validerar det med hjälp av certifikatfingeravtrycket.
  6. Användarens identitet är fastställd och användaren får tillgång till appen.

RADIUS

Remote Authentication Dial-In User Service (RADIUS) är ett nätverksprotokoll som tillhandahåller centraliserad hantering av autentisering, auktorisering och redovisning (AAA eller Triple A) för användare som ansluter och använder en nätverkstjänst.

RADIUS-autentisering börjar när användaren begär åtkomst till en nätverksresurs via Remote Access Server (RAS). Användaren anger ett användarnamn och ett lösenord som krypteras av RADIUS-servern innan de skickas genom autentiseringsprocessen.

Därefter kontrollerar RADIUS-servern att informationen är korrekt genom att använda autentiseringsscheman för att verifiera uppgifterna. Detta görs genom att jämföra den information som användaren lämnat med en lokalt lagrad databas eller genom att hänvisa till externa källor, t.ex. Active Directory-servrar.

RADIUS-servern svarar sedan genom att acceptera, utmana eller avvisa användaren. Enskilda användare kan beviljas begränsad åtkomst utan att det påverkar andra användare. Vid en utmaning begär RADIUS-servern ytterligare information från användaren för att verifiera dennes användar-ID – vilket kan vara en PIN-kod eller ett sekundärt lösenord. Vid ett avslag nekas användaren villkorslöst all åtkomst till RADIUS-protokollet.

Så vilket protokoll ska man välja?

LDAP, Kerberos, OAuth2, SAML och RADIUS är alla användbara för olika auktoriserings- och autentiseringssyften och används ofta tillsammans med SSO.

Protokollet som du väljer bör återspegla dina applikationsbehov och vilken befintlig infrastruktur som finns på plats. Det underlättar att välja en enkel och standardiserad lösning som undviker användning av lösningar för interoperabilitet med inhemska applikationer. Därför är SAML ett bra val eftersom det integreras med JumpClouds SSO och 700 populära företagsapplikationer.

Om du letar efter mer SSO-relaterat innehåll kan du läsa vår guide om hur du bestämmer vilken typ av single sign-on du kan använda.

Relevanta länkar

  • Fysisk säkerhetsbedömning | Best Practices & Revisionsprocess
  • Vad är IoT – Definitioner från branschexperter
  • Verktyg för hantering av identitetsåtkomst (IAM)

.

Lämna ett svar

Din e-postadress kommer inte publiceras.