Apple iOS 16 dice addio ai captcha: li completerà al vostro posto
Con l’arrivo di iOS16, presentato al WWDC 2022, Apple porta un’altra grossa novità: l’eliminazione dei captcha, completandoli automaticamente al poto vostro. Una nuova feature, infatti, informerà un sito web, che normalmente richiede il completamento di un codice CAPTCHA, che si trova davanti un utente legittimo piuttosto che un robot.
La nuova feature, chiamata Private Access Tokens, è stata spiegata dettagliamente da Apple durante una sessione del WWDC per gli sviluppatori, intitolata “Replace CAPTCHAs with Private Access Token”:
I Private Access Token sono una potente alternativa che ti aiuta a identificare le richieste HTTP da dispositivi e persone legittimi senza compromettere la loro identità o informazioni personali. Ti mostreremo come la tua app e il tuo server possono sfruttare questo strumento per aggiungere sicurezza alle tue transazioni online e preservare la privacy.
Come farà Apple a risolvere i CAPTCHA al posto nostro?
I codici CAPTCHA (dove CAPTCHA sta per Completely Automated Public Turing test to tell Computers and Humans Apart) sono piccoli popup che appaiono al momento del login su molti siti e applicazioni, pensati per confermare l’identità umana di chi sta provando a effettuare l’accesso, e bloccare quindi le richieste da parte di sistemi automatizzati come script di scrapping.
Ne esistono di diverso tipo: il più classico è quello di trascrivere codici alfanumerici presenti all’interno di immagini. I più moderni, come reCAPATCHA di Google, vi chiederanno di individuare e selezionare tutte le immagini contenenti un determinato soggetto. Una soluzione apparentemente semplice, ma che nel corso degli anni (l’idea è nata nel 1997) ha comportato non pochi fastidi e perdite di tempo per gli utenti, che spesso si trovano ad affrontare puzzle troppo confusionari e complicati.
Abbiamo quindi da una parte una qualche forma di esagerazione per la difficoltà con cui sono proposti in proporzione a quello che dovrebbe essere un’operazione elementare, dall’altra c’è la necessità di eliminare la possibilità che degli script automatizzati provino ad utilizzare dei servizi web che richiedono autenticazione. Quest’ultimo aspetto, che riguarda la sicurezza di tutti, è un aspetto di cui non si può fare a meno, redendo quindi i CAPTCHA una cosa essenziale.
La soluzione di Apple è quella di bypassare la verifica CAPTCHA comunicando al sito web che chi sta facendo richiesta è effettivamente un utente. Apple quindi si prende in carico di verificare quello che fa normalmente un codice CAPTCHA, evitando quindi all’utente di verificarlo manualmente.
Il processo di verifica viene effettuato tramite una “challenge”. Quando un utente (tramite un device con iOS 16) richiede di accede ad un sito web, il server risponde con una challenge da risolvere. Nella richiesta di challenge viene allegato un provider di token (di cui il server ovviamente si fida). Il device con iOS 16 riceve quindi la challenge e la inoltra a iCloud, che verificherà la leggitimità del client (per esempio verifica che il client stia effettuando dei pattern “normali”, per esempio controllando quande richieste vengono fatte in un certo lasso di tempo per essere sicuri che il client non faccia parte di una token farm illeggittima). Una volta che iCloud ha confermato la richiesta del client, inoltra la richiesta di generazione del token al provider di token precedentemente inviato dal server. Il provider di token provvederà così a generarlo e a inviarlo al client che lo inoltrerà quindi al server. Il server verificherà con il provider di token che il token ricevuto sia stato effettivamente generato da quell’esatto provider e confermerà così che il client si tratta di un essere umano e non di un robot.
Tutta questa procedurà è messa in atto mantenendo la privacy dell’utente. Infatti, dal token non c’è nessun modo di risalire al client dato che nessuna informazione privata del client è condivisa durante questa challenge.