Главная страница Proton

Импорт закрытых ключей OpenPGP в Proton Mail

Чтение
4 мин.
Категория
Шифрование и ключи

Proton Mail позволяет вам импортировать существующие закрытые ключи OpenPGP (или секретные ключи) в свою зашифрованную экосистему. Это позволит вам продолжить использовать эти ключи для подписи и расшифровки ваших электронных писем.

Импортируемые вами ключи должны соответствовать минимальным требованиям Proton к ключам по соображениям безопасности и совместимости.

Если ваш ключ соответствует нашим минимальным требованиям, вы сможете импортировать его напрямую.
Если ваш ключ не соответствует нашим минимальным требованиям, после попытки загрузить его вы увидите экран с ошибкой. На этом экране будет объяснено, почему ключ был отклонен. Мы предоставляем руководства по изменению ключа, чтобы вы могли его импортировать.

  1. Как импортировать свой ключ OpenPGP в Proton Mail
  2. Как изменить свой ключ OpenPGP

Как импортировать свой ключ OpenPGP в Proton Mail

  1. Войдите в свой аккаунт Proton в веб-приложении Proton Mail
  2. Нажмите Настройки → Все настройки → Шифрование и ключиКлючи шифрования эл. почты.
  3. Выберите адрес электронной почты, связанный с данным ключом, нажмите на выпадающее меню Создать ключ и нажмите Импортировать ключ.

Готово! Теперь вы можете использовать свои закрытые ключи OpenPGP в Proton Mail.

Как изменить свой ключ OpenPGP

Если ваши ключи не соответствуют нашим требованиям, вы не сможете импортировать свои ключи.

Мы рассмотрим самые распространенные сценарии, в которых ваш ключ может быть отклонен, и объясним, как вы можете разрешить эту ситуацию.

Прежде чем начать

Если вам нужно изменить свои закрытые ключи OpenPGP, чтобы загрузить их в Proton Mail, перед началом вам необходимо выполнить два шага:

  1. Скачайте и настройте GnuPG и импортируйте свои ключи
  2. Создайте резервную копию своих ключей OpenPGP перед их изменением

Настройте GnuPG и импортируйте свои ключи

В этом руководстве мы используем инструмент GnuPG (GNU Privacy Guard) для изменения закрытых ключей, которые хотим импортировать.
Если у вас не установлен GnuPG, перейдите по ссылке https://gnupg.org/download/(новое окно), чтобы найти приложение для своего устройства.

Если ключ, который вы хотите импортировать в Proton Mail, еще не импортирован в GnuPG, вам нужно сделать это с помощью команды:

gpg --import 

Большинство последующих операций выполняются с помощью интерактивных команд на основе

gpg --edit-key

Ознакомьтесь с документацией GnuPG(новое окно).

Важно: создайте резервную копию ключей перед их изменением

Если закрытый ключ, который вы пытаетесь импортировать, используется в других приложениях помимо Proton, обязательно создайте резервную копию этого ключа перед его изменением.

Если вы уже импортировали свой закрытый ключ в GnuPG, вы можете сделать это с помощью команды:

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

Позже вы сможете повторно импортировать исходный ключ с помощью команды:

gpg --import backup-key.asc

Причины, по которым ваш закрытый ключ был отклонен

  1. У вашего ключа есть срок действия 
  2. У вашего ключа неверные личные данные
  3. У вашего ключа нет субключа шифрования
  4. Ваш ключ использует неподдерживаемые алгоритмы

У вашего ключа есть срок действия

Что это значит

Ключи (и субключи) OpenPGP могут иметь срок действия, после которого все совместимые с OpenPGP библиотеки будут отклонять их.

Чтобы вы всегда могли получать электронные письма в Proton Mail с помощью этого ключа OpenPGP, мы требуем, чтобы для всех импортируемых ключей не был задан срок действия.

Если вы попытаетесь импортировать ключ со сроком действия, он будет отклонен.

Как это исправить

  1. Откройте GnuPG и проверьте, установлен ли для ключа срок действия, выполнив команду:
gpg --list-keys 

где «идентификатор пользователя» — это адрес электронной почты, связанный с ключом.

Результат выполнения команды будет выглядеть примерно так:

$ 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]

Здесь видно, что и для основного ключа, и для субключа шифрования установлен срок действия 2024-09-20.
Чтобы импортировать ключ в Proton Mail, нам нужно изменить его так, чтобы у него не было срока действия.

2. Чтобы изменить ключ, выполните команду:

gpg --edit-key 

GnuPG перейдет в интерактивный режим. Вам потребуется просмотреть каждый субключ и изменить его срок действия. Вы можете выбрать субключи с помощью команды:

key 

а затем установите срок его действия на никогда с помощью команды:

expire 0

3. Сохраните с помощью команды:

save

Для ключа в примере выше весь процесс будет выглядеть так:

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

4. Проверьте сроки действия своих ключей с помощью команды:

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-09-21 [E]

Как видите, разделы, в которых были указаны сроки действия, теперь пусты.

5. Теперь можно экспортировать ключ из GnuPG с помощью команды:

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

6. Теперь вы можете импортировать только что экспортированный ключ в Proton Mail

У вашего ключа неверные личные данные или несколько личных данных

Что это значит

Ключи OpenPGP могут быть связаны с одними или несколькими личными данными пользователей, которые содержат определенный адрес электронной почты.
В некоторых службах Proton эти личные данные используются для поиска ключа для данного адреса.
Чтобы ваш ключ был связан с нужным адресом и не ассоциировался с неверным, Proton требует, чтобы все импортируемые ключи содержали только один ID пользователя, который использует тот же адрес электронной почты, что и у аккаунта Proton, в который импортируется ключ.

Если у вас несколько адресов Proton Mail, убедитесь, что вы импортируете правильный ключ для нужного адреса.

Эта ошибка также может возникнуть, если с адресом связано несколько личных данных пользователей (одни из которых могут быть связаны с адресом Proton Mail, в который вы импортируете ключ). В этом случае Proton требует удалить остальные личные данные, так как Proton не может подтвердить, что ключ был создан владельцем адреса, если это внешний адрес (не принадлежащий Proton Mail).

Как это исправить

  1. Откройте GnuPG и проверьте, какие личные данные связаны с вашим ключом. Вы можете выбрать свой ключ по цифровому отпечатку, который можно найти в диалоговом окне импорта. Для этого выполните команду:
gpg --list-keys 

Результат будет выглядеть примерно так:

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

Здесь мы видим, что ключ содержит личные данные пользователя, связанные с адресом электронной почты, который не обслуживается Proton.

2. Измените ключ, выполнив команду:

gpg --edit-key 

Затем создайте новые личные данные пользователя с помощью команды:

adduid

Укажите имя и адрес электронной почты (это должен быть адрес Proton Mail, для которого вы импортируете ключ).

Теперь ваш ключ, скорее всего, содержит несколько личных данных. Чтобы продолжить, вы должны удалить те из них, которые не связаны с вашим адресом Proton Mail.

3. Выберите другие личные данные пользователя, которые вы хотите удалить, с помощью команды:

uid 

Удалите их с помощью команды:

deluid

4. Сохраните изменения с помощью команды:

save

Для ключа в примере выше весь процесс будет выглядеть так:

$ 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. Проверьте личные данные пользователей для ваших ключей с помощью команды:

gpg --list-keys 

Результат должен быть примерно следующим:

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

Как видите, ключ теперь связан только с одними личными данными пользователя, и эти личные данные привязаны к одному адресу Proton Mail.

6. Экспортируйте ключ из GnuPG с помощью команды:

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

7. Теперь вы можете импортировать только что экспортированный ключ в Proton Mail

У вашего ключа нет подключа шифрования

Что это значит

Чтобы пользователи Proton Mail могли получать зашифрованные письма, службы Proton ожидают, что каждый ключ адреса поддерживает шифрование данных. Вот почему мы требуем, чтобы импортируемые ключи содержали как минимум один подключ, способный выполнять шифрование (некоторые подключи могут использоваться только для подписей).

