Le prime password informatiche e i primi metodi di autenticazione risalgono agli Anni 60, utilizzate dagli utenti dei sistemi di time-sharing per l’accesso alle loro informazioni memorizzate sui sistemi centralizzati; poi a poco a poco, con l’uso sempre più diffuso dell’informatica personale, la password è entrata nella nostra vita quotidiana come elemento essenziale per la sicurezza delle nostre risorse.
Oggi è lo strumento di autenticazione più diffuso perché, nonostante sia disagevole da utilizzare, non è ancora stato sostituito completamente da un metodo di autenticazione più semplice ed efficiente.
Indice degli argomenti
Le esigenze dell’autenticazione
Banalmente la funzione tecnica dell’autenticazione è quella di permettere l’accesso a una risorsa, garantendo che dal punto di vista dell’identità dell’utente nulla sia cambiato rispetto all’accesso precedente.
Dietro a questo semplice enunciato ci sono però aspetti tecnologici, organizzativi e psicologici non banali che rendono l’autenticazione molto più complessa di quanto possa sembrare.
È necessario esaminare le vulnerabilità delle differenti risorse tecniche, computer, laptop, tablet, smartphone, ma anche di tutte le apparecchiature intelligenti che oggi riescono a collegarsi a internet. Per queste nuove apparecchiature, come ad esempio i sistemi domotici o le auto elettriche, è necessario valutare con rinnovata attenzione i processi di autenticazione e le funzionalità che vengono attivate.
Un argomento importante da considerare sono le risorse informative coinvolte. Deve essere valutata la criticità delle informazioni elaborate, perché c’è una notevole differenza di valore e di rischio tra i dati di un profilo Facebook, di un conto di home banking o le informazioni tecniche per gestire una rete aziendale.
Anche da un punto di vista operativo, cambia molto se ci si limita alla sola visualizzazione delle informazioni oppure se risulta possibile svolgere delle attività di tipo dispositivo.
Da ultimo deve essere analizzato il rischio legato al modo di accesso fisico alle risorse perché un sistema con accesso remoto è potenzialmente attaccabile da terzi all’insaputa del proprietario, mentre un sistema locale può essere meglio controllato fisicamente.
Un computer aziendale, generalmente all’interno di uno spazio protetto, ha rischi diversi da uno smartphone o da un portatile che possono essere rubati o persi.
Caratteristiche dei metodi di autenticazione
Un metodo di autenticazione è una funzionalità critica per accedere a risorse tecniche o informative protette. La scelta del metodo più adatto deve essere fatta tenendo conto dei seguenti elementi:
- livello di sicurezza: un metodo di autenticazione deve garantire l’affidabilità di un’identità dichiarata ed essere sicuro, efficace e a prova di attacchi e di negligenze. Oggi esistono numerose soluzioni tecnologiche di autenticazione che si caratterizzano per il loro elevato livello tecnico di sicurezza ma che possono avere delle vulnerabilità a livello di utilizzo che rendono semplice per un attaccante comprometterne la sicurezza;
- costo di implementazione: i costi per gestire un metodo di autenticazione possono essere limitati, come nel caso di una password, o diventare importanti a dipendenza del tipo dell’infrastruttura, come nel caso di autenticazione con token di sicurezza. I metodi di autenticazione per l’accesso a risorse remote si caratterizzano anche per i costi di gestione dell’infrastruttura. Le attività di iscrizione, attivazione, sostituzione e annullamento delle credenziali devono essere fatte in modo sicuro ed affidabile per evitare che diventino un punto di attacco;
- usabilità: l’autenticazione non è solo un problema tecnologico ma deve essere semplice e intuitiva per gli utenti che non percepiscono la complessità del problema ma pretendono che le loro informazioni siano al sicuro. Il processo di autenticazione deve essere rapido e facile da eseguire, uniforme, coerente e possibilmente con più opzioni per adeguarsi alle differenti piattaforme hardware e alle esigenze degli utenti. Se l’usabilità è importante nel caso di utenti aziendali, diventa fondamentale nel caso di utenti commerciali dove i dati di autenticazione vengono generalmente impostati dagli utenti stessi e che difficilmente possono essere obbligati a seguire normative e regolamenti.
Metodi di autenticazione tramite password
La password è uno dei metodi più semplici di autenticazione e può essere usata senza alcun componente tecnico particolare. Facile da creare da parte di chiunque, è normalmente usata per accedere a servizi informatici aziendali o su internet. Permette, inoltre, di proteggere apparecchiature tecniche (computer, smartphone, reti wireless ecc.) sia a livello personale che aziendale.
Nel caso di applicazioni personali, la sottrazione della password può comportare furti di dati e danni finanziari ma a livello aziendale i danni possono essere molto più gravi fino ad arrivare a veri e propri attacchi informatici nel caso del furto di credenziali amministrative dei sistemi.
Ne deriva che la password deve essere scelta con cura e usata con attenzione perché la sua sicurezza può essere messa a rischio sia dalla negligenza degli utenti che da attacchi informatici che possono essere impensabili per un non specialista.
Tra i principali rischi dovuti alla negligenza degli utenti possiamo citare:
- password costituite da testi banali (1234, password, abcd ecc.) o con indicazioni personali (anno di nascita, targa auto ecc.) che possono essere facilmente indovinate;
- password non protette perché scritte su foglietti, memorizzate su un file o su fogli Excel o inviata in chiaro tramite posta elettronica, perché possono essere facilmente scoperte;
- riutilizzo della password per servizi informatici o siti internet diversi. L’utilizzo della medesima password per accedere a Facebook, Amazon, al conto bancario e alle applicazioni aziendali, può mettere a rischio tutti i dati nel caso venga catturata;
- condivisione della propria password personale o aziendale con amici e colleghi con grossi rischi di attività improprie e potenzialmente pericolose da parte di terzi, sia a livello dei dati personali ma soprattutto dei dati aziendali;
- consegna volontaria delle password da parte degli utenti tratti in inganno da tecniche di ingegneria sociale quali attacchi di phishing, falsi tecnici, falsi reset delle password, ecc.
Il cattivo uso delle password da parte degli utenti è una delle principali cause di attacchi informatici e una formazione adeguata potrebbe aiutare a limitare i rischi. Purtroppo le campagne di sensibilizzazione destinate ad ottenere un uso corretto delle password hanno un impatto limitato presso gli utenti e spesso non vengono neanche prese in considerazione dalle aziende.
Tipi di attacchi alle password
Nel caso di comportamenti corretti da parte degli utenti, un malfattore che intenda rubare la password può sempre ricorrere ad attacchi tecnici la cui efficacia dipende generalmente dalla potenza di calcolo a disposizione.
Nel caso di un attacco a un sistema locale, se il malfattore ha un accesso fisico all’apparecchio da aggredire, può scoprire le password utilizzando metodi di attacco iterativi come l’attacco a dizionario, che ha lo scopo di trovare la password cercando all’interno di enormi elenchi di parole memorizzate, oppure l’attacco di forza bruta, provando con software opportuni tutte le combinazioni di caratteri. L’efficacia di questi tipi di attacchi iterativi è direttamente legata alla potenza di calcolo e di conseguenza ai costi dei computer.
Oggi la possibilità di elaborazione fornita dai sistemi cloud, come ad esempio Amazon Web Services, mette a disposizione di chiunque potenze di calcolo disponibili fino a poco tempo fa solo a organizzazioni con finanziamenti considerevoli come le agenzie di intelligence.
Altri tipi di attacchi al file delle password, che sono solitamente cifrate con un algoritmo di hash, possono essere le tecniche di hash cracking (ad esempio con i programmi Pwdump, Ophcrack) o le raimbow table, tabelle di hash con valori calcolati in precedenza.
Il solo modo di contrastare le tecniche fin qui elencate è quella di definire password sempre più lunghe in modo da rendere difficile la loro scoperta con le attuali potenze di calcolo.
Kevin Mitnik suggerisce una lunghezza di password di almeno 25 caratteri ma altri stimano che una lunghezza tra 12 e 16 caratteri potrebbe già essere sufficiente.
I tipi di attacco descritti finora non sono utilizzabili per scoprire una password su un sistema remoto, su un sito internet o in ambienti cloud. In questi casi i metodi iterativi sono contrastati con il blocco dopo un certo numero di tentativi falliti, o con l’utilizzo di CAPTCHA.
Gli attacchi ai sistemi remoti si concentrano quindi su tecniche differenti, quali l’istallazione di malware sull’apparecchio dell’utente come ad esempio i software di keylogger per monitorare tutti i testi digitati sulla tastiera, oppure l’implementazione di varie tecniche di man-in-the-middle in cui un attaccante è in grado di intromettersi tra l’utente e il server, ingannando e catturando, a sua insaputa, non solo la password ma tutti i messaggi trasmessi.
Il furto delle credenziali con tecniche di phishing è sicuramente un grosso problema per i potentiali danni che ne possono derivare dall’accesso non autorizzato ai dati protetti.
Una maggior attenzione e diffidenza su tutto quanto ci viene proposto in modo ambiguo da parte di sconosciuti che sfruttano la nostra ingenuità è una buona premessa per evitare il furto delle password o l’istallazione di malware per la cattura di informazioni.
Un ultimo problema relativo all’autenticazione è quello dei sempre più frequenti furti di massa delle credenziali di autenticazione presso i fornitori di servizi che li dovrebbero custodire più accuratamente. Questi nomi utenti e password possono essere usati per tentativi di accesso ad altri siti ma anche utilizzati per truffe o estorsioni come nelle recenti campagne di sextortion.
Fortunatamente esistono organizzazioni che hanno costituito dei database delle credenziali rubate e che possono essere consultati per verificare quali password evitare o eventualmente sostituire, come ad esempio i siti haveibeenpwned.com o weleakinfo.com.
Metodi di autenticazione tramite token di sicurezza
Un token di sicurezza è un dispositivo fisico che viene utilizzato per ottenere un codice segreto (One Time Password, OTP) da inviare a un servizio informatico per l’autenticazione.
Esistono diversi tipi di dispositivi fisici, come i generatori di numeri o le calcolatrici, che permettono di ottenere i codici segreti sincronizzati con i server del servizio informatico.
La versione software di questi apparecchi possono essere app proprietarie istallate su smartphone o app quali ad esempio Google Authenticator, Microsoft Authenticator che hanno il vantaggio di generare codici validi per più servizi informatici.
L’utilizzo di un codice segreto per l’autenticazione ha lo svantaggio che deve essere inviato al server del servizio informatico digitandolo sulla tastiera. Se un attaccante istalla un keylogger o un malware sul sistema dell’utente, è in grado di intercettare il codice digitato e usarlo per accedere al servizio in modo fraudolento.
Un caso particolare di questo metodo è la ricezione di codici segreti tramite SMS che, oltre al rischio appena indicato, possono essere intercettati anche a livello di traffico telefonico a causa dei problemi di sicurezza del protocollo di trasmissione SS7.
Per evitare questo problema sono stati sviluppati dei sistemi che, dopo l’autenticazione a livello locale con l’introduzione di un PIN o di un dato biometrico, trasmettono le credenziali di autenticazione in modo protetto al servizio informatico.
Le smart card sono storicamente il primo esempio di questo tipo di autenticazione, ma la complessità della gestione di un’infrastruttura a chiave pubblica ha scoraggiato il loro uso nelle applicazioni di massa, limitandole solo alle situazioni con requisiti di sicurezza elevati.
Esiste uno standard aperto di autenticazione proposto da FIDO Alliance, un consorzio di aziende costituito dai principali colossi dell’informatica, con lo scopo dichiarato di eliminare le password. Il token di sicurezza FIDO può essere connesso a una porta USB o collegato senza fili con i protocolli Bluetooth o NFC e permette di autenticarsi ai servizi remoti senza inviare in rete le credenziali personali di autenticazione.
La diffusione sempre più vasta degli smartphone sta riducendo l’inconveniente principale dei sistemi basati su token, cioè la necessità di distribuirli fisicamente e di averli sempre con sé. Con l’utilizzo di app proprietarie su smartphone è possibile autenticarsi in locale e trasmettere i dati di autenticazione in modo protetto analogamente a quanto fatto con i dispositivi fisici.
Metodi di autenticazione biometrica
L’utenticazione biometrica è una tecnica di riconoscimento comoda ed immediata che utilizza delle caratteristiche biologiche delle persona per la sua autenticazione, quali ad esempio l’impronta digitale, la scansione del volto o dell’iride.
Senza entrare nell’argomento delle possibili falsificazioni delle credenziali biometriche, si può dire che esistono comunque dei problemi che hanno limitato la sua diffusione su larga scala.
Nel caso di accesso remoto i fornitori di servizi internet non utilizzano le credenziali biometriche a causa della difficoltà di raccolta dei dati biometrici e per la criticità di memorizzazione di questi dati.
Per contro l’autenticazione biometrica è un sistema ottimo e ampiamente sperimentato per le credenziali memorizzate a livello locale come nel caso degli smartphone. In questo caso, oltre ad essere estremamente pratico da usare è anche molto sicuro per le soluzioni tecniche adottate, che rendono estremamente difficile il furto dei dati biometrici locali anche nel caso in cui un’attaccante entri in possesso dell’apparecchio.
Un limite del sistema è che nel caso di furto delle credenziali biometriche, questo questo tipo di autenticazione diventa inutilizzabile per l’impossibilità di cambiare i dati biometrici.
Un ulteriore problema dell’autenticazione biometrica è quello che l’utente potrebbe essere costretto da qualcuno a fornire le proprie credenziali biometriche. Una situazione possibile in caso di aggressioni da parte di criminali, ma che potrebbe presentarsi, anche se in modo meno drammatico, in caso di richiesta di accesso a un’apparecchiatura per motivi di controllo da parte di polizie e autorità governative. Uno scenario che aprirebbe di fatto una serie di problemi etici sulla privacy e la sicurezza.
Autenticazione a più fattori
Presi singolarmente, i metodi di autenticazione visti finora hanno delle vulnerabilità che possono pregiudicare la corretta gestione della sicurezza. Combinando diversi metodi di autenticazione in modo complementare si riduce il livello di rischio e si aumenta la sicurezza dell’autenticazione.
I fattori caratteristici di ogni metodo di autenticazione possono essere raggruppare nelle seguenti categorie:
- qualcosa conosciuto dall’utente – ad esempio, una password, una frase d’accesso, una numero personale di identificazione (PIN);
- qualcosa posseduto dall’utente – ad esempio una smart card, un token di sicurezza, uno smartphone;
- qualcosa inerente all’utente – una caratteristica biometrica, come la forma del viso, l’impronta digitale o ritmo di battitura dei tasti.
Nell’autenticazione a più fattori l’importante è che uno dei fattori sia la password che l’utente conosce e che permette di esprimere l’intenzionalità di un’azione e di prendere una decisione in base alla sua volontà senza che possa essere forzato da terzi.
Questo fattore per praticità viene normalmente trasmesso sul canale principale dove si sta svolgendo la comunicazione.
Un secondo fattore può essere qualcosa posseduto dall’utente o una sua caratteristica biometrica come un codice ottenuto tramite un token di sicurezza o un’impronta digitale ripresa tramite smartphone.
Il secondo fattore dovrebbe essere sempre trasmesso su un canale alternativo per evitare che possa essere catturato e utilizzato insieme al primo fattore. Spesso il secondo fattore viene ricevuto su un canale alternativo (ad esempio un codice inviato tramite SMS) ma poi viene rinviato sul canale principale con tutti i rischi di furto descritti in precedenza.
Per la trasmissione del secondo fattore sono da preferire o un dispositivo di autenticazione forte, conforme agli standard della FIDO Alliance, o uno smartphone che trasmette i dati per mezzo di un’app proprietaria, cifrata e sicura.
Il sistema di autenticazione a più fattori può essere interessante anche da un punto di vista dell’usabilità. Ad esempio con l’autenticazione push, dopo aver effettuato l’accesso con nome utente e password sul canale principale, si riceve sullo smartphone una richiesta di verifica a cui basta rispondere semplicemente premendo un bottone. Metodi di autenticazione quali Authy, Duo o Yahoo Account Key utilizzano questo sistema che semplifica notevolmente l’accesso senza nessun rischio di furto delle credenziali.
Conclusioni
Non esistono soluzioni tecnologiche di autenticazione che possono sostituire completamente la password; esse piuttosto possono servire come mezzo complementare per renderla più affidabile nel processo di autenticazione. Se esaminiamo ad esempio l’autenticazione biometrica possiamo constatare che oggi è utilizzata correntemente sugli smartphone ma abbiamo sempre una password che ci protegge rispetto ad un uso improprio del metodo di autenticazione. Se non esistesse la password sarebbe impossibile fare il reset dei dati biometrici per bloccare l’apparecchio.
Oggi esistono delle soluzioni di autenticazione senza password che, pur essendo tecnicamente molto sicure, si scontrano spesso con la difficolta di comprensione del loro funzionamento da parte dell’utente. Una soluzione con un’usabilità problematica rischia di essere rifiutata dall’utente e un caso emblematico è la tecnologia di FIDO Alliance. Nei suoi 10 anni di vita ha raccolto l’interesse di aziende e organizzazioni ma, pur essendo potenzialmente utilizzabile da oltre 3 miliardi di utenti, non è riuscita a raggiungere una massa critica di persone che la utilizzano correntemente.
La password può essere accettata immediatamente da chiunque perché, rispetto a soluzioni tecnologicamente più sicure, è più semplice da capire nel suo funzionamento ed estremamente intuitiva nel suo utilizzo. Questo conferma che la problematica dell’autenticazione non può essere affrontata esclusivamente con un approccio tecnologico ma deve tener conto anche degli aspetti cognitivi e di usabilità. L’autenticazione è un argomento in cui è fondamentalmente la facilità di utilizzo e la conferma viene dal cattivo uso delle password: si usano password semplici, ovvie e banali perché sono le più facili da usare.
Nello standard “Digital Identity Guidelines” sulla gestione dell’autenticazione, pubblicato recentemente dal National Institute of Standards and Technology (NIST), sono proposte le nuove regole sull’uso delle password, a conferma che probabilmente il momento della sua scomparsa non è dietro l’angolo.
Con nuove regole sulla sua gestione e con l’uso dei password manager, per gestire il sempre maggior numero di password, il problema della difficoltà di utilizzo della password potrebbe ridimensionarsi.
Ciascuno dei metodi di autenticazione visti sopra ha pregi e difetti che vanno analizzati e capiti per scegliere la soluzione più sicura ed efficace. Per ora, finché non si imporrà uno standard sicuro di autenticazione più semplice e intuitivo, sarà difficile pensare di abbandonare la password.