ProtonBlog

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.

Proteggi la tua privacy con Proton
Crea un account gratuito

Articoli correlati

en
Google is one of the biggest obstacles to privacy. The Big Tech giant may offer quick access to information online, but it also controls vast amounts of your personal or business data. Recently, more people are becoming aware of the actual price you
What to do if someone steals your Social Security number
en
If you’re a United States citizen or permanent resident, you have a Social Security number (SSN). This number is the linchpin of much of your existence, linked to everything from your tax records to your credit cards. Theft is a massive problem, whic
compromised passwords
en
Compromised passwords are a common issue and probably one of the biggest cybersecurity threats for regular people. How do passwords get compromised, and is there anything you can do to prevent it? * What does compromised password mean? * How do pa
Is WeTransfer safe?
en
  • Le basi della privacy
WeTransfer is a popular service used by millions worldwide to send large files. You may have wondered if it’s safe or whether you should use it to share sensitive files. We answer these questions below and present a WeTransfer alternative that may su
what is a dictionary attack
en
  • Le basi della privacy
Dictionary attacks are a common method hackers use to try to crack passwords and break into online accounts.  While these attacks may be effective against people with poor account security, it’s extremely easy to protect yourself against them by usi
I furti di dati sono sempre più comuni. Ogni volta che ti registri a un servizio online, fornisci informazioni personali preziose per gli hacker, come indirizzi email, password, numeri di telefono e altro ancora. Purtroppo, molti servizi online non p