Как это исправить

  1. Откройте GnuPG и проверьте подключи ключа, который вы пытаетесь импортировать, выполнив команду:
gpg --list-keys 

Результат должен быть примерно следующим:

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

В этом примере у ключа есть только один подключ с функциями подписи и сертификации (помечен как [SC]). Подключа с функциями шифрования (который был бы помечен как [E]) нет.

2. Выберите ключ для изменения с помощью команды:

gpg --edit-key 

Добавьте новый подключ с помощью команды:

addkey

Выберите алгоритм шифрования. Proton поддерживает только RSA (только для шифрования) или ECC (только для шифрования).

Выберите размер для подключей RSA. Proton требует, чтобы он составлял не менее 2048 бит.

Выберите срок действия. Proton требует, чтобы это значение было равно 0 (без ограничения срока действия).

3. Подтвердите новый подключ, а затем сохраните изменения с помощью команды:

save

Вся запись должна выглядеть примерно так:

$ 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. Проверьте личные данные пользователей ваших ключей с помощью команды:

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]

Как видите, теперь у ключа есть подключ с возможностью шифрования.

5. Экспортируйте ключ из GnuPG с помощью команды:

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

6. Теперь вы можете импортировать только что экспортированный ключ в Proton Mail

Ваш ключ использует неподдерживаемые алгоритмы

Что это значит

Ключи OpenPGP могут поддерживать множество различных криптографических алгоритмов, некоторые из которых Proton не считает достаточно безопасными для защиты ваших электронных писем.

Proton будет отклонять ключи, использующие слабые или устаревшие алгоритмы, чтобы избежать снижения уровня безопасности других пользователей и гарантировать, что пользователи Proton Mail смогут расшифровать полученные сообщения.

Следующие асимметричные алгоритмы не поддерживаются Proton:

  • RSA с ключами размером менее 2048 бит
  • ElGamal
  • Ключи ECC с кривыми, отличными от x25519 и NIST P-256, P-384 или P-521
  • DSA

Мы также требуем, чтобы импортированные ключи сигнализировали о поддержке AES-256 в качестве симметричного шифра, SHA-256 в качестве хеш-функции и ZLIB в качестве функции сжатия.

Как это исправить

  1. Проверьте, какие алгоритмы используются для каждого ключа, с помощью
gpg --list-keys 

Вывод будет выглядеть примерно так:

$ 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]

Здесь основной ключ (помеченный функцией SC(новое окно)) является ключом DSA, а подключ шифрования — ключом ElGamal.

Если ваш основной ключ (тот, который обладает функцией сертификации) использует устаревший или слабый алгоритм, вы не сможете импортировать этот ключ.

2a. Вы можете сгенерировать новый ключ прямо в настройках аккаунта веб-приложения Proton Mail или с помощью GnuPG, используя команду:

gpg --generate-key

2b. Если ваш основной ключ использует поддерживаемый алгоритм, но один из подключей использует устаревший или слабый алгоритм, вы можете удалить этот подключ (и при необходимости сгенерировать новые) с помощью команды:

gpg --edit-key 

Выберите подключ, использующий неподдерживаемый алгоритм, с помощью команды:

key 

где n — это индекс подключа (как показано в запросе)

Затем удалите его с помощью команды:

delkey

Если у вас больше нет подключа шифрования, вы можете сгенерировать новый с помощью команды:

addkey

3. Подтвердите изменения с помощью команды:

save

Вся запись должна выглядеть примерно так:

$ 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. Экспортируйте ключ из GnuPG с помощью команды:

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

5. Теперь вы можете импортировать только что экспортированный ключ в Proton Mail

Не нашли желаемый контент?

Общие контактыcontact@proton.me
Контакты для прессыmedia@proton.me
Контакты юридического отделаlegal@proton.me
Контакты по вопросам партнерстваpartners@proton.me