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(nuova finestra), 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(nuova finestra) 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(nuova finestra) 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)(nuova finestra) 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.

Articoli correlati

The cover image for a Proton Pass blog comparing SAML and OAuth as protocols for business protection
en
SAML and OAuth help your workers access your network securely, but what's the difference? Here's what you need to know.
Proton Lifetime Fundraiser 7th edition
en
Learn how to join our 2024 Lifetime Account Charity Fundraiser, your chance to win our most exclusive plan and fight for a better internet.
The cover image for a Proton Pass blog about zero trust security showing a dial marked 'zero trust' turned all the way to the right
en
Cybersecurity for businesses is harder than ever: find out how zero trust security can prevent data breaches within your business.
How to protect your inbox from an email extractor
en
Learn how an email extractor works, why your email address is valuable, how to protect your inbox, and what to do if your email address is exposed.
How to whitelist an email address and keep important messages in your inbox
en
Find out what email whitelisting is, why it’s useful, how to whitelist email addresses on different platforms, and how Proton Mail can help.
The cover image for Proton blog about cyberthreats businesses will face in 2025, showing a webpage, a mask, and an error message hanging on a fishing hook
en
Thousands of businesses of all sizes were impacted by cybercrime in 2024. Here are the top cybersecurity threats we expect companies to face in 2025—and how Proton Pass can protect your business.