Skip to content Skip to footer
Contenuto sviluppato con intelligenza artificiale, ideato e revisionato da redattori umani.
···

Un progetto di quattro settimane mostra come l’intelligenza artificiale possa accelerare le dimostrazioni di sicurezza. Il risultato riguarda proprietà selezionate del protocollo, con supervisione umana.

Google DeepMind ha impiegato un nuovo sistema di intelligenza artificiale, AlphaProof Code, per verificare formalmente alcune garanzie crittografiche del protocollo Signal. Il progetto sperimentale è stato condotto in circa quattro settimane e ha prodotto dimostrazioni matematiche relative alle porzioni esaminate. Il perimetro è preciso: il lavoro riguarda proprietà selezionate del protocollo, senza estendersi all’intera applicazione mobile o a ogni componente del servizio.

Illustrazione concettuale di un’IA e di una persona che collaborano alla verifica di un protocollo crittografico.
AI e supervisione umana nella verifica formale di proprietà crittografiche.

L’esperimento porta l’AI in una fase dello sviluppo software che richiede particolare rigore: dimostrare che determinate caratteristiche di un sistema rispettino una specifica. Mentre gli assistenti di programmazione aiutano a scrivere e modificare codice, strumenti di questo tipo possono contribuire a costruire le prove necessarie per controllarne alcune proprietà. La prospettiva interessa soprattutto i componenti dai quali dipende l’affidabilità di molti altri servizi.

Il protocollo Signal è un caso rilevante perché la sua crittografia viene utilizzata, oltre che nell’app omonima, anche in piattaforme come WhatsApp e Google Messages. Le garanzie esaminate da DeepMind si inseriscono quindi in un’infrastruttura tecnologica largamente diffusa. Questo collegamento va letto con attenzione: la verifica di una parte del protocollo mantiene un ambito distinto dalla valutazione completa delle applicazioni che lo adottano.

Per capire il risultato occorre distinguere la verifica formale dai test ordinari. Un test esegue il software in determinate condizioni e controlla che il comportamento osservato corrisponda a quello atteso. La verifica formale traduce invece le proprietà da controllare in un linguaggio matematico e cerca una dimostrazione valida entro un insieme esplicito di ipotesi. La forza della conclusione dipende anche dalla precisione con cui è stato definito il problema.

State machine transitions for the ML-KEM Braid Protocol. Each transition is labeled with a number that can be found in the pseudocode below.
State machine transitions for the ML-KEM Braid Protocol. Each transition is labeled with a number that can be found in the pseudocode below. Fonte: Signal >> Specifications >> The ML-KEM Braid Protocol

In termini generali, per un protocollo crittografico si può voler dimostrare che una certa informazione rimanga riservata nelle condizioni previste dal modello. Prima della prova occorre stabilire quali capacità abbia un eventuale osservatore e quali elementi del sistema siano considerati affidabili. Sono scelte che delimitano il significato del risultato: una dimostrazione risponde alla domanda formalizzata, con le ipotesi che la accompagnano.

Tradizionalmente questo lavoro richiede molto tempo e competenze specialistiche. Bisogna descrivere le proprietà desiderate, trasformarle in formulazioni rigorose e sviluppare i passaggi della dimostrazione. AlphaProof Code interviene in questo processo attraverso agenti capaci di contribuire al lavoro e correggere i propri tentativi. La velocità ottenuta nel progetto Signal suggerisce che l’assistenza automatizzata possa ridurre una parte dell’impegno necessario.

Il metodo descritto dai ricercatori mantiene una collaborazione strutturata tra persone e agenti. Gli esseri umani forniscono indicazioni e revisionano il lavoro nei passaggi decisivi, mentre il sistema contribuisce alle diverse fasi della verifica. Questa distribuzione dei compiti aiuta a preservare un controllo indipendente sugli obiettivi: chi stabilisce che cosa debba essere dimostrato svolge una funzione essenziale per l’utilità della prova finale.

Rappresentazione astratta della collaborazione tra persone e agenti AI nella costruzione di una dimostrazione formale.
Collaborazione tra persone e agenti per una verifica rigorosa.

