Table of Contents
Istruzioni per l'attivazione del secondo fattore di autenticazione
AVVISO IMPORTANTE
E' possibile che queste istruzioni vengano modificate per introdurre miglioramenti e precisazioni. Le principali differenze con le versioni precedenti verranno opportunamente evidenziate. Consigliamo di controllarle periodicamente.
ATTENZIONE
Una volta attivato il secondo fattore, ogni autenticazione effettuata via IdP INFN-AAI, richiederà due fattori. Potete scegliere il primo nel solito modo (username/password; X.509; Kerberos-GSSAPI; SPiD; CIE) ed il secondo sarà sempre il codice TOTP (Time-based One Time Password) generato dall'applicazione che avete scelto e nella quale memorizzato il token in fase di attivazione del secondo fattore.
ATTENZIONE
Dopo 10 tentativi di autenticazione con OTP falliti, il sistema impedisce l'accesso. È necessario richiedere un reset del contatore di tentativi falliti inviando un mail ad aai-support@infn.it.
Anche l'eliminazione di un token va richiesta via mail al supporto.
Prerequisiti
- Ruolo attivo
- Applicazione per la generazione di una Time-based One Time Password (TOTP)
Ruolo attivo
Solo dipendenti, associati ed ospiti possono richiedere il secondo fattore.
Applicazione
È indispensabile, prima di iniziare il processo di acquisizione del token, aver installato ed opportunamente configurato una applicazione che sia compatibile con la nostra infrastruttura e che sia in esecuzione su un device che segni l'orario corretto cioè sincronizzato con le sorgenti di tempo ufficiale. Se il device è fuori tempo anche solo per mezzo minuto, la TOTP generata potrebbe essere già scaduta o non ancora valida. La maggior parte dei device è configurata per sincronizzarsi in automatico con sorgenti ufficiali via rete, ma potreste trovarvi in una rete che taglia il protocollo NTP facendo così andare alla deriva l'orologio del device.
Le sole applicazioni compatibili sono:
- privacyIDEA Authenticator: disponibile solo per mobile (iOS ed Android).
- Ente Auth: multi piattaforma. È consigliata anche del CERN, cosa che può rendere la vita meno difficile, almeno per gli utenti CERN
- Bitwarden: disponibile sia per mobile, che per desktop solo se collegata ad un account di tipo "self-hosted" definito su https://vault.infn.it/
ATTENZIONE: Google Authenticator NON è supportata. Microsoft Authenticator NON deve essere usata (entrambe salvano la chiave in chiaro nelle loro cloud)
ATTENZIONE: Bitwarden collegata al "vault" INFN è consentita solo se usata per uno solo dei fattori di autenticazione. In altri termini, è VIETATA come generatore di TOTP se lì dentro memorizzate le vostre credenziali INFN-AAI.
Istruzioni dettagliate su come installare e configurare queste tre applicazioni sono disponibili in questa pagina wiki
Abilitazione del secondo fattore
Il processo di abilitazione del secondo fattore è composto da due azioni apparentemente disgiunte, ma intimamente connesse:
- Generazione di un token (operazione che viene effettuata dal server MFA);
- Memorizzazione del token nell'applicativo.
Prima di procedere alla generazione del token verificate in quale modo la vostra app ne permette la memorizzazione, se tramite lettura del QR-code (note relative: Importare il QR Code o tramite importazione da stringa (note relative: Configurazione manuale: Importare OTP Key).
Nota Bene
Siccome nella prima settimana di abilitazione facoltativa del secondo fattore abbiamo notato un significativo numero di memorizzazioni di token non andate a buon fine, abbiamo modificato il processo ed inserito uno step di verifica dell'acquisizione del token e del suo relativo utilizzo, in modo da abilitare il secondo fattore solo a verifica superata.
Generazione del token
Per avviare la generazione di un token è necessario accedere, usando le proprie credenziali INFN-AAI, al servizio web:
Dopo aver inserito le proprie credenziali nella classica finestra di Login INFN
Verrà chiesta la conferma di accesso
Al primo accesso, l'unica azione disponibile è la richiesta di un token.
Nella finestra selezionate: Enroll Token (Registra token)
Succesivamente specificare i seguenti valori:
Enroll a new token
- TOTP: Time based One Time Password
Token data
- OTP length: 6
- Timestep: 30
e premere il pulsante Enroll Token (Registra token)
La videata successiva vi mostrerà il QR-code da importare nella vostra app.
Clickando sul link "The OTP Key" (La chiave OTP) è possibile visualizzare il "secret" o "seed" codificato in un paio di modi, per la configurazione manuale in applicazioni che non sono in grado di utilzzare il QR-code.
ATTENZIONE: il secret/seed è solo UNO dei dati presenti nel QR-code e non è sufficiente, da solo, per la configurazione manuale. In ogni caso, se l'applicazione che utilizzerete per generare la TOTP non è in grado di importare i dati dal QR code, salvate SUBITO la chiave codificata in Base32
Se avete scelto una applicazione che è in grado di "leggere" un QR-code, potete importare le informazioni in esso contenute semplicemente inquadrandolo (in ogni caso, qui di seguito, alcune istruzioni per alcune applicazioni)
Verifica dell'enrollment
In questa finestra è possibile individuare un pulsante "Verify Token" sotto ad un campo "Please enter a valid OTP value of the new token" che serve per verificare che il token sia stato correttamente registrato nella vostra app e che essa produca un TOTP valido.
Il processo di acquisizione del token infatti terminerà solo se la verifica introdotta in quest'ultimo passaggio andrà a buon fine.
Il timeout della sessione su questa pagina web è di 15 minuti. È essenziale che salviate le informazioni presenti in questa pagina prima della scadenza del timeout.
Se il TOTP prodotto dalla vostra applicazione non dovesse essere corretto (o se sbagliate a trascriverlo) otterrete un pop-up di errore come mostrato in figura e potrete correggere il valore di TOTP o cambiare la vostra app con una supportata.
Se non riuscite ad inserire il TOTP corretto in questa pagina ma avete salvato le informazioni potete ripartire con un login su https://mfa.app.infn.it/ e completare la verifica del token, clickando sul seriale del token da verificare
ed inserendo il corretto valore di una TOTP nel campo sopra al pulsante blu "Verify Token"
completerete il processo di acquisizione di token
e riceverete l'e-mail di conferma
Importare il QR
Il modo più semplice per registrare il token nella propria app è usare una app su smartphone (o tablet) che sia quindi in grado di usare la telecamera per poter importare i dati presenti nel QR-code
PrivacyIdea
Per importare il QR nell'app di PrivacyIdea è sufficiente clickare sull'icona al centro ed inquadrare il QR Code
Ente Auth
L'app per smartphone Ente Auth presenta una pagina iniziale con un bel bottone "Scan a QR Code".
Tale bottone fornisce un accesso diretto alla telecamera e, appena inquadrato il QR-code, produce un TOTP
Se avete configurato un account su ente.io tutte le istanze di Ente Auth collegate a tale account, genereranno lo stesso TOTP.
Bitwarden (app su mobile, con accesso alla telecamera)
Permettere all'app di usare la fotocamera
Assegnare un nome al token e salvare
Successivamente il token salvato sarà visualizzato un questo modo:
ritorna alla verifica dell'enrollment
Configurazione manuale: Importare OTP Key
Il QR-code contiene una serie di informazioni tutte necessarie alla corretta configurazione del generatore di TOTP. Se volete utilizzare un generatore di TOTP che non supporta la lettura di QR-code (come ad esempio le app per PC supportate o l'interfaccia web al "vault" INFN) dovete formattare opportunamente la stringa per la sua configurazione.
La stringa dovrà essere formata dalla concatenazione di:
- otpauth://totp/?secret=
- <La Chiave OTP codificata BASE32>
- &algorithm=sha256&period=30&digits=6&issuer=INFN-AAI
La stringa così formata dovrà assomigliare quindi a:
otpauth://totp/?secret=2UCHU2WHNR3S52W7Z6DRQ5XCGWQZ5XAFB6C3JD5F6DSJZ53TL5FA&algorithm=sha256&period=30&digits=6&issuer=INFN-AAI
Ovviamente, se nella generazione del token avete selezionato il periodo di 60 secondi o il numero di cifre dell'OTP pari a 8, dovete modificare coerentemente l'ultima parte della stringa
- &period=60
- &digit=8
Di seguito il dettaglio della configurazione manuale per le due app supportate
Ente Auth
Ente Auth può importare una chiave da un file in formato testo.
Dovete quindi creare un file di tipo testo ed inserire in una riga la stringa ottenuta dalla concatenazione delle informazioni di cui sopra.
Dopo aver creato e salvato il file
- aprite l'applicazione
- premente sulle tre righe in alto a sx (apri il menu di navigazione)
- aprite la freccia verso il basso accanto alla voce "Dati"
- selezionate: "Importa codici"
- scegliete: "Testo in chiaro"
- premete: Seleziona file"
- selezionate il file creato in precedenza.
Se l'operazione è andata a buon fine comparirà una fnestra con scritto:
Evviva
Hai importato 1 codici
vault INFN via web o Bitwarden (app su desktop)
Aprire Bitwarden installato del proprio browser e premere: + (Aggiungi elemento) Assegnare un nome al nuovo elemento (per esempio OTP INFN) ed inserire campo: Chiave di autenticazione (TOTP)
infine premere: Salva
Ovviamente se nel passaggio descritto nella sezione "Token data" si sceglie un tempo di vita di 60 secondi, bisogna usare "period=60" nella stringa di cui sopra.
NOTA BENE: bitwarden NON supporta lunghezze del TOTP maggiori di 6
Successivamente per utilizzare, direttamente in una pagina web il secondo fattore di autenticazione, sarà sufficiente cercare il nome dell'elemento creato in precedenza, una volta trovato, premendo sul pulsante a forma di orologio, sarà possibile copiare il codice del secondo fattore per inserirlo dove richiesto.
Sicurezza
MAI E POI MAI effettuare screen-shot del QR-code in quanto contiene il “seme” con il quale si genera la OPT (il token collegato al QR-code che vedete in queste slides è stato cancellato dal sistema)
NON usare le app che registrano il “seme” in chiaro nella loro cloud
- Google Authenticator
- Microsoft Authenticator
Proteggere il proprio smartphone con PIN o con accesso biometrico
Al momento del rilascio di un nuovo token il sistema avvisa il proprietario dell’account INFN-AAI inviando mail a tutti gli indirizzi e-mail registrati.
Se ricevete un mail e non siete stati voi a richiedere il token, qualcuno sta usando le vostre credenziali INFN-AAI