login_red
adv

I maggiori browser web si sono già adattati al nuovo standard di autenticazione Web Authn, come si è evoluta la passwordÈ davvero arrivato il momento di mandarla in pensione?

Da sempre ci avvaliamo di parole d’ordine per garantirci l’accesso selettivo a sistemi e farci riconoscere. L’ambito di applicazione è stato vario, a partire dalle bische clandestine per arrivare a quello militare ed il mondo informatico non è da meno.

Una password dovrebbe garantire al sistema che colui che cerca di accedere sia davvero l’utente che dichiara di essere, il che non è tanto importante di per sé in quanto la criticità sta in ciò che quell’utente potrà fare una volta entrato: cosa gli è permesso.

È dunque di fondamentale importanza, per l’integrità e la consistenza dei dati, limitare gli accessi ed i diritti degli utenti in base alle capacità o al ruolo più adatto a certe operazioni.

Per fare ciò si usa la ben nota login: abbinamento nome utente e password; al primo sono associati i diritti, mentre la seconda è usata, come già detto, ai fini di un riscontro d’identità.

Come funziona la password e com’è cambiata nel tempo

La password in origine era semplice, una parola segreta che solo l’utente conosceva, questa veniva conservata nel database del sistema informatico ed un semplice raffronto tra il dato in memoria e quello digitato al momento dell’accesso garantiva l’identità.

Con l’affinarsi delle tecniche d’intrusione ed intercettazione, anche i requisiti di sicurezza sono aumentati. Si introducono, così, le password criptate con algoritmi via via più complessi, password che vengono trasformate più e più volte e memorizzate all’interno dei database come stringhe di caratteri incomprensibili.

Il metodo di autenticazione resta lo stesso ma il raffronto non potrà più essere fatto tra i caratteri in chiaro, così anche la password digitata subirà le stesse trasformazioni di quella salvata, se i risultati combaceranno allora l’accesso sarà garantito.

La sicurezza, in questa tecnica, deriva dal fatto che il rubare una password criptata da un database non garantirà l’accesso in quanto si ha una trasformazione della stringa digitata: la sequenza di caratteri incomprensibile verrebbe ulteriormente trasformata dando un risultato differente da quanto sperato.

La codifica, inoltre, viene eseguita con funzioni hash, algoritmi che non consentono una trasformazione a ritroso per risalire alla parola in chiaro.

One-time password

Gli algoritmi di hash sono noti ed esistono programmi che li utilizzano per tentare dei brute force attack. Tali attacchi processano automaticamente una lista in chiaro di password di comune utilizzo; ciascuna di esse viene elaborata con le varie funzioni hash e confrontata con la password criptata rubata all’utente.

Il processo si ripeterà finché il raffronto non darà esito positivo, rivelando quale stringa in chiaro ha generato l’hash che combacia con la password criptata, o finché la lista finirà. Le liste vengono continuamente arricchite. A queste si aggiungono, inoltre, le password rubate con la social engineering, il phishing con le false email, etc.

Per tali motivi, i sistemi moderni impongono le password complesse: con obbligo di lunghezza minima, presenza di numeri, caratteri speciali e maiuscole e con un cambio programmato dopo un certo periodo.

I sistemi di e-commerce, per le verifiche all’atto della transazione, alla password aggiungono un ulteriore codice che viene inviato via sms e che vale per un periodo limitato di tempo.

I sistemi con livelli di sicurezza più elevati, come le banche, hanno fatto di tale concetto la base della loro autenticazione, realizzando una one-time password.

La peculiarità di tale tecnica è che alla login tradizionale si aggiunge il codice generato da token, una chiavetta con un generatore di numeri pseudo-casuali validi per un tempo limitato. Qualora qualche malintenzionato dovesse intercettare la password, non riuscirebbe comunque a riutilizzarla perché non sarebbe più valida dopo il primo uso.

La falla in questa metodologia, oltre alla banale perdita della chiavetta e del relativo pin, può risiedere nel fatto che il codice “random” è generato da un algoritmo, pertanto è predicibile. La sequenza è chiamata, infatti, pseudo-casuale.

Dato un algoritmo, le varie chiavette differiranno tra loro per il seed o seme che, applicato all’algoritmo, fa partire le sequenze da punti diversi differenziandole.

Per avere una sequenza realmente casuale ci si dovrebbe avvalere di generatori fisici ad alta entropia, poco pratici e molto costosi.

La possibilità di risalire all’algoritmo è tuttavia remota e, comunque, tale metodologia è di gran lunga più sicura di nome utente e password.

WebAuthn: FIDO2

Web Authentication, abbreviato WebAuthn, è il nuovo protocollo che stabilisce le dinamiche di autenticazione per l’accesso a siti web; esso è stato ideato da W3C (World Wide Web Consortium) e FIdO (Fast Identity Online) Alliance, gli organi per la definizione degli standard e dell’autenticazione su web. Lo scopo è sfruttare le tecnologie già presenti, ed in parte precedentemente illustrate, per realizzare nuovi modi di autenticazione.

FIDO2 costituisce l’implementazione, la realizzazione concreta di quanto specificato in WebAuthn. La base di tutto è la crittografia asimmetrica che si fonda su un meccanismo a doppia chiave.

La chiave pubblica sarà salvata sui siti; all’atto dell’autenticazione il sito invierà un challenge, dati random, cui l’utente risponderà con il sign, generato con il meccanismo della one-time passowrd grazie alla chiave privata, da lui gelosamente custodita.

Chiaramente meccanismi così complessi necessitano di sistemi dedicati; FIDO2 sfrutta delle chiavette per immagazzinare le credenziali alle quali si possono abbinare pin o l’uso di sensori biometrici (scanner di impronte digitali, webcam con riconoscimento facciale, etc.) per corredare la sicurezza.

Vantaggi di FIDO2

Per prima cosa la password non dovrà essere più ricordata a memoria, questo consentirà anche l’uso di stringhe più lunghe e meno predicibili. Anche il phishing, così come lo conosciamo, risulterebbe molto meno efficace.

Qualora un sito web od un provider di posta dovessero subire un attacco, non ci sarebbero più le password degli utenti memorizzate ma solo delle chiavi pubbliche inutili per il login.

Se anche la comunicazione dovesse essere intercettata con un attacco man-in-the-middle, i dati scambiati non sarebbero utili perché valgono, come già detto, per un utilizzo one-time.

È giunta l’ora di mandare in pensione la password?

Già da tempo sono in commercio riconoscitori di impronte digitali, molti portatili li incorporano di default, allo stesso modo le webcam ed i programmi di scansione e riconoscimento: la tecnologia è già a portata di mano.

Tutti i maggiori player del web, Mozilla, Google, PayPal e Microsoft per nominarne alcuni, hanno collaborato alla nascita del protocollo e sviluppato le API (Application Programming Interface) per sfruttarlo; Firefox, Chrome ed Edge (successore di Internet Explorer) sono già pronti per usarlo; la prossima major release di Windows 10 supporterà il login tramite FIDO2.

Sembrerebbe tutto già predisposto per il grande, imminente, salto; un’unica incognita resta per gli utenti Apple, azienda che, sebbene parte del consorzio W3C, sembra non abbia ancora adeguato il suo Safari.