signal key transparency verifica automatica chiavi

Signal automatizza la verifica delle chiavi con la key transparency

🛡️ Executive Summary

  • Signal introduce Automatic Key Verification, sistema che controlla la coerenza tra numero telefonico o username e relativa chiave pubblica di cifratura.
  • La funzione usa un registro crittografico verificato dagli utenti e da auditor indipendenti, con Cloudflare e Trail of Bits nel ruolo di terze parti.
  • La key transparency rileva sostituzioni anomale delle chiavi, ma non certifica l’identità reale della persona che controlla un account Signal.

Signal introduce Automatic Key Verification per ridurre uno dei pochi controlli di sicurezza che finora richiedevano ancora un intervento esplicito degli utenti. La nuova funzione affianca i tradizionali Safety Number e utilizza un sistema di key transparency per verificare che l’associazione tra un numero telefonico o username e la relativa chiave pubblica sia coerente nell’intero ecosistema Signal. L’obiettivo è individuare scenari estremi nei quali un attaccante riesca a sostituire la chiave associata a un contatto, per esempio compromettendo l’infrastruttura che distribuisce le chiavi pubbliche. La verifica non sostituisce la crittografia end-to-end, già presente nel Signal Protocol, ma aggiunge un controllo sul meccanismo attraverso il quale gli utenti stabiliscono quale chiave appartenga realmente all’account con cui stanno comunicando.

La crittografia dipende anche dalla distribuzione corretta delle chiavi

Annuncio

Quando un utente si registra, Signal genera sul dispositivo le coppie di chiavi necessarie al protocollo. Le chiavi private rimangono sul dispositivo, mentre quelle pubbliche vengono registrate presso Signal affinché altri utenti possano recuperarle e iniziare una conversazione cifrata. La presentazione ufficiale di Automatic Key Verification spiega che questo modello crea inevitabilmente una directory centrale che associa identificatori pubblici, come numero telefonico o username, alle chiavi pubbliche corrispondenti. Se quella directory restituisce la chiave corretta, la crittografia end-to-end funziona come previsto.

image 256
Signal automatizza la verifica delle chiavi con la key transparency 6

Se invece un avversario estremamente privilegiato riuscisse a sostituirla, il mittente potrebbe cifrare involontariamente i messaggi verso una chiave controllata dall’attaccante. Signal considera uno scenario del genere avanzato e improbabile, ma ha progettato la key transparency proprio per renderlo rilevabile.

I Safety Number restano il controllo più diretto tra due persone

Signal dispone da anni dei Safety Number, sequenze associate alle chiavi crittografiche di una conversazione che due utenti possono confrontare manualmente attraverso un QR code oppure tramite un secondo canale fidato. Se i valori coincidono, le parti ottengono una forte conferma di stare utilizzando reciprocamente le chiavi corrette. Il problema è operativo: incontrarsi di persona o confrontare un lungo codice attraverso una seconda piattaforma non è sempre pratico, soprattutto nelle conversazioni avviate a distanza. Automatic Key Verification nasce quindi per offrire una garanzia complementare più semplice da utilizzare, basata non sul confronto diretto tra i due interlocutori ma sulla coerenza globale del registro delle chiavi. Signal sottolinea che la funzione non elimina i Safety Number, che restano disponibili per chi vuole effettuare la verifica manuale o non intende affidarsi agli auditor esterni.

Un registro crittografico memorizza i cambiamenti delle identità

Il sistema può essere rappresentato come un registro append-only nel quale vengono registrate le modifiche alle associazioni tra identificatori e chiavi. Signal utilizza un log tree per conservare cronologicamente gli aggiornamenti e prefix tree che permettono ai client di cercare efficientemente le informazioni relative a uno specifico account.

image 257
Signal automatizza la verifica delle chiavi con la key transparency 7

Quando un utente si registra, modifica numero o username oppure ricrea il proprio account, la variazione viene inserita nel registro. L’obiettivo non è impedire che una chiave cambi: una sostituzione può essere perfettamente legittima. Il sistema serve invece a fare in modo che le modifiche non possano essere mostrate selettivamente soltanto ad alcuni utenti o successivamente nascoste senza lasciare traccia.

La ricerca resta efficiente anche con registri enormi

