Szyfrowanie plików i folderów w systemie Linux

Ten przewodnik nie jest już aktualizowany

gpg4usb- darmowy przenośny oprogramowanie szyfrujące typu open source. Wykorzystuje ten sam algorytm klucza publicznego, co popularne programy GPG oraz PGP.

Główna funkcja: szyfrowanie tekstu (w tym wiadomości e-mail) i plików

System operacyjny: wszystkie wersje Windows

Licencja: darmowy, open source

Wersja programu użytego tutaj: 0.3.3

Wielkość archiwum: 16 MB

Najnowsza wersja tego artykułu: sierpień 2014

  • Szef naszego kierownictwa
  • Przewodnik dotyczący bezpieczeństwa cyfrowego i prywatności (Język angielski)

Co otrzymasz w rezultacie

  • Możliwość szyfrowania wiadomości tekstowe i pliki gdziekolwiek jesteś (na przykład w pracy lub w kafejce internetowej)
  • Możliwość szyfrowania wiadomości, gdy nie ma dostępu do Internetu (lub gdy nie ma dostępu do sieci), a następnie wysyłanie ich z komputera, który ma dostęp do Internetu.

Przygotowania do pracy

  • Kliknij ikonę gpg4usb poniżej i otwórz stronę http://www.gpg4usb.org.
  • Kliknij duży zielony przycisk po prawej stronie strony i pobierz na swój komputer archiwum zip.
  • Rozpakuj archiwum.
  • Następnie możesz usunąć archiwum.

Przydatne informacje przed rozpoczęciem

gpg4usb używa algorytmu szyfrowania klucza publicznego. Oznacza to, że za pomocą programu dana osoba tworzy własną unikalną parę kluczy. Pierwszy klucz to „prywatny” (lub „tajny”). Hasło właściciela chroni ten klucz i przechowuje go w bezpiecznym miejscu. Drugi klucz to „publiczny”. Możesz otwarcie przekazać go swoim znajomym. Osobliwością tej pary kluczy jest to, że to, co jest zaszyfrowane przez jeden, może być odszyfrowane tylko przez inny, sparowany.

Załóżmy, że ktoś chce wysłać Ci zaszyfrowaną wiadomość e-mail. Używa Twojego klucza publicznego, szyfruje nim tekst i wysyła go do Ciebie e-mailem. Tylko Ty możesz odszyfrować wiadomość. W końcu tylko ty masz odpowiedni (sparowany) prywatny klucz.

Wręcz przeciwnie: jeśli chcesz odpowiedzieć szyfrując, użyj klucza publicznego odbiorcy. I użyje swojego tajnego klucza, aby przeczytać tekst listu.

Algorytm jest również przydatny, jeśli chcesz zapewnić integralność listu. Pomoże nam w tym podpis elektroniczny. Do podpisania wiadomości używasz swojego klucza prywatnego. Następnie każdy może użyć Twojego klucza publicznego i upewnić się, że list jest naprawdę podpisany przez Ciebie, a podczas transmisji nie dokonano żadnych zmian w tekście.

Wszystko to można zrobić za pomocą gpg4usb.

Notatka. Uważaj: oryginalna (niezaszyfrowana) wiadomość e-mail jest nadal przechowywana na Twoim komputerze. Jeśli ważna jest tajemnica, lepiej usunąć oryginał po wysłaniu listu.

Klucze szyfrujące i szyfrowane za pomocą gpg4usb komunikaty są kompatybilne z innymi programami, w szczególności, GPG oraz PGP.

Rozpoczęcie pracy i generowanie kluczy

Rozpakuj archiwum zip do folderu na dysku i uruchom aplikację start_windows.exe. Otworzy się główne okno programu.


Zanim coś zaszyfrujesz (lub odszyfrujesz), musisz wykonać dwa ważne kroki: po pierwsze utworzyć parę kluczy (publiczny i tajny), a po drugie wymienić klucze publiczne z odbiorcami. O tym, jak wyeksportować klucz publiczny z programu porozmawiamy w następnej części, a teraz stworzymy parę kluczy.

Uwaga: Opisujemy uruchomienie „kreatora generowania kluczy” w ogólnym przypadku (poprzez menu programu). Jeśli gpg4usb właśnie zainstalowany na komputerze, Kreator generowania klucza uruchomi się automatycznie.

Wybierz "Klucz" - "Generuj klucz" z menu.

Pojawi się następujące okno.


    Nazwa- imię i nazwisko właściciela klucza. Służy do wizualnej identyfikacji właściciela klucza (coś w rodzaju nazwiska na szafce). Lepiej jest używać alfabetu łacińskiego, ponieważ nie wszystkie programy szyfrujące „rozumieją” cyrylicę. Ze względów bezpieczeństwa możesz nie używać swojego prawdziwego imienia i nazwiska. Należy jednak rozumieć, że robiąc to, możesz zmylić tych, którzy wymieniają z Tobą zaszyfrowane wiadomości.

    adres e-mail- adres zamieszkania E-mail. Wszystko, co napisano w poprzednim akapicie, jest prawdą.

    Komentarz- można pominąć.

    Wygasa- data ważności klucza. Po osiągnięciu tej daty klucz publiczny nie może być już używany do szyfrowania. Zwykle to ograniczenie służy jako dodatkowe zabezpieczenie w przypadku złamania pary kluczy (atakujący, który przejmie klucze, przynajmniej nie będzie mógł ich używać w nieskończoność). Jeśli go nie potrzebujesz, zaznacz pole „brak daty ważności”.

    Długość klucza (w bitach)- im dłuższy klucz, tym silniejsza ochrona i tym dłużej trwa szyfrowanie/deszyfrowanie. Domyślna wartość (2048 bitów) jest wystarczająca.

    Hasło- hasło do ochrony tajnego klucza. (Patrz rozdział „Jak tworzyć i przechowywać silne hasła”).

Kliknij przycisk „OK”.

Po zakończeniu pojawi się ostatnie okno:

Możesz upewnić się, że klucz pojawi się na liście.


Ikona z dwoma kluczami oznacza, że ​​nie jest to klucz publiczny, ale para kluczy (publiczny i prywatny).

Teraz, po pomyślnym wygenerowaniu pary kluczy, musisz wyeksportować klucz publiczny z programu, aby inne osoby mogły za Ciebie szyfrować wiadomości e-mail. I odwrotnie, zaimportuj ich klucze, aby móc wysyłać im zaszyfrowane wiadomości. Porozmawiamy o tym, jak to zrobić w następnej części.

Eksportuj i importuj klucze

Jak wyeksportować klucz publiczny

Przed wymianą zaszyfrowanych wiadomości musisz wymienić klucze publiczne z odbiorcą. Aby inne osoby mogły wysyłać Ci szyfry, muszą użyć Twojego klucza publicznego. Ale jest przechowywany „gdzieś w programie”, prawda? Wyeksportujmy to.

Kliknij przycisk Menedżer kluczy.

Wybierz klucz (zaznacz pole obok nazwy) i kliknij przycisk „Eksportuj do pliku” na panelu sterowania. Zapisujemy plik na dysku.


Plik będzie miał dość długą i niezdarną nazwę, np. *John Doe [e-mail chroniony](015A8EAF8C28FA30)_pub* i rozszerzenie .asc. Przyrostek pub w nazwie pliku wskazuje, że wyeksportowano tylko klucz publiczny. Nawiasem mówiąc, ten plik ma format zwykłego tekstu: jeśli chcesz, możesz zajrzeć do środka za pomocą jakiegoś edytora (na przykład Notatnika) i zobaczyć, jak wygląda.


Wyrażenie „POCZĄTEK BLOKOWANIA KLUCZY PUBLICZNYCH PGP” oznacza „Rozpoczęcie Blokowania Klucza Publicznego PGP”. To jest standard dla wszystkich kluczy publicznych.

Gpg4usb umożliwia nie tylko zapisanie wybranego klucza na dysku, ale także skopiowanie go do schowka za pomocą sąsiedniego przycisku na pasku narzędzi Key Manager:

Jak zaimportować czyjś klucz publiczny?

Aby wysłać zaszyfrowane wiadomości do znajomego, musisz użyć jego klucza publicznego. Załóżmy, że przyjacielowi udało się wyeksportować swój klucz (jak pokazano powyżej) i wysłać ci plik klucza. Naszym zadaniem jest zaimportowanie tego klucza do naszego programu gpg4usb.

Kliknij przycisk Importuj klucze na pasku narzędzi. Z wyświetlonej listy wybierz pierwszą pozycję „Plik”.


Odnajdujemy plik z kluczem na dysku, zaznaczamy go i upewniamy się, że klucz naszego znajomego pojawił się na liście.

Jak sprawdzić klucz publiczny?

Czasami możesz być pewien, że otrzymany klucz publiczny naprawdę należy do twojego przyjaciela (na przykład, jeśli przekaże ci go osobiście na dysku flash). Ale często nie ma bezpośredniego połączenia. W pewnych okolicznościach atakujący może wsunąć inny, „fałszywy”, innymi słowy, swój własny, zamiast klucza przyjaciela. A wtedy atakujący będzie mógł odczytać zaszyfrowaną wiadomość, którą wysłałeś do znajomego (ale znajomy nie może). Jak upewnić się, że klucz jest prawdziwy?

  • Kontakt z przyjacielem za pośrednictwem innego kanału komunikacji, takiego jak Skype.
  • Upewnić sięże naprawdę rozmawiasz z właściwą osobą (dźwięk jej głosu i obraz pomogą rozwiać wątpliwości).
  • Poproś przyjaciela, aby ci dał odcisk palca jego klucza.

Nadruk klawisza to seria znaków towarzysząca każdemu klawiszowi. Samo w sobie nie jest tajne, ale wyjątkowe. Jeśli odcisk palca klucza, który otrzymałeś (na przykład) w wiadomości e-mail i odcisk palca udostępniony przez znajomego na Skypie, pasują do siebie, masz w rękach prawidłowy, prawdziwy klucz.

Aby zobaczyć wydruk, po prostu kliknij kliknij prawym przyciskiem myszy mysz za pomocą klawisza i wybierz w menu kontekstowe„Pokaż kluczowe właściwości”.

W oknie, które się pojawi, możesz zobaczyć odcisk palca klucza. Przylegający przycisk umożliwia skopiowanie odcisku palca do schowka.

Twój odbiorca musi powtórzyć te kroki. Upewnij się, że wydruki się zgadzają. Jeśli nie, spróbuj ponownie wymienić klucze publiczne (być może przez inne) adresy e-mail lub jakąkolwiek inną metodę komunikacji) i ponownie sprawdź wydruki. Jeśli dokładnie pasują, możesz być pewien, że masz właściwe klucze.

Jak szyfrować i odszyfrowywać

Jak zaszyfrować tekst

  • Kopiujemy tekst do zaszyfrowania do schowka, a następnie wklejamy go do okna edytora ("untitled1.txt").

  • Wybierz klucz publiczny odbiorcy (zaznacz pole) i kliknij przycisk „Zaszyfruj tekst” w panelu sterowania.

Zaszyfrowany tekst pojawi się w oknie edytora.


Możesz zaszyfrować wiadomość do wielu odbiorców jednocześnie. Wystarczy zaznaczyć pola obok odpowiednich kluczy publicznych.

Notatka. Krótki tekst po zaszyfrowaniu zwykle „rośnie” i jest to uderzające. Nie martw się, nie ma tu bezpośredniej proporcji. Oznacza to, że duży dokument nie rozrośnie się tak bardzo, jak krótki tekst.

Jak odszyfrować tekst

  • Zaznacz zaszyfrowany tekst w oknie program pocztowy(usługa) lub edytor (słowem, gdzie jest widoczny), skopiuj go do bufora pamięci i wklej do okna edytora gpg4usb.

  • Kliknij przycisk „Odszyfruj tekst”.
  • Program prosi o hasło (do tajnego klucza używanego do deszyfrowania). Wprowadź hasło i kliknij "OK".

Odszyfrowany tekst pojawi się w oknie programu.


Notatka. Ważne jest, aby wstawić cały zaszyfrowany tekst do okna gpg4usb, łącznie z nagłówkiem BEGIN PGP MESSAGE i zwiastunem END PGP MESSAGE.

Szyfrowanie pliku jest tak proste, jak szyfrowanie tekstu.

  • Kliknij przycisk „Zaszyfruj lub odszyfruj plik” na pasku narzędzi. Wybierz "Zaszyfruj plik" z menu kontekstowego.

Pojawi się okno wyboru pliku.

  • Plik wejściowy- wybierz plik na dysku, który zamierzamy zaszyfrować.
  • Plik wyjściowy- wymyśl nazwę pliku, w którym zostanie zapisany wynik.

  • Wybierz (zaznacz) klucz odbiorcy, dla którego przeznaczony jest zaszyfrowany plik, i kliknij przycisk „OK”.

Możesz upewnić się, że pod określoną ścieżką pojawił się nowy zaszyfrowany plik. Teraz można go wysłać do adresata np. e-mailem.

Dla programu nie ma znaczenia, jakiego typu pliki szyfrujesz. Mogą to być dokumenty arkusze kalkulacyjne, prezentacje, słowem, wszystko. Nie zapomnij: zaszyfrować plik duży rozmiar może to zająć trochę czasu.

Notatka. Szyfrowanie kompresuje plik. Nie ma potrzeby oddzielnego kompresowania (archiwizowania) plików przed szyfrowaniem.

Notatka. Ważne: nazwa pliku nie jest zaszyfrowana. Jeśli wysyłasz do odbiorcy poufne informacje, pamiętaj o tym. Lepiej nadać plikowi neutralną, abstrakcyjną nazwę.

Jak odszyfrować plik

  • Kliknij przycisk „Zaszyfruj lub odszyfruj plik” na pasku narzędzi. Wybierz „Odszyfruj plik” z menu kontekstowego.
  • Pojawi się okno, w którym należy wybrać plik wejściowy (zaszyfrowany) na dysku i określić żądany plik wyjściowy (wynik).
  • Wprowadź hasło do naszego tajnego klucza.

Wszystko. Możesz upewnić się, że odszyfrowany plik znajduje się na dysku.

Notatka. Jeśli pracujesz w kafejce internetowej lub w ogóle nie korzystasz z komputera, lepiej zapisać zaszyfrowany plik na dysku flash USB, aby móc go później odszyfrować w bezpieczniejszym środowisku.

Kopia zapasowa klucza

Jak wszystkie inne ważne dane, klucze szyfrowania wymagają ostrożnej obsługi. (Patrz rozdział „Jak uniknąć utraty danych”). Jest więc wiele przypadków, w których ludzie ponownie instalowali system operacyjny, po skopiowaniu swoich danych, ale zapominając o kluczach. Oczywiście możesz utworzyć nową parę kluczy; ale bez poprzedniego tajnego klucza nie będziesz w stanie odczytać żadnej z wcześniej zaszyfrowanych wiadomości wysłanych do Ciebie.

Oczywiście gpg4usb jest przenośny i można go uruchomić z pamięci USB. Ale dyski flash również czasami ulegają uszkodzeniu, gubieniu lub wpadają w niepowołane ręce, które (celowo lub nie) usuwają ważne dane. Dlatego lepiej mieć zapasowe kopie kluczy.

Jak wyeksportować swój klucz prywatny?

Ten artykuł jest Szybka porada o używaniu GnuPG (aka GPG). W nim znajdziesz podstawowe polecenia, przykłady użycia i instrukcje przykręcania GPG do klienci poczty. Poniżej zakładamy, że znasz zasady działania GPG i wyjaśniasz np. czym jest kryptografia asymetryczna, klucz publiczny i prywatny, podpis cyfrowy i tak dalej nie jest wymagane. W ciągu kilkudziesięciu lat istnienia GPG nikt nie odniósł szczególnego sukcesu w hakowaniu go, co sugeruje nam, że jest to dość niezawodne rozwiązanie zarówno do wymiany zaszyfrowanych wiadomości, jak i zwykłego szyfrowania plików.

Terminologia

Istnieje pewne zamieszanie w terminologii. Na przykład nie każdy potrafi jasno wyjaśnić, czym PGP różni się od GPG. Wymyślmy wszystko.

  • OpenPGP to standard szyfrowania opisany w RFC 4880 i RFC 6637. Nie mylić z konkretnymi implementacjami, takimi jak PGP i GPG;
  • GnuPG lub GPG- konkretna otwarta (GPLv3) implementacja OpenPGP, która zostanie omówiona w tym artykule;
  • PGP jest wysoce zastrzeżoną implementacją OpenPGP firmy PGP Corporation. W 2010 roku firma Symantec kupiła firmę i zmieniła nazwy swoich produktów na coś w rodzaju Symantec Desktop Email Encryption;

Często, gdy ludzie mówią „PGP”, mają na myśli metodę szyfrowania opisaną w OpenPGP, a zatem każdą z jej implementacji.

Podstawowe polecenia GnuPG

Generuj klucze:

gpg --klawisz-gen

Dobrym pomysłem jest wybór algorytmu RSA i kluczy 4096-bitowych.

Ważny! Nie zapomnij hasła klucza prywatnego.

Częstym problemem jest taki komunikat:

Za mało dostępnych losowych bajtów. Proszę wykonać inną pracę, aby dać
OS szansa na zebranie większej entropii! (Potrzebujesz 204 więcej bajtów)

Rozwiązuje się go instalując demona do zbierania entropii:

sudo apt-get install rng-tools

Przeglądanie listy kluczy:

gpg --lista-klucze
gpg --lista-tajnych-kluczy
gpg --lista-kluczy-publicznych

Uzyskiwanie klucza odcisku palca:

gpg --odcisk palca [e-mail chroniony] przykład.ru

Przykładowe dane wyjściowe:

pub4096R/8640D6B9 2016-09-27
Odcisk palca = DB5E AA39 0745 427D ED31 D189 3197 3F00 8640 D6B9
uid Aleksander Aleksiejew
sub 4096R/5982B4BF 2016-09-27

Odciski palców służą głównie do weryfikacji, czy prawidłowy klucz został zaimportowany z serwera kluczy (patrz poniżej). Nie służą do wyszukiwania.

gpg --armor --output privkey.txt --export-secret-keys 8640D6B9

Importuj klucz publiczny:

gpg --import klucz.txt

Importuj klucz prywatny:

gpg --allow-secret-key-import --import privkey.txt

Jeśli nie określisz --allow-secret-key-import , importowany będzie tylko klucz publiczny, a gdy spróbujesz coś podpisać, otrzymasz dziwne błędy, takie jak:

gpg: brak domyślnego tajnego klucza: tajny klucz niedostępny
gpg: msg.txt: znak + szyfrowanie nie powiodło się: tajny klucz niedostępny

Eksportuj klucz publiczny do serwera kluczy:

gpg --keyserver pgp.mit.edu --send-keys 8640D6B9

Ważny! Po wgraniu klucza do serwera kluczy nie będzie można go usunąć, a jedynie odwołać. Upewnij się, że wykonałeś bezpieczną kopię zapasową swojego klucza. Jeśli nigdy wcześniej nie pracowałeś z PGP/GPG, bardzo Radzę najpierw poćwiczyć na adresach pocztowych w strefie example.ru.

Tak naprawdę nie ma znaczenia, który serwer kluczy określisz. Na przykład istnieje również keys.gnupg.net, a także inne. Wszyscy od czasu do czasu wymieniają między sobą dane. Sensowne jest wysyłanie kluczy do kilku serwerów naraz, aby wszyscy użytkownicy PGP/GPG mogli je zobaczyć szybciej. Synchronizacja serwerów według moich obserwacji trwa 10-15 minut.

Wskazówka: aby nie zawsze podawać --keyserver , po prostu dodaj do ~/.bashrc:

alias gpg ="gpg --serwer kluczy pgp.mit.edu"

Importuj klucz publiczny z serwera kluczy:

gpg --keyserver pgp.mit.edu --search-keys [e-mail chroniony] przykład.ru

W świecie PGP/GPG istnieje tak zwana sieć zaufania. W skrócie oznacza to, że GPG nie ufa kluczowi, chyba że jest podpisany przez kogoś, komu ufasz. Ponadto, jeśli ufasz Petyi, a Petya ufa Koli, to automatycznie ufasz Kolii. W szczególności, domyślnie, podczas weryfikacji podpisu i innych działań, GPG przysięgnie tak:

Aby to naprawić, mówimy:

gpg --klawisz edycji [e-mail chroniony] przykład.ru

Następnie w dialogu mówimy zaufanie, naciskamy 5 („Ostatecznie ufam”), mówimy rzucić. Inne klucze można podpisać za pomocą polecenia tsign. Przy okazji możesz tam również zmienić hasło do swojego klucza (komenda passwd), zmienić datę ważności klucza w dowolnym kierunku (komenda expire), dodać imię/e-mail (komenda adduid), usunąć imię/e-mail (komenda revuid), wyświetl domyślne algorytmy szyfrowania (showpref ) i wykonaj inne interesujące rzeczy.

Notatka: Co zrobić, gdy klucz wygaśnie? W takim przypadku możesz zmienić datę ważności na późniejszą i ponownie załadować klucz. Lub utwórz nowy klucz, podpisz go starym kluczem i prześlij nowy klucz do serwera kluczy. Nie musisz robić unieważnienia.

Możesz podpisać dowolny klucz i przesłać podpisany klucz na serwer, potwierdzając w ten sposób, że klucz naprawdę należy do osoby określonej w opisie:

gpg --klucz znaku 7EFE74E5

Na innej maszynie możesz ponownie pobrać klucz i zobaczyć, kto go podpisał:

gpg --keyserver pgp.mit.edu --search-keys [e-mail chroniony] przykład.ru
gpg --lista-sygnałów [e-mail chroniony] przykład.ru
gpg --check-sigs [e-mail chroniony] przykład.ru

Od czasu do czasu warto aktualizować klucze, w przypadku gdy klucze mają nowe sygnatury lub niektóre klucze zostały unieważnione:

gpg --keyserver pgp.mit.edu --refresh-keys

Przykład szyfrowania i podpisywania pliku dla danego odbiorcy (przełącznik -r można podać wielokrotnie):

gpg --encrypt --sign --armor -r [e-mail chroniony] przykład.ru msg.txt

Plik jest odszyfrowywany, a podpis weryfikowany poleceniem:

Przykład podpisywania i weryfikacji podpisu pliku binarnego (np. Obraz ISO dysk):

gpg --odłącz-podpisz plik.iso
gpg --weryfikuj plik.iso.sig

Szyfrowanie/odszyfrowywanie plików symetryczne (przydatne np. do przechowywania haseł):

gpg -o nonsense.gpg --cipher-algo AES -a -c nonsense.txt
gpg -o nonsense2.txt -d nonsense.gpg

Szyfrowanie symetryczne z zapisem w formacie binarnym (przydatne przy szyfrowaniu kopii zapasowych):

tar -cvzf - /home/eax | \
gpg --symmetric --cipher-algo AES256 --digest-algo SHA256 \
--compression-algo Nieskompresowany > backup.tgz.gpg

Odszyfrowanie pliku zaszyfrowanego w ten sposób:

gpg --decrypt backup.tgz.gpg | smoła-xvzf-

Jednocześnie domyślnie GPG prosi o hasło przez interfejs GUI, co osobiście uważam za niezbyt wygodne. Możesz zmienić to zachowanie w następujący sposób:

Echo "program-pinentry /usr/bin/pinentry-tty" >> \
~/.gnupg/gpg-agent.conf
killall gpg-agent

Może się okazać, że Twój klucz prywatny został naruszony, czyli został skradziony, a hasło odgadnięte. Albo go zgubiłeś. Albo po prostu nie pamiętasz hasła do klucza. W takich przypadkach zapewnione jest cofnięcie klucza. Odbywa się to w ten sposób. Z góry, zaraz po utworzeniu kluczy, należy utworzyć certyfikat unieważnienia:

gpg --gen-revoke --armor --output=odwołanie.crt [e-mail chroniony] przykład.ru

Za jego pomocą klucz można unieważnić w następujący sposób:

gpg --import odwołania.crt
gpg --keyserver pgp.mit.edu --send-keys 7EFE74E5

Ważny! Certyfikat unieważnienia nie jest szyfrowany i może być używany przez każdego. Upewnij się, że przechowujesz go w bezpiecznym miejscu (lepiej nawet w kilku takich miejscach) i jak najbardziej w zaszyfrowanej formie!

Dołączanie GnuPG do Claws Mail

W Ubuntu potrzebujemy następujących pakietów:

sudo apt-get install claws-mail-pgpinline claws-mail-pgpmime

W Konfiguracja → Wtyczki → Załaduj, załaduj pgpcore.so, pgpinline.so i pgpmime.so. Następnie po prostu konfigurujemy wtyczki poprzez ustawienia klienta. W ustawieniach konta możesz określić, których kluczy użyć, a także generować nowe klucze i wysyłać je do serwera kluczy. Podczas pisania listu w opcjach dostępne będą pola wyboru Szyfruj i podpisuj.

We właściwościach konta na karcie Prywatność możesz skonfigurować wtyczki tak, aby wiadomości były zawsze podpisywane, szyfrowane podczas odpowiadania na zaszyfrowane wiadomości i tak dalej. Polecam używanie PGP/MIME, ponieważ PGP/Inline może być dość irytujące dla użytkowników nie korzystających z PGP/GPG. To znaczy prawie wszyscy.

Z ościeży wtyczki napotkałem tylko fakt, że w ustawieniach musisz podać pełną ścieżkę do pliku wykonywalnego gpg, po czym wszystko działało.

Podłączanie GnuPG do Mutt

Wniosek

GPG jest wkręcane o wiele więcej. Załóżmy, że istnieje wtyczka Enigmail dla Thunderbirda. Istnieć aplikacje mobilne z obsługą GPG. Na przykład dla iPhone'a istnieją openGP i iPGMail. Ponadto istnieją wtyczki dla klientów komunikatorów, w szczególności dla Psi. Niestety nie jest możliwe rozpatrzenie ich wszystkich w ramach jednego artykułu.

W przypadku pracy domowej możesz dodać mnie do swojego pęku kluczy, podpisać moje klucze i wysłać do mnie zaszyfrowaną wiadomość e-mail.

Czy używasz PGP/GPG?

Oprogramowanie

GnuPG służy do tworzenia podpisów cyfrowych i szyfrowania danych. Na przykład kwestia identyfikacji liter zawsze była istotna. Za pomocą GnuPG możesz „dołączyć” do listu podpis elektroniczny.

Przedmowa

Ostatnio problem zachowania poufności informacji stał się bardzo dotkliwy. Szczególnie w sieć globalna Internet, gdzie ryzyko przechwycenia wrażliwych danych jest bardzo wysokie. W tym artykule opiszemy działanie pakietu GnuPG (GNU Privacy Guard, GPG) wraz z kilkoma przykładami użycia.

GnuPG służy do tworzenia podpisów cyfrowych i szyfrowania danych. Na przykład kwestia identyfikacji liter zawsze była istotna. Za pomocą GnuPG możesz „dołączyć” do listu podpis elektroniczny. I w ten sposób odbiorca określi autentyczność nadawcy i własność tego listu. Przepływ pracy GnuPG jest bardzo prosty: za najbardziej złożonymi algorytmami szyfrowania kryje się prosta logika: używana jest para kluczy, z których jeden jest prywatny (zachowujesz go dla siebie), a drugi jest publiczny (swobodnie surfuje sieć). Drugi plik zawiera klucz publiczny i podpisy Twoich respondentów. Okazuje się, że po dostarczeniu podpisanego listu odbiorca porównuje klucze publiczne, a tym samym identyfikuje nadawcę.

Cechy GnuPG

Główny właściwości techniczne GnuPG to:

  • pełnoprawna alternatywa dla PGP;
  • nie używa zastrzeżonych algorytmów;
  • dystrybuowane na licencji GPL;
  • pełna implementacja OpenPGP (RFC4880);
  • deszyfrowanie i uwierzytelnianie wiadomości utworzonych za pomocą PGP 5, 6 i 7;
  • Pomoc podpis elektroniczny wykorzystanie algorytmów ElGamal, DSA, RSA oraz funkcji haszujących MD5, SHA-1, RIPE-MD-160 i TIGER;
  • praca z szyfrowaniem asymetrycznym ElGamal i RSA (długość klucza od 1024 do 4096 bitów);
  • Pomoc algorytmy blokowe szyfrowanie symetryczne AES, 3DES, Blowfish, Twofish, CAST5 i IDEA za pomocą modułu;
  • łatwa implementacja nowych algorytmów z wykorzystaniem dodatkowych modułów;
  • wsparcie wielojęzyczne (w tym rosyjski);
  • system pomocy online;
  • obsługa wygasłych kluczy i podpisów;
  • wbudowana obsługa serwerów kluczy HKP.

Jak już wspomniano, GnuPG jest zaprojektowany tak, aby był zgodny ze standardem OpenPGP, co oznacza, że ​​podpisy i zaszyfrowane dane utworzone przez inne programy zgodne z OpenPGP będą działać z GnuPG. Zastosowanie różnych algorytmów kryptograficznych, takich jak szyfry symetryczne, szyfrowanie kluczem publicznym i algorytmy mieszane, pozwala bezpiecznie chronić tajne dane i je przesyłać. Wystarczy klucz o długości 1024 lub 2048 bitów, aby nie martwić się o złamanie zaszyfrowanych informacji.

GnuPG jest programem wyłącznie konsolowym, ale istnieje już dla niego kilka powłok graficznych: Seahorse i , - które ułatwiają pracę z programem poprzez intuicyjny interfejs graficzny.

Praca z GnuPG

Pierwsza interakcja z pakietem GnuPG rozpoczyna się od wygenerowania klucza:

$ gpg --genkey

Program zada Ci kilka pytań o długość kluczy, imię i nazwisko oraz adres e-mail. Będziesz wtedy musiał wprowadzić hasło, aby chronić klucz. W ten sposób zostanie utworzona para kluczy, z których jeden będzie głównym. Powinien być używany do szyfrowania najważniejszych danych. Ponieważ zawsze istnieje możliwość włamania, klucz podstawowy najlepiej nadaje się do podpisywania w skrajnych przypadkach. Możesz także utworzyć kilka dodatkowych podkluczy, które według uznania użytkownika można ustawić na inne algorytmy szyfrowania, jeśli nie jest wymagany zwiększony poziom tajności danych. Takie podklucze będą zależeć od głównego i mogą służyć do szyfrowania dokumentów lub korespondencji. Innymi słowy, każda metoda komunikacji ma swój własny klucz. Każdy z nich ma datę ważności (taką samą jak karty kredytowe). Dobrą praktyką jest ustawienie daty wygaśnięcia podkluczy na 1-2 lata. GnuPG utrzymuje własną bazę danych, która znajduje się w pliku ~/.gnupg/pubring.gpg. Tutaj wprowadzane są klucze publiczne (publiczne) Twoich respondentów.

Za pomocą polecenia:

$ gpg --list-keys

