Skip to Content

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:

  1. L’utente naviga su Account → Sicurezza → Autenticazione a Due Fattori.
  2. Vengono mostrati un QR code e una chiave di inserimento manuale.
  3. L’utente scansiona il QR code con la propria app authenticator.
  4. L’utente inserisce il codice iniziale a sei cifre per confermare la configurazione.
  5. 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.

POST/api/user/2fa/totp/enable

Avvia l’enrollamento TOTP per l’utente autenticato. Restituisce il segreto TOTP e il data URI del QR code.

POST/api/user/2fa/totp/verify

Conferma l’enrollamento verificando il codice TOTP iniziale. Genera e restituisce i codici di recupero.

DELETE/api/user/2fa/totp

Rimuove 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_TOKEN e TWILIO_FROM_NUMBER configurate nell’API Auris.

Per una guida completa alla configurazione di SMS OTP inclusa la configurazione Twilio, vedi Autenticazione SMS OTP.

Configurazione utente

  1. L’utente naviga su Account → Sicurezza → Numero di Telefono.
  2. L’utente inserisce il proprio numero di cellulare in formato E.164 (es. +39 02 1234 5678).
  3. Auris invia un codice di verifica tramite SMS.
  4. L’utente inserisce il codice per confermare la proprietà del telefono.
  5. 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.
POST/api/user/phone

Imposta il numero di telefono dell’utente e invia un codice di verifica.

POST/api/user/phone/verify

Verifica il numero di telefono con il codice ricevuto via SMS.

POST/api/user/2fa/sms/enable

Abilita SMS OTP come secondo fattore dopo che il numero di telefono è verificato.

POST/api/user/2fa/sms/send

Invia 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

  1. L’utente naviga su Account → Sicurezza → Passkey.
  2. L’utente clicca “Registra Passkey” e fornisce un nome per la credenziale.
  3. Il browser presenta una richiesta di autenticazione di piattaforma (Touch ID, Windows Hello, o una chiave hardware).
  4. 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.

POST/api/user/2fa/webauthn/enable

Avvia la registrazione WebAuthn come secondo fattore. Restituisce la sfida di registrazione.

POST/api/user/2fa/webauthn/challenge

Genera una sfida di autenticazione per una verifica MFA in corso.

DELETE/api/user/2fa/webauthn

Rimuove 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:

FattoreDescrizioneTrigger di esempio
Reputazione IPIndirizzo IP associato ad attività malevola nota, VPN, proxy o datacenterLogin da un nodo di uscita Tor
Fiducia dispositivoFingerprint del dispositivo sconosciuto (nessun login riuscito precedente da questo dispositivo)Primo login da un nuovo laptop
Anomalia geograficaViaggi impossibili — la distanza tra la posizione del login precedente e quella attuale implica un movimento più veloce del possibileLogin dall’Italia seguito 30 minuti dopo da un login dal Giappone
Pattern comportamentaliOrario di login, cadenza delle richieste e altri segnali comportamentali che si discostano dalla baseline dell’utenteLogin alle 3:00 quando l’utente accede sempre durante l’orario lavorativo
Sensibilità dell’azioneLe operazioni più sensibili (es. cambio email, generazione chiavi API) vengono valutate più rigorosamenteUtente 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:

SogliaComportamento
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:silver per 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:

MetodoToggleNote
TOTPAbilita/DisabilitaAbilita per consentire agli utenti di enrollare app authenticator
SMS OTPAbilita/DisabilitaRichiede Twilio configurato nelle variabili d’ambiente
WebAuthnAbilita/DisabilitaRichiede HTTPS (le passkey non funzionano su HTTP semplice)
MFA AdattivaAbilita/DisabilitaQuando disabilitata, si applica la policy statica a tutti gli utenti

Policy di applicazione:

PolicySignificato
optionalGli utenti possono configurare l’MFA ma non sono obbligati
requiredTutti gli utenti devono enrollare almeno un metodo MFA per completare il login
adaptiveL’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