Salta al contenuto
autenticazione a 2 fattori

La potenza di due – Tutto ciò che bisogna conoscere sulla autenticazione a due fattori

Quest’articolo riguarda gli aspetti più importanti della autenticazione a due fattori, compreso di cosa si tratta, come funziona e quando può essere usata.

Più volte abbiamo sentito parlare di database di password trafugati, di attacchi sotto forma di phishing, di malware che memorizzano la sequenza di caratteri autenticazione a 2 fattoridigitati sulla tastiera e persino di skimmer installati negli sportelli bancomat che utilizziamo o nei dispositivi POS dei nostri negozi preferiti.

I giorni in cui era sufficiente fare affidamento su una password di otto caratteri sono finiti, oggi servono modalità più efficaci e affidabili per le nostre autenticazioni.

Che cos’è l’autenticazione a due fattori?

L’autenticazione a due fattori, comunemente detta 2FA o altrimenti denominata verifica a più fattori o in due passaggi, è il processo di verifica dell’identità di un soggetto attraverso due o tre possibili elementi d’identificazione:

  1. Qualcosa che si conosce
  2. Qualcosa che si possiede
  3. Qualcosa che si è

La tradizionale autenticazione online si affidava a qualcosa che si conosceva, una password. Questo approccio presentava una serie di problemi:

Una password è un segreto che va condiviso con l’organizzazione che verifica l’identità. Molto frequentemente non si ha modo di accertare che la propria password sia stata trasmessa o che venga conservata in modo sicuro.

Chiunque vi stia osservando, sia che utilizzi un keylogger o che più semplicemente si trovi in piedi dietro di voi, può carpire il vostro segreto.

Si ha difficoltà nel memorizzare passphrases solide, di conseguenza la gente è portata a usare password già utilizzate oppure non abbastanza complesse.

Richiedendo un fattore supplementare, come un codice generato da un token RSA o inviato via SMS al vostro cellulare, è possibile ridurre drasticamente il rischio di sostituzione d’identità.

Analizziamo con più attenzione i tre fattori.

Qualcosa che conoscete

Sembrerebbe ovvio: “qualcosa che si conosce” fa riferimento alla password, giusto? Spesso è così, ma altri fattori di conoscenza sono abbastanza comuni.

Per esempio: i dispositivi Windows 8 o Android propongono un autenticazione pattern-based e i bancomat usano solitamente una forma di autenticazione a due fattori che implica per gli utenti la memorizzazione di un codice PIN.

Quando si tratta di password, la lunghezza incide e quindi si preferisce usare delle passphrase, con la speranza che la gente si prenda a cuore la questione e scelga qualcosa tipo:

“JustThe2ofus,youandi.JusttheTWOofus.” piuttosto che “Princess123”.

Qualcosa che si possiede

L’autenticazione a due fattori è solitamente una combinazione di qualcosa che si conosce e di qualcosa che si possiede. Il secondo fattore, ciò che si possiede, è molto spesso un token installato su un dispositivo mobile che si possiede.

Esistono due tipologie principali di token mobile:

  • Token che si usano online (challenge/responde based)
  • Token che si usano offline (time, sequence o OTP based).

Token onlinesmartcard

I token online offrono spesso la possibilità di prendere parte a un challenge/response dal server, di digitare la risposta includendo la firma crittografata della transazione.

Immaginate una smartcard, tipo una carta di credito Chip & PIN EMV. Invece di inviare un numero statico come una tradizionale carta di credito, il chip è in grado di firmare in maniera crittografata una transizione dicendo ”Autorizza il trasferimento di 41,23 dollari da me a Sophos”.

Ciò impedisce a un ladro di versare 500 dollari a un altro commerciante perché non è più in grado di ottenere le mie chiavi che gli consentirebbero di siglare la transizione.

La maggior parte delle smartcard utilizzano certificati X.509 per firmare le transazioni, alla stregua di come si firmerebbe digitalmente una mail o di come uno sviluppatore firmerebbe il proprio software.

I token online sono a tutt’oggi soggetti ad attacchi MitM e richiedono una connessione per poterne autenticare il possessore.

