Da decenni GnuPG custodisce le chiavi della fiducia digitale nei sistemi Linux; ora Canonical, con Ubuntu 26.10, apre una porta a Sequoia PGP, un'implementazione dello stesso standard OpenPGP scritta in Rust. Non è una rivoluzione improvvisa, ma un invito alla coesistenza: due strumenti, una sola grammatica crittografica, e la promessa che la memoria del software possa smettere di essere il suo punto più fragile. È il modo in cui i grandi cambiamenti tecnologici spesso avanzano — non per sostituzione, ma per affiancamento paziente.
Ubuntu 26.10 integra Sequoia PGP, alternativa Rust a GnuPG
Ridurre l'esposizione alle vulnerabilità della memoria senza sacrificare l'interoperabilità
Perché Canonical ha scelto proprio questo momento per portare Sequoia PGP in Ubuntu?
Perché il progetto ha raggiunto una maturità sufficiente. Sequoia supporta RFC 9580, lo standard OpenPGP più recente, e Canonical vede l'opportunità di offrire ai suoi utenti un'alternativa moderna e più sicura dal punto di vista della memoria.
Ma è davvero una sostituzione? Leggo che arriva come alternativa disponibile, non come predefinita.
Esatto. Canonical è prudente. Sanno che una migrazione completa richiederebbe adattamenti agli script e ai sistemi esistenti, perché sq non è compatibile a livello di interfaccia con gpg.
Cosa significa concretamente che Rust elimina le vulnerabilità di memoria?
Significa che il linguaggio impedisce errori come accessi fuori dai limiti di un buffer o l'uso di memoria già liberata. Per un programma che elabora certificati e firme da fonti esterne, questo è cruciale.
Però non è una garanzia di sicurezza totale, giusto?
Giusto. Restano possibili errori logici, problemi negli algoritmi crittografici, dipendenze vulnerabili. Il vantaggio è che elimina interi classi di vulnerabilità, non tutte.
Quando potremmo vedere Sequoia come strumento predefinito?
Canonical non lo dice esplicitamente. Dipenderà da quanto bene Sequoia si integra negli ecosistemi reali e da quanti adattamenti richiedono gli strumenti esistenti.
E GnuPG rimane comunque nei repository?
Sì, per ora. Canonical non lo considera superato e lascia agli utenti la scelta di quale usare.
Il Polso
- GnuPG governa la crittografia OpenPGP su Linux da decenni, ma la sua eredità in C porta con sé vulnerabilità di memoria difficili da estirpare.
- Sequoia PGP, scritto in Rust, elimina intere classi di questi rischi e arriva nei repository di Ubuntu 26.10 con strumenti concreti: sq per le operazioni complete e sqv per la verifica delle firme.
- La tensione è reale: sq non è un semplice clone di gpg, ha un'interfaccia diversa, e script e automazioni esistenti potrebbero richiedere riscritture significative in caso di migrazione.
- Canonical sceglie la cautela — Sequoia è un'alternativa disponibile, non la nuova impostazione predefinita, e GnuPG rimane al suo posto senza pressioni di abbandono immediato.
- Ubuntu 26.10 inserisce questa mossa in un percorso più ampio: anche i Coreutils migrano verso uutils in Rust, segnalando una strategia sistemica e non un episodio isolato.
Da decenni GnuPG custodisce le chiavi della fiducia digitale nei sistemi Linux; ora Canonical, con Ubuntu 26.10, apre una porta a Sequoia PGP, un'implementazione dello stesso standard OpenPGP scritta in Rust. Non è una rivoluzione improvvisa, ma un invito alla coesistenza: due strumenti, una sola grammatica crittografica, e la promessa che la memoria del software possa smettere di essere il suo punto più fragile. È il modo in cui i grandi cambiamenti tecnologici spesso avanzano — non per sostituzione, ma per affiancamento paziente.
Canonical ha scelto di includere Sequoia PGP nei repository di Ubuntu 26.10, portando nei sistemi Linux una nuova implementazione dello standard OpenPGP scritta in Rust. La distribuzione, soprannominata Stonking Stingray, non impone alcuna migrazione: Sequoia affianca GnuPG senza sostituirlo, mantenendo piena compatibilità con lo stesso standard crittografico che entrambi parlano.
La mossa si inserisce in un percorso coerente. Con questa release, Ubuntu completa anche la migrazione dei Coreutils verso uutils — l'equivalente in Rust dei comandi fondamentali della shell come cp, mv e rm. La logica è la stessa: ridurre l'esposizione alle vulnerabilità classiche legate alla gestione manuale della memoria, tipiche di C e C++, senza rompere la compatibilità con strumenti e flussi di lavoro esistenti.
Nei repository trovano posto due strumenti. Il primo è sq, l'interfaccia principale che copre cifratura, decifratura, firme, gestione delle chiavi e interazione con i key server. Il secondo è sqv, dedicato esclusivamente alla verifica delle firme OpenPGP — uno strumento circoscritto ma prezioso per controllare autenticità e integrità dei file scaricati. Entrambi supportano RFC 9580, la revisione più recente dello standard OpenPGP pubblicata nel 2024.
Rust offre vantaggi concreti: impedisce accessi fuori dai limiti dei buffer, uso di memoria già liberata e altri errori strutturali che in C diventano vulnerabilità. Per un software che analizza certificati e firme provenienti anche da fonti esterne, questo ha un peso reale. Non è però una garanzia assoluta: errori logici, implementazioni algoritmiche difettose e dipendenze vulnerabili restano possibili.
Il percorso verso una sostituzione completa di GnuPG rimane aperto ma non tracciato. Sq ha un'interfaccia propria, diversa da gpg, e una migrazione richiederebbe adattamenti significativi a script e automazioni esistenti. Canonical lo sa, e per ora si limita a tenere aperta la porta — lasciando che sia il tempo, e non un decreto, a decidere quale strumento diventerà il nuovo standard.
Canonical ha deciso di includere Sequoia PGP nei repository di Ubuntu 26.10, portando nei sistemi Linux un'implementazione moderna della crittografia OpenPGP scritta in Rust. La mossa rappresenta un passo significativo verso la sostituzione di GnuPG, lo strumento che da decenni domina questo spazio, anche se per ora Sequoia arriva come alternativa disponibile piuttosto che come soluzione predefinita. La distribuzione, chiamata Stonking Stingray, continua un percorso che Canonical ha intrapreso da tempo: spostare componenti critici del sistema verso linguaggi che offrono protezioni più robuste contro le vulnerabilità di memoria.
Questo sforzo non è nuovo. Ubuntu 26.10 completa la migrazione dei Coreutils verso uutils, l'implementazione in Rust dei comandi fondamentali della shell. Con questa release, anche cp, mv e rm si aggiungono ai comandi già convertiti, un lavoro che era stato rallentato in precedenza da problemi di compatibilità. La logica è coerente: ridurre l'esposizione alle vulnerabilità classiche della memoria senza sacrificare l'interoperabilità con gli standard e gli strumenti già in uso.
Occorre chiarire un punto fondamentale. OpenPGP non è un singolo programma, ma uno standard con una lunga storia alle spalle. Il formato deriva da PGP e ha subito diverse revisioni nel corso degli anni, ma rimane uno standard aperto. Sequoia PGP si costruisce proprio su questa base, e Canonical si impegna a mantenere la piena compatibilità. Quello che cambia è l'implementazione, cioè la toolchain utilizzata per lavorare con certificati, firme e messaggi—un territorio dove GnuPG ha dominato incontrastato nell'ecosistema Linux.
Nei repository di Ubuntu 26.10 trovano posto due strumenti principali. Il primo è sq, l'interfaccia da riga di comando principale del progetto, che copre un ventaglio ampio di operazioni: cifratura e decifratura, creazione e verifica delle firme, gestione di chiavi e certificati, interazione con key server e Web Key Directory. Il secondo è sqv, uno strumento dedicato specificamente alla verifica delle firme, con un compito circoscritto ma prezioso per una distribuzione Linux. Sqv controlla che un file scaricato corrisponda alla firma OpenPGP fornita separatamente, verificandone così autenticità e integrità.
Il supporto a RFC 9580 rappresenta uno degli aspetti più interessanti di questa scelta. La revisione più recente dello standard OpenPGP è stata pubblicata nel 2024 e aggiorna le specifiche precedenti, che risalivano al 2007. Introduce formati e meccanismi crittografici più moderni senza perdere di vista l'interoperabilità tra implementazioni diverse. Sequoia supporta RFC 9580 nella propria libreria OpenPGP dalla versione 2.0.0, mentre sq la utilizza dalla versione 1.3.0.
La scelta di Rust come linguaggio di programmazione non è casuale. Nel codice sicuro, Rust impedisce molte classi di errori tipiche di C e C++: accessi fuori dai limiti di un buffer, uso di memoria già liberata, e altri problemi legati alla gestione manuale della memoria. Per un programma che deve analizzare certificati, firme e messaggi provenienti anche da fonti esterne, eliminare questo genere di vulnerabilità ha un peso considerevole. 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 scorretti dell'applicazione. Il vantaggio concreto sta soprattutto nell'eliminare alla radice una fetta consistente dei problemi di sicurezza legati alla memoria.
Una futura sostituzione completa di GnuPG richiederebbe però 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 avere bisogno di modifiche significative. Per questo motivo, Canonical introduce Sequoia PGP come alternativa lasciando al loro posto gli strumenti preesistenti. Non considera GnuPG superato e non impone alcuna migrazione immediata, parlando piuttosto della possibilità che Sequoia diventi in futuro la soluzione predefinita. Il percorso verso una transizione completa rimane ancora da tracciare.
Citazioni salienti
Canonical punta a mantenere piena compatibilità con lo standard OpenPGP, cambiando solo l'implementazione, non lo standard stesso— Canonical (dalla documentazione di Ubuntu 26.10)
Una futura sostituzione di GnuPG richiederebbe parecchia attenzione, poiché sq ha una propria interfaccia a riga di comando e modalità operative differenti— Analisi tecnica della migrazione