--- title: >- Zmiana klucza GPG date: 2014-12-30 14:48 modified: 2014-12-30 14:48 lang: pl authors: rysiek tags: - ancient status: published pinned: false --- Wszem i wobec -- zmieniam klucz GPG, ze starego: > [`07FD 0DA1 72D3 FC66 B910 341C 5337 E3B7 60DE C17F`](http://pool.sks-keyservers.net/pks/lookup?op=vindex&fingerprint=on&search=0x5337E3B760DEC17F) ...na nowy: > [`D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E`](http://pool.sks-keyservers.net/pks/lookup?op=vindex&fingerprint=on&search=0xEAA4EC8179652B2E) ***Bezpieczeństwo starego klucza nie zostało naruszone***. Głównym powodem zmiany jest ten słaby podklucz: > `sub `**`1024R`**`/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): - [Creating a new GPG key](http://ekaia.org/blog/2009/05/10/creating-new-gpgkey/); - [Creating the perfect GPG keypair](https://alexcabal.com/creating-the-perfect-gpg-keypair/); - [Creating a new GPG key with subkeys](https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/). 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](https://hackerspace.pl/) (każdy [hackerspace](http://hackerspaces.org) na świecie pewnie ma takich kilka). Na laptopie uruchomiłem [TAILSa](https://tails.boum.org/). 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](/static/komunikat-o-zmianie-klucza-gpg.txt.asc). > Komunikat o zmianie klucza GPG > Data: 30 grudnia 2014 > [Z wielu powodów](https://www.debian-administration.org/users/dkg/weblog/48) 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](https://gaffer.ptitcanardnoir.org/intrigeri/code/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/