Strona główna Proton

Importowanie prywatnych kluczy OpenPGP do Proton Mail

Odczytywanie
12 min
Kategoria
Szyfrowanie i klucze

Proton Mail pozwala Ci zaimportować Twoje istniejące klucze prywatne (lub klucze tajne) OpenPGP do swojego zaszyfrowanego ekosystemu. Dzięki temu możesz nadal używać tych kluczy do podpisywania i odszyfrowywania swoich wiadomości.

Klucze, które importujesz, muszą spełniać minimalne wymagania Protona dotyczące kluczy ze względów bezpieczeństwa i kompatybilności.

Jeśli Twój klucz spełnia nasze minimalne wymagania, powinno być możliwe jego bezpośrednie zaimportowanie.
Jeśli Twój klucz nie spełnia naszych minimalnych wymagań, po próbie przesłania go wyświetli się ekran błędu. Wyjaśni on, dlaczego klucz został odrzucony. Udostępniamy instrukcje dotyczące modyfikacji klucza, aby umożliwić jego zaimportowanie.

  1. Jak zaimportować swój klucz OpenPGP do Proton Mail
  2. Jak zmodyfikować swój klucz OpenPGP

Jak zaimportować swój klucz OpenPGP do Proton Mail

  1. Zaloguj się na swoje konto Proton w aplikacji internetowej Proton Mail
  2. Kliknij Ustawienia → Wszystkie ustawienia → Szyfrowanie i kluczeKlucze szyfrujące pocztę.
  3. Wybierz adres e-mail powiązany z danym kluczem, kliknij menu rozwijane z opcją Wygeneruj klucz i kliknij Importuj klucz.

Gotowe! Możesz teraz używać swoich prywatnych kluczy OpenPGP w Proton Mail.

Jak zmodyfikować swój klucz OpenPGP

Jeśli Twoje klucze nie spełniają naszych wymagań, nie będziesz w stanie ich zaimportować.

Omówimy najczęstsze scenariusze, w których klucz może zostać odrzucony, i wyjaśnimy, jak możesz rozwiązać tę sytuację.

Zanim zaczniesz

Jeśli musisz zmodyfikować swoje klucze prywatne OpenPGP, aby przesłać je do Proton Mail, przed rozpoczęciem musisz wykonać dwa kroki:

  1. Pobierz i skonfiguruj GnuPG oraz zaimportuj swoje klucze
  2. Utwórz kopię zapasową swoich kluczy OpenPGP przed ich modyfikacją

Skonfiguruj GnuPG i zaimportuj swoje klucze

W tym poradniku używamy narzędzia GnuPG (GNU Privacy Guard) do modyfikacji kluczy prywatnych, które chcemy zaimportować.
Jeśli nie masz zainstalowanego GnuPG, przejdź pod adres https://gnupg.org/download/(nowe okno), aby znaleźć aplikację dla swojego urządzenia.

Jeśli klucz, który chcesz zaimportować do Proton Mail, nie został jeszcze zaimportowany do GnuPG, musisz to zrobić za pomocą polecenia:

gpg --import 

Większość poniższych operacji będzie opierać się na interaktywnych poleceniach opartych na

gpg --edit-key

Przeczytaj dokumentację GnuPG(nowe okno).

Ważne: utwórz kopię zapasową kluczy przed ich modyfikacją

Jeśli klucz prywatny, który próbujesz zaimportować, jest używany w innych aplikacjach poza Protonem, upewnij się, że utworzysz kopię zapasową każdego klucza przed jego modyfikacją.

Jeśli masz już zaimportowany swój klucz prywatny w GnuPG, możesz to zrobić za pomocą polecenia:

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

Później możesz ponownie zaimportować oryginalny klucz za pomocą polecenia:

gpg --import backup-key.asc

Powody, dla których Twój klucz prywatny został odrzucony

  1. Twój klucz ma datę ważności 
  2. Twój klucz ma nieprawidłową tożsamość
  3. Twój klucz nie ma podklucza szyfrującego
  4. Twój klucz używa nieobsługiwanych algorytmów

Twój klucz ma datę ważności

Co to oznacza

Klucze (i podklucze) OpenPGP mogą mieć daty ważności, po upływie których wszystkie biblioteki zgodne z OpenPGP będą je odrzucać.

Aby mieć pewność, że zawsze możesz odbierać swoje wiadomości w Proton Mail za pomocą tego klucza OpenPGP, wymagamy, aby wszystkie importowane klucze nie miały ustawionej daty ważności.

Jeśli spróbujesz zaimportować klucz z datą ważności, zostanie on odrzucony.

Jak to rozwiązać

  1. Otwórz GnuPG i sprawdź, czy klucz ma ustawioną datę ważności, uruchamiając polecenie:
