Wat is OAuth (Open Autorisatie) en Waarom is het Belangrijk?

Datalekken zijn een van de grootste bedreigingen in een snel opkomende en technologisch vooruitstrevende generatie. Een datalek kan bedrijven, reputaties en zelfs overheden verwoesten. Bovendien volstaat het compromitteren van een enkele kwetsbare, bevoorrechte account door onbevoegde entiteiten om kritieke gegevens te laten “stelen”. De gedigitaliseerde wereld genereert, deelt, slaat meer gegevens op, en digitale accounts zijn gangbaar.

Veel diensten op het internet zijn geïntegreerd en ontworpen om met elkaar te interageren. Het gebruik van serviceaccounts om toegang te krijgen tot applicaties en websites houdt echter de onveilige praktijk in van het opslaan van bevoorrechte inloggegevens, voornamelijk zonder multi-factor authenticatie (MFA), en stelt privé-informatie bloot aan compromittering.

Het belang van privacy en gegevensbeveiliging is ongelooflijk. Daarom beveiligen open beveiligingsstandaarden zoals OAuth persoonlijke en privé-informatie tijdens de gegevensoverdracht tussen derde partijen. De OAuth-standaard, samengesteld door de Internet Engineering Task Force (IETF), beschermt eigenaren van bronnen op het web tijdens het gebruik van diensten van derden. Blijf lezen om meer te weten te komen over OAuth.

Wat Is OAuth?

OAuth (Open Authorization) is een open standaard framework dat toegang door derden tot geverifieerde gebruikersgerelateerde informatie of middelen op servers en diensten (zoals websites en applicaties) mogelijk maakt zonder hun inloggegevens te delen. Het biedt veilige gedelegeerde toegang tot serverbronnen namens een bronhouder met behulp van token-gebaseerde authenticatie. Echter, het authenticatieprotocol verifieert de identiteit van de gebruiker met behulp van wachtwoorden, telefoon of biometrische identiteit en mag niet verward worden met het Open Authorization protocol.

In tegenstelling tot authenticatieprotocollen zoals OpenID, autoriseert OAuth beperkte toegang tot bronnen na succesvolle authenticatie. Bedrijven zoals Facebook, Google, Amazon, Twitter, Paypal, Netflix en Microsoft staan hun gebruikers toe om accountinformatie te delen met websites en applicaties van derden via OAuth.

OAuth’s gedecentraliseerde authenticatie- en autorisatiestandaard beschermt gebruikersinformatie door toegang te verlenen tot bronnen zonder de identiteit of inloggegevens van de gebruiker te onthullen. Hierdoor kunnen diensten van derden namens een gebruiker verzoeken indienen zonder wachtwoorden en andere gevoelige informatie te hoeven inzien.

Het OAuth-mechanisme volgt een autorisatiestroom met drie sleutelcomponenten: de aanbieder, eigenaar/gebruiker en cliënt/consument. De OAuth-aanbieder is de autorisatieserver en de belangrijkste motor van OAuth. Bronservers (API’s zoals Facebook of Google) gebruiken OAuth om namens een gebruiker en met diens goedkeuring verbinding te maken met een website of applicatie van derden. De aanbieder geeft de cliëntservice een toegangsauthenticatietoken voor autorisatie tot informatie die gehost wordt door de bronserver. De Gebruiker is eigenaar van de gegevens/informatie op een bronserver. De login van de gebruiker bevestigt het delen van informatie. De Cliënt is de website of applicatie die toegang vereist tot de informatie of bronnen van de gebruiker.

Het krijgt toegang tot de resource server met een toegangstoken. Uiteindelijk vereist het clientprogramma registratie bij OAuth voor de autorisatie om door te gaan. Het volledige OAuth-proces vereist meerdere goedkeuringen en alle drie de componenten voor geautoriseerde transactie/toegang.

OAuth 1.0

De beveiliging van gebruikersinformatie is essentieel met de toename van gegevensdeling, -opslag en -gebruik. Daarom is het belangrijk om veilige autorisatiestandaarden te integreren in applicaties en webservices om datalekken te voorkomen. OAuth wordt erkend als de meest veilige informatie-uitwisselingsstandaard voor websites en API’s. De OAuth-standaard ondersteunt meerdere stromen om verschillende autorisatiescenario’s voor client-apps en verschillende apparaatmogelijkheden aan te pakken. Het ondersteunt server-tot-server apps, webapps, mobiele apps, websites, consoles of tv’s. 

