In questo articolo Indice dei contenuti 2 sezioni
Con Ubuntu 26.10 Canonical porta nei repository Sequoia PGP, un’implementazione moderna di OpenPGP scritta in Rust che in una futura versione della distribuzione potrebbe prendere il posto degli strumenti oggi legati soprattutto a GnuPG. La release, battezzata Stonking Stingray, prosegue così un percorso già avviato da tempo, quello che sposta componenti delicati del sistema verso codice più robusto sul piano della gestione della memoria.
Il primo passo aveva riguardato i comandi fondamentali della shell. Ubuntu 26.10 completa infatti la migrazione dei Coreutils verso uutils, l’implementazione in Rust, e anche cp, mv e rm si aggiungono agli altri comandi già convertiti. Alcuni problemi di compatibilità avevano impedito a Canonical di chiudere il lavoro nelle release precedenti. Con Sequoia PGP la logica è la stessa, cioè ridurre l’esposizione alle classiche vulnerabilità della memoria senza sacrificare l’interoperabilità con standard e strumenti già esistenti.
Cambia l’implementazione, non lo standard
OpenPGP ha una storia lunga alle spalle. Il formato deriva da PGP e negli anni ha attraversato diverse revisioni, ma resta uno standard e non un singolo programma. Sequoia PGP si appoggia proprio su questa base e Canonical punta a mantenere piena compatibilità. A cambiare sarebbe quindi la toolchain usata per lavorare con certificati, firme e messaggi, un territorio che nell’ambiente Linux è dominato oggi dagli strumenti di GnuPG.
Va detto che in Ubuntu 26.10 il nuovo software arriva solo come alternativa disponibile. Canonical non considera GnuPG superato e non impone alcuna migrazione immediata, parla piuttosto della possibilità che Sequoia diventi in futuro la soluzione predefinita. Nei repository trovano posto sq, l’interfaccia da riga di comando principale del progetto, e sqv, uno strumento dedicato alla verifica delle firme.
Il primo copre un ventaglio ampio di operazioni come cifratura e decifratura, creazione e verifica delle firme, gestione di chiavi e certificati, oltre all’interazione con key server e Web Key Directory. Lo strumento sqv invece ha un compito molto più circoscritto ma prezioso per una distribuzione Linux, perché controlla che un file scaricato corrisponda alla firma OpenPGP fornita a parte e ne verifica così autenticità e integrità.
Perché Canonical punta su Sequoia PGP
Tra gli aspetti più interessanti c’è il supporto a RFC 9580, la revisione più recente dello standard OpenPGP pubblicata nel 2024. La specifica aggiorna quelle precedenti, che risalivano al 2007, e introduce formati e meccanismi crittografici più moderni senza perdere di vista l’interoperabilità tra implementazioni diverse. Sequoia la supporta nella propria libreria OpenPGP dalla versione 2.0.0, mentre sq la utilizza dalla versione 1.3.0.
Poi c’è la questione del linguaggio. Nel codice sicuro Rust impedisce molte classi di errori tipiche di C e C++, come gli accessi fuori dai limiti di un buffer, l’uso di memoria già liberata e altri guai legati alla gestione manuale della memoria. Per un programma che deve analizzare certificati, firme e messaggi che arrivano anche da fonti esterne, tagliare questo genere di vulnerabilità pesa parecchio.
Non significa però che un software scritto in Rust sia automaticamente sicuro. Restano possibili errori logici, problemi nell’implementazione degli algoritmi crittografici, dipendenze vulnerabili o comportamenti sbagliati dell’applicazione. Il vantaggio concreto sta soprattutto nell’eliminare alla radice una fetta consistente dei problemi di sicurezza legati alla memoria.
Sul fronte della compatibilità una futura sostituzione di GnuPG richiederebbe parecchia attenzione. Il comando sq non è semplicemente gpg riscritto in Rust, ha una propria interfaccia a riga di comando e propone modalità operative differenti. Script, procedure automatiche e strumenti che oggi richiamano direttamente gpg potrebbero quindi avere bisogno di modifiche. Anche per questo motivo Canonical, almeno con Ubuntu 26.10, introduce Sequoia PGP come alternativa lasciando al loro posto gli strumenti preesistenti.
Fonte: TecnoAndroid