Token offline

I Token offline funzionano out-of-band, nel senso che non hanno una connessione diretta con il richiedente l’autenticazione, solitamente tokensattraverso una chiave segreta condivisa.

Esistono tre tipologie principali di token offline: time based, sequence based e one time.

Se vi è capitato di utilizzare un Google Authenticator, un token RSA piuttosto che un Symantec Vip, avete usato un modello time-based.

I token time-based sono alimentati da una batteria e fanno hashing con il numero corrente dei secondi trascorsi dal 1 gennaio 1969 e mostrano sul display una parte del risultato, solitamente un numero a sei cifre.

L’hashing utilizza un segreto condiviso tra il soggetto che esegue l’autenticazione e il token. Ciò permette al primo di calcolare il valore presente sul display e ed essere certo che corrisponda a quello inserito.

Questa è una delle ragioni per cui i clienti RSA erano così preoccupati quando si vociferava che gli hacker avessero compromesso i loro seed crittografici.

Questo avrebbe consentito alle persone in possesso di questi segreti trafugati di prevedere ciò che sarebbe apparso sui display dei relativi token.

Un’altra tipologia di token è quella sequence-based. Si basa sul concetto che voi abbiate un elenco prestabilito di numeri, come un pad one-time.

Anche se le vostre comunicazioni fossero spiate, non sarebbe possibile conoscere il prossimo numero valido della sequenza. I malintenzionati potrebbero spiare il vostro numero attuale, ma ciò potrebbe non permettere loro di continuare a danneggiarvi in futuro.

Un altro metodo diffuso è in pratica quello pad on-demand, on-time. I pad one-time non sono violabili se usati correttamente e la loro applicazione evoluta prevede che un codice di autenticazione sia trasmesso all’utente o attraverso un SMS oppure con una telefonata in automatico.

Come nel caso degli altri token offline, possono essere spiati, ma hanno una bassa barriera d’ingresso. L’utente non necessita di avere un dispositivo costruito allo scopo e neppure dev’essere in possesso di uno smartphone.

Qualcosa che siete

Il terzo fattore da considerare siete voi stessi.

Qualcosa di voi può essere catturato attraverso il vostro riconoscimento facciale, le vostre impronte digitali, la linea delle vene della vostra mano, la stampa dell’iride o il disegno della retina.

In questi casi i problemi non mancano. La scansione del disegno delle vene o della retina, la lettura delle impronte digitali può risultare molto accurata, ma essere molto costosa.

Il riconoscimento dell’iride e la stampa del viso si sono dimostrati troppo facili da falsificare. Sono interessanti per giocarci (alcuni dispositivi Android permettono lo sblocco facciale), ma sono troppo inaffidabili per farvi affidamento nel supportare l’autenticazione.

Rimangono le impronte digitali. Sono state falsificate, ma ci sono attenuanti.

La probabilità di rubare la tua password o il tuo token in aggiunta alla probabilità che qualcuno trafughi un’impronta digitale adatta è infinitamente piccola. Come nella maggior parte dei casi, dipende dalla sicurezza dell’applicazione.

L’altra domanda da porsi quando si utilizzano gli scanner biometrici è, quando la precisione e troppa? Se si configura uno scanner d’impronte digitali alla sua massima risoluzione, si può non riuscire nell’autentificazione se le mani sono fredde oppure se sono presenti vesciche.

Occorre poi, in primo luogo, convincere le persone che vengono autenticate a cedere i loro dati biometrici.

Inoltre, a differenza di una password, se la scansione della retina o delle impronte digitali è stata rubata, non può certo essere modificata.

Pro e contro dell’autentificazione a due fattori

L’autenticazione a due fattori non è una panacea, ma migliora notevolmente la sicurezza attraverso uno sforzo ragionevolmente minimo.keytoken

Ci sono alcune questioni centrali. Il primo che mi viene in mente, come nella maggior parte dei casi, è il costo. Qui abbiamo una situazione 80/20 (principio di Pareto).

Ogni volta che si aggiunge un secondo fattore, si ottiene circa l’80% di beneficio semplicemente implementando qualsiasi fattore aggiuntivo.