gpg --list-keys 

gdzie „identyfikator użytkownika” to adres e-mail powiązany z kluczem.

Wynik będzie wyglądać mniej więcej tak:

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

Widzimy tutaj, że zarówno klucz główny, jak i podklucz szyfrujący mają ustawioną datę ważności do 2024-09-20.
Aby zaimportować go do Proton Mail, musimy edytować klucz tak, aby nie miał daty ważności.

2. Aby edytować klucz, uruchom polecenie:

gpg --edit-key 

GnuPG przejdzie w tryb interaktywny. Musisz przejść przez każdy podklucz i edytować jego datę ważności. Możesz wybrać podklucze za pomocą polecenia:

key 

a następnie ustaw jego datę wygaśnięcia na nigdy za pomocą polecenia:

expire 0

3. Zapisz za pomocą polecenia:

save

Dla klucza w powyższym przykładzie cały zapis będzie wyglądać następująco:

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

4. Sprawdź daty wygaśnięcia swoich kluczy za pomocą polecenia:

gpg --list-keys 

Wyświetlony wynik powinien wyglądać mniej więcej tak:

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

Jak widać, sekcje, w których podane były daty wygaśnięcia, są teraz puste.

5. Możemy teraz wyeksportować klucz z GnuPG za pomocą polecenia:

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

6. Możesz teraz zaimportować nowo wyeksportowany klucz do Proton Mail

Twój klucz ma nieprawidłową tożsamość lub wiele tożsamości

Co to oznacza

Klucze OpenPGP mogą być powiązane z jedną lub wieloma tożsamościami użytkownika, które mają określony adres e-mail.
W niektórych usługach Proton ta tożsamość jest używana do wyszukiwania klucza dla danego adresu.
Aby upewnić się, że Twój klucz jest powiązany z właściwym adresem i uniknąć powiązania go z nieprawidłowym adresem, Proton wymaga, aby wszystkie importowane klucze zawierały jeden identyfikator użytkownika, który korzysta z tego samego adresu e-mail, co konto Proton, do którego klucz jest importowany.

Jeśli masz kilka adresów Proton Mail, upewnij się, że importujesz właściwy klucz do odpowiedniego adresu.

Ten błąd może również wystąpić, jeśli adres ma wiele tożsamości użytkownika (z których jedna może być powiązana z adresem Proton Mail, do którego importujesz klucz). W takiej sytuacji Proton wymaga usunięcia pozostałych tożsamości, ponieważ Proton nie może potwierdzić, że klucz został utworzony przez właściciela adresu, jeśli jest to adres zewnętrzny (adres inny niż Proton Mail).

Jak to rozwiązać

  1. Otwórz GnuPG i sprawdź, jakie tożsamości są powiązane z Twoim kluczem. Możesz wybrać swój klucz za pomocą odcisku klucza, który znajdziesz w oknie dialogowym importowania. Uzyskasz do niego dostęp, uruchamiając polecenie:
gpg --list-keys 

Wyświetlony wynik będzie wyglądać mniej więcej tak:

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

Tutaj widzimy, że klucz ma tożsamość użytkownika powiązaną z adresem e-mail, który nie jest obsługiwany przez Proton.

2. Edytuj klucz, uruchamiając polecenie:

gpg --edit-key 

Następnie utwórz nową tożsamość użytkownika za pomocą polecenia:

adduid

Podaj nazwę i adres e-mail (adres e-mail musi być adresem Proton Mail, do którego importujesz klucz).

Teraz Twój klucz ma prawdopodobnie wiele tożsamości. Aby kontynuować, musisz usunąć te, które nie są powiązane z Twoim adresem Proton Mail.

3. Wybierz pozostałe tożsamości użytkownika, które chcesz usunąć, za pomocą polecenia:

uid 

Usuń je za pomocą polecenia:

deluid

4. Zapisz zmiany za pomocą polecenia:

save

Dla klucza w powyższym przykładzie cały zapis będzie wyglądać następująco:

$ 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. Sprawdź tożsamości użytkownika swoich kluczy za pomocą polecenia:

gpg --list-keys 

Wyświetlony wynik powinien wyglądać mniej więcej tak:

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

Jak widać, klucz ma powiązaną tylko jedną tożsamość użytkownika i tożsamość ta jest połączona z jednym adresem Proton Mail.

6. Wyeksportuj klucz z GnuPG za pomocą polecenia:

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

7. Możesz teraz zaimportować nowo wyeksportowany klucz do Proton Mail

Twój klucz nie ma podklucza szyfrującego

Co to oznacza

