La password non sta morendo
L'anno scorso, c'erano articoli di notizie in circolazione su internet che affermavano che le grandi aziende tecnologiche si stavano unendo per eliminare le password. Alcune startup hanno addirittura dichiarato che le password erano obsolete e superate.
Introduzione
L'anno scorso, c'erano articoli di notizie in circolazione su internet che affermavano che grandi aziende tecnologiche come Apple, Google e Microsoft si stavano unendo per eliminare le password. Alcune startup hanno addirittura dichiarato che le password erano obsolete e superate. Dopo essermi immerso nel mondo della gestione dell'identità per mesi, ho iniziato a mettere in dubbio la validità e la praticità di queste affermazioni.
Cosa fa una password?
A prima vista, la risposta sembra ovvia: le password vengono utilizzate per accedere e verificare le identità. Tuttavia, ho un punto di vista diverso se consideri il fatto che le password non possono davvero verificare chi sei:
- Quando un utente accede a un sito web con un'email e una password, il sito web non ha modo di confermare la persona reale dietro queste credenziali. Potrebbe essere un essere umano o addirittura un gatto.
- Chiunque può sbloccare un iPhone con il PIN corretto.
In realtà, lo scopo di una password è quello di dimostrare in modo anonimo la proprietà di qualcosa: un account utente, un dispositivo o l'accesso a una porta.
Gli attuali "killer delle password"
Le aziende menzionate in precedenza hanno proposto vari "killer delle password". Molti affermano di essere alternative più sicure che eliminano la necessità per gli utenti di ricordare password complesse e statiche durante l'autenticazione. Tuttavia, la maggior parte di queste alternative non è del tutto pratica per rimuovere completamente le password.
Autenticazione FIDO
L'autenticazione [FIDO] (https://fidoalliance.org/) (Fast Identity Online), come spiegato nella [documentazione ufficiale] (https://fidoalliance.org/how-fido-works/), utilizza tecniche di crittografia di chiave pubblica per la registrazione e l'accesso (vale la pena notare che [WebAuthn] (https://www.w3.org/TR/webauthn-2/) è una componente chiave delle specifiche FIDO2). In superficie, il processo sembra interessante:
Semplice no? Purtroppo, c'è un ostacolo significativo lungo il cammino: la compatibilità. Rispetto alla tradizionale combinazione di "identificatore e password", l'autenticazione FIDO richiede:
- Siti web o app che supportano FIDO.
- Browser e/o sistemi operativi che supportano FIDO.
- Dispositivi dell'utente che hanno un meccanismo di verifica user-friendly.
L'incapacità di soddisfare uno qualsiasi di questi requisiti rende l'autenticazione FIDO indisponibile, costringendo a ricorrere ad altri metodi.
Inoltre, anche se tutte le condizioni sono soddisfatte, cosa qualifica come un "meccanismo di verifica user-friendly" su un dispositivo? Attualmente, potrebbe implicare metodi biometrici come il riconoscimento delle impronte digitali o del viso, accompagnato da un'opzione di fallback come un codice PIN, cioè una password. Alla fine, siamo riportati al punto di partenza.
Tecnicamente, non è un "killer di password" ma piuttosto un processo di autenticazione o verifica più sicuro e user-friendly protetto da password.
Password monouso
Anche se il nome include il termine “password”, le [password monouso] (https://en.wikipedia.org/wiki/One-time_password) (OTP) non sono password tradizionali perché sono dinamiche. Esistono due tipi popolari di OTP:
- Password monouso basata sul tempo (TOTP): Generata algoritmicamente utilizzando il tempo corrente come fonte di unicità. È comunemente utilizzato in [Autenticazione multi-fattore] (https://en.wikipedia.org/wiki/Multi-factor_authentication) (MFA) o 2FA.
- Password monouso SMS/Email: Generata sul server utilizzando algoritmi casuali. In alcuni paesi, è stata ampiamente adottata come metodo di accesso primario.
Le TOTP potrebbero non essere riconosciute ampiamente per nome. Ad esempio, quando un sito web ti sollecita a configurare MFA e usare un'app come Google Authenticator o Duo per scansionare un codice QR, stai molto probabilmente usando TOTP. Potresti aver notato anche che il sito web visualizza spesso un lungo "codice di recupero" e ti consiglia di salvarlo poiché verrà mostrato una sola volta. Alcuni siti web incoraggiano gli utenti a stamparlo su carta. In sostanza, questo codice di recupero funziona come una lunga password.
Per quanto riguarda le OTP SMS/Email, possono essere costose e non affidabili:
- Costruire un mittente SMS o email da zero richiede la configurazione.
- I mittenti di email devono stabilire una "[reputazione] (https://messagebird.com/guides/o/email-sender-reputation)" positiva per migliorare la consegnabilità, altrimenti, il mittente può essere segnato come spam.
- Ogni paese ha i suoi operatori di rete mobile, portando a tempi di consegna imprevedibili e costi notevoli per l'invio di SMS, in particolare per le startup.
Biometria
Il termine "biometria" si riferisce all'uso di metodi biometrici esclusivamente per l'autenticazione online. In realtà, c'è una differenza fondamentale rispetto ad altri metodi: l'autenticazione biometrica sposta l'originale compito di "provare la proprietà di qualcosa" a "provare chi sei". A causa delle preoccupazioni sulla privacy, i metodi biometrici sono utilizzati principalmente per l'autenticazione locale.
La password non è perfetta, però
Come possiamo vedere, i "killer delle password" stanno essenzialmente nascondendo le password o utilizzando le password come opzioni di fallback. Ecco un riepilogo dei vantaggi delle password basato sulla nostra discussione:
- Accessibilità e compatibilità: Le password possono essere utilizzate in vari sistemi e sono accessibili a una vasta gamma di utenti.
- Economia e versatilità: Le password sono in genere più economiche di altri metodi e adattabili a diversi scenari.
- Anonimato e privacy: Le password consentono un utilizzo anonimo e proteggono la privacy dell'utente.
Ma ogni medaglia ha due facce. Sebbene le password abbiano i loro vantaggi, affidarsi esclusivamente ad esse per l'autenticazione pone vulnerabilità significative. Possono essere impegnative da gestire per gli utenti finali e, se i proprietari dei siti web non seguono le pratiche di sicurezza adeguate, le password diventano facili da compromettere. Le pratiche di sicurezza pericolose includono, ma non sono limitate a:
- Consentire password deboli o trapelate.
- Mancanza di impiego di HTTPS per le connessioni.
- Uso di algoritmi di hash non sicuri.
- Mancanza di aderenza rigorosa a standard collaudati come OAuth o OpenID Connect (OIDC).
- Esposizione del database al pubblico.
Conclusione
Non intendo sminuire alcuno dei metodi di autenticazione sopra menzionati. Al contrario, mentre lavoro alla costruzione di Logto, ho sviluppato un profondo rispetto per questi notevoli metodi di autenticazione e per le persone dietro di loro.
Tuttavia, raggiungere il 100% di sicurezza è un obiettivo irraggiungibile. Ciò a cui possiamo aspirare è ridurre la possibilità di attacchi. Un approccio efficace consiste nel combinare l'autenticazione basata su password con password monouso in base al dispositivo o all'ambiente corrente, che aggiunge un ulteriore livello di verifica ed è stato ampiamente adottato. Sfruttando i punti di forza di diverse tecniche di autenticazione, possiamo creare un approccio stratificato che fornisce una protezione più forte.
In conclusione, piuttosto che concentrarsi su parole d'ordine come "killer di password" quando le password non vengono realmente eliminate, sarebbe più utile concentrarsi sul trovare un equilibrio tra sicurezza e user experience. Ciò comporta la comprensione dei punti di forza e delle limitazioni dei vari metodi di autenticazione e la loro implementazione in modo da garantire sia la sicurezza dei dati dell'utente che un'esperienza utente fluida.