Porady Admina: gpg
Ostatnia aktualizacja: 11 października 2023, 19:38
W dzisiejszym wpisie z cyklu Porady Admina przybliżę program gpg.
GnuPG jest narzędziem GNU do bezpiecznej komunikacji i przechowywania danych. Może być używany do szyfrowania danych oraz tworzenia cyfrowych podpisów. Zawiera zaawansowany mechanizm zarządzania kluczami i jest zgodny z proponowanym standardem internetowym OpenPGP, opisanym w RFC4880.
Pakiet zawiera jedynie plik gpg i sam w sobie jest użyteczny tylko do operacji na kluczach publicznych (szyfrowanie, weryfikowanie podpisów, wyświetlanie certyfikatów OpenPGP, itp.). Aby uzyskać pełną zdolność działania (włącznie z tajnymi operacjami na kluczach, dostępem do sieci, itp.), należy zainstalować pakiet „gnupg”, który pobiera pełny zestaw narzędzi.
gpg jest częścią OpenPGP GNU Privacy Guard (GnuPG). Jest to narzędzie umożliwiające szyfrowanie cyfrowe i usługi podpisywania przy użyciu standardu OpenPGP. gpg oferuje pełne zarządzanie kluczami.
Pakiety gpg i gnupg są dostępne w większości dystrybucji Linux.
Obsługiwane algorytmy:
– Asymetryczne: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
– Symetryczne: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
– Skrótów: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
– Kompresji: Nieskompresowany, ZIP, ZLIB, BZIP2
Składnia
gpg [opcje] [pliki]
Domyślnie wykonywana operacja zależy od danych wejściowych.
Polecenia:
-s, –sign : złożenie podpisu
–clear-sign : złożenie podpisu pod dokumentem
-b, –detach-sign : złożenie podpisu oddzielonego od dokumentu
-e, –encrypt : szyfrowanie danych
-c, –symmetric : szyfrowanie tylko szyfrem symetrycznym
-d, –decrypt : odszyfrowywanie danych (domyślne)
–verify : sprawdzenie podpisu
-k, –list-keys : lista kluczy
–list-signatures : lista kluczy i podpisów
–check-signatures : wypisanie i sprawdzenie podpisów kluczy
–fingerprint : lista kluczy i ich odcisków
-K, –list-secret-keys : lista kluczy prywatnych
–generate-key : wygenerowanie nowej pary kluczy
–quick-generate-key : szybkie wygenerowanie nowej pary kluczy
–quick-add-uid : szybkie dodanie nowego identyfikatora użytkownika
–quick-revoke-uid : szybkie unieważnienie identyfikatora użytkownika
–quick-set-expire : szybkie ustawienie nowej daty wygaśnięcia
–full-generate-key : wygenerowanie pary kluczy z pełną funkcjonalnością
–generate-revocation : tworzenie certyfikatu unieważnienia klucza
–delete-keys : usunięcie klucza ze zbioru kluczy publicznych
–delete-secret-keys : usunięcie klucza ze zbioru kluczy prywatnych
–quick-sign-key : szybkie złożenie podpisu na kluczu
–quick-lsign-key : szybkie złożenie prywatnego podpisu na kluczu
–quick-revoke-sig : szybkie unieważnienie podpisu klucza
–sign-key : złożenie podpisu na kluczu
–lsign-key : złożenie prywatnego podpisu na kluczu
–edit-key : podpisanie lub modyfikacja klucza
–change-passphrase : zmiana hasła
–export : eksport kluczy do pliku
–send-keys : eksport kluczy do serwera kluczy
–receive-keys : import kluczy z serwera kluczy
–search-keys : szukanie kluczy na serwerze
–refresh-keys : odświeżenie wszystkich kluczy z serwera
–import : import/dołączenie kluczy
–card-status : wyświetlenie stanu karty
–edit-card : zmiana danych na karcie
–change-pin : zmiana PIN-u karty
–update-trustdb : uaktualnienie bazy zaufania
–print-md : wypisanie skrótów wiadomości
–server : uruchomienie w trybie serwera
–tofu-policy WARTOŚĆ : ustawienie polityki TOFU dla klucza
Opcje sterujące konfiguracją:
–default-key NAZWA : użycie NAZWY jako domyślnego klucza tajnego
–encrypt-to NAZWA : szyfrowanie także dla odbiorcy NAZWA
–group SPEC : określ adres email
–openpgp : ścisłe zachowanie OpenPGP
-n, –dry-run : pozostawienie bez zmian
-i, –interactive : pytanie przed nadpisaniem plików
Opcje sterujące wyjściem:
-a, –armor : opakowanie ASCII pliku wynikowego
-o, –output PLIK : zapis wyjścia do PLIKU
–textmode : kanoniczny format tekstowy
-z N : ustawienie poziomu kompresji N (0 – bez)
Opcje sterujące importem i eksportem kluczy:
–auto-key-locate MECHANIZMY : wykorzystaj MECHANIZMY do wyszukiwania kluczy na podstawie adresów e-mail
–auto-key-import : import brakującego klucza z podpisu
–include-key-block : włączanie klucza publicznego do podpisów
–disable-dirmngr : zablokuj dostęp do dirmngr
Opcje określające klucze:
-r, –recipient UŻYTKOWNIK : szyfrowanie dla odbiorcy o tym identyfikatorze
-u, –local-user UŻYTKOWNIK : użycie tego identyfikatora użytkownika do podpisania lub odszyfrowania
Przykłady
Podpisuje i szyfruje plik dla użytkownika Pawel
gpg -se -r Pawel
Tworzy podpis w postaci zwykłego tekstu
gpg --clearsign plik
Tworzy odłączony podpis
gpg -sb plik
Pokaż klucze
gpg --list-keys ID_użytkownika
Pokazuje odcisk palca
gpg --fingerprint ID_użytkownika
Sprawdź plik pgp
gpg –
Sprawdza podpis pliku, ale nie wysyłaj danych. Druga forma jest używana dla odłączonych podpisów, gdzie sigfile to odłączony podpis (w formacie ASCII lub binarny), a [pliki] to podpisane dane; jeżeli nie jest to podane, nazwa pliku zawierającego podpisane dane jest tworzona poprzez obcięcie rozszerzenia („.asc” lub „.sig”) pliku sig lub poprzez zapytanie użytkownika o nazwę pliku.
gpg --verify sigfile [pliki]
Więcej informacji o programie GPG uzyskasz poleceniami:
man gpg
man gnugp
gpg --help