Kun lähetät Signalissa viestin työkaverille tai sukulaiselle, puhelimessa käynnistyy salauskoodi, jonka pitäisi estää ketään muuta lukemasta sitä. Pitäisi. Tähän asti kukaan ei ole pystynyt todistamaan, että juuri puhelimessa ajettava koodi tekee täsmälleen sen, mitä protokollan suunnitelma lupaa.
Google DeepMind kertoi tiistaina 10. marraskuuta, että sen uusi AlphaProof Code -järjestelmä on tehnyt tämän todistuksen Signalin salauskirjastolle libsignalille. Työ kesti neljä viikkoa. DeepMindin mukaan vastaava urakka on vaatinut asiantuntijatiimeiltä vuosia, eikä näin laajasti käytetyn protokollan toteutusta ole aiemmin verifioitu formaalisti millään menetelmällä, tekoälyllä tai ilman.
Signal-protokolla suojaa DeepMindin mukaan miljardeja keskusteluja Signalissa ja Google Messagesissa. Molemmat ovat monen suomalaisenkin puhelimessa.
Testaamisen sijaan todistus
Ohjelmistoa testataan tavallisesti kokeilemalla: sisään syötetään erilaisia viestejä ja katsotaan, meneekö jokin rikki. Testi löytää vain ne virheet, joita joku osasi etsiä. Formaalissa verifioinnissa koodin käyttäytymisestä kirjoitetaan matemaattinen todistus, ja tietokone tarkistaa sen jokaisen askeleen.
Lean on ohjelmointikieli, johon tällaiset todistukset kirjoitetaan. Se hyväksyy todistuksen vain, jos jokainen päättelyaskel pitää, eikä se luota kirjoittajaan, oli tämä ihminen tai tekoäly.
Agentit kirjoittivat, ihmiset päättivät
Tutkijat käänsivät ensin Signalin turvallisuustavoitteet täsmällisiksi määrittelyiksi, ja ihmisasiantuntijat kävivät jokaisen läpi. Sen jälkeen Gemini Carbon -mallilla toimivat agentit kirjoittivat todistukset. Teknisen raportin mukaan samaan tehtävään osallistui tyypillisesti 40–80 agenttia kerrallaan. The Registerin mukaan hankkeessa työskenteli viisi tutkijaa.
Rivimäärästä on liikkunut eri lukuja. DeepMindin blogissa puhutaan yli kuudesta miljoonasta Lean-rivistä, ja teknisessä raportissa luku tarkentuu noin 6,5 miljoonaan riviin koneellisesti tarkistettua todistuskoodia. Joissakin tiivistelmissä esiintynyttä kolmen miljoonan riviä ei löydy DeepMindin omista julkaisuista. Todistukset nojaavat noin 26 000 riviin määrittelyjä ja prosessorin toiminnan kuvausta. Siihen osaan on pakko luottaa, ja sen tarkistivat ihmiset.
Lopuksi agentit auditoivat oman työnsä ja merkitsivät noin prosentin koodista ihmisen katsottavaksi.
Todistus koskee käännettyä konekoodia, siis sitä, mikä oikeasti ajetaan laitteella. Tutkijat käänsivät muuttamattoman libsignalin version 0.105.4 tavallisella Rust-kääntäjällä ARM-pohjaiselle Linuxille ja todistivat ominaisuudet tästä ohjelmasta. Todistettuihin ominaisuuksiin kuuluu esimerkiksi se, että viestit pysyvät suojassa sekä ennen että jälkeen sen, kun laite on hetkellisesti ollut hyökkääjän hallussa.
“Tekoälyagenttien käyttäminen elävän koodin kääntämiseen päteviksi Lean-teoreemoiksi on suuri läpimurto.”



