Det finns lika många sätt att skydda data som det finns att attackera dem. Från multifaktorautentisering till single sign-on till lokala brandväggar, alternativen är många. För utvecklare och IT-experter börjar frågan om att hålla data och identiteter skyddade ännu tidigare: man måste välja den standard som ska placeras ut för att hålla federerad identitet säker.
Det beslutet är inte alltid enkelt. Många har problem med att förstå skillnaderna mellan OAuth 2.0, OpenID Connect och SAML (Security Assertion Markup Language) som var och en strukturerar federation. Den här artikeln försöker klargöra vad dessa standarder innebär, hur de skiljer sig åt och för vilka syften företagen ska använda dem.
Vi har även en mer fokuserad jämförelse av SAML och OAuth i en annan artikel om du funderar på detta.
Skillnaderna av standarder
Den huvudsakliga skillnaden mellan dessa tre alternativ är att OAuth 2.0 är ett ramverk som kontrollerar auktorisering för att skydda resurser såsom appar eller filer medan OpenID Connect och SAML båda utgör branschstandard för federerad autentisering. Det betyder att OAuth 2.0 används i helt andra situationer än de två andra (se exempel nedan) och kan användas samtidigt med antingen OpenID Connect eller SAML.
Med antingen OpenID Connect eller SAML kan företag få autentisering av användare och placera ut single sign-on. Visserligen hanterar båda två inloggningar men de har olika fördelar och nackdelar.
- OpenID Connect bygger på OAuth 2.0-protokollet och använder dessutom ett JWT (JSON Web Token), även kallat ID-token, för att standardisera alternativen i OAuth 2.0 såsom omfattning och endpoint-detektion. Det är särskilt fokuserat på autentisering av användare och är allmänt använt för inloggning på webbplatser och appar för konsumenter.
- SAML är oberoende av OAuth och autentiserar genom utväxling av meddelanden i XML SAML-format till skillnad från JWT. Det används vanligen för att hjälpa användare i storföretag att få åtkomst av flera appar med bara en inloggning.
OAuth 2.0, OpenID Connect och SAML, en jämförelse
Kom ihåg att det inte är en fråga om vilken struktur som organisationen ska använda utan snarare när de olika komponenterna ska placeras ut. En stark identitetslösning kommer använda dessa tre strukturer för olika syften beroende på vilken typ av processer som företaget behöver skydda. Deras olika användarfall är följande:
OAuth 2.0: Om du någonsin loggat in på en ny app och låter den automatiskt söka nya kontakter via Facebook eller kontakter i din telefon så har du sannolikt använt OAuth 2.0. Denna standard ger säker delegerad åtkomst. Det betyder att en app kan vidta åtgärder eller hämta resurser från en server för användarens räkning utan att användaren behöver dela sina inloggningsdata. Det görs genom att tillåta identitetsleverantören (IdP) att utfärda token till appar från tredje part med användarens medgivande.
OpenID Connect: Om du har använt Google för att komma åt appar såsom YouTube, Facebook eller logga in på en e-handelsapp för att se din varukorg så har du kommit i kontakt med detta alternativ för autentisering. OpenID Connect är en öppen standard som organisationer använder för att autentisera användare. Identitetsleverantörer (IdP) använder detta så att användarna kan loggan in på en IdP och sedan komma åt andra webbplatser och appar utan att behöva logga in eller dela sina inloggningsdata.
SAML: Du har säkert råkat ut för en SAML-autentisering på jobbet. Den gör exempelvis att du kan logga in på företagets intranet eller IdP och sedan komma åt många ytterligare tjänster såsom Salesforce, Box eller Workday, utan att åter behöva uppge dina inloggningsdata. SAML är en XML-baserad standard för utbyte av data från autentisering och auktorisering mellan IdP och tjänstleverantörer för att verifiera användarens identitet och behörigheter och därefter tillåta eller neka tillgång till aktuella tjänster.
Storföretag använder webb-ramverk och protokoll såsom OAuth 2.0, OpenID och SAML för att få struktur och säkerhet för federerad identitet. Att veta när de olika systemen ska användas är nyckeln för skyddet av organisationens data nerifrån och upp.