ELI5

ELI5 · Parte 7 di 7

Perché lo standard dura nel tempo

Una prova che crei oggi potrebbe dover reggere tra trent'anni. Pensa a una scoperta scientifica la cui rivendicazione di essere arrivata per prima deve ancora risultare valida decenni dopo, o a un archivio di contratti che qualcuno dovrà verificare molto tempo dopo che chi li ha firmati avrà preso altre strade. Per una prova così, "funziona oggi" non basta. Deve continuare a funzionare in un futuro lontano che nessuno riesce ancora a vedere.

È un problema concreto, perché la matematica dietro a queste prove non sta ferma.

I buoni metodi non restano buoni per sempre

Ogni metodo crittografico poggia su un calcolo facile da fare ma praticamente impossibile da disfare. Con il tempo succedono due cose. I computer diventano più veloci e i ricercatori più scaltri, così un metodo che sembrava granitico può indebolirsi pian piano. E vengono inventati metodi del tutto nuovi, più robusti di qualsiasi cosa avessimo prima.

Ogni standard onesto si trova quindi davanti a una verità scomoda: il miglior metodo disponibile oggi non sarà il miglior metodo per sempre. Uno nuovo e migliore è sempre dietro l'angolo.

Perché cablare un solo metodo sarebbe una trappola

Immagina uno standard che dicesse semplicemente: "usa sempre questo preciso metodo." Funzionerebbe a meraviglia, fino al giorno in cui quel metodo si indebolisce. A quel punto saresti in trappola. Per passare a qualcosa di migliore dovresti riscrivere le regole, convincere tutti a cambiare nello stesso giorno e, in qualche modo, fare i conti con ogni prova mai prodotta sotto le vecchie regole. Quel genere di momento da "cambiano tutti in una volta" è proprio ciò che spezza la continuità storica e lascia a piedi i vecchi record. Uno standard costruito così marcisce in silenzio dal momento stesso in cui esce.

Label 309 schiva l'intera trappola semplicemente non nominando mai, fin dall'inizio, un singolo metodo fisso.

Un catalogo a cui continui ad aggiungere

Invece di inglobare un solo metodo, Label 309 fa riferimento a ciascun metodo tramite un nome preso da un elenco aperto, un registro. Pensalo come un catalogo di componenti. Ogni prova annota con quali "componenti" è stata costruita, indicandoli per nome: quale metodo ha calcolato l'impronta, quale ha fatto la sigillatura, quale l'ha firmata.

C'è un catalogo distinto per ogni tipo di componente (uno per gli hash, uno per la sigillatura, uno per le firme e così via), e ampliarne uno è rigorosamente un'aggiunta:

  • il nuovo metodo deve essere uno standard vero e pubblicato, con un riferimento pubblico (un RFC, una pubblicazione NIST e simili): niente crittografia fatta in casa;
  • riceve un nuovo nome nel catalogo, con un test che fissa esattamente come si comporta.

Quando arriva un metodo più robusto, non strappi il catalogo né ristampi le pagine vecchie. Ne aggiungi una nuova. Le pagine vecchie restano esattamente dove sono, per sempre. Ed ecco la finezza discreta: ogni prova mai creata conserva sulla propria pagina i componenti originali. Vai a cercare una prova vecchia e il catalogo ti dice ancora con precisione come controllarla, perché i suoi componenti non sono mai stati tolti, solo affiancati da quelli più recenti.

Così due cose sono vere allo stesso tempo:

  • Le prove vecchie restano verificabili. Una prova fatta anni fa indica metodi che sono tuttora nel catalogo, perciò si verifica oggi proprio come il giorno in cui è stata creata.
  • Le prove nuove possono scegliere il metodo più recente. Chi crea una prova nuova sceglie semplicemente un nome più recente dall'elenco.

Non c'è nessun giorno fatidico. Nessun momento in cui tutti devono cambiare insieme. Nessuna continuità spezzata, nessuna corsa per convertire una montagna di vecchi record. Il cambiamento è pura aggiunta, una nuova voce nell'elenco, mai una sostituzione. Aggiungerne una non cambia nemmeno la versione del formato: un verificatore che non ha mai sentito nominare un nome nuovo si limita a dire, in modo pulito, "questo non lo supporto ancora", invece di andare in errore o tirare a indovinare.

Anche il salto quantistico avviene così

Avrai forse sentito dire che potenti computer di nuova generazione potrebbero un giorno violare parte della crittografia odierna. (C'è un articolo collegato proprio su questo.) La parte rassicurante è che, in Label 309, difendersene non richiede alcun piano di salvataggio speciale: è la stessa mossa di ogni altro miglioramento, cioè aggiungere al catalogo il nome del nuovo metodo resistente ai quantistici. Anzi, è già successo una volta: il metodo di sigillatura post-quantistico è stato aggiunto proprio accanto a quello classico, così i nuovi record lo scelgono già oggi mentre quelli vecchi proseguono indisturbati. Una minaccia che parrebbe imporre una ricostruzione da zero si rivela essere solo un'altra pagina nel catalogo.

Costruito per sopravvivere ai propri metodi

I metodi contenuti in qualsiasi prova prima o poi verranno dismessi: è normale, e Label 309 se lo aspetta. Ciò che dura è il catalogo stesso, un insieme aperto di registri a cui non si fa che aggiungere, dove ogni prova conserva per sempre agli atti i propri componenti originali. Guarda i registri degli algoritmi per capire come crescono senza mai lasciare indietro una vecchia prova.