Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_6a3d5d1d7a97d75060d8984447c27e7a is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_wordproof_timestamp is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Private Access Tokens: Apple stabilisce già se un client è legittimo

Private Access Tokens: Apple stabilisce già se un client è legittimo

Si è parlato tanto delle Web Integrity API di Google. In realtà, però, Apple ha già implementato da tempo il meccanismo chiamato Private Access Tokens. E non ce ne siamo nemmeno accorti. Cos'è e come funziona.

Ha destato non poca preoccupazione la proposta di Google che mira a introdurre a livello di browser Web un meccanismo “inedito” per l’attestazione della “legittimità” del client in uso. Si tratta delle Web Integrity API che hanno iniziato il processo di integrazione in Chromium e Chrome. In realtà Apple sta già facendo qualcosa di molto simile da circa un anno con Private Access Tokens. E non ce ne siamo neppure accorti.

Cosa significa in soldoni? Che l’accesso a funzionalità specifiche oppure a interi siti Web è vincolato all’approvazione del client da parte di un soggetto ritenuto affidabile. Leggasi Google, Microsoft o Apple.

Apple ha già sviluppato e implementato il sistema Private Access Tokens

In questi giorni la soluzione predisposta da Google ha sollevato un vespaio di polemiche. In realtà, come abbiamo accennato in apertura, Apple ha già progettato e implementato qualcosa di molto simile almeno da un anno.

Il sistema Private Access Tokens è parte integrante di macOS 13, iOS 16 e Safari: la ratio, come spiega Apple, è fornire un potente strumento capace di verificare quando le richieste HTTP/HTTPS provengono da dispositivi legittimi, senza rivelare l’identità dell’utente finale.

L’obiettivo, in questo caso, è quello di evitare la comparsa delle “sfide” tipicamente presentate dai CAPTCHA. Superare i CAPTCHA diventa fattibile verificando appunto la “bontà” di ciascun dispositivo client con un processo automatizzato, in grado di escludere l’impiego di procedure automatizzate e, in generale, di bot. Cloudflare e Fastly, ad esempio, utilizzano i Private Access Tokens come meccanismo per rilevare client “reali”.

Come funzionano i Private Access Tokens

Il sistema su cui poggia Private Access Tokens sfrutta semplici chiamate HTTP ed è gestito attraverso le API (Application Programming Interfaces) integrate a livello di browser Web. Queste ultime, a loro volta, dialogano con il sistema operativo per confermare che il browser e in generale la piattaforma utilizzati dall’utente siano “legittimi”. La definizione esatta (eventualmente utilizzata al posto della parola “legittimi”) è lasciata all'”attestatore“, ovvero al soggetto che certifica il dispositivo client. In questo caso ad Apple.

Il flusso dei dati nel caso di Private Access Tokens è più o meno il seguente:

  • Il browser effettua una richiesta HTTP a un server Web.
  • Il server Web, di primo acchito, rifiuta la richiesta e restituisce una risposta HTTP 401 con una challenge PrivateToken.
  • Il browser rileva la challenge e invia alcuni dati salienti, oltre ai dettagli del dispositivo forniti dal sistema operativo, al soggetto attestatore. Quest’ultimo verifica che il dispositivo sia “legittimo” e non sia stato modificato in maniera non autorizzata: sia Android che iOS utilizzano componenti di sistema utili al fini del controllo. L’attestatore, inoltre, collabora con un emittente di token per la restituzione al client di un token firmato. L’ottenimento e il possesso di quest’ultimo dimostra che il dispositivo è verificato.
  • A questo punto il browser invia nuovamente la richiesta, inserendo il token firmato nell’intestazione Authorization. Il server ora è certo che il client è verificato da un provider attendibile e può trattare le richieste dell’utente con fiducia.

In HTTP/HTTPS, il termine “challenge” si riferisce a una procedura utilizzata per verificare l’identità o l’autorizzazione di un utente o di un’applicazione che sta tentando di accedere a una risorsa protetta.

Quali sono i problemi intrinseci?

Meccanismi di attestazione come Private Access Tokens oppure Web Integrity API, implicano che gli utenti possano usare solo client approvati per accedere e utilizzare determinati servizi.

Senza usare troppi giri di parole, questi sistemi sono da molti valutati come una minaccia per la concorrenza e l’innovazione. Di fatto potrebbero tagliare le gambe agli sviluppatori che creano un nuovo browser o un nuovo sistema operativo. Se fosse accaduto ai tempi di Internet Explorer 6, questi meccanismi si sarebbero tramutati in un serio ostacolo per la diffusione di Firefox, prima e di Chrome, poi.

Allo stesso modo, uno smartphone sottoposto a rooting è di fatto un dispositivo considerato come “non legittimo”. Così come non può ottenere alcuna approvazione un dispositivo in qualche modo modificato dall’utente. Si pensi alle tante ROM Android di terze parti che oggi è possibile utilizzare in sostituzione di quella originariamente inserita dal produttore.

Le forme di attestazione del dispositivo client come quelle descritte, potrebbero in futuro rendere ancora più intransigenti le posizioni dei produttori. Ad esempio potrebbero essere bloccati gli accessi da parte di chi usa estensioni per il browser ritenute non accettabili oppure i tentativi di connessione effettuati da device non più supportati perché ormai giunti al loro “fine vita”.

Tanta attenzione su Google perché Chrome è il browser dominante

Perché in questi giorni si è parlato tanto delle Web Integrity API mentre Private Access Tokens, già in uso da parte di Apple nel suo ecosistema, sono passate sotto silenzio? Semplice. Chrome vanta oltre il 60% delle quote di mercato nel segmento dei browser e, complessivamente, tutti i prodotti basati su Chromium superano il 70%.

Una maggioranza bulgara che ha portato gli esperti a mettere ai raggi X la soluzione di Google prima ancora di quella della concorrenza. Apple Safari ha circa il 20% delle quote di mercato nei browser (25% su dispositivi mobili e 15% su desktop). L’utilizzo di Chrome è quindi nel complesso fonte di maggiore preoccupazione.

Tuttavia, con Web Integrity API e Private Access Tokens operativi, il 90% dei dispositivi client in uso a livello mondiale si potrebbe trovare a dover superare una procedura di attestazione. Subendo un “trattamento” differente in caso di mancato superamento della stessa.

Credit immagine in apertura: iStock.com/sesame

Ti consigliamo anche

Link copiato negli appunti