Het OAuth 1.0-protocol werd in 2010 gepubliceerd om het gebrek aan open standaarden voor API-toegangsdelegatie omver te werpen. Het werd echter al in 2007 uitgebracht als een autorisatiemethode voor de Twitter-applicatie-interface. De IETF bracht twee jaar later OAuth 2.0 uit als een verbeterd en volledig nieuw autorisatieprotocol. Het verschilt van de eerste versie door toegenomen OAuth-flows, kortstondige tokens en achterwaartse incompatibiliteit met OAuth 1.0.

OAuth 1.0 hanteerde delegatie met een raamwerk gebaseerd op digitale handtekeningen. Het was sterk en veilig, zodanig dat grote spelers zoals Google en Twitter het ondersteunden en adopteerden. Het vereiste crypto-implementatie en crypto-interoperabiliteit, wat het zeer veilig maakte. Echter, het is uitdagend voor ontwikkelaars om te implementeren zonder adequate ervaring in cryptografie en sleutelbeheercapaciteiten.

OAuth is over het algemeen een delegatieprotocol dat toestemming verleent en geen authenticatieprotocol zoals OpenID – een identiteitslaag gebouwd bovenop het OAuth 2.0 protocol. Hoewel veel applicaties OAuth 2.0 gebruiken voor authenticatie en autorisatie, is het alleen gespecialiseerd in gedelegeerde autorisatie. 

Het OAuth 2.0 Framework 

Het OAuth 2.0 framework is het industriestandaard protocol voor autorisatie. Een herschrijving van het originele Open Authorization protocol biedt een meer uitgebreide oplossing voor moderne web- en niet-webclients. Het framework bevat specificaties die gebruikersgegevens verder beveiligen. Deze omvatten:

Verloop van Tokens

OAuth-tokens zijn over het algemeen onherroepelijk en verlopen niet in 1.0. Als gevolg hiervan zijn de tokens niet volledig veilig en vatbaar voor bedreigingen. Met toegang tot een token of verificatiegeheim kan een ongeautoriseerde cliënt/gebruiker, zoals hackers en kwaadaardige sites, ongeautoriseerde verzoeken doen en toegang krijgen tot de inloggegevens en persoonlijke informatie van gebruikers. Het OAuth 2.0-framework overwint deze zwakte met tokens die kunnen verlopen. Zodra het toegangstoken verloopt, vervalt ook de toegang tot de applicatie, tenzij een ander toegangstoken wordt gegenereerd via de vernieuwingscyclus. OAuth 2.0 genereert “kortlevende” toegangstokens. Ze duren van de duur van een sessie tot een paar weken, maar gebruiken vernieuwingstokens om een nieuw toegangstoken te verkrijgen in plaats van dat de gebruiker het hele proces moet herhalen om de applicatie opnieuw te autoriseren.

Client-Side Ontwikkeling 

OAuth 2.0 houdt rekening met niet-webclients evenals webworkflows. OAuth 2.0 biedt specifieke autorisatiestromen voor webapplicaties, desktopapplicaties, mobiele telefoons, tv’s/consoles en niet op browsers gebaseerde applicaties zoals API-gebaseerde diensten. Het is ook veel gemakkelijker te implementeren, mee te werken en biedt sterke authenticatie.

Scheiding van Taken

OAuth 2.0 scheidt de taken van bronlevering en het afhandelen van gebruikersautorisatie. Fysiek gescheiden servers, of zelfs verschillende domeinnamen, kunnen beide rollen op zich nemen. Zo kan elk deel van het systeem onafhankelijk schalen. Daarom vereist de autorisatieserver de client-ID en het geheim, maar de API-server accepteert alleen toegangstokens. Als gevolg hiervan vermijdt de database gegevensdeling met de API-servers. Dit maakt de nieuwe standaard meer toepasbaar voor grote ondernemingen. Dit komt omdat het deze systemen mogelijk maakt om onafhankelijk te gebeuren, door verschillende teams, en op verschillende tijdslijnen.

