Autenticazione Multi-Fattore (MFA)
L’autenticazione multi-fattore richiede agli utenti di fornire una seconda forma di verifica oltre alle credenziali primarie. Auris supporta quattro meccanismi MFA — app authenticator TOTP, one-time password via SMS, chiavi hardware e passkey WebAuthn, e MFA adattiva basata sul rischio che attiva automaticamente fattori aggiuntivi in base al rischio rilevato — che possono essere combinati secondo la tua policy di sicurezza.
TOTP (App Authenticator)
Il Time-Based One-Time Password (TOTP) è il meccanismo MFA più ampiamente supportato. Gli utenti scansionano un QR code con un’app authenticator — come Google Authenticator, Authy, 1Password, o qualsiasi applicazione conforme RFC 6238 — e inseriscono il codice a sei cifre che genera.
Come funziona
I codici TOTP sono derivati da un segreto condiviso e dall’orario corrente. Il server e l’app authenticator calcolano indipendentemente lo stesso codice per ogni finestra di 30 secondi. Non è richiesta alcuna connessione di rete sul dispositivo dell’utente.
Configurazione utente
Il flusso di enrollamento TOTP:
- L’utente naviga su Account → Sicurezza → Autenticazione a Due Fattori.
- Vengono mostrati un QR code e una chiave di inserimento manuale.
- L’utente scansiona il QR code con la propria app authenticator.
- L’utente inserisce il codice iniziale a sei cifre per confermare la configurazione.
- Vengono generati i codici di recupero e mostrati all’utente. L’utente deve salvarli — non possono essere recuperati in seguito.
Codici di recupero
Ogni configurazione TOTP genera 10 codici di recupero monouso. Se un utente perde l’accesso al proprio dispositivo authenticator, può inserire un codice di recupero per bypassare l’MFA ed eseguire il login. Dopo l’uso, un codice di recupero viene invalidato. Gli utenti possono generare un nuovo set di codici di recupero dalla propria pagina di sicurezza dell’account — farlo invalida tutti i codici precedenti.
Azioni amministrative
Gli amministratori possono resettare l’enrollamento TOTP di un utente tramite la Console (Dettaglio utente → Sicurezza → Resetta TOTP). Questo rimuove la configurazione TOTP esistente e forza l’utente a effettuare di nuovo l’enrollamento al prossimo login. Usalo quando un utente segnala un dispositivo perso o sostituito.
/api/user/2fa/totp/enableAvvia l’enrollamento TOTP per l’utente autenticato. Restituisce il segreto TOTP e il data URI del QR code.
/api/user/2fa/totp/verifyConferma l’enrollamento verificando il codice TOTP iniziale. Genera e restituisce i codici di recupero.
/api/user/2fa/totpRimuove l’enrollamento TOTP dell’utente. Richiede il codice TOTP corrente o un codice di recupero per la conferma.
SMS OTP
Le one-time password via SMS consegnano un codice di verifica al numero di cellulare registrato dell’utente tramite SMS. Auris usa Twilio come provider SMS.
Requisiti
SMS OTP richiede:
- Un account Twilio con un numero di telefono capace di inviare SMS.
- Le variabili d’ambiente
TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKENeTWILIO_FROM_NUMBERconfigurate nell’API Auris.
Per una guida completa alla configurazione di SMS OTP inclusa la configurazione Twilio, vedi Autenticazione SMS OTP.
Configurazione utente
- L’utente naviga su Account → Sicurezza → Numero di Telefono.
- L’utente inserisce il proprio numero di cellulare in formato E.164 (es.
+39 02 1234 5678). - Auris invia un codice di verifica tramite SMS.
- L’utente inserisce il codice per confermare la proprietà del telefono.
- Il numero di telefono è verificato e può essere usato per MFA SMS OTP.
Rate limit
Per prevenire abusi, Auris applica rate limit ai codici SMS OTP:
- Massimo 5 codici inviati per numero di telefono per ora.
- Un cooldown di 30 secondi tra le richieste di invio.
- Massimo 5 tentativi di verifica per codice prima che venga invalidato.
/api/user/phoneImposta il numero di telefono dell’utente e invia un codice di verifica.
/api/user/phone/verifyVerifica il numero di telefono con il codice ricevuto via SMS.
/api/user/2fa/sms/enableAbilita SMS OTP come secondo fattore dopo che il numero di telefono è verificato.
/api/user/2fa/sms/sendInvia un nuovo codice SMS OTP durante una sfida MFA.
WebAuthn / Passkey
WebAuthn (Web Authentication, FIDO2) consente agli utenti di autenticarsi usando chiavi hardware di sicurezza (YubiKey, Titan Key) o autenticatori di piattaforma (Touch ID, Face ID, Windows Hello). Quando usato come secondo fattore, l’utente tocca la propria chiave hardware o usa la biometria per completare la sfida MFA.
Le credenziali WebAuthn sono resistenti al phishing per design: la credenziale è legata allo specifico origin (dominio) e non può essere riprodotta su un sito diverso.
Per una guida completa alla configurazione WebAuthn, vedi WebAuthn / Passkey.
Configurazione utente
- L’utente naviga su Account → Sicurezza → Passkey.
- L’utente clicca “Registra Passkey” e fornisce un nome per la credenziale.
- Il browser presenta una richiesta di autenticazione di piattaforma (Touch ID, Windows Hello, o una chiave hardware).
- La credenziale viene registrata. L’utente può registrare più passkey per dispositivi diversi.
Durante la sfida MFA
Quando è richiesta l’MFA WebAuthn, la pagina Hosted Login presenta una sfida WebAuthn. L’autenticatore registrato dell’utente gestisce la risposta crittografica — non è necessario inserire alcun codice.
/api/user/2fa/webauthn/enableAvvia la registrazione WebAuthn come secondo fattore. Restituisce la sfida di registrazione.
/api/user/2fa/webauthn/challengeGenera una sfida di autenticazione per una verifica MFA in corso.
/api/user/2fa/webauthnRimuove una credenziale WebAuthn registrata tramite ID credenziale.
MFA Adattiva (Basata sul Rischio)
L’MFA adattiva valuta un punteggio di rischio su ogni login e intensifica automaticamente il requisito di autenticazione quando il rischio è elevato. Invece di richiedere sempre o mai l’MFA, Auris risponde in modo proporzionale al rischio effettivo di ogni tentativo di login.
Fattori di rischio
Auris calcola un punteggio di rischio da cinque fattori pesati:
| Fattore | Descrizione | Trigger di esempio |
|---|---|---|
| Reputazione IP | Indirizzo IP associato ad attività malevola nota, VPN, proxy o datacenter | Login da un nodo di uscita Tor |
| Fiducia dispositivo | Fingerprint del dispositivo sconosciuto (nessun login riuscito precedente da questo dispositivo) | Primo login da un nuovo laptop |
| Anomalia geografica | Viaggi impossibili — la distanza tra la posizione del login precedente e quella attuale implica un movimento più veloce del possibile | Login dall’Italia seguito 30 minuti dopo da un login dal Giappone |
| Pattern comportamentali | Orario di login, cadenza delle richieste e altri segnali comportamentali che si discostano dalla baseline dell’utente | Login alle 3:00 quando l’utente accede sempre durante l’orario lavorativo |
| Sensibilità dell’azione | Le operazioni più sensibili (es. cambio email, generazione chiavi API) vengono valutate più rigorosamente | Utente che tenta di cambiare la propria password immediatamente dopo il login |
I fattori vengono combinati in un punteggio di rischio finale da 0 a 100.
Soglie di rischio
Configura le soglie in Console → Sicurezza → MFA Adattiva:
| Soglia | Comportamento |
|---|---|
| Bassa (0–30) | Nessuna autenticazione aggiuntiva richiesta. Il login standard procede. |
| Media (31–70) | Richiedi qualsiasi metodo MFA configurato (TOTP, SMS o WebAuthn). |
| Alta (71–100) | Richiedi un metodo MFA più robusto. Il solo TOTP non è sufficiente — si preferisce WebAuthn hardware. |
Queste soglie sono configurabili. Puoi anche disabilitare completamente l’MFA adattiva e usare una policy fissa.
ACR e AMR nei token
Quando si verifica un’autenticazione step-up, Auris include claim standard nell’access token:
- ACR (Authentication Context Class Reference): Il livello di garanzia raggiunto. Ad esempio,
urn:mace:incommon:iap:silverper sessioni verificate con MFA. - AMR (Authentication Methods References): I metodi di autenticazione usati. Ad esempio,
["pwd", "totp"]per password + TOTP, o["pwd", "hwk"]per password + chiave hardware.
Il server della tua applicazione può ispezionare questi claim per applicare il controllo degli accessi a livello di sessione.
Autenticazione Step-Up
L’autenticazione step-up consente alla tua applicazione di richiedere una verifica aggiuntiva per operazioni specifiche all’interno di una sessione esistente, senza forzare un re-login completo.
Ad esempio, un utente è loggato e naviga su “Elimina Account”. La tua applicazione può attivare una sfida step-up che richiede all’utente di ri-autenticarsi (inserire la password) o completare un fattore MFA prima che l’azione distruttiva proceda.
Auris implementa lo step-up tramite ACR nella richiesta di autorizzazione. Quando la tua applicazione richiede un codice di autorizzazione con acr_values=2fa, Auris controlla il livello ACR della sessione corrente e chiede autenticazione aggiuntiva solo se la sessione non soddisfa già il requisito.
L’autenticazione step-up si basa sui claim AMR della sessione. Una sessione autenticata con TOTP (amr: ["pwd", "totp"]) non verrà di nuovo richiesta per TOTP durante la validità della stessa sessione, a meno che il requisito ACR non specifichi un metodo non già presente.
Configurazione nella Console
Le impostazioni MFA sono disponibili in Console → Autenticazione → Impostazioni MFA.
Toggle per metodo:
| Metodo | Toggle | Note |
|---|---|---|
| TOTP | Abilita/Disabilita | Abilita per consentire agli utenti di enrollare app authenticator |
| SMS OTP | Abilita/Disabilita | Richiede Twilio configurato nelle variabili d’ambiente |
| WebAuthn | Abilita/Disabilita | Richiede HTTPS (le passkey non funzionano su HTTP semplice) |
| MFA Adattiva | Abilita/Disabilita | Quando disabilitata, si applica la policy statica a tutti gli utenti |
Policy di applicazione:
| Policy | Significato |
|---|---|
optional | Gli utenti possono configurare l’MFA ma non sono obbligati |
required | Tutti gli utenti devono enrollare almeno un metodo MFA per completare il login |
adaptive | L’MFA è richiesta solo quando il punteggio di rischio supera la soglia configurata |
Soglie di rischio: Cursori configurabili per i limiti Bassa/Media/Alta e pesi per fattore.
Permessi Richiesti
Tutti gli endpoint di gestione MFA operano sull’account dell’utente autenticato e non richiedono permessi speciali oltre all’autenticazione. Le operazioni a livello admin (reset del TOTP di un altro utente, visualizzazione dello stato MFA) richiedono manage:users.
Pagine Correlate
- Autenticazione SMS OTP — Guida completa alla configurazione Twilio e all’implementazione SMS OTP
- WebAuthn / Passkey — Registrazione passkey, sfida e gestione
- Protezione dagli Attacchi — Rate limiting, blocco brute-force, rilevamento login sospetti
- Console: Impostazioni Sicurezza — Guida completa alla Console per MFA e configurazione sicurezza