Vergelijking van de Top 3 Federated Indentity Providers: OpenID, OAuth, SAML8 min read

OpenID

OpenID is een open standaard gesponsord door Facebook, Microsoft, Google, PayPal, Ping Identity, Symantec, en Yahoo. OpenID maakt het mogelijk gebruikers te authenticeren door gebruik te maken van diensten van derden, zogenaamde identity providers. Gebruikers kunnen ervoor kiezen hun favoriete OpenID provider te gebruiken om in te loggen op websites die het OpenID authenticatie schema accepteren.

De OpenID-specificatie definieert drie rollen:

  • De eindgebruiker of de entiteit die zijn identiteit wil verifiëren
  • De relying party (RP), dat is de entiteit die de identiteit van de eindgebruiker wil verifiëren
  • De OpenID provider (OP), dat is de entiteit die de OpenID URL registreert en de identiteit van de eindgebruiker kan verifiëren

Het volgende diagram verklaart een use case voor een OpenID scenario:

federated identity_OpenID

Security Considerations

OpenID heeft in het verleden een aantal interessante kwetsbaarheden gekend, bijvoorbeeld:

  • Phishing-aanvallen: Aangezien de relying party het authenticatieproces (indien nodig) naar de OpenID-provider controleert, is het mogelijk voor een malafide relying party om de gebruiker door te sturen naar een nep OpenID-provider en verzamelt de credentials van de gebruiker voor de legale OpenID-provider.
  • Authentication Flaws: In maart 2012 presenteerden drie onderzoekers een paper waarin twee kwetsbaarheden in OpenID werden belicht. Met beide kwetsbaarheden kan een aanvaller zich voordoen als een willekeurige gebruiker op een website als de website niet goed controleert of het antwoord van de OpenID-provider een correct ondertekend e-mailadres bevat.

SAML

Security Assertion Markup Language (SAML) is een product van het OASIS Security Services Technical Committee. SAML, daterend uit 2001, is een op XML gebaseerde open standaard voor het uitwisselen van authenticatie- en autorisatiegegevens tussen partijen.

De SAML-specificatie definieert drie rollen:

  • De principal, dat is typisch de gebruiker die zijn of haar identiteit wil verifiëren
  • De identity provider (idP), dat is de entiteit die in staat is de identiteit van de eindgebruiker te verifiëren
  • De service provider (SP), dat is de entiteit die de identity provider wil gebruiken om de identiteit van de eindgebruiker te verifiëren

Het volgende diagram verklaart een use case voor een SAML-scenario:

federated identity_SAML

Security Considerations

  • Een groep onderzoekers heeft in 2011 een paper gepresenteerd waarin ze een kwetsbaarheid in XML Signature Wrapping hebben gebruikt om zich als een willekeurige gebruiker voor te doen.

OAuth

OAuth is een andere open standaard. OAuth, dat dateert uit 2006, verschilt van OpenID en SAML in het feit dat het uitsluitend voor autorisatiedoeleinden is bedoeld en niet voor authenticatiedoeleinden.

De OAuth-specificaties definiëren de volgende rollen:

  • De eindgebruiker of de entiteit die eigenaar is van de bron in kwestie
  • De bronserver (OAuth Provider), dat is de entiteit die de bron host
  • De client (OAuth Consumer), dat is de entiteit die de bron wil consumeren na autorisatie van de client

Het volgende diagram legt een user case voor een OAuth-scenario uit:

Overwegingen met betrekking tot de beveiliging

  • Er is een kwetsbaar punt gevonden in OAuth 1.0.0. Een aanvaller kan een token fixeren voor het slachtoffer dat wordt geautoriseerd. De aanvaller gebruikt vervolgens het gefixeerde token.
  • OAuth 2.0 werd beschreven als een inherent onveilig protocol omdat het geen ondersteuning biedt voor handtekening, encryptie, kanaalbinding of clientverificatie. Het protocol vertrouwt volledig op de onderliggende transportlaag beveiliging (bijvoorbeeld, SSL / TLS) om de vertrouwelijkheid en integriteit te bieden.

In deze tabel worden de belangrijkste verschillen tussen de drie protocollen toegelicht:

iv id=”93855d37710

OpenID

Outh

SAML

Data Van
Huidige versie

OpenID 2.0

OAuth 2.0

SAML 2.0

SAML 2.0

Main Purpose

Single Sign-On voor consumenten

API Autorisatie tussen applicaties

Single Sign-On voor Enterprise-gebruikers

Gebruikte protocollen

XRDS, HTTP

JSON, HTTP

SAM, XML, HTTP, SOAP

Nr. van gerelateerde CVE’s

Andere protocollen

Er is een groeiend aantal andere federatieve identiteitsopties. Hier zijn een paar voorbeelden.

Higgins: Higgins is een nieuw open source protocol waarmee gebruikers kunnen bepalen welke identiteitsinformatie wordt vrijgegeven aan een onderneming.

Windows CardSpace: CardSpace is het nieuwe identiteitsmetasysteem van Microsoft dat interoperabiliteit biedt tussen identiteitsaanbieders en relying parties waarbij de gebruiker de controle heeft. Dit protocol is echter met pensioen en Microsoft werkt aan een vervanging genaamd U-Prove.

MicroID: MicroID is een nieuwe identiteitslaag voor het web en microformats waarmee iedereen eenvoudig verifieerbaar eigendom kan claimen over zijn eigen pagina’s en content die overal gehost wordt.

Liberty Alliance: Liberty Alliance is een groot commercieel georiënteerd protocol dat identiteitsvertrouwen tussen ondernemingen biedt. Het is het grootste bestaande identiteitsprotocol dat over de hele wereld wordt gebruikt.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *