Authentificeringsprotokoller: OAuthentificeringsprotokoller: OAuth2, SAML, LDAP, RADIUS, Kerberos LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS
Brugergodkendelse i applikationer er en af de største aktuelle udfordringer, som it-afdelingen står over for. Der er mange forskellige systemer, som en bruger skal have adgang til, og derfor er de fleste godkendelsesprotokoller typisk åbne standarder.
Når man læser spørgsmål om godkendelsesprotokoller på Stack Overflow, bliver det ret tydeligt, at det kan være et forvirrende og overvældende emne.
I dette blogindlæg præsenterer vi de fem mest almindeligt anvendte godkendelsesprotokoller og forklarer, hvordan de fungerer og deres fordele.
LDAP
LDAP (Lightweight Directory Access Protocol) er en softwareprotokol, der gør det muligt for enhver at finde organisationer, enkeltpersoner og andre ressourcer såsom filer og enheder i et netværk, uanset om det er på det offentlige internet eller et virksomhedsintranet.
Det er rimeligt at sige, at LDAP er blevet et populært program. Det fungerede som det fundament, som Microsoft byggede Active Directory på, og det har været medvirkende til udviklingen af nutidens cloud-baserede mapper (også kendt som Directories-as-a-Service).
LDAP sender meddelelser mellem servere og klientprogrammer, som kan omfatte alt fra klientforespørgsler til dataformatering.
På et funktionelt niveau fungerer LDAP ved at binde en LDAP-bruger til en LDAP-server. Klienten sender en operationsanmodning, der beder om et bestemt sæt oplysninger, f.eks. brugerens loginoplysninger eller andre organisatoriske data. LDAP-serveren behandler derefter forespørgslen på grundlag af sit interne sprog, kommunikerer om nødvendigt med katalogtjenester og svarer. Når klienten modtager svaret, frigør den sig fra serveren og behandler dataene i overensstemmelse hermed.
Kerberos
Kerberos er en protokol til netværksgodkendelse. Den er designet til at give stærk autentificering til klient/server-applikationer ved hjælp af kryptografi med hemmelig nøgle. En gratis implementering af denne protokol er tilgængelig fra Massachusetts Institute of Technology. Kerberos er også tilgængelig i mange kommercielle produkter.
Her er de mest grundlæggende trin, der tages for at autentificere i et Kerber-miljø.
- Klienten anmoder om en autentifikationsbillet (TGT) fra Key Distribution Center (KDC).
- KDC’et verificerer legitimationsoplysningerne og sender en krypteret TGT og en sessionsnøgle tilbage.
- Klienten anmoder om at få adgang til et program på en server. En billetanmodning til applikationsserveren sendes til KDC’en, som består af klientens TGT og en authenticator.
- KDC’en returnerer en billet og en sessionsnøgle til brugeren.
- Billetten sendes til applikationsserveren. Når billetten og authenticatoren er modtaget, kan serveren autentificere klienten.
- Serveren svarer klienten med en anden authenticator. Når klienten modtager denne authenticator, kan klienten autentificere serveren.
Oauth 2
Oauth 2 er en autorisationsramme, der gør det muligt for programmer at opnå begrænset adgang til brugerkonti på en HTTP-tjeneste, f.eks. Facebook, GitHub og DigitalOcean.
Her er en beskrivelse af de grundlæggende trin i godkendelsesprocessen:
- Anvendelsen anmoder brugeren om tilladelse til at få adgang til tjenestens ressourcer.
- Hvis denne bruger godkender, modtager anvendelsen en godkendelsesbevilling.
- Anvendelsen anmoder om et adgangstoken fra godkendelsesserveren (API). Dette gøres ved at præsentere sin identitet og autorisationsbevillingen.
- Hvis applikationens identitet er godkendt, og autorisationsbevillingen er gyldig, udsteder API’en et adgangstoken til applikationen. Autoriseringen er afsluttet.
- Programmet anmoder om ressourcen fra API’et og fremlægger adgangstokenet til autentificering.
- Hvis adgangstokenet er gyldigt, serverer API’et ressourcen for programmet.
SAML
Security Assertion Markup Language (SAML) er et XML-baseret, åbent standarddataformat til udveksling af autentificerings- og autorisationsdata mellem parter, navnlig mellem en identitetsudbyder og en tjenesteudbyder. SAML er et produkt af OASIS Security Services Technical Committee.
JumpCloud er en af de bedste Single Sign-On (SSO)-udbydere, som understøtter SAML-godkendelsesprotokoller. JumpClouds SSO giver SAML-integrationer med 700 populære forretningsapplikationer (herunder Kisi) og automatiserede funktioner til administration af brugernes livscyklus som Just-in-Time (JIT) provisioning og SCIM provisioning/deprovisioning.
Her er en beskrivelse af de typiske trin i godkendelsesprocessen:
- Brugeren får adgang til fjernapplikationen ved hjælp af et link på et intranet eller lignende, og applikationen indlæses.
- Applikationen identificerer brugerens oprindelse (ved hjælp af applikationens underdomæne, brugerens IP-adresse eller lignende). Det omdirigerer brugeren tilbage til identitetsudbyderen og beder om autentificering.
- Brugeren har enten en eksisterende aktiv browsersession med identitetsudbyderen eller opretter en sådan ved at logge ind hos identitetsudbyderen.
- Identitetsudbyderen opbygger et autentificeringssvar i form af et XML-dokument, der indeholder brugerens brugernavn eller e-mailadresse. Dette er derefter signeret ved hjælp af en X.509 certifikat og derefter sendt til tjenesteudbyderen.
- Tjenesteudbyderen (som allerede kender identitetsudbyderen og har et certifikatfingeraftryk) henter autentificeringssvaret og validerer det ved hjælp af certifikatfingeraftrykket.
- Brugerens identitet er fastslået, og brugeren får app-adgang.
RADIUS
Remote Authentication Dial-In User Service (RADIUS) er en netværksprotokol, der giver centraliseret styring af autentifikation, autorisering og regnskab (AAA eller Triple A) for brugere, der opretter forbindelse og bruger en netværkstjeneste.
RADIUS-godkendelse begynder, når brugeren anmoder om adgang til en netværksressource via Remote Access Server (RAS). Brugeren indtaster et brugernavn og en adgangskode, som krypteres af RADIUS-serveren, inden de sendes gennem godkendelsesprocessen.
Dernæst kontrollerer RADIUS-serveren nøjagtigheden af oplysningerne ved at anvende godkendelsesordninger til at verificere dataene. Dette gøres ved at sammenligne de oplysninger, som brugeren har givet, med en lokalt lagret database eller ved at henvise til eksterne kilder, f.eks. Active Directory-servere.
Derpå svarer RADIUS-serveren ved at acceptere, udfordre eller afvise brugeren. Individuelle brugere kan få begrænset adgang uden at påvirke andre brugere. I tilfælde af en udfordring anmoder RADIUS-serveren om yderligere oplysninger fra brugeren for at verificere deres bruger-id – som kan være en pinkode eller en sekundær adgangskode. I tilfælde af en afvisning nægtes brugeren ubetinget al adgang til RADIUS-protokollen.
Så hvilken skal man vælge?
LDAP, Kerberos, OAuth2, SAML og RADIUS er alle nyttige til forskellige autorisations- og godkendelsesformål og bruges ofte sammen med SSO.
Den protokol, du vælger, bør afspejle dine applikationsbehov, og hvilken eksisterende infrastruktur der er på plads. Det hjælper at vælge en enkel og standardiseret løsning, der undgår brug af workarounds for at opnå interoperabilitet med native applikationer. Derfor er SAML et godt valg, da det kan integreres med JumpClouds SSO og 700 populære forretningsapplikationer.
Hvis du leder efter mere SSO-relateret indhold, kan du læse vores vejledning om, hvordan du beslutter, hvilken type single sign-on du kan bruge.
Relevante links
- Fysisk sikkerhedsvurdering | Best Practices & Auditproces
- Hvad er IoT – Definitioner fra brancheeksperter
- Identity Access Management (IAM)-værktøjer