Página inicial da Proton

Importar chaves privadas OpenPGP para o Proton Mail

Leitura
13 min
Categoria
Encriptação e chaves

O Proton Mail permite-lhe importar as suas chaves privadas OpenPGP existentes (ou chaves secretas) para o seu ecossistema encriptado. Isto permitir-lhe-á continuar a utilizar essas chaves para assinar e desencriptar os seus e-mails.

As chaves que importar têm de cumprir os requisitos mínimos de chave da Proton por motivos de segurança e compatibilidade.

Se a sua chave cumprir os nossos requisitos mínimos, deverá conseguir importá-la diretamente.
Se a sua chave não cumprir os nossos requisitos mínimos, verá um ecrã de erro após tentar carregá-la. Este ecrã de erro explicará por que razão a chave foi rejeitada. Fornecemos guis para modificar a sua chave para que a possa importar.

  1. Como importar a sua chave OpenPGP para o Proton Mail
  2. Como modificar a sua chave OpenPGP

Como importar a sua chave OpenPGP para o Proton Mail

  1. Inicie sessão na sua conta Proton na aplicação web Proton Mail
  2. Clique em Definições → Todas as definições → Encriptação e chavesChaves de encriptação de e-mail.
  3. Selecione o endereço de e-mail associado à chave em questão, clique no menu pendente que diz Gerar chave e clique em Importar chave.

Terminou! Já pode utilizar as suas chaves privadas OpenPGP no Proton Mail.

Como modificar a sua chave OpenPGP

Se as suas chaves não cumprirem os nossos requisitos, não poderá importá-las.

Abordaremos os cenários mais comuns em que a sua chave pode ser rejeitada e explicaremos como pode resolver a situação.

Antes de começar

Se precisar de modificar as suas chaves privadas OpenPGP para as carregar para o Proton Mail, existem dois passos que deve seguir antes de começar:

  1. Transfira e configure o GnuPG e importe as suas chaves
  2. Crie uma cópia de segurança das suas chaves OpenPGP antes de as modificar

Configurar o GnuPG e importar as suas chaves

Utilizamos a ferramenta GnuPG (GNU Privacy Guard) ao longo deste guia para modificar as chaves privadas que queremos importar.
Se não tiver o GnuPG instalado, vá a https://gnupg.org/download/(nova janela) para encontrar a aplicação para o seu dispositivo.

Se a chave que pretende importar para o Proton Mail ainda não tiver sido importada para o GnuPG, terá de o fazer com o comando:

gpg --import 

A maioria das seguintes operações dependerá dos comandos interativos baseados em

gpg --edit-key

Leia a documentação do GnuPG(nova janela).

Importante: faça uma cópia de segurança das chaves antes de as modificar

Se a chave privada que está a tentar importar for utilizada noutras aplicações além do Proton, certifique-se de que cria uma cópia de segurança de qualquer chave antes de a modificar.

Se já tiver importado a sua chave privada para o GnuPG, pode fazê-lo com o comando:

gpg --armor --export-secret-keys  > backup-key.asc

Mais tarde, poderá voltar a importar a chave original com o comando:

gpg --import backup-key.asc

Razões pelas quais a sua chave privada foi rejeitada

  1. A sua chave tem uma data de expiração 
  2. A sua chave tem a identidade errada
  3. A sua chave não tem uma subchave de encriptação
  4. A sua chave utiliza algoritmos não suportados

A sua chave tem uma data de expiração

O que isto significa

As chaves (e subchaves) OpenPGP podem ter datas de expiração, após as quais todas as bibliotecas compatíveis com OpenPGP as rejeitariam.

Para garantir que pode sempre receber os seus e-mails no Proton Mail utilizando esta chave OpenPGP, exigimos que todas as chaves importadas não tenham nenhuma data de expiração definida.

Se tentar importar uma chave com uma data de expiração, a mesma será rejeitada.

Como resolver isto

  1. Abra o GnuPG e verifique se a chave tem uma data de expiração definida executando o comando:
gpg --list-keys 

sendo o “user id” o endereço de e-mail associado à chave.

O resultado que verá será semelhante a isto:

$ gpg --list-keys key.import.test@example.proton.me
sec rsa3072 2022-09-21 [SC] [expires: 2024-09-20]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid Import key guide
ssb rsa3072 2022-09-21 [E] [expires: 2024-09-20]

Aqui, podemos ver que tanto a chave principal como a subchave de encriptação têm uma data de expiração definida para 2024-09-20.
Para a importar para o Proton Mail, precisamos de editar a chave para que não tenha data de expiração.

2. Para editar a chave, execute o comando:

gpg --edit-key 

O GnuPG entrará num modo interativo. Terá de passar por cada subchave e editar a respetiva data de expiração. Pode selecionar as subchaves utilizando o comando:

key 

e, em seguida, defina a sua data de expiração para nunca utilizando o comando:

expire 0

3. Guarde utilizando o comando:

save

Para a chave no exemplo acima, a transcrição completa será assim:

$ gpg --edit-key key.import.test@example.proton.megpg> key 0gpg> expire 0gpg> key 1gpg> expire 0gpg> save

4. Verifique as suas chaves para ver as datas de expiração utilizando o comando:

gpg --list-keys 

O resultado que vê deverá ser semelhante a este:

$ gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide
sub rsa3072 2022-09-21 [E]

Como pode ver, as secções onde as datas de expiração estavam listadas estão agora em branco.

5. Podemos agora exportar a chave do GnuPG utilizando o comando:

gpg --armor --export-secret-keys  > exported-key.asc

6. Pode agora importar a chave recentemente exportada para o Proton Mail

A sua chave tem a identidade incorreta ou múltiplas identidades

O que isto significa

As chaves OpenPGP podem ser associadas a uma ou mais identidades de utilizador que tenham um endereço de e-mail específico.
Em alguns serviços da Proton, esta identidade é utilizada para procurar uma chave para um determinado endereço.
Para garantir que a sua chave está associada ao endereço pretendido e evitar que seja associada ao endereço incorreto, a Proton exige que todas as chaves importadas contenham um único ID de utilizador que utilize o mesmo endereço de e-mail que a conta Proton na qual a chave está a ser importada.

Se tiver vários endereços do Proton Mail, certifique-se de que está a importar a chave correta para o endereço certo.

Este erro também pode ocorrer se o endereço tiver múltiplas identidades de utilizador (uma das quais pode estar associada ao endereço do Proton Mail para o qual está a importar a chave). Neste cenário, a Proton exige que as outras identidades sejam removidas, uma vez que a Proton não pode confirmar que uma chave foi criada pelo proprietário de um endereço se este for um endereço externo (um endereço que não seja do Proton Mail).

Como resolver isto

  1. Abra o GnuPG e verifique quais as identidades associadas à sua chave. Pode selecionar a sua chave utilizando a impressão digital, que pode ser encontrada na caixa de diálogo de importação. Pode aceder a isto executando o comando:
gpg --list-keys 

O resultado que irá ver será semelhante a este:

$ gpg --list-keys 5980f1c63aeb7534f36c3c669b838c4a93779a09
pub rsa3072 2022-10-11 [SC]
5980F1C63AEB7534F36C3C669B838C4A93779A09
uid [ultimate] Some identity
sub rsa3072 2022-10-11 [E]

Aqui podemos ver que a chave tem uma identidade de utilizador associada a um endereço de e-mail que não é gerido pela Proton.

2. Edite a chave executando o comando:

gpg --edit-key 

Depois, crie uma nova identidade de utilizador com o comando:

adduid

Especifique o nome e o endereço de e-mail (o endereço de e-mail deve ser o endereço do Proton Mail para o qual está a importar a chave).

Agora, a sua chave provavelmente tem múltiplas identidades. Para proceder, deve remover as que não estão associadas ao seu endereço do Proton Mail.

3. Selecione as outras identidades de utilizador que deseja remover com o comando:

uid 

Elimine com o comando:

deluid

4. Guarde as alterações com o comando:

save

Para a chave no exemplo acima, a transcrição completa será assim:

$ gpg --edit-key 5980f1c63aeb7534f36c3c669b838c4a93779a09...
gpg> adduid
Real name: Import test
Email address: key.import.test@example.proton.me
Comment:...
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

sec rsa3072/9B838C4A93779A09
created: 2022-10-11 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa3072/07FE974BC493DC08
created: 2022-10-11 expires: never usage: E
[ultimate] (1) Some identity
[ unknown] (2). Import test
gpg> uid 1
...
gpg> deluid
Really remove this user ID? (y/N) y
...
gpg> save

5. Verifique as identidades de utilizador das suas chaves com o comando:

gpg --list-keys 

O resultado que vê deverá ser semelhante a este:

$gpg --list-keys 5980f1c63aeb7534f36c3c669b838c4a93779a09
...
pub rsa3072 2022-10-11 [SC]
5980F1C63AEB7534F36C3C669B838C4A93779A09
uid [ultimate] Import test
sub rsa3072 2022-10-11 [E]

Como pode ver, a chave apenas tem uma única identidade de utilizador associada e essa identidade está ligada a um único endereço do Proton Mail.

6. Exporte a chave do GnuPG com o comando:

gpg --armor --export-secret-keys  > exported-key.asc

7. Pode agora importar a chave recentemente exportada para o Proton Mail

A sua chave não tem nenhuma subchave de encriptação

O que isto significa

Para garantir que os utilizadores do Proton Mail possam receber e-mails encriptados, os serviços da Proton esperam que cada chave de endereço seja capaz de encriptar dados. É por isso que exigimos que as chaves importadas contenham pelo menos uma subchave que possa realizar a encriptação (algumas subchaves só podem ser utilizadas para assinaturas).

