User Tools

Site Tools


cn:ccr:aai:doc:2fa:req

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cn:ccr:aai:doc:2fa:req [2024/11/13 07:34] – [Istruzioni per l'attivazione del secondo fattore di autenticazione] monducci@infn.itcn:ccr:aai:doc:2fa:req [2025/06/24 14:30] (current) enrico@infn.it
Line 1: Line 1:
 +====== Istruzioni per l'attivazione del secondo fattore di autenticazione  ======
 +
 +<color #ed1c24>**AVVISO IMPORTANTE**</color> \\
 +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).
 +  * **[[https://ente.io/auth/|Ente Auth]]**: multi piattaforma. È consigliata anche del CERN, cosa che può rendere la vita meno difficile, almeno per gli utenti CERN
 +  * **[[https://bitwarden.com|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 [[cn:ccr:aai:doc:2fa:app|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: [[cn:ccr:aai:doc:2fa:req#importare_il_qr| Importare il QR Code]] o tramite importazione da stringa (note relative: [[cn:ccr:aai:doc:2fa:req#configurazione_manualeimportare_otp_key|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:
 +
 +https://mfa.app.infn.it/
 +
 +Dopo aver inserito le proprie credenziali nella classica finestra di Login INFN
 +{{ :cn:ccr:aai:doc:2fa:loginaai.png?200 | Login AAI}}
 +
 +Verrà chiesta la conferma di accesso
 +{{ :cn:ccr:aai:doc:2fa:login.png?200 |Login}}
 +
 +Al primo accesso, l'unica azione disponibile è la richiesta di un token.
 +
 +Nella finestra selezionate: **Enroll Token** (**Registra token**)
 +{{ :cn:ccr:aai:doc:2fa:enrolltoken01.png?400 |Enroll 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**) \\
 +{{ :cn:ccr:aai:doc:2fa:enrolltoken02.png?400 |Enroll Token}}
 +
 +La videata successiva vi mostrerà il QR-code da importare nella vostra app. 
 +
 +{{ :cn:ccr:aai:doc:2fa:verify_token.png?400 |Enroll Token}} 
 +
 +
 +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.
 +
 +{{ :cn:ccr:aai:doc:2fa:view_otp_key.png?400 |View OTP key}} 
 +
 +**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, [[cn:ccr:aai:doc:2fa:req#importare_il_qr|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.
 +
 +{{ :cn:ccr:aai:doc:2fa:verify_token_ko.png?400 |Verify Token KO}} 
 +
 +Se invece è corretto, vedrete un pop-up verde. 
 +
 +Complimenti. Avete acquisito il vostro token e la vostra applicazione produce un TOTP valido.
 +
 +A questo punto dovete chiudere e riaprire il browser. Questo perché nel browser è memorizzato lo stato precedente l'ottenimento del secondo fattore e quindi per fargli "dimenticare" questo stato è necessario chiuderlo.
 +
 +
 +----
 +==== Verifica dell'enrollment differita ====
 +
 +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
 +
 +{{ :cn:ccr:aai:doc:2fa:my_tokens.png?400 |My Tokens}} 
 +
 +ed inserendo il corretto valore di una TOTP nel campo sopra al pulsante blu "Verify Token"
 +
 +{{ :cn:ccr:aai:doc:2fa:verify_enroll.png?400 |Verify Enrollment}} 
 +
 +completerete il processo di acquisizione di token 
 +
 +
 +{{ :cn:ccr:aai:doc:2fa:verify_enroll_ok.png?400 |Verify Enrollment OK}}
 +
 +
 +
 +e riceverete l'e-mail di conferma
 +
 +A questo punto dovete chiudere e riaprire il browser. Questo perché nel browser è memorizzato lo stato precedente l'ottenimento del secondo fattore e quindi per fargli "dimenticare" questo stato è necessario chiuderlo.
 +
 +
 +===== 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
 +{{ :cn:ccr:aai:doc:2fa:privacyideaapp.png?200 |PrivacyIdeaApp}}
 +
 +[[cn:ccr:aai:doc:2fa:req#verifica_dell_enrollment| ritorna alla verifica dell'enrollment]]
 +==== Ente Auth ====
 +
 +L'app per smartphone Ente Auth presenta una pagina iniziale con un bel bottone "Scan a QR Code"
 +
 +{{ :cn:ccr:aai:doc:2fa:enteauthapp1.png?200 |}}
 +
 +Tale bottone fornisce un accesso diretto alla telecamera e, appena inquadrato il QR-code, produce un TOTP
 +
 +{{ :cn:ccr:aai:doc:2fa:enteauthapp2.png?200 |}}
 +
 +Se avete configurato un account su ente.io tutte le istanze di Ente Auth collegate a tale account, genereranno lo stesso TOTP.
 +
 +[[cn:ccr:aai:doc:2fa:req#verifica_dell_enrollment| ritorna alla verifica dell'enrollment]]
 +
 +==== Bitwarden (app su mobile, con accesso alla telecamera) ====
 +
 +Selezionare: Set up TOTP
 +{{ :cn:ccr:aai:doc:2fa:bitwaredapp1.png?200 | App Bitwarden}}
 +
 +Permettere all'app di usare la fotocamera
 +{{ :cn:ccr:aai:doc:2fa:bitwaredapp2.png?200 | App Bitwarden - Utilizzo fotocamera}}
 +
 +Assegnare un nome al token e salvare
 +{{ :cn:ccr:aai:doc:2fa:bitwaredapp3.png?200 | App Bitwarden - Salvataggio token}}
 +
 +Successivamente il token salvato sarà visualizzato un questo modo:
 +{{ :cn:ccr:aai:doc:2fa:bitwaredapp4.png?200 | App Bitwarden - Visualizzazione Token}}
 +
 +[[cn:ccr:aai:doc:2fa:req#verifica_dell_enrollment| 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:
 +
 +
 +<code>
 +  otpauth://totp/?secret=2UCHU2WHNR3S52W7Z6DRQ5XCGWQZ5XAFB6C3JD5F6DSJZ53TL5FA&algorithm=sha256&period=30&digits=6&issuer=INFN-AAI
 +</code>
 +
 +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
 +
 +[[cn:ccr:aai:doc:2fa:req#verifica_dell_enrollment| ritorna alla verifica dell'enrollment]]
 +
 +==== vault INFN via web o Bitwarden (app su desktop)====
 +
 +Aprire Bitwarden installato del proprio browser e premere: + (Aggiungi elemento)
 +{{ :cn:ccr:aai:doc:2fa:bitwaredweb1.png?200 |Bitwarden Web}}
 +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
 +
 +{{ :cn:ccr:aai:doc:2fa:bitwaredweb2.png?200 |Bitwarden Web}}
 +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.
 +
 +{{ :cn:ccr:aai:doc:2fa:bitwaredweb2.png?200 |Bitwarden Web}}
 +
 +[[cn:ccr:aai:doc:2fa:req#verifica_dell_enrollment| ritorna alla verifica dell'enrollment]]
 +
 +===== 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
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki