Proton

Nell’ottobre del 2022, Proton ha sviluppato la propria autorità di certificazione OpenPGP (CA), ProtonCA, e ha iniziato a firmare le chiavi di crittografia per garantire che appartengano a un account specifico. Questo permette agli utenti OpenPGP di fidarsi delle chiavi PGP altrui e rende l’invio di messaggi crittografati end-to-end più semplice.

Questo articolo spiega perché le CA sono necessarie per OpenPGP, perché abbiamo deciso di sviluppare una CA e come funziona la nostra CA.

Perché Proton agisce come autorità di certificazione?

OpenPGP, lo standard di crittografia open-source che utilizziamo per crittografare end-to-end le email su Proton Mail, è uno dei modi più sicuri per comunicare online, ma anche esso presenta piccole potenziali vulnerabilità. Un problema è che chiunque può creare una chiave e affermare che appartiene a un indirizzo email specifico. Questo potrebbe potenzialmente permettere a un attaccante di sostituire la tua chiave PGP con una creata da loro, ottenendo accesso a tutti i messaggi crittografati con quella chiave.

Questo problema esiste anche in altri protocolli di crittografia. Ad esempio, il protocollo Transport Layer Security (TLS) che protegge tutti i siti web che utilizzano HTTPS si affida a poche CA centralizzate per verificare che una chiave specifica appartenga alla persona o al sito web che la rivendica. Per affrontare questo problema, la comunità OpenPGP ha recentemente sviluppato OpenPGP CA(new window), facilitando il dispiegamento di CA decentralizzate. L’obiettivo è creare un sistema ampio con molte CA che lavorano insieme per eliminare i punti di fallimento.

Abbiamo deciso di lanciare ProtonCA perché siamo in una posizione unica per agire come CA. Possiamo facilmente confermare che una chiave specifica appartiene a un particolare indirizzo email poiché controlliamo il dominio email. Sebbene gli utenti Proton non noteranno alcuna differenza sostanziale nel servizio, ciò renderà la vita molto più semplice per le persone che utilizzano PGP per inviare email crittografate end-to-end agli utenti Proton. Ora, non importa come ottieni la chiave PGP di un utente Proton, puoi essere sicuro che sia valida e recente (utilizzata attivamente negli ultimi sei mesi) se firmata da ProtonCA.

Firme di terze parti

La tecnologia sottostante utilizzata da OpenPGP CA — le firme di terze parti — esiste da anni. Le firme di terze parti sono lo strumento principale che le CA utilizzano per autenticare una chiave. In sostanza, se sei una CA, aggiungi la tua firma alla chiave di qualcun altro, dichiarando di averne verificato l’appartenenza. Ciò crea un legame a prova di manomissione tra la chiave e l’utente.

Ad esempio, Alice vuole inviare un’email a Bob, quindi il suo primo passo è recuperare la sua chiave pubblica di crittografia. Questa chiave scaricata contiene una firma di Ted che certifica che questa chiave appartiene a Bob. Se Alice si fida di Ted nel verificare correttamente l’identità di Bob, allora si fida indirettamente della chiave di Bob. In questo caso Ted è l’autorità di fiducia, agendo come una CA (molto piccola).

Come funziona ProtonCA

In Proton, abbiamo sviluppato ProtonCA seguendo il sistema delineato da OpenPGP CA per agire come CA per le chiavi di milioni di utenti Proton.

Tutti gli indirizzi email ospitati da Proton dispongono di una chiave che consente loro di ricevere messaggi crittografati end-to-end. ProtonCA aggiunge una firma di terze parti a ogni chiave di crittografia delle email utilizzando una chiave principale chiamata chiave CA. Ciò certifica che Proton garantisce che la chiave appartiene all’indirizzo associato ad essa. Quando una chiave viene generata o importata in Proton Mail, ProtonCA verifica che sia associata solo a un indirizzo email, quello per cui è stata caricata. Successivamente firmiamo la chiave e la memorizziamo sui nostri server. Proton non verifica l’identità degli utenti individuali (ad esempio, non richiediamo ai nostri utenti di fornire un documento d’identità governativo). ProtonCA semplicemente conferma che un determinato indirizzo email corrisponde a una chiave specifica.

Ritorniamo al nostro esempio originale con Alice e Bob, ma sostituiamo Ted con ProtonCA. Ora, quando Alice recupera la chiave di Bob, riceverà una chiave con una firma ProtonCA che afferma che bob@proton.me utilizza quella chiave. Alice, che potrebbe utilizzare un client OpenPGP esterno, può verificare l’autenticità di questa firma e, se si fida di Proton, si fiderà indirettamente anche di questa chiave automaticamente. Questa fiducia vale indipendentemente da come Alice ha ottenuto la chiave di Bob. Anche se l’ha trovata su un mezzo non sicuro, la firma di ProtonCA la rende a prova di manomissione.

La firma di ProtonCA aggiunge anche non ripudiabilità alle chiavi fornite da Proton. In altre parole, se Proton fornisce una chiave errata, la firma di ProtonCA dimostra che la chiave è stata scaricata da Proton. Ciò ridurrebbe la fiducia in Proton e ci dissuaderebbe dal fornire chiavi malevole.

Per evitare di certificare chiavi vecchie, ProtonCA applica una rigida politica di scadenza. Ogni chiave viene certificata per sei mesi alla volta. Un mese prima della scadenza di un certificato, ProtonCA controlla che l’indirizzo email associato sia ancora attivo e che la chiave attuale non sia stata rimossa. Se entrambi i criteri sono soddisfatti, ProtonCA rinnoverà la certificazione per altri sei mesi.

Come fidarsi di ProtonCA in altri client OpenPGP

La chiave ProtonCA può essere recuperata qui(new window) e presenta la seguente impronta digitale: .

Puoi importare questa chiave nel tuo portachiavi GnuPG utilizzando il seguente comando:

$ gpg --import-key pubkey.asc

Dovrai poi impostare il seguente livello di fiducia:

$ gpg --edit-key 0xD806C1AF5978E8C7> trust> 5> y> quit

PGP segnalerà automaticamente questa chiave come affidabile e tutte le chiavi firmate da questa chiave come indirettamente affidabili.

Il livello di fiducia cinque (massimo) è necessario se non hai una tua chiave OpenPGP. Ogni percorso di fiducia indiretta deve iniziare con una chiave considerata massimamente affidabile.

Per impostare un livello di fiducia inferiore a cinque, devi firmare localmente la chiave openpgp-ca@proton.me. Puoi farlo con i seguenti comandi:

$ gpg --edit-key 0xD806C1AF5978E8C7> lsign> y> save

Ciò creerà una firma non esportabile sulla chiave ProtonCA. Una volta eseguito questo passaggio, puoi impostare un diverso livello di fiducia:

$ gpg --edit-key 0xD806C1AF5978E8C7> trust> 4> quit

Utilizzando le tue proprie certificazioni

Poiché l’obiettivo di OpenPGP CA è quello di creare un sistema di firma decentralizzato, avere una singola CA centrale che emette firme vanificherebbe lo scopo. Per questo motivo abbiamo aggiunto il supporto per le certificazioni su chiavi PGP importate.

Puoi configurare la tua istanza di OpenPGP CA(new window) o firmare le chiavi utilizzando Sequoia o GnuPG e poi importarle direttamente in Proton. Ti basta importare la chiave privata firmata per l’indirizzo desiderato. La chiave pubblica che abbiamo reso disponibile agli utenti di Proton Mail tramite Web Key Directory (WKD)(new window) o il nostro Public Key Server (PKS) contiene la firma importata.

Nota che se vuoi aggiungere una nuova chiave, la firma non sarà trasferita automaticamente alla nuova chiave. Dovrai firmarla nuovamente a mano dopo che è stata aggiunta.

AGGIORNAMENTO 28 Ottobre 2022: Questo articolo ha aggiunto tre paragrafi che spiegano come impostare il tuo livello di fiducia inferiore a cinque.

Related articles

A cover image for a blog describing the next six months of Proton Pass development which shows a laptop screen with a Gantt chart
  • Aggiornamenti dei prodotti
  • Proton Pass
Take a look at the upcoming features and improvements coming to Proton Pass over the next several months.
The Danish mermaid and the Dutch parliament building behind a politician and an unlocked phone
We searched the dark web for Danish, Dutch, and Luxembourgish politicians’ official email addresses. In Denmark, over 40% had been exposed.
Infostealers: What they are, how they work, and how to protect yourself
Discover insights about what infostealers are, where your stolen information goes, and ways to protect yourself.
Mockup of the Proton Pass app and text that reads "Pass Lifetime: Pay once, access forever"
Learn more about our exclusive Pass + SimpleLogin Lifetime offer. Pay once and enjoy premium password manager features for life.
A cover image for a blog announcing that Pass Plus will now include premium SimpleLogin features
We're changing the price of new Pass Plus subscriptions, which now includes access to SimpleLogin premium features.
Infinity symbol in purple with the words "Call for submissions" and "Proton Lifetime Fundraiser 7th Edition"
It’s time to choose the organizations we should support for the 2024 edition of our annual charity fundraiser.