Bearer Tokens en Geëlimineerde Cryptografische Vereisten

OAuth creëert een evenwicht tussen het gemakkelijk gebruik van API’s en goede beveiligingspraktijken. Het gebruik van een bearer token vereenvoudigt de implementatie van OAuth door de complexiteit van cryptografische handtekeningen in OAuth 1.0-standaarden te elimineren. OAuth 2.0 vereist alleen het token zelf in het verzoek.

Tweefactorauthenticatie

OAuth gebruikte de minder veilige enkelvoudige authenticatiemethode voor het openbaar maken van accounts. De enkelvoudige authenticatie kon gemakkelijk worden gecompromitteerd aangezien hackers slechts één stuk informatie nodig hebben om toegang te krijgen. OAuth 2.0 vereist echter meer niveaus van authenticatie om een gebruiker toegang te geven. Het gebruikt tokenisatie en een tweefactoraard om gebruikersaccounts te beveiligen.

Waarom is OAuth Belangrijk?

Geavanceerde webapplicaties, mobiele apps en unieke bedrijfsmodellen zijn opgekomen. De evolutie van gebruiksscenario’s naar nieuwe situaties maakt traditionele autorisatiemechanismen ontoereikend. Veel van deze scenario’s vereisen dat een server of client communiceert (tapt in) met meerdere servers om een verzoek of actie uit te voeren. De noodzaak om nieuwe oplossingen te bieden voor het delen van gegevens en het federeren van identiteit tussen meerdere vertrouwde partijen wordt daardoor versterkt. OAuth is een krachtig beveiligingsraamwerk dat ernaar streeft de uitdagingen geassocieerd met autorisatie op te lossen. Daarom is het belangrijk om OAuth te integreren in applicaties en websites. Hier is waarom:

Het beveiligt serverinformatie zelfs tijdens het delen

Het OAuth-protocol is afhankelijk van SSL (Secure Sockets Layer) om ervoor te zorgen dat gegevens tussen de webserver en browser privé blijven. Het is in feite een belangrijk onderdeel van de website-authenticatie van elke organisatie omdat het de inloggegevens van gebruikers beschermt.

Tokenisatie staat slechts beperkte toegang tot gebruikersgegevens toe

Gevoelige informatie zoals creditcardgegevens en medische dossiers krijgen elk een token-ID toegewezen en worden op afstand opgeslagen. Handelaren ontvangen de tokens, niet de daadwerkelijke gegevens. Daarom blijft de gedeelde informatie privé. Derde partijen die nog geen toegang hebben tot hun medische dossiers, wachtwoorden of creditcardnummer, kunnen het token verifiëren voor transacties.

OAuth maakt het gebruik van single sign-on (SSO) mogelijk

SSO zorgt voor gemakkelijke toegang, beheerst risico’s en geeft gebruikers controle over hun gegevens. Het verhoogt het moreel en de productiviteit van gebruikers door toegang te bieden tot meerdere applicaties met slechts één set inloggegevens. Het consolideert gebruikersgegevens en vereenvoudigt het inlogproces voor gebruikers. Dit elimineert het gedoe van het beheren van talrijke wachtwoorden of het herhalen van dezelfde informatie bij het gebruik van online diensten.

Het geeft gebruikers de controle over wat diensten van derden met hun middelen kunnen doen

Traditionele processen vereisen het delen van inloggegevens met websites van derden om informatie te delen. OAuth beperkt echter derde partijen en voorkomt dat ze bepaalde kwaadaardige acties uitvoeren, zoals het wijzigen van gebruikersinstellingen of gebruikersgegevens, en het blokkeren van de toegang van de gebruiker tot het account.

Conclusie

OAuth (Open Authorization) beschermt gebruikersinformatie zo veel mogelijk tegen datalekken. Het eerste protocol voor OAuth 1.0 werd herschreven naar OAuth 2.0. De cybersecurity-industrie neemt OAuth 2.0 breed aan als de meest veilige optie voor autorisatie. Hoewel er geen waterdicht autorisatiesysteem bestaat, is OAuth een van de beste. Sites zoals Facebook, Twitter, LinkedIn, Google, Amazon, Instagram en GitHub gebruiken OAuth als hun primaire technologie voor authenticatie en autorisatie.