Signal utilizza strutture indicizzate perché controllare sequenzialmente ogni modifica diventerebbe rapidamente impraticabile. Nel modello illustrato dall’azienda, una ricerca binaria permette di individuare l’informazione corretta con un numero di verifiche che cresce molto lentamente rispetto alla dimensione del registro: persino in un archivio teorico con un miliardo di aggiornamenti sarebbero sufficienti circa 30 passaggi per localizzare una determinata associazione. Questa caratteristica permette ai client di verificare le prove ricevute dal server senza dover scaricare l’intero database. L’approccio deriva da tecniche già sviluppate nell’ambito della key transparency e implementate da Signal in un server open source adattato alle esigenze della propria piattaforma.

Cloudflare e Trail of Bits controllano che esista una sola versione del registro

Un registro gestito esclusivamente da Signal non risolverebbe completamente il problema, perché un’infrastruttura compromessa potrebbe teoricamente mostrare due versioni differenti dello stesso stato a persone diverse. Per impedire questo scenario entrano in gioco auditor indipendenti. Signal utilizza Cloudflare e Trail of Bits come terze parti che osservano l’evoluzione del registro e verificano crittograficamente che ogni nuova versione derivi correttamente dalla precedente. Gli auditor firmano lo stato che hanno verificato e non dovrebbero quindi validare due versioni contraddittorie della stessa posizione del registro. I client possono controllare tali firme e ottenere la garanzia che gli utenti stiano consultando una vista coerente dello stesso insieme di dati.

Gli auditor non vedono numeri telefonici o username in chiaro

L’introduzione di auditor esterni potrebbe sembrare in contrasto con il modello di privacy di Signal, ma l’implementazione è progettata per evitare di esporre direttamente gli identificatori degli utenti. Signal afferma che i dati contenuti nel log sono crittograficamente oscurati: gli identificatori pubblici vengono elaborati attraverso una verifiable random function, mentre i valori associati sono protetti mediante keyed hash. Cloudflare e Trail of Bits possono quindi verificare la coerenza della struttura senza ricevere numeri telefonici o username in chiaro. Anche le richieste di lookup eseguite dai client sono non autenticate, in modo da non essere associate direttamente a uno specifico account Signal.

L’app controlla automaticamente la propria identità nel registro

La verifica non avviene soltanto quando un utente decide di controllare un contatto. L’app Signal esegue periodicamente verifiche automatiche dei propri identificatori pubblici, controllando che il numero telefonico o username dell’utente continuino a essere associati alla chiave attesa. Questo self-monitoring è essenziale perché gli auditor possono assicurare che il registro sia coerente, ma non possono stabilire autonomamente se un determinato cambiamento sia legittimo.

image 258
Signal automatizza la verifica delle chiavi con la key transparency 8

Se qualcuno riuscisse a inserire una nuova chiave per l’account di Alice seguendo formalmente tutte le regole del registro, gli auditor vedrebbero una modifica coerente; è il client di Alice che può accorgersi che quella modifica non è stata richiesta dalla proprietaria dell’account.

Anche i contatti vengono controllati nel tempo

Il secondo lato del sistema riguarda chi comunica con quell’utente. Quando Bob verifica automaticamente Alice, il proprio client controlla che la chiave associata all’identificatore di Alice corrisponda a quella già conosciuta. La verifica viene poi ripetuta nel tempo. Se un attaccante inserisse temporaneamente una chiave falsa e successivamente ripristinasse quella corretta per cercare di cancellare le tracce, la cronologia del registro continuerebbe a mostrare il cambiamento. Signal combina quindi self-monitoring, verifiche dei contatti e auditing esterno per costruire un sistema nel quale una manipolazione può non essere rilevata istantaneamente, ma dovrebbe diventare osservabile attraverso le verifiche successive.

La nuova funzione si attiva dalla schermata del Safety Number

Dal punto di vista dell’utente l’intero meccanismo resta quasi invisibile. Nel profilo di un contatto è possibile aprire View Safety Number e selezionare Verify automatically nella nuova sezione dedicata all’Automatic Key Verification. Se il controllo è disponibile e termina correttamente, Signal mostra un segno di spunta verde con l’indicazione Encryption verified. La complessità del registro, delle prove crittografiche e degli auditor rimane quindi dietro un’interazione molto semplice. È una scelta coerente con il percorso recente di Signal, che ha già cercato di trasformare protezioni complesse in indicazioni comprensibili quando ha introdotto avvisi anti-phishing e conferme contro il social engineering.

