Droom je er al van? Een toekomst waarin je geen wachtwoorden meer hoeft te onthouden. Die droom komt steeds dichterbij. Vorig jaar vertelden we al over de toekomst van wachtwoorden. Eén van de belangrijkste ontwikkelingen is de introductie van Passkeys. We zien dat deze nieuwe vorm van authenticatie door steeds meer organisaties wordt geïmplementeerd. Misschien ben jij je er ook al wel op aan het oriënteren en heb je een aantal vragen. De belangrijkste zijn wellicht: wat zijn de voordelen van Passkeys ten opzichte van ‘normale’ wachtwoorden? En wat zijn de risico’s voor organisaties bij het implementeren van Passkeys? Wij hebben deze vragen uitgebreid onderzocht. En sharing is caring, dus delen we de resultaten van het onderzoek naar deze nieuwe manier van inloggen graag met je in dit blog.
Wat zijn Passkeys?
Terwijl technologie blijft ontwikkelen, zitten cybercriminelen helaas ook niet stil. Ze proberen continu om je om de tuin te leiden en je wachtwoord te ontfutselen. Bovendien is het een hele uitdaging om steeds unieke en sterke wachtwoorden te blijven bedenken én onthouden. Het gevolg: wachtwoorden belanden op papiertjes in een lade, in de notities van je telefoon of je klikt simpelweg steeds op ‘wachtwoord vergeten’. Met de opkomst van de nieuwste authenticatietechnologie, Passkeys, behoort dat tot het verleden.
Passkeys zorgen ervoor dat gebruikers kunnen inloggen bij apps en websites, ook wel bekend als 'relying parties', zonder het gebruik van wachtwoorden. Dit fenomeen staat ook wel bekend als 'wachtwoordloos inloggen'. In plaats van een wachtwoord te gebruiken, bevestigt een gebruiker zijn identiteit met een hardware-authenticator, zoals een vingerafdruklezer of gezichtsherkenning. Je kunt het vergelijken met het ontgrendelen van je telefoon. Zo ben je snel, veilig en zonder gedoe ingelogd. En wachtwoorden onthouden, dat is er niet meer bij.
Hoewel het gebruik van Passkeys nog niet wijdverspreid is, gebruiken grote spelers zoals Apple, Google, Amazon, eBay, Microsoft, PayPal, WhatsApp en TikTok deze technologie al. Het is waarschijnlijk dat veel bekende bedrijven snel zullen volgen.
Hoe werkt een Passkey precies?
Per website of applicatie worden er twee sleutels aangemaakt: een publieke sleutel en een privésleutel. Je moet dit zien als een code die bestaat uit letters en cijfers. De publieke sleutel is bekend bij de website of app waar je gaat inloggen. De privésleutel is gekoppeld aan jouw persoonlijke apparaat (bijvoorbeeld je telefoon of laptop). De combinatie van de sleutels zorgt ervoor dat je kunt inloggen. Stel dat jouw publieke sleutel op straat komt te liggen door een datalek, dan is er niks aan de hand. Zonder jouw privésleutel kan een hacker niks beginnen.
We nemen je mee in de voordelen die Passkeys te bieden hebben in vergelijking met traditionele wachtwoorden. Maar, zoals je van Computest Security mag verwachten, zullen we ook de potentiële risico’s van Passkeys uitgebreid bespreken. Meer hierover lees je verderop.
Voordelen van Passkeys in vergelijking met wachtwoorden
Passkeys bieden diverse beveiligingsvoordelen ten opzichte van traditionele wachtwoorden. We hebben de belangrijkste voor je op een rij gezet:
- Bestand tegen raden van wachtwoorden: Gebruikers kiezen vaak relatief korte, makkelijk te raden wachtwoorden. Naamvankind123! Of Straatnaamhuisnummer*… dit komt meer voor dan je denkt. Passkeys zijn zo lang dat het onmogelijk is om ze te raden.
- Voorkomen van wachtwoordhergebruik: Gebruikers hergebruiken vaak dezelfde wachtwoorden voor verschillende applicaties. Kan de beste overkomen, maar handig is het zeker niet. Dit betekent dat als één applicatie gehackt wordt, de aanvaller direct toegang heeft tot alle applicaties waar hetzelfde wachtwoord wordt gebruikt. Een Passkey voorkomt dit gevaar.
- Bescherming tegen phishingaanvallen: Bij een phishingaanval vult een gebruiker onbedoeld zijn echte wachtwoord in op een misleidende website die is gecreëerd door een cybercrimineel. Met Passkeys werkt dit niet, de sleutels waar we het net over hadden, werken namelijk alleen op de URL van de echte app of website. Zo wordt phishing voorkomen. Klinkt al een stuk veiliger, toch?
Risico's van Passkeys
Dankzij deze voordelen verwachten we dat veel organisaties binnenkort Passkeys zullen ondersteunen. Maar, zoals bij elke innovatie, komen er ook beveiligingsrisico's om de hoek kijken. WebAuthn, het protocol waarop Passkeys zijn gebaseerd, is van nature heel veilig. Maar het moet wel juist geïmplementeerd worden door de applicatie die het ondersteunt. Het protocol is complex en bevat een groot aantal controles die correct moeten worden uitgevoerd. Gebeurt dit niet correct, dan kan dat leiden tot aanvallen waarbij ingelogd kan worden op de accounts van willekeurige, nietsvermoedende gebruikers.
Laten we kijken naar de risico’s van Passkeys:
- Ontbrekende signature-controle: Elk authenticatieverzoek bevat data die door een privésleutel is ondertekend die gegenereerd is door de authenticator. Deze handtekening moet door de relying party worden geverifieerd. Als deze controle niet wordt uitgevoerd, kan een aanvaller als willekeurige gebruiker inloggen.
- Verwarring over de Origin: Een aanvaller kan een slachtoffer uitnodigen om een kwaadaardige relying party te bezoeken, laten we zeggen evil.com, en vragen om in te loggen met de Passkey van de echte relying party. De aanvaller kan vervolgens de inlogpoging naar de echte website doorsturen en namens de gebruiker inloggen. Om deze aanval te voorkomen, moet een relying party altijd de Origin die bij de inlogpoging is opgegeven controleren. Gelukkig wordt dit risico geminimaliseerd doordat correct geïmplementeerde authenticators ook een dubbele controle uitvoeren op dit soort aanvallen door de Origin aan ‘hun’ kant te controleren.
- Ontbrekende controle op ‘user presence en ‘user verification’: Bij elke authenticatiepoging voegen authenticators vlaggen toe voor ‘user presence’ (is de gebruiker aanwezig tijdens de authenticatie) en ‘user verification’ (is de gebruiker geverifieerd, bijvoorbeeld via een pincode of vingerafdruk). Relying parties moeten de aanwezigheid van beide vlaggen verifiëren.
- Cross-site request forgery attacks: Bij dit type aanvallen misleidt een aanvaller de browser van een slachtoffer om namens de aanvaller te authenticeren of te registreren. Als dit type aanval toegepast kan worden op de functionaliteit om een nieuwe Passkey aan een bestaand account toe te voegen, kan dit een aanvaller in staat stellen om de controle over het account van de gebruiker over te nemen. De aanvaller kan dan immers zijn eigen Passkey toevoegen aan het account van het slachtoffer. WebAuthn is niet ontworpen om standaard tegen dit soort kwetsbaarheden te beschermen, dus het is belangrijk om aparte bescherming tegen dit type aanval te implementeren.
- Ontbrekende counter check: Om het klonen van authenticators tegen te gaan, sturen authenticators een signature counter mee, die elke keer wanneer een authorizatieverzoek ondertekend wordt, wordt verhoogd. Als een relying party signature counters ontvangt die niet oplopen (bijvoorbeeld 17-11-18), dan weet de relying party dat hij met een gekloonde authenticator te maken heeft. Het overslaan van deze controle maakt het voor aanvallers makkelijker om gekloonde authenticators te gebruiken.
Risico’s in de praktijk
Niet alleen hebben we geïdentificeerd welke risico’s er kleven aan Passkeys, we hebben ook bekeken in hoeverre deze problemen daadwerkelijk in de praktijk voorkomen. Hiervoor hebben we vijf relying parties onderzocht. Tijdens het onderzoek ontdekten we één relying party die kwetsbaar was voor verwarring over de Origin, terwijl drie andere partijen de gebruikersaanwezigheid en -verificatie niet correct controleerden. Ook troffen we een applicatie aan met een ontbrekende signature counter. Uiteraard hebben we de betroffen partijen op de hoogte gebracht van de gevonden kwetsbaarheden, en oplossingen aangedragen om de aangetroffen problemen op te lossen.
Passkeys veilig implementeren in jouw organisatie
We zien een veelbelovende toekomst waarin steeds meer organisaties Passkeys zullen gebruiken. Ben je benieuwd of jouw organisatie Passkeys veilig gebruikt? Bij Computest Security kunnen we een uitgebreide beveiligingsbeoordeling uitvoeren om de veiligheid van jouw implementatie te beoordelen. Aarzel niet om contact op te nemen met onze WebAuthn-specialisten via ons contactformulier voor meer informatie of mail naar info@computest.nl.
Onderzoek in samenwerking met talentvolle student
Bij Computest Security juichen we innovatie in beveiligingstechnologieën toe. In samenwerking met academische instellingen ondersteunen wij onderzoek naar nieuwe ontwikkelingen, zoals Passkeys. In de afgelopen zes maanden heeft Peizhou Chen van de Universiteit Twente zijn masterthesis uitgevoerd bij Computest Security onder leiding van Matthijs Melissen over dit onderwerp.
Duik dieper in de details
Alle informatie over het onderzoek is gedetailleerd beschreven in de masterthesis van Peizhou Chen, beschikbaar via deze link. Bij Computest Security zijn we trots op onze samenwerking met academische instellingen om onderzoek naar actuele cybersecurity thema’s te ondersteunen.