możesz wyświetlić wszystkie klucze w bazie danych. Wyświetlona zostanie lista kluczy pokazująca ich status (pub - publiczny, sub - minor), długość i sposób szyfrowania, datę utworzenia i co najważniejsze, unikalny identyfikator(ID), który jest 8-cyfrową liczbą szesnastkową.

Możesz (i powinieneś) utworzyć certyfikat unieważniający dla klucza podstawowego:

$ gpg --gen-revoke $KEY

gdzie $KEY to identyfikator klucza głównego.

Certyfikat unieważniający jest potrzebny do zniszczenia klucza. Może to być wymagane na przykład w przypadku kradzieży lub zgubienia klucza. Nawet jeśli hasło jest bardzo wiarygodne, warto zawczasu rozważyć, nawet na etapie tworzenia klucza, możliwość jego zniszczenia w przyszłości. Po utworzeniu certyfikatu jego zawartość zostanie wydrukowana na standardowe wyjście. Musi być przechowywany w bezpiecznym miejscu (najlepiej na innym nośniku lub nawet w formie drukowanej), ponieważ każdy, kto posiada ten certyfikat, może unieważnić klucz i usunąć go z bazy danych serwera kluczy publicznych (wtedy nikt nie może uzyskać Twojego klucza). Takie bazy danych całkowicie swobodnie przechowują klucze publiczne. Odbywa się to dla wygody wymiany kluczy: nie musisz stale przekazywać swojego klucza publicznego osobiście. Możesz użyć kilku metod: hostuj na swoim strona główna, na portalu, który ma pole na klucz publiczny, lub skorzystaj z bardziej scentralizowanej bazy danych - skarbonki kluczy, z której zawsze będzie wygodnie pobrać swój klucz.

Aby użyć certyfikatu, wystarczy go zaimportować do bazy danych, tak jak każdy klucz publiczny:

$ gpg --import revoke-certificate.asc

a następnie wyślij na serwer:

$ gpg --send-keys $KEY

gdzie $KEY to identyfikator klucza, który ma zostać przesłany.

Podobnie możesz wysyłać klucze publiczne i przechowywać je na serwerach baz danych. W tym celu przede wszystkim należy je wyeksportować do wspólnej lokalnej bazy danych za pomocą polecenia:

$ gpg --import $PLIK

gdzie $FILE jest plikiem kluczy lub pękiem kluczy („pakiet”, kilka kluczy w jednym pliku).

Następnie za pomocą polecenia --sign-key $KLUCZ (gdzie $KLUCZ jest identyfikatorem klucza respondenta) należy podpisać żądany klucz. Podczas podpisywania dodawany jest Twój klucz publiczny, dzięki czemu Twoje wiadomości/listy mogą być identyfikowane przez innych. Następnie musisz wysłać podpisany klucz do jego właściciela:

$ gpg --eksportuj $KEY > userkey.gpg

To polecenie wyodrębnia podpisany klucz oddzielnie, aby ułatwić wysyłanie.

Możesz zrobić to samo w tekście ASCII, który można łatwo opublikować w Internecie:

$ gpg -a --export $KEY > userkey.asc

gdzie $KEY to identyfikator klucza właściciela.

Teraz właściciel musi zaimportować ten klucz do siebie, aby Twój podpis znalazł się w jego bazie danych. Taki klucz jest eksportowany w dokładnie taki sam sposób, jak każdy inny klucz publiczny. Następnie właściciel przesyła go do kluczowego serwera bazy danych lub przesyła go do swojej witryny internetowej. Teraz jego klucz zawiera twój podpis. A identyfikacja wiadomości upewni się, że pochodzą od Ciebie.

Czasami może być konieczne przechowywanie kluczy (publicznych lub prywatnych) na jakimś nośniku (np. flash USB). Aby to zrobić, musisz wyeksportować klucz, co można zrobić w formie binarnej:

$ gpg --eksportuj $KEY > mykey.gpg

Tak więc w tekście (zbroja ASCII):

$ gpg -a --export $KEY > mykey.asc

W obu przypadkach $KEY to identyfikator twojego klucza. Możesz także użyć --armor zamiast -a.

Dzięki temu do pracy z dokumentami dostępne są następujące polecenia:

  • podpisz dokument (gwarantuje, że dokument pochodzi „od Ciebie”), Twój podpis elektroniczny jest po prostu do niego dodany;
  • zaszyfrować dokument (cały dokument jest szyfrowany wybranym algorytmem);
  • podpisać i zaszyfrować dokument (łączy te czynności).

Niezależnie od typu pliku (jak pokazano powyżej z kluczem), możesz uzyskać podpis lub zaszyfrowaną wiadomość zarówno w postaci binarnej, jak i tekstowej. Na przykład istnieje plik biblioteki - jest binarny. Szyfrujemy i podpisujemy, a na wyjściu otrzymujemy plik tekstowy. Po odszyfrowaniu plik powraca do swojego pierwotnego stanu. Może to służyć do przechowywania różnych plików w tabelach relacyjnych baz danych: w tym przypadku pomimo różne rodzaje pliki, po zaszyfrowaniu wszystkie będą reprezentować zestaw znaków jako ciągi ASCII.

Możesz tworzyć tak zwane „przezroczyste” podpisy (które będą zawierać niezaszyfrowaną zawartość dokumentu + Twój podpis cyfrowy):

$ gpg --clearsign $DOC

gdzie $DOC jest ścieżką do dokumentu. W ten sposób zostanie utworzony plik $DOC.asc, w którym otwierana jest zawartość samego dokumentu i dodawany jest jego podpis cyfrowy.

A podpisy znajdujące się w oddzielnych plikach w formie binarnej (zostanie utworzony plik podpisu $DOC.sig) są tworzone przez polecenia:

$ gpg --odłącz znak $DOC

W formie tekstowej (zbroja ASCII) (zostanie utworzony plik podpisu $DOC.asc):

$ gpg -a --detach-sign $DOC

Takie podpisy (w dwóch ostatnich przykładach) należy dołączyć wraz z podpisanym dokumentem.

