Przejdź do treści

Pieśni o Bezpieczeństwie Sieci
blog Michała "ryśka" Woźniaka

Zmiana klucza GPG

To jest bardzo stary wpis, opublikowany ponad 4 lata temu.
Możliwe, że nie odzwierciedla dziś poglądów Autora lub zewnetrznych faktów. Jest zachowany jako wpis historyczny.

Wszem i wobec – zmieniam klucz GPG, ze starego:

07FD 0DA1 72D3 FC66 B910 341C 5337 E3B7 60DE C17F

…na nowy:

D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E

Bezpieczeństwo starego klucza nie zostało naruszone. Głównym powodem zmiany jest ten słaby podklucz:

sub1024R/0x085C4F046A46EBC9

Wygenerowałem nowy, znacznie silniejszy klucz. Przy okazji dbając o to, by zabezpieczyć się (w jakimś zakresie) przed potencjalnie paskudnymi konsekwencjami utraty klucza prywatnego (np. wraz ze skradzionym laptopem). Skorzystałem z tych trzech tutoriali (niestety, po angielsku):

Z ich pomocą stworzyłem parę kluczy master, przechowywaną w bezpiecznym miejscu; oraz parę kluczy laptopowych, do codziennego użytku.

Para master nigdy nie znalazła się na moim laptopie, ani na żadnym innym urządzeniu, którego na co dzień używam – została wygenerowana na oddzielonym od sieci losowym “niczyim” laptopie, jednym z kilku zalegających w Warszawskim Hackerspace (każdy hackerspace na świecie pewnie ma takich kilka). Na laptopie uruchomiłem TAILSa.

Z pary master wygenerowałem z kolei (również na tym samym losowym laptopie) parę laptopową. Parę master przeniosłem w bezpieczne miejsce, laptopową – na laptopa. Obie zostały bezpiecznie wymazane z maszyny, na której były tworzone (na wszelki wypadek; i tak wszystko działo się na ramdysku).

Rozdzielenie kluczy na master i laptop oznacza, że nie mogę podpisywać cudzych kluczy na bieżąco – mogę to zrobić wyłącznie gdy mam dostęp do pary master, której oczywiście ze sobą nie wożę.

Komunikat o zmianie klucza

Poniżej znajduje się mój komunikat o zmianie klucza. Wersja podpisana oboma kluczami dostępna jest do ściągnięcia.

Komunikat o zmianie klucza GPG Data: 30 grudnia 2014

Z wielu powodów stworzyłem ostatnio nowy klucz OpenPGP, którego od teraz będę używał, porzucając klucz stary.

Stary klucz będzie nadal ważny przez jakiś czas, ale wolałbym, by wszelka przyszła korespondencja korzystała już z nowego klucza. Chciałbym też, by nowy klucz został zintegrowany do sieci zaufania. Niniejsza wiadomość podpisana jest oboma kluczami, by ją uwiarygodnić.

Stary klucz to:

pub 4096R/0x5337E3B760DEC17F 2011-09-28 [2015-01-31](wygasa:) Odcisk palca = 07FD 0DA1 72D3 FC66 B910 341C 5337 E3B7 60DE C17F

Nowy klucz to:

pub 4096R/0xEAA4EC8179652B2E 2014-10-14 [2020-10-12](wygasa:) Odcisk palca = D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E

By pobrać cały klucz z publicznego serwera kluczy, możesz zwyczajnie:

gpg --keyserver keys.riseup.net --recv-key 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Jeśli zaś masz już mój stary klucz, możesz upewnić się, że nowy klucz jest podpisany kluczem starym:

gpg --check-sigs 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Jeśli nie masz mojego mojego starego klucza, lub chcesz się dodatkowo upewnić, że wszystko gra, możesz porównać odciski palca kluczy:

gpg --fingerprint 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Gdy jesteś usatysfakcjonowany i pewny, że masz właściwy klucz, i że UIDy kluczy zgadzają się z oczekiwanymi, byłbym zobowiązany za podpisanie mojego nowego klucza. Można to zrobić za pomocą komendy:

** UWAGA: jeśli mój klucz jest już przez Ciebie podpisany, ale wyłącznie lokalnie (lsign), użyj komendy –lsign-key zamiast tego, co poniżej, i nie wysyłaj podpisów na serwer kluczy **

gpg --sign-key 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Chciałbym w miarę możliwości otrzymać Twoje podpisy mojego klucza. Możesz mi je wysłać mailem, jeśli masz działające MTA na swoim systemie):

gpg --export 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E' \ | gpg --encrypt -r 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E' \ --armor | mail -s 'Podpisy OpenPGP' rysiek@hackerspace.pl

Przy okazji – mocno sugeruję wdrożenie mechanizmu automatycznego odświeżania kluczy w celu otrzymywania na bieżąco rewokacji i innych aktualizacji stanów kluczy. Można do tego użyć parcimonie – daemona, który powoli, w tle, odświeża klucze z serwerów kluczy przez Tora. Używa losowego czasu przerw pomiędzy kolejnymi akcjami, i oddzielnych tras w sieci Tor dla każdego z kluczy. Oznacza to, że ciężko byłoby komukolwiek skorelować aktualizacje kluczy z Twoim zestawem kluczy.

Gorąco też zachęcam do zapoznania się z najlepszymi praktykami dotyczącymi GPG, zebranymi przez RiseUp; stamtąd bezczelnie ukradłem większość angielskiego tekstu niniejszej wiadomości. ;-)

https://help.riseup.net/en/security/message-security/openpgp/best-practices

Jeśli pojawią się jakieś pytania bądź problemy, proszę o znak sygnał – i przepraszam za zamieszanie.

Michał “rysiek” Woźniak rysiek@hackerspace.pl http://rys.io/