I CAPTCHA, complicato acronimo di Completely Automated Public Turing-test-to-tell Computers and Humans Apart, sono quei meccanismi che sono stati ideati per verificare che chi prova a registrarsi o ad accedere a un servizio online è una persona in carne ed ossa e non un “bot” (ovvero un computer, un sistema automatizzato).
Il sistema CAPTCHA più famoso è senza dubbio Google reCAPTCHA che nel corso del tempo ha subìto diversi aggiornamenti e ottimizzazioni.
Il CAPTCHA di solito chiede di risolvere un semplice quiz oppure, per mettere in difficoltà i sistemi più evoluti utilizzati dagli spammer, di rispondere a una domanda in forma grafica (viene ad esempio richiesto di selezionare tutte le immagini che contengono uno specifico oggetto o di eliminare tutte quelle in cui figura uno specifico elemento).
Usando alcuni “segnali” Google reCAPTCHA prova a evitare la visualizzazione del CAPTCHA: ad esempio, se l’indirizzo IP dell’utente è noto per non effettuare attività ricorrenti e potenzialmente automatizzata, se l’utente avesse già risposto correttamente ad altri quesiti CAPTCHA, allora Google evita la comparsa di ulteriori quesiti: spuntando la casella Non sono un robot apparirà immediatamente una spunta di colore verde.
La soluzione di Cloudflare per superare i CAPTCHA
Per molti i CAPTCHA continuano però a restare una “bestia nera”. Sono fastidiosi e talvolta non semplici da gestire tanto che secondo Cloudflare a livello mondiale si perderebbero qualcosa come 500 anni di tempo ogni giorno per superare i CAPTCHA.
È ora di farla finita con questa follia dei CAPTCHA, scrive senza mezzi termini Cloudflare.
Per superare e sostituire i CAPTCHA definitivamente l’idea è quella di utilizzare le chiavette FIDO2 delle quali abbiamo spesso parlato.
Grazie ad esse, spiega Cloudflare, un umano può provare di non essere un bot senza però rivelare la sua identità.
Il sito CloudflareChallenge è un po’ un’anteprima del meccanismo proposto da Cloudflare in sostituzione dei CAPTCHA col nome di Cryptographic Attestation of Personhood (si potrebbe tradurre con “Attestazione crittografica della personalità“).
Quando l’utente chiede di avviare una procedura di registrazione o accedere a una specifica area in un’applicazione web viene dato il via a un meccanismo di autenticazione che sfrutta la compatibilità del browser in uso con le chiavette FIDO2. Collegando una propria chiavetta al sistema oppure utilizzando la connessione wireless via NFC (l’utilizzo di Bluetooth da parte di alcuni produttori è stato criticato da alcuni esperti di sicurezza per via delle inferiori garanzie che può offrire; Yubico aveva ad esempio criticato la chiavetta Titan di Google) si potrà accedere al servizio richiesto senza dover superare alcun CAPTCHA.
L’intera procedura basata l’uso di FIDO2 e dello standard W3C WebAuthn richiederà mediamente 5 secondi per essere portata a conclusione contro i 32 secondi dei CAPTCHA tradizionali.
Cloudflare spiega di aver integrato nel suo sistema alternativo ai CAPTCHA solo i produttori di chiavette FIDO2 che sono membri della FIDO Alliance.
Le API WebAuthn sono ormai diventate un punto di riferimento in tutti i browser e sono da essi direttamente supportate. Cloudflare ricorda che tutti i browser per Windows, macOS, Linux e iOS 14.5 e successivi le utilizzano mentre su Android le API sono abbracciate a partire dalla release 10 del sistema operativo da Google Chrome.
La chiavetta FIDO2 contiene un modulo di sicurezza incorporato che contiene un “segreto” unico e firmato dal produttore dello stesso dispositivo. Il modulo di sicurezza è in grado di dimostrare che l’utente è il legittimo possessore di tale “segreto” senza però mai rivelarlo.
Il sistema alternativo ai CAPTCHA di Cloudflare chiede appunto tale prova e controlla che il produttore del dispositivo FIDO2 sia noto e approvato.
Il sistema proposto da Cloudflare dovrà ovviamente prendere piede e ci vorrà del tempo perché i CAPTCHA ai quali siamo abituati vengano progressivamente messi da parte. Un seme è stato gettato e l’idea è promettente: speriamo di raccoglierne rapidamente i primi frutti.