Każdy klucz można również edytować za pomocą polecenia `--edit-key'. Umożliwi to zmianę niektórych kluczowych parametrów: stopnia niezawodności, jeśli jest to klucz publiczny innej osoby, tajnej frazy, jeśli jest to twój klucz prywatny i nie tylko.

Jeśli chodzi o stopień pewności, w GnuPG jest 5 poziomów:

  1. Nie wiem lub nie powiem (nie wiem nic o właścicielu tego klucza lub nie chcę o tym rozmawiać);
  2. NIE ufam (nie ufam tej osobie);
  3. Ufam marginalnie (znam tę osobę i ufam jej, ale nie jestem pewien, czy klucz należy do niego);
  4. ufam w pełni (znam tę osobę i osobiście upewniłam się, że klucz należy do niej);
  5. Ostatecznie ufam (znam tę osobę, mam dostęp do jej klucza prywatnego).

GnuPG i Open Source

GnuPG istnieje w prawie każdej dystrybucji GNU/Linux i jest wymaganym pakietem w OpenBSD, NetBSD, FreeBSD i innych wolnych systemach operacyjnych. Wiele aplikacji Open Source obsługuje GnuPG za pośrednictwem różnych modułów. Na przykład gpgme (biblioteka działająca jako pośrednik między GnuPG a programami) jest używana przez następujące aplikacje:

  • Klienty poczty elektronicznej Evolution (część GNOME) i Sylpheed.

    Dwójkowy Dystrybucje Linuksa często też używamy pakietów podpisanych przez GnuPG. Na przykład w przypadku Pakiety DEB są Debian GNU/Linux i Ubuntu, a także RPM, Red Hat, Fedora, Mandriva i wiele, wiele innych.

    Wyniki

    W tym artykule zapoznaliśmy się z GnuPG, darmowym narzędziem do ochrony informacji. Teraz nie musisz się martwić, że Twoje tajne dane zostaną utracone lub upublicznione. To fundamentalnie nowe podejście (od czasu powstania OpenPGP) do szyfrowania z punktu widzenia zwykłego użytkownika pozwala nam do dziś rozwiązywać złożone problemy związane z przesyłaniem wrażliwych danych.

Jeśli chcesz użyć tych samych kluczy publicznych i prywatnych, które masz na innym komputerze, po prostu skopiuj je z innego komputera na nowy. Jeśli utworzyłeś już jakieś klucze, podejmij decyzję, czy przeniesiesz je na nowy komputer, ponieważ może to być właściwa decyzja. Od lat używam tych samych kluczyków, po prostu kopiując je z maszyny na maszynę i to wystarczyło. Poniżej pokazano, jak używać polecenia scp skopiuj klucze ze starego komputera o nazwie Eliot.

$ mkdir ~/.gnupg

$ scp eliot:~/.gnupg/* ~/.gnupg

Możesz także zaimportować klucze, które zostaną dodane do magazynu kluczy już istniejącego na bieżącym komputerze (zamiast zastępować istniejące klucze, jak w poprzednim przypadku). Aby to zrobić, będziesz oczywiście potrzebować kluczy. Można je skopiować z innego komputera na Twój lub uzyskać klucze publiczne z serwera w sieci. Jeśli klucze znajdują się na innym komputerze, skopiuj je na komputer Ubuntu, umieść je na chwilę na pulpicie, a następnie uruchom następujące polecenie:

$ gpg --import /home/nazwa użytkownika /Desktop/pubring.gpg

Zobaczysz listę kluczy, które zostały zaimportowane, oraz komunikat podsumowujący informujący o pomyślnym zakończeniu. Nie zapomnij usunąć pliku publikowanie.gpg z pulpitu, ponieważ już go nie potrzebujesz.

Jeśli klucze nie są dla Ciebie bezpośrednio dostępne, ale wiesz, że użytkownicy, których klucze chcesz zaimportować, przesłali je na serwer, zawsze możesz je stamtąd zaimportować. Załóżmy na przykład, że chcesz zaimportować mój klucz. Najpierw musisz znaleźć mój identyfikator klucza. Korzystając z przeglądarki internetowej, przejdź do http://pgp.mit.edu do serwera kluczy publicznych MIT PGP i poszukaj Scotta Grannemana ( Scott Granneman). Otrzymasz trzy wyniki, ale zwróć uwagę na ten z dnia 08.08.2004, który wygląda tak:

Wpisz bity /keyID Data Identyfikator użytkownika

pub 1024D/6503F88C 2004/08/08 Scott Granneman

Scott Granneman

Zwróć uwagę na kluczowy identyfikator, który ma znaczenie 6503F88C. Dzięki niemu możesz zaimportować określony klucz za pomocą następującego polecenia:

$ gpg --keyserver pgp.mit.edu --recv-keys 6503F88C

gpg: żądanie klucza 6503F88C z serwera hkp pgp.mit.edu

gpg: klucz 6503F88C: zaimportowany klucz publiczny „Scott Granneman”

gpg: Całkowita liczba przetworzonych: 1

gpg: importowane: 1

Praca praktyczna nr 26 Szyfrowanie w systemie Windows XP

1 Cel pracy

Nabycie umiejętności pracy z szyfrowaniem w systemie Windows XP

2 zlecenie pracy

2. Wykonaj szyfrowanie na maszynie wirtualnej za pomocą systemu Windows XP

3. Przygotuj raport, który powinien zawierać:

    strona tytułowa (patrz załącznik);

    ustawienie zadań;

Opis wykonania krok po kroku;

    raport wyników

3. Zadania do pracy.

Szyfrowanie

Cechą systemu Windows 2000 jest możliwość szyfrowania plików przechowywanych na dysku twardym. System kodowania plików zapewnia wyższy poziom ochrony plików przed nieautoryzowanym dostępem, jednak zanim zaczniesz korzystać z tego systemu, musisz zrozumieć, jak to działa, w przeciwnym razie możesz mieć problemy. Aby włączyć system szyfrowania plików, musisz otworzyć stronę właściwości pliku lub katalogu, kliknąć przycisk Zaawansowane (Inne) i zaznaczyć pole wyboru Zaszyfruj zawartość, aby zabezpieczyć dane (rys. 5.2.5).

System Windows 2000 obsługuje również atrybut, który umożliwia kontrolowanie usługi indeksowania.

Jeśli zaznaczysz pole wyboru Zaszyfruj zawartość dla katalogu, system zaszyfruje wszystkie pliki zawarte w tym katalogu. Algorytm służy do szyfrowania zawartości pliku. Zamknięte(sekretny klucz. W przeciwieństwie do algorytmów klucza publicznego, algorytm klucza prywatnego jest znacznie szybszy, co utrudnia szyfrowanie dużych ilości informacji. Jednak algorytm klucza prywatnego zakłada, że ​​ten sam klucz jest używany zarówno do kodowania, jak i dekodowania danych.^Ten pojedynczy klucz jest generowany automatycznie i musi być utrzymywany w tajemnicy. Powstaje pytanie: jak ten klucz powinien być bezpiecznie przechowywany i przesyłany? W systemach z kluczem publicznym problem jest rozwiązywany bardzo prosto: jeden klucz służy do kodowania danych, a drugi do dekodowania danych. Klucz kodowania może być udostępniony publicznie, podczas gdy klucz dekodujący musi być utrzymywany w tajemnicy.

Twórcy NTFS rozwiązali problem w następujący sposób: algorytm klucza prywatnego służy do kodowania zawartości pliku, a algorytm klucza publicznego służy do przechowywania samego klucza prywatnego. Taki schemat jest często określany terminem angielskim skrzynka zamka(skrzynka z zamkiem). Klucz prywatny jest zaszyfrowany przy użyciu klucza publicznego użytkownika. Aby go zdekodować, wymagana jest znajomość klucza prywatnego użytkownika. W ten sposób duży plik jest kodowany przy użyciu wydajnego, szybkiego algorytmu klucza tajnego, a do ochrony samego klucza tajnego (który ma niewielki rozmiar) używany jest bardziej złożony i wolniejszy algorytm klucza publicznego.

Windows 2000 używa certyfikatów X509 do wymiany kluczy publicznych. Specyfikacja X509 ma na celu generowanie i przesyłanie przez sieć instrukcji w postaci: „Ten klucz publiczny należy do tego podmiotu i może być używany do tych celów”. Certyfikat można uzyskać kontaktując się ze specjalnym urzędem certyfikacji (Certification Authority), który wydając certyfikat podpisuje go podpisem cyfrowym. Podmiot, który otrzyma certyfikat, może być pewien, że ten certyfikat faktycznie zawiera klucz, który może być użyty do zaszyfrowania pewnych informacji adresowanych do konkretnego użytkownika (na przykład e-mail zaadresowany do użytkownika John Doe). Zaufanie to opiera się na fakcie, że certyfikat został otrzymany z instytucji certyfikującej.

Aby wyświetlić certyfikaty zainstalowane dla użytkowników, należy pobrać przystawkę Certyfikaty konsoli Microsoft Management Console.

System kodowania plików EFS (Encrypting File System) działa niewidocznie dla użytkowników. Otrzymuje certyfikat X509 autoryzowany dla EFS. Jeśli użytkownik nie posiada certyfikatu, EFS go tworzy.

Certyfikat odzyskiwania plików

Jeśli jesteś zalogowany jako administrator i otworzysz konsolę Certyfikaty, zobaczysz, że to konto ma indywidualny certyfikat do odzyskiwania plików. Kopia tego certyfikatu jest również przechowywana w lokalnej polityce bezpieczeństwa. Klucz publiczny z tego certyfikatu jest używany przez EFS do tworzenia dodatkowej skrytki (zaszyfrowanej kopii klucza prywatnego).

Korzystając z konsoli Certyfikaty, możesz wyeksportować ten certyfikat i klucz prywatny do pliku (innymi słowy utworzyć utworzyć kopię zapasową certyfikat). Następnie zarówno certyfikat, jak i klucz prywatny można usunąć. Oznacza to, że jeśli atakującemu w jakiś sposób uda się połączyć ||:1: z systemem jako agent odzyskiwania, nadal nie może odszyfrować £:; wszelkie zaszyfrowane pliki, ponieważ wśród certyfikatów nie będzie wymaganego certyfikatu do odszyfrowania. Aby odszyfrować jakiekolwiek pliki, musisz ponownie zainstalować wymagany certyfikat w systemie. Jeśli: Zamierzasz używać opisanej procedury do celów bezpieczeństwa (co jest szczególnie istotne w przypadku kontrolerów domeny), musisz upewnić się, że wyeksportowane certyfikaty są bezpiecznie przechowywane.

Praca praktyczna nr 27.Najważniejsze klucze Rejestr systemu Windows potrzebują ochrony. Ochrona ulaSAMorazBEZPIECZEŃSTWO

Ochrona danych przed wścibskimi spojrzeniami może w niektórych przypadkach być kwestią życia i śmierci, a poleganie na innych w tej kwestii oznacza powierzenie im swoich danych. Pomoże uchronić Twoją korespondencję przed wścibskimi nosami na własną rękę Szyfrowanie GPG.

  • Szyfrowanie GPG
  • Historia szyfrowania PGP/GPG
  • Warunki szyfrowania GPG
  • Instalowanie szyfrowania GPG
  • Szyfrowanie wiadomości i plików
  • Podpisy w szyfrowaniu GPG
  • Sieć zaufania
  • Dlaczego potrzebne jest szyfrowanie

Szyfrowanie GPG

To narzędzie szyfrowanie asymetryczne. Mówiąc najprościej, tworzy wiadomość, którą może przeczytać tylko osoba, do której ją napisałeś. Jest niezbędny przy przekazywaniu wszelkich ważnych informacje tekstowe. Mogą to być e-maile, prywatne wiadomości na forach, a nawet w publicznych serwisach otwartych. Oprócz szyfrowania zapewnia również kilka innych funkcji bezpieczeństwa.

Szyfrowanie zawsze było najbardziej oczywistym sposobem ochrony komunikacji. Wcześniej było to używane symetrycznie, co wymagało przesyłania kluczy przez niezawodny kanał. Wraz z rozwojem komunikacji elektronicznej, wzrostem ilości danych i możliwości, niezawodna transmisja kluczy stała się trudnym zadaniem.

Historia szyfrowania PGP/GPG

W latach 70. opracowano algorytmy asymetryczne umożliwiające bezpieczną, otwartą i zautomatyzowaną wymianę kluczy. Schematy takich algorytmów pozwalają dwóm stronom na wymianę kluczy publicznych służących do identyfikacji odbiorcy wiadomości i użycie klucza publicznego odbiorcy w tym samym czasie, co klucza prywatnego nadawcy w szyfrowaniu. Wiadomość można odszyfrować tylko za pomocą tajnego klucza odbiorcy i widać, że szyfrowanie wykonał właściciel klucza publicznego, czyli nadawca. W tym schemacie tajne klucze używane do odszyfrowania nie muszą być przesyłane, więc pozostają bezpieczne, a nadawca wiadomości jest identyfikowany podczas odszyfrowywania, co eliminuje fałszowanie informacji. Ale taki wynalazek był dostępny tylko dla wojska i sił specjalnych. usługi.

W 1991 roku powszechnie dostępne narzędzie do szyfrowania asymetrycznego do użytku osobistego, PGP, ustanowiło standard, ale było płatne i było zarejestrowanym znakiem towarowym.

W 1999 roku powstało GPG - darmowy, darmowy, open source iw pełni zgodny ze standardami odpowiednik PGP. To właśnie GPG stało się najpopularniejszym i najbardziej dojrzałym narzędziem do szyfrowania asymetrycznego.

Warunki szyfrowania GPG

Zanim zaczniesz korzystać z GPG, musisz zrozumieć kilka kluczowych funkcji tego narzędzia. Pierwszą i główną cechą jest pojęcie „kluczy”. Każdy użytkownik tworzy swój własny klucz prywatny. Klucz użytkownika składa się z dwóch części

  • Klucz publiczny (z części publicznej)
  • Sekretny klucz (z sekretnej części)

Sekretny klucz odpowiada za procesy szyfrowania wiadomości wychodzących i deszyfrowania otrzymanych. Powinien być przechowywany w bezpiecznym miejscu. Powszechnie przyjmuje się, że jeśli ktoś przejmie tajny klucz, wówczas klucz można uznać za skompromitowany, a zatem niezabezpieczony. Należy tego unikać.


GPG4USB

Drugą cechą jest to, że klucze oparte na różnych algorytmach są ze sobą kompatybilne. Nie ma znaczenia, czy użytkownik korzysta z RSA czy ELGamal, nie ma potrzeby martwić się o takie szczegóły dotyczące szyfrowania. Osiąga się to poprzez pracę zgodnie ze wspomnianym powyżej standardem i za pomocą niektórych technik kryptograficznych. To jedna z głównych zalet GPG. Wystarczy znać niezbędne polecenia, a program zrobi wszystko sam. Biblioteka zawiera dużą liczbę algorytmów asymetrycznych, szyfrów symetrycznych i jednokierunkowych funkcji skrótu. Zaletą jest również różnorodność, ponieważ pozwala tworzyć jednocześnie ogólne zalecane konfiguracje odpowiednie dla większości, a także możliwość strojenie dla bardziej doświadczonych użytkowników.

Jak zainstalować szyfrowanie GPG

Aby rozpocząć, musisz zainstalować samo GPG. Użytkownicy Linuksa mogą zainstalować go z dowolnego menedżera pakietów, wyszukując tam „”, lub zbudować go ręcznie. Użytkownicy Windows mogą używać mocno przestarzałego klienta, który ma kilka paskudnych błędów i więcej funkcji, lub przenośnego i nowszego klienta, który ma mniej funkcji, ale jest znacznie prostszy i bardziej stabilny. Przy okazji pisaliśmy już o tym, jak korzystać z klienta GPG4USB.


Bez względu system operacyjny i klienta, po instalacji będziesz musiał utworzyć własny klucz, wpisując w terminalu lub klikając odpowiednią komendę w kliencie. Program poprosi o wybór algorytmu szyfrowania. Zwykle są dwa z nich - RSA i ELGamal (właściwie trzy, jeśli odważysz się zainstalować eksperymentalną „nowoczesną” gałąź z kryptografią krzywych eliptycznych w systemie Linux). Nie ma konkretnych zaleceń dotyczących algorytmów, są różne i każdy wybiera schemat według własnych upodobań.

Następnie musisz zdecydować o rozmiarze klucza w bitach. Tutaj też nie ma krótkiej i jednoznacznej odpowiedzi. Klawisze, które są zbyt długie, mają również wady. Jedno jest pewne: wybierając RSA i ELGamal nie używaj kluczy mniejszych niż 2048 bitów, są one bardzo niepewne. Następnie program poprosi o wypełnienie kilku formularzy: E-mail, Imię i komentarz. E-mail i Imię to informacje publiczne, które każdy, z kim korespondujesz, będzie mógł zobaczyć.

Jako poczta możesz określić inne rodzaje komunikacji, na przykład identyfikator usługi lub komunikatora (Jabber itp.), oddzielając identyfikator/adres i nazwę usługi znakiem „@”. Najczęściej zawartość tego pola służy do identyfikacji właściciela klucza.

Wybierz dowolną nazwę. Na przykład często używany pseudonim lub nawet „Anonimowy”.

Pole komentarza jest opcjonalne. Możesz wprowadzić dodatkowe. adres lub stanowisko. Komentarz będzie widoczny dla innych użytkowników.

Po wypełnieniu wszystkich formularzy musisz podać hasło. Możesz go pominąć, co nie jest zalecane, ponieważ jest to jedyny środek bezpieczeństwa, który ochroni tajną część klucza na wypadek, gdyby atakujący przechwycił plik za pomocą tego klucza. Ważne jest również, aby nie zapomnieć hasła, w przeciwnym razie praca z kluczem nie będzie możliwa. Tworząc klucz należy dokładnie sprawdzić poprawność wpisania wszystkich pól - błędów nie da się później poprawić. Klucz publiczny jest dystrybuowany między duża liczba osób, więc wśród użytkowników nie ma zwyczaju ich częstej zmiany – nie wszystkie kontakty mogą mieć świeży klucz.

Po wygenerowaniu klucza GPG możesz rozpocząć jego dystrybucję. Aby to zrobić, wprowadź polecenie, aby wyświetlić część publiczną. W przeszłości program był pierwotnie używany do szyfrowania poczty i podpisywania wiadomości publicznych na listach dyskusyjnych, więc klucze są wyświetlane zgodnie z formatem PEM (Privacy Enhanced Mail). Format jest pojedynczym standardowym blokiem klucza, zaczynającym się od nagłówka — BEGIN PGP PUBLIC KEY BLOCK —, po którym następuje dość długa treść samego klucza, zakodowana w liczbach i alfabecie łacińskim, oraz końcowy nagłówek — END PGP PUBLIC KEY BLOCK -. Cały blok nagłówka jest kluczem GPG i powinien być rozpowszechniany w całości. Oprócz ręcznej dystrybucji kluczy możliwe jest wykorzystanie wyspecjalizowanych serwerów. Użytkownik przesyła swój klucz publiczny na serwer, a w razie potrzeby każdy może go zażądać. Wiele programów często określa serwer MIT jako serwer domyślny.

Każdy klucz GPG jest unikalny. Nie da się ręcznie zapamiętać i porównać tak dużych bloków kluczy, więc są do tego kluczowe odciski palców. Każdy kluczowy odcisk palca jest również unikalny, generowany z części publicznej, zapewniając krótki, niepowtarzalny ciąg do identyfikacji. Linia odcisku palca zawiera 40 znaków oddzielonych 4 znakami ze spacjami. Ważne jest, aby wiedzieć, że ostatnie 8 lub 16 znaków to również identyfikator klucza. Korzystając z poleceń z terminala, musisz podać identyfikator do pracy. Wydruki są dobre dla szybkie porównanie dwa klucze lub krótki indeks żądanego klucza, jeśli nie ma wystarczającej ilości miejsca.

Szyfrowanie wiadomości i plików

Wiadomości zaszyfrowane GPG składają się z bloków podobnych do klucza publicznego, tylko z nagłówkiem - BEGIN PGP MESSAGE - a długość części zakodowanej znakowo zależy od długości wiadomości. Takie wiadomości może odczytać tylko właściciel klucza, do którego wiadomość jest adresowana. Możesz także zaszyfrować swoją wiadomość kilkoma kluczami, co jest bardzo wygodne podczas komunikacji z małą grupą osób. Możesz także zaszyfrować pliki, wtedy wynik szyfrowania zostanie zapisany do pliku, a nie zakodowany w znakach tekstowych.

Podpisy w GPG

Podpisywanie wiadomości jest wygodnym sposobem otwartego publicznego uwierzytelniania autorstwa, ponieważ podobnie jak w przypadku szyfrowania, tylko prawdziwy właściciel klucza może podpisać swoją wiadomość takim kluczem i nie ma możliwości sfałszowania takiego podpisu. Różni się od zaszyfrowanych wiadomości tym, że tekst pozostaje otwarty, zamknięty z obu stron odpowiednim nagłówkiem, a poniżej dodawany jest mały blok samego podpisu, również zakodowany symbolami. Jeśli spróbujesz zmienić choćby jeden znak tekstu jawnego, podpis stanie się nieważny. Weryfikacja podpisu odbywa się również za pomocą GPG.

Podpisy można również stosować do plików. Ta funkcja jest szczególnie wykorzystywana przez twórców oprogramowania zabezpieczającego. Ma to na celu zapobieganie zastępowaniu plików przez hakerów, którzy mogą osadzić złośliwy kod w programach. Archiwa lub zespoły są zazwyczaj podpisane, sam podpis przechowywany jest w oddzielny plik z rozszerzeniem .asc lub .sig. Klucz jest publikowany w kilku miejscach i/lub wgrywany na serwer, gdzie bardzo trudno go zmienić. Sam proces weryfikacji nazywa się „weryfikacją podpisu”.

Sieć zaufania

Kolejną cechą GPG, o której warto wspomnieć, jest Web of Trust. Służy do potwierdzenia, że ​​klucz publiczny należy do konkretnej osoby. W tym celu znający się użytkownicy GPG wymieniają klucze osobiście.

Każdy z nich sprawdza odcisk palca kluczy i dla każdego otrzymanego klucza tworzy elektroniczny certyfikat, świadczący o rzetelnej korespondencji między daną osobą a kluczem publicznym.

Tworzenie certyfikatu nazywa się „podpisywaniem klucza”. Sam certyfikat jest następnie przesyłany do serwera kluczy i każdy może o niego poprosić. Rozumie się, że im więcej użytkowników podpisało klucz, tym większe zaufanie do właściciela.

Model użytkowania WoT zakłada, że ​​użytkownicy zawsze podają swoje prawdziwe nazwiska w kluczach, a każdy, kto chce ustanowić sieć zaufania, może fizycznie spotkać się w celu wymiany kluczy osobistych. To sprawia, że ​​taki schemat jest trudny do zaimplementowania w anonimowej komunikacji.

W przypadku komunikacji pseudonimowej kanały komunikacyjne lub usługi z uwierzytelnianiem mogą być wykorzystywane do wymiany, która potwierdzi autentyczność. W każdym razie sieci zaufania w komunikacji anonimowej lub pseudonimowej nie są tak silne, częściowo ze względu na brak „silnego zestawu”, który tworzy główną grupę zaufanych użytkowników, częściowo ze względu na czynnik ludzki. Decyzja, czy warto taką sieć zaufania, należy wyłącznie do grupy użytkowników, którzy chcą ją zbudować.

Dlaczego potrzebne jest szyfrowanie

Po co nam całe to szyfrowanie, jeśli dana osoba niczego nie ukrywa i niczego nie narusza? To jedno z najczęściej zadawanych pytań. Jest na to kilka odpowiedzi. W ostatnich latach możliwość całkowitego nadzoru działań sieciowych milionów użytkowników stała się kwestią nie tyle technicznej złożoności, co zasobów. Właściciele takich zasobów – wszystkie służby wywiadowcze świata i dziesiątki dużych korporacji, za pomocą programów takich jak PRISM i XKeyscore mogą zbierać i przechowywać przez lata wszystkie e-maile, SMS-y i historię połączeń.

Narusza to konstytucyjne prawa obywateli do tajemnicy korespondencji, ale wpływ tych organizacji jest tak silny, że niemożliwe jest powstrzymanie nielegalnego zbierania informacji. Korzystanie z GPG nie prześledzi milionów ludzi ani nie naprawi magicznie całego świata. To tylko narzędzie w rękach człowieka. Narzędzie, które pozwala zapisywać litery i słowa tylko dla tych, dla których są przeznaczone i dla nikogo innego. To niewiele, ale przynajmniej przywraca prawo każdej osoby do tajemnicy korespondencji.

Jeśli gromadzenie danych i nadzór wydają się zbyt odległe, można rozważyć szyfrowanie z jeszcze bardziej praktycznej perspektywy. Ten sam e-mail w wersji clear przechodzi przez dziesiątki węzłów pośrednich. Każdy z nich może mieć dowolną liczbę luk i luk w zabezpieczeniach, które każdy może wykorzystać.

Wynik szyfrowania GPG

Nasza ocena

GPG Encryption to doskonałe narzędzie do szyfrowania wiadomości e-mail i treści cyfrowych.

Ocena użytkownika: 4,41 (27 ocen)