Se ci si vuole preoccupare di ottenere l’altro 20%, si spenderanno somme sempre più alte e si affronteranno sempre maggiori disagi per arrivarci.

I token offline come RSA, Symantec, Yubikey e altri sono ragionevolmente sicuri,  pur avendo un costo per utente basso (dai 20 ai 100 dollari).

Molti utenti dimenticano di portarli con sé o li perdono, aumentando così, nel corso del tempo, la manodopera e il costo per utente.

Moltissime persone preferiscono utilizzare il loro cellulare come token.

E’ indubbiamente una comodità, ma se si sta utilizzando il telefono sia per inserire una password, sia per ricevere un codice, esso diventa un singolo punto di vulnerabilità. La compromissione del telefono porta alla compromissione totale.

La maggior parte delle soluzioni a due fattori sono vulnerabili agli attacchi di tipo man-in-the-middle o man-in-the-browser. Tuttavia, anche prevedendo lo scenario peggiore, la possibilità di essere vulnerabili è limitata a una singola transazione.

Vale sempre la pena di aumentare le difficoltà di chi compie l’attacco con un fattore significativo.

Spesso non potrete effettuare una scelta su quale tipo di autenticazione a due fattori vi è proposta, ma vi consigliamo di approfittare del meglio di ciò che viene offerto.

Quando la 2FA è disponibile

Nella speranza che vi siate convinti che valga la pena adottare l’autenticazione a due fattori, dov’è possibile usufruirne?

Ecco una lista dei più importanti provider di posta e di social network che vi offrono la possibilità di rendere più sicura la vostra identità in rete.

Facebook

Facebook è molto flessibile nella sua offerta di autenticazione a due fattori. Per modificare le opzioni, cliccare sull’icona dell’ingranaggio nell’angolo in alto a destra e selezionare Impostazioni | Protezione.

Le opzioni si trovano o alla voce approvazione degli accessi oppure alla voce generatori di codici

È possibile scegliere se si desidera utilizzare: autenticazione SMS, telefono, una lista di password one-time, usare l’applicazione Google Authenticator o quella di Facebook per smartphone per il secondo fattore.

Gmail

I servizi di Google offrono l’autenticazione a due fattori attraverso: l’applicazione Google Authenticator per gli smartphone, gli SMS, il telefono e una password one-time.

Per modificare le impostazioni, digitare l’indirizzo https://accounts.google.com/b/0/SmsAuthSettings e scegliere le preferenze di sicurezza.

Twitter

Twitter offre o l’autenticazione via SMS oppure un’applicazione che esegue un prompt per i vostri accessi da computer sconosciuti. Nonostante la modalità SMS sia più semplice, non permette l’accesso a un account Twitter da parte di organizzazioni che lo richiedono per più persone.

Le applicazioni Twitter per Android e iOS consentono a più persone che condividono lo stesso account di utilizzare l’autenticazione a due fattori.

LinkedIn

Gli utenti di LinkedIn hanno parecchie limitazioni. Possono utilizzare solo l’autenticazione a due fattori tramite SMS. Per attivare l’opzione, scegliere Privacy e impostazioni | Account | Gestisci le impostazioni di sicurezza.

Microsoft Hotmail/Outlook.com

Mixcrosoft supporta l’applicazione Google Authenticator, gli SMS e l’autenticazione via email.

Non crediamo che la posta elettronica conti veramente come secondo fattore, tuttavia è una delle opzioni disponibili se siete utenti di Microsoft.

Conclusioni

Nessuna di queste soluzioni risolve il problema di persone che in rete si spacciano per voi, ma rende loro molto più difficile farlo. Se potete, sfruttate il vostro vantaggio su di loro e rendete il più arduo possibile il loro tentativo di spendere i vostri soldi.

Se volete saperne di più sull’autenticazione a due fattori, ascoltate il nostro podcast Techknow 2FA: https://soundcloud.com/sophossecurity/sophos-techknow-two-factor

1 commento

Lascia un commento

Your email address will not be published. Required fields are marked *