Aby upewnić się, że użytkownicy Proton Mail mogą odbierać szyfrowane wiadomości e-mail, usługi Proton wymagają, aby każdy klucz adresu mógł szyfrować dane. Dlatego wymagamy, aby importowane klucze zawierały co najmniej jeden podklucz, który może wykonywać szyfrowanie (niektóre podklucze mogą być używane tylko do podpisów).

Jak to rozwiązać

  1. Otwórz GnuPG i sprawdź podklucze klucza, który próbujesz zaimportować, uruchamiając polecenie:
gpg --list-keys 

Wyświetlony wynik powinien wyglądać mniej więcej tak:

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

W tym przykładzie klucz ma tylko jeden podklucz, który ma możliwości podpisania i certyfikowania (oznaczony jako [SC]). Nie ma podklucza, który miałby możliwości szyfrowania (który byłby oznaczony jako [E]).

2. Wybierz klucz do edycji za pomocą polecenia:

gpg --edit-key 

Dodaj nowy podklucz za pomocą polecenia:

addkey

Wybierz algorytm szyfrowania. Proton obsługuje tylko RSA (tylko szyfrowanie) lub ECC (tylko szyfrowanie).

W przypadku podkluczy RSA wybierz rozmiar. Proton wymaga, aby miał on co najmniej 2048 bitów.

Wybierz datę wygaśnięcia. Proton wymaga, aby wynosiła ona 0 (brak daty wygaśnięcia).

3. Potwierdź nowy podklucz, a następnie zapisz zmiany za pomocą polecenia:

save

Cały zapis powinien wyglądać mniej więcej tak:

$ 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. Sprawdź tożsamości użytkowników swoich kluczy za pomocą polecenia:

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]

Jak widzisz, klucz ma teraz podklucz z funkcją szyfrowania.

5. Wyeksportuj klucz z GnuPG za pomocą polecenia:

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

6. Możesz teraz zaimportować nowo wyeksportowany klucz do Proton Mail

Twój klucz używa nieobsługiwanych algorytmów

Co to oznacza

Klucze OpenPGP mogą obsługiwać wiele różnych algorytmów kryptograficznych, z których niektórych Proton nie uważa za wystarczająco bezpieczne, aby chronić Twoje wiadomości.

Proton odrzuci klucze, które używają słabych lub przestarzałych algorytmów, aby uniknąć obniżenia bezpieczeństwa innych użytkowników i zapewnić, że otrzymane wiadomości będą mogły być odszyfrowane przez użytkowników Proton Mail.

Następujące algorytmy asymetryczne nie są obsługiwane przez Proton:

  • RSA z kluczami mniejszymi niż 2048 bitów
  • ElGamal
  • Klucze ECC z krzywymi innymi niż x25519 oraz NIST P-256, P-384 lub P-521
  • DSA

Wymagamy również, aby importowane klucze sygnalizowały obsługę AES-256 jako szyfru symetrycznego, SHA-256 jako funkcji kryptograficznego skrótu i ZLIB jako funkcji kompresji.

Jak rozwiązać ten problem

  1. Sprawdź, jakie algorytmy są używane przez poszczególne klucze, za pomocą
gpg --list-keys 

Wynik będzie wyglądał mniej więcej tak:

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

W tym przypadku klucz główny (oznaczony SC(nowe okno) funkcjonalnością) to klucz DSA, a podklucz szyfrujący to klucz ElGamal.

Jeśli Twój klucz główny (ten z funkcją certyfikacji) używa przestarzałego lub słabego algorytmu, nie będziesz mieć możliwości zaimportowania klucza.

2a. Możesz wygenerować nowy klucz bezpośrednio w ustawieniach konta w aplikacji internetowej Proton Mail lub za pomocą GnuPG przy użyciu polecenia:

gpg --generate-key

2b. Jeśli Twój klucz główny używa obsługiwanego algorytmu, ale jeden z podkluczy używa przestarzałego lub słabego algorytmu, możesz usunąć ten podklucz (i w razie potrzeby wygenerować nowe) za pomocą polecenia:

gpg --edit-key 

Wybierz podklucz, który używa nieobsługiwanego algorytmu, za pomocą polecenia:

key 

gdzie n to indeks podklucza (pokazany w wierszu poleceń)

Następnie usuń go za pomocą polecenia:

delkey

Jeśli nie masz już podklucza szyfrującego, możesz wygenerować nowy za pomocą polecenia:

addkey

3. Potwierdź zmiany za pomocą polecenia:

save

Cały zapis powinien wyglądać mniej więcej tak:

$ 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. Wyeksportuj klucz z GnuPG za pomocą polecenia:

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

5. Możesz teraz zaimportować nowo wyeksportowany klucz do Proton Mail