OpenID Connect (OIDC) är ett identitetsautentiseringsprotokoll som bygger på OAuth 2.0 för att standardisera autentisering och auktorisering av användare vid inloggning till digitala tjänster. Medan OAuth 2.0 möjliggör informationsdelning mellan olika applikationer utan att kompromettera användardata, fokuserar OIDC på att verifiera användarnas identitet. OIDC säkerställer att användarna är de de utger sig för att vara, och OAuth 2.0 bestämmer vilka system de har tillgång till.
OIDC används också för att erbjuda enkel inloggning (Single Sign-On). Med ett säkert identitets- och åtkomsthanteringssystem som PhenixID Authentication kan organisationer använda OIDC för att autentisera användare en gång och sedan vidarebefordra denna autentisering till flera appar. Detta innebär att användaren endast behöver logga in en gång med sitt användarnamn och lösenord för att få tillgång till flera olika applikationer.
Sammanfattningsvis så gör OIDC inloggningsprocessen enklare och säkrare för användare och organisationer, genom att kombinera autentisering och auktorisering i ett standardiserat protokoll.
Viktiga komponenter i OIDC
- Autentisering - är processen att verifiera att användaren är den som de säger att de är.
- Ett Relaying Party (RP) - är programvaran, såsom en webbplats eller applikation, som begär tokens som används för att autentisera en användare eller få tillgång till en resurs.
- OpenID Provider (OP)- är de applikationer som en användare redan har ett konto hos. Deras roll i OIDC är att autentisera användaren och vidarebefordra den informationen till användarapplikationen.
- Identitetstokens - innehåller identitetsdata inklusive resultatet av autentiseringsprocessen, en identifierare för användaren och information om hur och när användaren autentiserades.
- Användare - är personer eller tjänster som söker tillgång till en applikation utan att skapa ett nytt konto eller tillhandahålla ett användarnamn och lösenord.
Hur fungerar OIDC-autentisering?
OIDC-autentisering möjliggör att en användare kan använda centrala autentiseringsfunktioner för tjänster och applikationer. Tjänsten X sätts upp att via OIDC protokollet delegera autentiseringsprocessen till en central enhet, kallad OpenID-leverantören. Det innebär att användaren inte behöver specifika inloggningsuppgifter för varje tjänst/applikation den använder utan kan istället låta all verifiering av identitet ske på en central punkt och därmed ha mycket större kontroll över sin identitet. När PhenixID agerar OpenID-leverantör kan administratören centralt styra över autentiseringsprocessen, tex vilken/vilka metoder som ska tillåtas, och användaren har möjlighet att styra vilken information om användaren som ska skickas tillbaka till tjänsten.
På detta sätt behöver användaren inte skapa ett nytt konto och deras känsliga uppgifter förblir skyddade. OneTouch hanterar inloggningsprocessen och säkerställer att endast verifierade användare får åtkomst till tjänsten. OIDC-autentisering gör det enklare och säkrare för användare att få tillgång till olika tjänster utan att behöva hantera flera konton och lösenord.
ID-tokens
OpenID-leverantören använder ID-tokens för att överföra autentiseringsresultat och relevant information till användarapplikationen. Exempel på data som skickas inkluderar en ID, e-postadress och namn.
Omfång (Scopes)
OpenID Connect (OIDC) scopes används av en applikation under autentisering för att godkänna åtkomst till en användares detaljer, såsom namn och bild. Varje scope returnerar en uppsättning användarattribut, som kallas claims. Vilka scopes en applikation bör begära beror på vilka användarattribut applikationen/Relaying Party behöver. När användaren godkänner de begärda scopes returneras claims i en ID-token.
Ett vanligt exempel på användning av OIDC scopes är vid multi-faktor-autentisering (MFA) där användare autentiserar sig med hjälp av tjänster som BankID, Freja eID eller PhenixID OneTouch. När en applikation begär dessa scopes, kan användaren godkänna åtkomst till sina grundläggande profiluppgifter genom att använda en legitimeringsmetod som exempelvis BankID eller Freja eID. Detta garanterar en säker och verifierad inloggning där claims skickas tillbaka i en ID-token för att bekräfta användarens identitet och auktorisera åtkomst till applikationen.
Vad är OIDC-flöden?
OIDC-flöden definierar hur tokens begärs och levereras till användarapplikationen.
Några exempel:
-
OIDC Authorization Code Flow: OpenID-leverantören skickar en unik kod till användarapplikationen. Användarapplikationen skickar sedan den unika koden tillbaka till OpenID-leverantören i utbyte mot token. Denna metod används för att OpenID-leverantören ska kunna verifiera användarapplikationen innan token skickas. Webbläsaren kan inte se token i denna metod, vilket hjälper till att hålla den säker.
-
OIDC Authorization Code Flow med PKCE-tillägg: PKCE-förbättrad Authorization Code Flow introducerar en hemlighet som skapas av den anropande applikationen och som kan verifieras av auktoriseringsservern; denna hemlighet kallas Code Verifier. Dessutom skapar den anropande applikationen ett transformerat värde av Code Verifier, kallat Code Challenge, och skickar detta värde över HTTPS för att hämta en Authorization Code. På detta sätt kan en illasinnad angripare endast fånga upp Authorization Code, men de kan inte byta ut den mot en token utan Code Verifier.
-
Client Credentials Flow: Detta flöde tillhandahåller åtkomst till webb-API genom att använda applikationens identitet. Det används vanligtvis för server-till-server-kommunikation och automatiserade skript som inte kräver användarinteraktion.
Ytterligare flöden, såsom OIDC implicit flöde, som är utformat för webbläsarbaserade applikationer, rekommenderas inte eftersom de utgör en säkerhetsrisk.
OIDC vs. OAuth 2.0
OIDC byggdes ovanpå OAuth 2.0 för att lägga till autentisering. OAuth 2.0-protokollet utvecklades först och sedan lades OIDC till för att förbättra dess egenskaper. Skillnaden mellan de två är att OAuth 2.0 tillhandahåller auktorisering, medan OIDC tillhandahåller autentisering. OAuth 2.0 är det som låter användare få åtkomst till en användarapplikation, med hjälp av deras konto hos en OpenID Provider vidarebefordra en användarprofil till användarapplikationen. OIDC tillåter också organisationer att erbjuda sina användare enkel inloggning.
Fördelar med OIDC-autentisering
Genom att minska antalet konton som användare behöver för att få tillgång till appar, erbjuder OIDC flera fördelar för både individer och organisationer:
-
Minskar risken för stulna lösenord När människor behöver använda flera lösenord för att få tillgång till de appar de behöver för arbete och privatliv, väljer de ofta lättmemorerade lösenord, såsom Password1234!, och använder samma över flera konton. Detta ökar risken för att en angripare kommer att gissa ett lösenord. Och när de vet lösenordet till ett konto, kan de kanske få tillgång till andra konton också. Genom att minska antalet lösenord som någon måste memorera, ökar det sannolikheten för att de kommer att använda ett starkare, säkrare lösenord.
-
Förbättrar säkerhetskontroller Genom att centralisera autentisering i en app, kan organisationer också skydda åtkomst över flera appar med starka åtkomstkontroller. OIDC stödjer tvåfaktors- och flerfaktorsautentisering, som kräver att användare verifierar sin identitet med minst två av följande:
- Något användaren vet, vanligtvis ett lösenord.
- Något användaren är, som ett fingeravtryck eller ansiktsskanning.
- Något de har, såsom en betrodd enhet eller token som inte lätt kan dupliceras.
Flerfaktorsautentisering är en beprövad metod för att minska kontokompromiss. Organisationer kan också använda OIDC för att tillämpa andra säkerhetsåtgärder, som privilegierad åtkomsthantering, lösenordsskydd, inloggningssäkerhet eller identitetsskydd, över flera appar.
-
Förenklar användarupplevelsen: Att logga in på flera konton under dagen kan vara tidskrävande och frustrerande för användare. Dessutom, om de tappar eller glömmer ett lösenord, kan återställning av det ytterligare störa produktiviteten. Företag som använder OIDC för att erbjuda sina anställda enkel inloggning hjälper till att säkerställa att deras arbetskraft tillbringar mer tid på produktivt arbete snarare än att försöka få tillgång till appar.
-
Standardiserar autentisering: OpenID Foundation, som inkluderar högprofilerade varumärken som Microsoft och Google, byggde OIDC. Det designades för att vara interoperabelt och stödjer många plattformar och bibliotek, inklusive iOS, Android, Microsoft Windows och de största moln- och identitetsleverantörerna.
-
Effektiviserar identitetshantering: Organisationer som använder OIDC för att tillhandahålla enkel inloggning för sina anställda och partners kan minska antalet identitetshanteringslösningar de behöver hantera. Detta gör det lättare att hålla reda på förändrade behörigheter och tillåter administratörer att använda ett gränssnitt för att tillämpa åtkomstpolicyer och regler över flera appar. Företag som använder OIDC för att låta människor logga in på deras appar med hjälp av en OpenID Provider minskar antalet identiteter de behöver hantera överhuvudtaget.
OIDC-exempel och användningsfall
Många organisationer använder OIDC för att möjliggöra säker autentisering över webb- och mobilappar. Här är några exempel:
- Ett företag vill erbjuda enkel inloggning till anställda som behöver få tillgång till Microsoft Office 365, Salesforce, Box och Workday för att utföra sitt arbete. Istället för att kräva att anställda skapar separata konton för var och en av dessa appar, använder företaget OIDC för att tillhandahålla åtkomst till alla fyra. Anställda använder ett konto de redan har i organisationen varje gång de loggar in och får åtkomst till alla appar de behöver för arbete.
- När en anställd loggar in på företagets interna system, kan företaget använda OIDC tillsammans med en identitetsleverantör som erbjuder stark autentisering. Anställda kan använda en säkerhetsnyckel eller biometrisk autentisering för att logga in, och identitetsleverantören skickar nödvändiga användarattribut tillbaka till företagets system för att bekräfta användarens identitet.
OIDC vs. SAML
OpenID Connect (OIDC) och Security Assertion Markup Language (SAML) är två populära protokoll för autentisering och auktorisering, men de har några viktiga skillnader. OIDC bygger på OAuth 2.0 och används ofta för modern applikationsutveckling, särskilt inom webb- och mobilappar. Det är lättviktigt och använder JSON för att överföra data, vilket gör det enkelt att implementera och integrera med andra tjänster.
SAML, å andra sidan, är ett XML-baserat protokoll som ofta används i företagsmiljöer för Single Sign-On (SSO) och federation mellan olika organisationer. SAML är robust och erbjuder kraftfulla funktioner för att hantera autentisering i större och mer komplexa miljöer, men kan vara mer komplicerat att implementera jämfört med OIDC.
När ska man använda vilket?
- IDC: Passar bäst för moderna webb- och mobilapplikationer där enkelhet och snabbhet är viktigt. Det är idealiskt för konsumentorienterade tjänster där användarupplevelsen står i fokus.
- SAML: Är bättre lämpat för företagsapplikationer och interna system där säkerhet och detaljerad kontroll är avgörande. Det används ofta i miljöer där flera organisationer behöver samarbeta och dela autentiseringsinformation.
Sammanfattningsvis, OIDC erbjuder en modern och användarvänlig lösning för många applikationer, medan SAML ger en robust ram för komplexa företagsbehov. Valet mellan dem beror på användningsfall och specifika krav i din organisation.
Implementera OIDC för säker autentisering med PhenixID Authentication
PhenixID Authentication erbjuder en omfattande lösning som utnyttjar OIDC för att förenkla inloggningsupplevelser och höja säkerheten. Med PhenixID Authentication kan organisationer ge sina anställda och användare en säker och smidig inloggning till flera applikationer. Vår lösning gör det möjligt att hantera alla identiteter och autentiseringssäkerhetspolicyer på ett enda ställe, vilket minimerar risken för säkerhetsincidenter och förbättrar användarupplevelsen. Upptäck hur PhenixID Authentication kan transformera din organisations säkerhetshantering och erbjuda en robust, framtidssäker autentiseringslösning.