Signal

Signal apre i test pubblici della verifica automatica delle chiavi

Con la beta 8.11 di Signal per Android arriva in test pubblico la verifica automatica delle chiavi crittografiche basata su key transparency. Ecco come funziona e quali sono i limiti.

Nessun login, nessun IP salvato.

Verificare che una conversazione su Signal sia davvero cifrata end-to-end con la persona giusta finora ha richiesto un confronto manuale: incontrarsi di persona, confrontare i 60 numeri del safety number, oppure scansionare il QR code attraverso un canale alternativo fidato. Una procedura corretta in teoria, ma che non sempre è facile o si ha voglia di eseguire sul serio. Con la beta 8.11 di Signal per Android, in distribuzione in queste ore, lo stesso controllo inizia a essere automatico.

La funzione si chiama automatic key verification e si basa sulla key transparency, un meccanismo crittografico in sviluppo presso Signal da diverso tempo. Per provarla basta aprire il profilo di un contatto, toccare “View Safety Number” e premere il pulsante “Verify automatically”: se la verifica va a buon fine compare un segno verde con la dicitura “Encryption verified”.

// affiliato ▸ Tuta · Email criptata, un mese extra gratuito · Provalo gratis →

Come funziona la key transparency

Il post di Signal che annuncia la feature si limita a dire che la verifica automatica è “un sistema di controlli continui effettuati da più parti, l’utente, l’interlocutore e auditor indipendenti di terze parti”. Non spiega in dettaglio cosa succede dietro le quinte. Per capire il funzionamento del sistema bisogna guardare al codice pubblicato da Signal su GitHub e alla bozza IETF di riferimento, scritta tra gli altri da un ingegnere di Signal.

Per cifrare i messaggi end-to-end, Signal deve associare a ciascun utente una chiave pubblica. Storicamente queste associazioni sono custodite sui server di Signal e fornite ai client quando serve. Il limite di questo approccio è noto: un server compromesso, o sotto pressione legale, potrebbe in teoria fornire una chiave diversa da quella reale e rendere possibile un attacco con un terzo interposto. L’app già oggi notifica all’utente i cambi di safety number, ma per capire se un cambio è legittimo, ad esempio una reinstallazione, oppure è un attacco, bisognava confrontare manualmente il numero con la controparte.

La key transparency interviene su questo punto. Dalla documentazione tecnica risulta che Signal continua a custodire le stesse informazioni di prima, ma in una struttura che non permette modifiche silenziose: ogni cambio di chiave viene aggiunto a un elenco in cui si possono solo accodare nuove voci, mai cancellare o riscrivere quelle vecchie. È come un libro contabile in cui ogni pagina è legata matematicamente a quelle precedenti, quindi strappare una pagina o riscriverla lascerebbe una traccia evidente.

A controllare che Signal non bari servono soggetti esterni, chiamati auditor. Signal ha pubblicato su GitHub il codice di un auditor di riferimento e Trail of Bits, società di sicurezza nota nel settore, ha pubblicato una propria implementazione indipendente. L’idea descritta nelle specifiche è che soggetti terzi possano scaricare in continuazione gli aggiornamenti del registro e accorgersi se i server di Signal provassero ad alterarlo o a mostrarne versioni diverse a utenti diversi.

Dal codice pubblico e dalla bozza IETF risulta che il registro non è una rubrica aperta consultabile da chiunque: la sua struttura è progettata in modo che gli auditor possano verificarne la correttezza matematica senza vedere in chiaro quali numeri sono iscritti e con quali chiavi. Chi conosce già un numero specifico può chiedere al server quale chiave gli è associata, come succede oggi quando si aggiunge un contatto a Signal, ma scaricare l’elenco completo degli iscritti non è possibile.

Supporta Yoota · link affiliato

L’app esegue inoltre verifiche per conto proprio: controlla che la chiave del contatto sia effettivamente presente nel registro e che il registro stesso sia rimasto coerente nel tempo. Tutte queste verifiche insieme, secondo Signal, offrono la stessa garanzia di un confronto manuale del safety number, senza richiedere alcuna azione all’utente.

I limiti, e cosa succede quando non funziona

La verifica automatica non è disponibile in tutti i casi. Funziona soltanto se il client conosce il numero di telefono dell’altra parte, condizione che si verifica se la chat è stata iniziata tramite la funzione “Trova per numero”, se il contatto è in rubrica ed è raggiungibile per numero, oppure se l’interlocutore ha scelto di rendere il proprio numero visibile a tutti (l’impostazione predefinita lo nasconde a chiunque).

Anche quando funziona, può smettere di farlo per ragioni del tutto normali, come il cambio di numero della controparte. In quei casi, ricorda Signal, si torna al vecchio safety number da confrontare attraverso un canale alternativo fidato. La verifica automatica si affianca quindi al safety number manuale, non lo sostituisce del tutto.

Quando arriva in versione stabile

Per il momento la novità è confermata nel canale beta di Android. Sviluppo della key transparency è in corso da diverso tempo anche su iOS e Desktop, e la feature dovrebbe arrivare in test pubblico anche su quelle piattaforme nelle prossime settimane, anche se le release notes ufficiali delle rispettive beta in distribuzione non la menzionano esplicitamente. Signal chiede di segnalare nel forum eventuali casi in cui la verifica non risulta disponibile pur ricorrendo una delle tre condizioni descritte. Le beta servono proprio a questo prima del rilascio generale.


Spargi la voce

Fiuta le novità (seguimi 🐾)

YOOTA
YOOTA
@yoota@yoota.it

Fiuto per le tech news

927 articoli
139 follower

Lascia un commento

Puoi lasciare solo commenti senza iscrizione che verranno preventivamente moderati e il tuo indirizzo IP sarà anonimizzato.

Già che ci sei…

Caricamento top zampate…

Biscotti! Non vengono installati cookie di tracciamento né raccolti dati personali ma questo sito è federato con ActivityPub ⁂, visitandolo quindi potresti fare connessioni esterne ai server di Mastodon o altri software.Affiliazioni: Alcuni articoli potrebbero contenere link di affiliazione. Se acquisti tramite questi link, potremmo ricevere una piccola commissione.