← Back to desktop ← Return to Blog

Passkey: Autenticazione Senza Password per Aziende

Ogni settimana un’azienda in più scopre, dopo una violazione, che il problema non era il firewall ma una password riutilizzata su tre servizi diversi. L’autenticazione senza password con le passkey non è più un esperimento da early adopter: è oggi lo standard più solido per proteggere l’accesso alle web app aziendali, ed è la strada che seguo quando progetto sistemi di login per i miei clienti.

Il problema delle password non è solo la sicurezza

Le password deboli o riciclate restano la causa principale delle violazioni, ma il costo reale per un’azienda è anche operativo: reset dimenticati, ticket di supporto, utenti che annotano le credenziali su un foglio accanto alla scrivania. Ogni frizione in fase di login è un cliente che abbandona un modulo o un dipendente che perde tempo prezioso.

Aggiungere il classico secondo fattore via SMS o app OTP riduce il rischio, ma non elimina il problema alla radice: c’è sempre una password da rubare con phishing, credential stuffing o database compromessi altrove.

Cos’è una passkey e perché funziona meglio

Le passkey si basano sullo standard WebAuthn/FIDO2: al posto di una password, il browser o il dispositivo genera una coppia di chiavi crittografiche. La chiave privata resta sul dispositivo dell’utente (protetta da Face ID, Touch ID o PIN), quella pubblica viene salvata sul server. Per accedere, l’utente sblocca il dispositivo: nessuna stringa da digitare, nessun segreto che può essere intercettato o riutilizzato su un sito falso.

Il vantaggio principale rispetto a password + OTP è che le passkey sono phishing-resistant per costruzione: la chiave è vincolata al dominio reale dell’applicazione, quindi un sito clone non riceve mai una credenziale valida, anche se l’utente ci casca.

Come integro l’autenticazione senza password in una web app

Quando implemento le passkey in un progetto, lo stack tipico che uso è:

  • Frontend: chiamate dirette alla WebAuthn API del browser (nessuna libreria esterna necessaria per la UX di base), integrate nel flusso React esistente dell’app.
  • Backend: generazione e verifica delle challenge crittografiche, gestione della registrazione multi-dispositivo (un utente può avere passkey su telefono, laptop, chiave hardware).
  • Database: le chiavi pubbliche e i metadati delle credenziali vengono salvati in tabelle dedicate, separate dai dati di sessione.
  • Fallback controllato: per gli utenti che non hanno ancora un dispositivo compatibile, mantengo un percorso alternativo (magic link via email o 2FA classico) finché la migrazione non è completa.

Un esempio concreto è apicco.app, la web app che ho sviluppato per la gestione di clienti, task e fatturazione: qui l’accesso protegge dati sensibili di più aziende clienti, quindi un login robusto e senza attriti non è un dettaglio estetico ma un requisito di prodotto. Lo stesso approccio si applica a qualsiasi web app che gestisce dati riservati, da un gestionale interno a un portale clienti.

Non basta la sola autenticazione: la sicurezza è a più livelli

Le passkey risolvono il punto di accesso, ma un’infrastruttura solida richiede anche altro: gestione corretta dei secrets, sessioni con scadenza ragionevole, rate limiting sulle API, log degli accessi per individuare comportamenti anomali. Quando sviluppo o gestisco l’infrastruttura di un progetto — che sia ospitato su HestiaCP, dietro un reverse proxy con SSL automatico, o containerizzato con Docker — considero l’autenticazione come un tassello di un sistema più ampio, non come una casella da spuntare.

Da dove iniziare se gestisci già una web app con login tradizionale

Non serve riscrivere tutto da zero. Il percorso più realistico che propongo ai clienti è graduale:

  • Aggiungere le passkey come opzione accanto alla password esistente.
  • Incoraggiare l’adozione con un banner o un prompt post-login, senza forzare la migrazione.
  • Monitorare l’adozione e, quando la maggioranza degli utenti attivi ha una passkey registrata, valutare la disattivazione delle password per i nuovi account.

Questo approccio riduce il rischio operativo e permette di misurare l’impatto reale sulla riduzione dei ticket di supporto e sui tentativi di accesso sospetti.

Voglio sviluppare o mettere in sicurezza la tua web app

Che tu debba costruire una nuova applicazione da zero o rafforzare l’autenticazione di un sistema già in produzione, mi occupo dell’intero percorso: progettazione, sviluppo full-stack, infrastruttura e messa in sicurezza. Ho applicato questi stessi principi su progetti come apicco.app, indelio.eu e tandemops.app, tutti sviluppati e gestiti da me end-to-end.

Se vuoi discutere come rendere più sicura e moderna l’autenticazione della tua web app, contattami o dai un’occhiata agli altri progetti su cornelcaba.com.

Cornel Caba — signature