Signal disponeva già di una base di lavoro sulla quale costruire. La sua documentazione tecnica descrive l’impiego della verifica formale nello sviluppo dei protocolli, e DeepMind riconosce che le analisi precedenti hanno agevolato il progetto. Le quattro settimane vanno quindi considerate nel contesto di competenze, specifiche e risultati già disponibili. Da questa singola esperienza sarebbe prematuro ricavare una stima dei tempi necessari per analizzare software completamente diversi.

Nelle porzioni del protocollo esaminate, il gruppo di ricerca non ha individuato nuove vulnerabilità. Ha inoltre applicato AlphaProof Code a versioni precedenti contenenti problemi noti e corretti da tempo. In quei casi il sistema ha riconosciuto le criticità e mostrato che le proprietà considerate non potevano essere verificate. Questa prova aggiuntiva fornisce un riscontro sul comportamento dello strumento in presenza di difetti già conosciuti.

Le due osservazioni hanno funzioni differenti. Le dimostrazioni ottenute rafforzano la fiducia nelle garanzie analizzate; il confronto con le versioni storiche offre un controllo ulteriore del procedimento. L’assenza di nuovi problemi nelle parti studiate resta un risultato circoscritto. La sicurezza complessiva di un’applicazione coinvolge anche componenti e condizioni operative esterni a quel perimetro, che richiedono valutazioni proprie.

Il lavoro include il rilascio della specifica e della dimostrazione sviluppate per l’analisi. Rendere disponibili questi materiali consente ad altri specialisti di esaminare le proprietà considerate e le basi del ragionamento. È un aspetto importante per una tecnologia che promette di accelerare attività ad alta specializzazione: la possibilità di controllare il risultato offre un criterio di valutazione più solido della sola rapidità di esecuzione.

Rimangono da chiarire le condizioni economiche e operative di un impiego più ampio. DeepMind ha svolto l’analisi gratuitamente come progetto di ricerca e Google non ne ha comunicato il costo. L’azienda non ha inoltre indicato piani per un prodotto o un servizio commerciale dedicato. Le quattro settimane documentano dunque la durata di questo esperimento; mancano elementi per stimare il costo di verifiche analoghe su altri sistemi.

La scalabilità dipenderà anche dal lavoro necessario per preparare ogni progetto. Un protocollo con proprietà ben definite e una storia di analisi formali offre condizioni favorevoli. Un’applicazione estesa, composta da numerose dipendenze e soggetta a modifiche frequenti, presenta esigenze differenti. Per valutarne la sostenibilità servirà capire quanto intervento umano richiedano la definizione degli obiettivi, la revisione delle prove e il loro aggiornamento.

Per chi sviluppa software, l’applicazione più concreta potrebbe essere una verifica mirata dei componenti critici. In un possibile flusso di lavoro, i test continuerebbero a controllare i comportamenti osservabili e la revisione del codice resterebbe affidata agli sviluppatori. Le dimostrazioni formali aggiungerebbero garanzie specifiche dove il valore del controllo giustifica l’investimento. L’esperimento di DeepMind offre una base per esplorare questa combinazione.

Anche le organizzazioni che acquistano tecnologia possono ricavarne un criterio pratico. Di fronte a una dichiarazione di verifica formale, è utile chiedere quali proprietà siano state dimostrate, a quale versione del sistema si riferiscano e quali ipotesi siano state adottate. Per una piccola impresa o un editore digitale, queste informazioni aiutano a interpretare le garanzie di un fornitore senza dover gestire internamente un progetto di ricerca crittografica.

AlphaProof Code mostra così una direzione concreta per l’AI applicata allo sviluppo: affiancare alla produzione di codice strumenti capaci di contribuire alla sua verifica rigorosa. Il caso Signal offre un risultato delimitato, costruito su lavoro precedente e supervisione umana. Il prossimo passaggio sarà capire con quale continuità, costo e ampiezza questo metodo possa essere trasferito ad altri sistemi, mantenendo esplicito il rapporto tra ciò che viene dimostrato e ciò che resta fuori dall’analisi.

Fonti