Como resolver isto

  1. Abra o GnuPG e verifique as subchaves da chave que está a tentar importar executando o comando:
gpg --list-keys 

O resultado que vê deverá ser semelhante a este:

$ gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide

Neste exemplo, a chave tem apenas uma subchave, que tem capacidades de Assinatura e Certificação (marcada como [SC]). Não existe nenhuma subchave que tenha capacidades de encriptação (que estaria marcada como [E]).

2. Selecione a chave a editar com o comando:

gpg --edit-key 

Adicione uma nova subchave com o comando:

addkey

Selecione um algoritmo de encriptação. A Proton apenas suporta RSA (apenas encriptação) ou ECC (apenas encriptação).

Para subchaves RSA, selecione um tamanho. A Proton exige que tenha pelo menos 2048 bits.

Selecione uma data de expiração. A Proton exige que seja 0 (sem data de expiração).

3. Confirme a nova subchave e depois guarde as alterações com o comando:

save

Toda a transcrição deve ser algo semelhante a isto:

$ gpg --edit-key key.import.test@example.proton.me
gpg> addkey
Please select what kind of key you want:
(3) DSA (sign only)
(4) RSA (sign only)
(5) Elgamal (encrypt only)
(6) RSA (encrypt only)
(14) Existing key from card
Your selection? 6
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)
Requested keysize is 3072 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
Really create? (y/N) y
gpg> save

4. Verifique as identidades de utilizador das suas chaves com o comando:

gpg --list-keys 
gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide
sub rsa3072 2022-10-11 [E]

Como pode ver, a chave agora tem uma subchave com capacidade de encriptação.

5. Exporte a chave do GnuPG com o comando:

gpg --armor --export-secret-keys  > exported-key.asc

6. Pode agora importar a chave recentemente exportada para o Proton Mail

A sua chave utiliza algoritmos não suportados

O que isto significa

As chaves OpenPGP podem suportar muitos algoritmos criptográficos diferentes, alguns dos quais a Proton não considera suficientemente seguros para proteger os seus e-mails.

A Proton rejeitará chaves que utilizem algoritmos fracos ou desatualizados para evitar regredir a segurança de outros utilizadores e garantir que as mensagens recebidas possam ser desencriptadas pelos utilizadores do Proton Mail.

Os seguintes algoritmos assimétricos não são suportados pela Proton:

  • RSA com chaves menores do que 2048 bits
  • ElGamal
  • Chaves ECC com curvas que não sejam x25519 e P-256, P-384 ou P-521 da NIST
  • DSA

Também exigimos que as chaves importadas sinalizem suporte para AES-256 como uma cifra simétrica, SHA-256 como uma função hash e ZLIB como uma função de compressão.

Como resolver

  1. Verifique que algoritmos são utilizados por cada chave com
gpg --list-keys 

O resultado será algo semelhante a isto:

$ gpg --list-keys key.import.test@example.proton.me
sec dsa2048 2022-09-21 [SC] [expires: 2024-09-20]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid Import key guide
ssb elg2048 2022-09-21 [E] [expires: 2024-09-20]

Aqui, a chave principal (marcada com a capacidade SC(nova janela)) é uma chave DSA, e a subchave de encriptação é uma chave ElGamal.

Se a sua chave principal (aquela com a capacidade de certificação) utilizar um algoritmo desatualizado ou fraco, não conseguirá importar a chave.

2a. Pode gerar uma nova chave diretamente nas definições de conta da aplicação web do Proton Mail ou utilizando o GnuPG com o comando:

gpg --generate-key

2b. Se a sua chave principal utilizar um algoritmo suportado, mas uma das subchaves utilizar um algoritmo desatualizado ou fraco, pode remover essa subchave (e gerar novas, se necessário) com o comando:

gpg --edit-key 

Selecione a subchave que utiliza um algoritmo não suportado com o comando:

key 

onde n é o índice da subchave (conforme mostrado na linha de comandos)

Depois, elimine-a com o comando:

delkey

Se já não tiver uma subchave de encriptação, pode gerar uma nova com o comando:

addkey

3. Confirme as alterações com o comando:

save

Toda a transcrição deve ser algo semelhante a isto:

$ gpg --edit-key test@gpg.example.proton.me
...
sec rsa3072/BC93CFA50EFCDAF0
created: 2022-11-04 expires: never usage: SC
trust: ultimate validity: ultimate
ssb elg2048/CEB2A2B7DB363D99
created: 2022-11-04 expires: never usage: E
[ultimate] (1). teststes
gpg> key 1
gpg> delkey
...
gpg> addkey
...
sec rsa3072/BC93CFA50EFCDAF0
created: 2022-11-04 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/E910A70D5E1E5FC8
created: 2022-11-04 expires: never usage: E
[ultimate] (1). teststes
gpg> save



4. Exporte a chave do GnuPG com o comando:

gpg --armor --export-secret-keys  > exported-key.asc

5. Pode agora importar a chave recém-exportada para o Proton Mail