#45 - Passkeys: The Future of Login
Pe 19 februarie 2025, a avut loc cea de-a 45-a ediție a Sibiu Web Meetup, unde Daniel Ferecatu ne-a introdus în lumea Passkeys și a autentificării moderne, securizate, fără parole.

Problema parolelor și soluțiile existente
Parolele sunt peste tot și reprezintă una dintre cele mai vulnerabile metode de autentificare. Daniel a explicat de ce parolele sunt problematice:
- Oamenii folosesc parole simple („abc123”, „password”), ceea ce le face ușor de spart.
- Există aplicații care înca stochează parolele în plain text, ceea ce reprezintă un risc uriaș.
- Chiar și metodele mai avansate, precum hashing-ul (folosind algoritmi ca SHA-256), pot fi vulnerabile dacă nu sunt implementate corect.
- Atacurile de tip phishing și man-in-the-middle pot compromite parolele, chiar dacă acestea sunt puternice.
Managerii de parole
Pentru a reduce riscurile, s-au dezvoltat manageri de parole precum 1Password, Bitwarden, LastPass, care ajută utilizatorii să gestioneze parole unice pentru fiecare cont.
Totuși, aceste soluții nu elimină complet problema parolelor, ci doar o gestionează mai bine. Aici intervin Passkeys.
Ce sunt Passkeys și cum funcționează?
Un Passkey este o metodă de autentificare fără parolă, bazată pe criptografie cu chei publice. Aceasta funcționează astfel:
- La crearea unui cont – se generează o pereche de chei criptografice:
- Cheia publică este stocată pe server.
- Cheia privată este salvată pe dispozitivul utilizatorului, protejată de sistemul de operare (ex. Secure Enclave pe MacOS sau TPM pe Windows).
- La autentificare, utilizatorul trebuie doar să aprobe accesul folosind FaceID, TouchID sau un PIN.
- Serverul validează autentificarea printr-un challenge criptografic, verificând dacă cheia privată corespunde celei publice.
- Nimeni nu poate intercepta sau fura Passkey-ul, deoarece cheia privată nu părăsește niciodată dispozitivul.
Acest sistem elimină complet posibilitatea atacurilor de phishing, deoarece utilizatorul nu introduce nicio parolă care să poată fi furată.
Implementarea tehnică a Passkeys
Daniel a demonstrat cât de simplu este să implementezi Passkeys folosind TypeScript și WebAuthn API. Procesul implică următorii pași:
1. Crearea unui Passkey
- Serverul generează un challenge unic (o valoare aleatorie folosită pentru autentificare sigură).
- Dispozitivul utilizatorului creează o pereche de chei public-privată.
- Cheia publică este trimisă la server, iar cheia privată rămâne pe dispozitiv.
2. Autentificarea cu un Passkey
- Serverul trimite un challenge nou.
- Dispozitivul utilizatorului semnează acest challenge cu cheia privată.
- Serverul validează semnătura cu cheia publică.
Această metodă asigură că utilizatorul este autentic, fără a fi nevoie de parole.
Demo practic și testare live
Pe parcursul prezentării, Daniel a realizat un demo live, unde participanții au putut testa crearea și utilizarea Passkeys direct pe dispozitivele lor.
De asemenea, a fost oferit un QR code către un tool interactiv care permite verificarea compatibilității browserului și dispozitivului cu tehnologia Passkeys.
Este viitorul fără parole?
Passkeys reprezintă un pas major spre o lume mai sigură și mai ușor de utilizat, fără parole de reținut și riscuri de phishing. Tehnologia este deja susținută de giganții tech precum Apple, Google, Microsoft, iar adoptarea sa este în creștere.
Deși adopția este încă la un nivel redus (aproximativ 5% din utilizatori folosesc Passkeys), în viitor ar putea deveni standardul principal de autentificare.
Ne vedem la următorul Sibiu Web Meetup! 🚀