Non tutti i contatti possono essere verificati automaticamente

La prima implementazione presenta però una limitazione importante: per verificare automaticamente un contatto è necessario disporre del suo numero telefonico aggiornato. Se due persone si sono conosciute esclusivamente attraverso username Signal e non hanno mai condiviso il numero, la funzione non può essere utilizzata per quella relazione. Lo stesso problema compare se il contatto ha cambiato numero e la rubrica locale conserva quello precedente. In queste condizioni Signal rende Automatic Key Verification indisponibile e suggerisce di utilizzare il tradizionale Safety Number. La limitazione riflette anche le impostazioni di privacy del servizio: per impostazione predefinita il numero telefonico di un utente non è visibile a chiunque.

Key transparency non significa verifica dell’identità personale

È il limite concettuale più importante della nuova funzione. Signal afferma esplicitamente che la key transparency non verifica chi sia realmente la persona che controlla un numero o un username. Dimostra che tutti i partecipanti vedono una stessa associazione tra quell’identificatore e una determinata chiave. Se un attaccante riuscisse invece a prendere completamente possesso dell’account della vittima attraverso social engineering, furto del dispositivo o compromissione delle procedure di registrazione, il registro potrebbe mostrare correttamente la nuova chiave perché l’account stesso è stato legittimamente modificato dal punto di vista del servizio. In quel caso sarebbero ancora necessari controlli attraverso un canale secondario. È una distinzione particolarmente rilevante dopo le campagne nelle quali attori russi hanno preso di mira gli account Signal attraverso phishing e procedure di collegamento dei dispositivi.

Automatic Key Verification non risolve il phishing contro Signal

La nuova funzione protegge quindi da un problema crittografico di distribuzione delle chiavi, non dall’intero spettro delle minacce alla messaggistica. Se un utente viene convinto a scansionare un QR code ostile, consegnare un codice di registrazione o autorizzare un dispositivo collegato, l’attaccante può ottenere accesso all’account senza dover manipolare la directory delle chiavi. Proprio per questo Signal mantiene parallelamente le protezioni introdotte contro social engineering e account takeover. Le campagne del 2026 hanno mostrato che Signal e WhatsApp possono essere compromessi abusando di funzioni legittime senza rompere la crittografia end-to-end. Automatic Key Verification chiude un confine differente: impedire che l’infrastruttura centrale possa presentare silenziosamente una chiave diversa senza che il cambiamento diventi verificabile.

Chi non vuole auditor esterni può continuare con la verifica manuale

Signal mantiene anche un percorso per gli utenti che preferiscono non affidarsi né alla piattaforma né a terze parti come Cloudflare e Trail of Bits. Automatic Key Verification può essere disattivata dalle impostazioni Privacy > Advanced, continuando a utilizzare esclusivamente la verifica manuale dei Safety Number. La scelta evidenzia che Signal considera i due meccanismi complementari e non gerarchici: la key transparency riduce l’attrito e rende molto più semplice effettuare controlli diffusi, mentre il confronto manuale attraverso un secondo canale continua a offrire una verifica diretta tra interlocutori che non richiede fiducia negli auditor.

Signal porta la verifica delle chiavi da pratica per esperti a controllo ordinario

Il valore principale della novità è quindi operativo. La verifica delle chiavi esiste da anni nella messaggistica end-to-end, ma la maggior parte degli utenti non confronta regolarmente Safety Number o QR code. Signal prova ora a spostare quel controllo dal comportamento volontario dell’utente all’infrastruttura stessa, senza rendere pubblici gli identificatori contenuti nel registro. Cloudflare e Trail of Bits garantiscono che non vengano mostrate versioni divergenti del log, mentre i client controllano periodicamente che le chiavi registrate continuino a corrispondere a quelle conosciute. La protezione non impedisce il furto completo di un account e non sostituisce la verifica dell’identità della persona, ma rende molto più difficile modificare silenziosamente l’associazione tra identità Signal e chiave pubblica. In un ecosistema nel quale gli attacchi più efficaci puntano sempre più spesso all’account invece che alla crittografia, Automatic Key Verification rafforza uno dei pochi punti nei quali anche una piattaforma end-to-end deve necessariamente mediare la fiducia tra due interlocutori.

Iscriviti alla Newsletter

Non perdere le analisi settimanali: Entra nella Matrice Digitale.

Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.

Torna in alto