Protocolli di Autenticazione Spiegati: Flusso, Crittografia e Standard Comuni
Un protocollo di autenticazione è una sequenza definita di messaggi crittografici che verifica l'identità di un'entità prima di concedere l'accesso.
Flusso Generico del Protocollo
- Inizio: il client richiede l'accesso a una risorsa protetta.
- Presentazione Credenziali: il client invia un'affermazione di identità (nome utente, certificato, token).
- Sfida (opzionale): il server invia un nonce, un enigma crittografico o una richiesta di fattore aggiuntivo.
- Risposta: il client calcola una prova (hash password, firma, OTP, match biometrico).
- Verifica: il server valida la prova contro un riferimento memorizzato (password hashata, chiave pubblica, segreto TOTP).
- Stabilimento Sessione: in caso di successo, il server emette un token di sessione (JWT, cookie, asserzione SAML, token di accesso OAuth).
- Validazione Sessione: le richieste successive presentano il token; il server controlla firma, scadenza, revoca.
- Terminazione: logout, timeout o revoca invalida il token.
Proprietà di Sicurezza
- Resistenza al replay: nonce, timestamp, codici monouso.
- Protezione MITM: Mutual TLS, channel binding, sfide firmate.
- Protezione credenziali: hash lenti salati (Argon2, bcrypt), prove a conoscenza zero.
- Forward secrecy: chiavi effimere (in TLS, protocollo Signal).
Principali Famiglie di Protocolli
- Password / Conoscenza: HTTP Basic, Digest, Forms + hash salato.
- Biometrico / Inherenza: FIDO2/WebAuthn, Apple Face ID, Windows Hello.
- Due Fattori (2FA/MFA): TOTP (RFC 6238), Push (Duo, Auth0), SMS/Email OTP (più debole), chiavi hardware (YubiKey).
- Federato / Delegato: OAuth 2.0 / OpenID Connect (Google, Microsoft, Okta), SAML 2.0 (SSO aziendale).
- Basato su Ticket: Kerberos (domini Windows), SPNEGO.
- Basato su Certificato: mTLS, chiavi SSH, Smart Card (PIV/CAC).
Scegliere un Protocollo
Adatta al modello di minaccia, attrito per l'utente e infrastruttura. Best practice moderna: WebAuthn + OIDC per autenticazione senza password e resistente al phishing.