PGP strzeże korespondencji elektronicznej. Co to jest pgp

Szyfrowanie danych to niezbędny rytuał hakerski, w którym każdy korzysta z własnego zestawu narzędzi. Chociaż istnieje duży wybór systemów operacyjnych dla komputerów stacjonarnych, tylko kilka aplikacji jest dostępnych w mobilnych systemach operacyjnych. Zwróciliśmy uwagę na nowe dzieło dewelopera SJ Software - PGPTools. Pierwsza wersja tego programu została udostępniona w kwietniu. W ciągu ostatnich sześciu miesięcy lista obsługiwanych platform znacznie się poszerzyła. Obejmuje teraz Windows 10, Windows Phone, iOS (8.0 i nowsze), OS X (10.9 i nowsze) oraz Android (4.0 i nowsze). Do testów wybrano najnowszą wersję PGPTools v.1.10 dla systemu operacyjnego Android. Możesz pobrać program, rejestrując się na forum 4Pda.ru w tym temacie.

Jeszcze przed zainstalowaniem programu staje się oczywiste, że jego autorzy wyznają minimalistyczne poglądy. W pakiecie instalacyjnym PGPTools zajmuje półtora megabajta, ale po instalacji zajmuje tylko pięć i pół. Dobra wiadomość jest taka, że ​​lista żądanych uprawnień składa się z dokładnie jednej pozycji - zapisu na kartę pamięci. Nie wymaga wysyłania SMS-ów, dostępu do Internetu ani podawania danych osobowych.

Interfejs narzędzia jest również niezwykle prosty i łatwy do nauczenia. Z jednej strony pozwala to szybko zrozumieć, ale z drugiej strony powoduje lekką tęsknotę za zwykłymi menu z długimi listami ustawień. W aktualnej wersji PGPTools możesz jedynie ustawić hasło i wybrać długość klucza. Ale program pozwala utworzyć kilka par kluczy i zarządzać nimi z osobnej karty. Tutaj możesz wybrać bieżący klawisz i żądane akcje za jego pomocą. Obsługiwany jest eksport (poprzez schowek lub funkcja „wyślij”), istnieje także możliwość importu utworzonych wcześniej kluczy PGP.

Fajnie, że program nie wymaga żadnych dodatkowych uprawnień.

KORZYSTANIE Z PGPTOOLS

Praca w programie rozpoczyna się od prostego kroku – stworzenia pary kluczy. Aby to zrobić, musisz podać swoje imię i nazwisko lub pseudonim, adres e-mail (będzie on używany do wysyłania zaszyfrowanych i/lub podpisanych wiadomości e-mail) oraz hasło.

W schemacie PGP wszystkie klucze są generowane parami, ponieważ są matematycznie połączone wspólnym hasłem. Powinno być długie i złożone, ale bez fanatyzmu - zapomniane hasło nie zostanie przywrócone. Klucze w parach generowane są o różnej strukturze – asymetrycznej. Klucz publiczny został tak nazwany, ponieważ można go swobodnie udostępniać każdemu. On służy
weryfikuje podpis swojego właściciela i zapewnia możliwość wysłania mu zaszyfrowanej wiadomości. Taką wiadomość można odszyfrować jedynie za pomocą sparowanego z nią tajnego klucza. Dlatego jest to tajne i wie o tym tylko twórca tej pary kluczy.

Mówiąc najprościej, list jest szyfrowany kluczem publicznym przed wysłaniem i odszyfrowywany tajnym kluczem po otrzymaniu. To jest jak cyfrowa implementacja zamka z zatrzaskiem: każdy może zatrzasnąć nim drzwi, ale otworzyć może je tylko właściciel klucza. Do testów wykonaliśmy dwie pary kluczy: minimalną (1024 bity) i maksymalną (4096 bitów) możliwą długość.

Główny panel w PGPTools ma tę samą nazwę. Przełącza pomiędzy dwoma trybami: szyfrowaniem i deszyfrowaniem. Jego wygląd zależy od tego, który klucz został wcześniej wybrany w panelu listy kluczy – publiczny czy tajny. Możesz zaszyfrować dowolny tekst za pomocą PGPTools kilkoma kliknięciami. Aby to zrobić, po prostu wklej go w pole z monitem Wprowadź źródło z dowolnego źródła i kliknij przycisk Szyfruj. Szyfrowanie zostanie wykonane przy użyciu wcześniej wybranego klucza publicznego.

Trochę trudniej to rozszyfrować. Musisz wybrać tajny klucz (sparowany z publicznym używanym do szyfrowania) i wprowadzić hasło określone podczas ich wspólnego generowania. Blok zaszyfrowanego tekstu jest również wklejany do pola źródłowego, a wynik deszyfrowania wyświetlany jest poniżej po kliknięciu przycisku Odszyfruj. Głównym celem PGPTools jako programu z asymetrycznym schematem szyfrowania jest ochrona korespondencji (w szczególności poczty) z możliwością przekazania klucza rozmówcy przez zawodny kanał. Jeśli tylko jeden
i ten sam klucz został użyty do szyfrowania/odszyfrowania wiadomości, wówczas jego przechwycenie zagroziłoby całej korespondencji. Przechwytywanie kluczy publicznych jest praktycznie bezużyteczne. Po ich wymianie możesz od razu rozpocząć wymianę zaszyfrowanych wiadomości. Raz utworzone nie mogą zostać otwarte nawet przez nadawcę. Może tego dokonać wyłącznie odbiorca – za pomocą swojego tajnego klucza i po wprowadzeniu hasła.

Przesyłając zaszyfrowane wiadomości, upewnij się, że blok tekstu zaszyfrowanego został wstawiony w niezmienionej postaci – bez przerw i przerw. W przeciwnym razie nie będzie możliwe jego rozszyfrowanie z powodu zniekształceń.

PARA (TYSIĄC) SŁÓW O ALGORYTMIE

W klasycznej implementacji Zimmermana schemat PGP wykorzystuje jedną funkcję skrótu i ​​dwa algorytmy kryptograficzne: jeden z kluczem symetrycznym i jeden z kluczem asymetrycznym. Wykorzystuje również klucz sesji utworzony za pomocą generatora liczb pseudolosowych. Tak złożony proces zapewnia bardziej niezawodną ochronę danych, to znaczy matematyczną złożoność odzyskiwania tajnego klucza z klucza publicznego.

Wybór dostępnych obecnie algorytmów jest bardzo szeroki. To właśnie ma ogromny wpływ na jakość konkretnej implementacji PGP. Zwykle stosuje się AES i RSA, a spośród funkcji skrótu wybiera się tę, która według współczesnych koncepcji jest najmniej podatna na kolizje (RIPEMD-160, SHA-256). PGPTools wykorzystuje algorytm IDEA do szyfrowania danych i RSA do zarządzania kluczami i podpisów cyfrowych. Mieszanie odbywa się przy użyciu funkcji MD5.

Wieloetapowy proces (de)szyfrowania danych dla dowolnego programu realizowany jest w jednym
z zestawów publicznie dostępnych bibliotek kryptograficznych. Wszystkie klucze tworzone przez PGPTools zawierają w nazwie wersje BCPG, co pośrednio wskazuje na wykorzystanie API Bouncy Castle OpenPGP. Podczas testowania tego założenia w pliku com.safetyjabber.pgptools.apk znaleziono bezpośrednie odniesienie do bibliotek Bouncy Castle.

Implementują schemat OpenPGP zgodnie z RFC 4880, ale mają swoje własne cechy. Jednym z nich jest to, że (w zależności od wybranej wersji) nie mogą używać podklucza szyfrowania. Ponadto biblioteki te mają ograniczenia dotyczące efektywnej długości klucza. Oznacza to, że powyżej pewnego limitu (zwykle 1024 bitów) próba utworzenia klucza o większej długości nie będzie miała praktycznego sensu. Algorytm nie będzie w stanie zapewnić kluczy wysokiej jakości, ponieważ w parach będzie zbyt wiele pasujących bloków.

Aby przetestować, wyeksportowaliśmy publiczny i prywatny klucz PGP każdej pary do pliku tekstowego i porównaliśmy je. Para kluczy o długości 1024 bitów nie zawiera powtarzających się fragmentów, jak powinno być w implementacji wysokiej jakości.

Powtarzające się bloki w kluczach

W przypadku kluczy czterokilobitowych sytuacja wygląda inaczej. W parze jest za mało różnych fragmentów (są podświetlone na czerwono), a za dużo pasujących.

Ściśle mówiąc, różnic jest jeszcze mniej, niż widać na zrzutach ekranu. Tyle, że używany program porównawczy nie wie, jak ignorować przesunięcia bloków, ale sprawdza to linia po linii. Pierwsze trzynaście wersów pokrywa się niemal całkowicie, a zakończenie jest w siedemdziesięciu procentach identyczne. Jeśli wygenerowałeś parę kluczy z dużą liczbą dopasowań, po prostu usuń ją i utwórz nową.

KONSOLIDACJA WNIOSKÓW

Stwierdzone podczas testów braki mają charakter ogólny. Są one typowe dla wielu programów, gdyż dotyczą kodu nie samej aplikacji, ale używanych w niej popularnych bibliotek. Społeczność kryptograficzna zaleca programistom unikanie Bouncy Castle OpenPGP. Mamy nadzieję, że w przyszłych wersjach autorzy PGPTools będą bazować na bardziej zaawansowanych implementacjach.

W obecnej formie program jest już w stanie zapewnić podstawowy poziom prywatności i można go polecić jako narzędzie dodające funkcjonalność PGP na urządzeniach mobilnych. Pomoże Ci tworzyć lub czytać zaszyfrowane teksty na prawie każdym nowoczesnym smartfonie, a także ukrywać tajną korespondencję przed wścibskimi oczami. Każde zabezpieczenie można uznać za mocne tylko wtedy, gdy koszty jego pokonania są znacznie wyższe niż oczekiwany koszt chronionych danych.

Według NIST jeszcze kilka lat temu klucze PGP o długości 1024 bitów lub mniejszej były uważane za zawodne. Potem zostały otwarte w akceptowalnym czasie na potężnych serwerach, a dziś pękają jak nasiona w rozproszonych sieciach komputerowych. Oprócz wyboru długości klucza o poziomie ochrony decyduje także złożoność hasła i sam mechanizm implementacji PGP.

Ostatnia aktualizacja: 18 listopada 2016 r.

PODSTAWY PRACY Z PROGRAMEM KRYPTOGRAFICZNYM PGP

Celem pracy jest poznanie funkcjonalności programu kryptograficznego PGP i nabycie praktycznych umiejętności w zakresie szyfrowania informacji.

1. Podstawowe pojęcia programu kryptograficznego

1.1. Informacje ogólne

PGP (całkiem dobra prywatność - całkiem niezła prywatność ) to wysoce bezpieczny program kryptograficzny (szyfrujący), który umożliwia użytkownikom wymianę informacji drogą elektroniczną z zachowaniem całkowitej poufności.

PGP wykorzystuje zasadę używania dwóch powiązanych ze sobą kluczy: klucz publiczny I prywatny klucz. Są to bardzo duże liczby, generowane losowo (1024 bity, 2048 bitów itp.). Dostęp do klucza prywatnego ma tylko nadawca wiadomości, a klucz publiczny jest publikowany lub dystrybuowany za pośrednictwem sieci komunikacyjnych wśród swoich korespondentów. W tym przypadku informacja jest szyfrowana kluczem publicznym i deszyfrowana kluczem prywatnym.

Klucze publiczne mogą być publikowane na serwerze kluczy publicznych lub rozpowszechniane za pośrednictwem sieci komunikacyjnych wśród korespondentów. Są one przechowywane na komputerze w katalogu publikację. pkr w formie „certyfikatów klucza publicznego”, do których zaliczają się:

1) identyfikator użytkownika właściciela klucza (zazwyczaj nazwa użytkownika);

2) znacznik czasu wskazujący czas wygenerowania pary kluczy;

3) rzeczywiste klucze.

Prywatne (tajne) klucze są podobnie przechowywane w katalogu jako „certyfikaty kluczy prywatnych”. sekret. skr. W takim przypadku każdy tajny klucz jest szyfrowany osobnym hasłem.

Główne funkcje PGP:

Generowanie pary kluczy prywatny-publiczny;

Zaszyfruj plik przy użyciu klucza publicznego;

Odszyfrowanie pliku przy użyciu klucza prywatnego;

Podpis cyfrowy z wykorzystaniem klucza prywatnego;

Weryfikacja podpisu elektronicznego za pomocą klucza publicznego.

Program PGP posiada przyjazny interfejs użytkownika oraz stosunkowo dużą prędkość szyfrowania i deszyfrowania wiadomości. Jego najnowsza wersja (PGP 8.0) jest zrusyfikowana, co z góry określiło powszechne użycie PGP wśród użytkowników.

1.2. Jak działa PGP

Proces szyfrowania wiadomości przy użyciu protokołu PGP składa się z kilku etapów (rysunek 1). Najpierw program kompresuje tekst. Skraca to czas potrzebny na wysłanie wiadomości przez modem i zwiększa bezpieczeństwo szyfrowania.

Notatka : Większość technik kryptoanalizy (łamania zaszyfrowanych wiadomości) opiera się na badaniu „wzorców” właściwych plikom tekstowym, co pomaga złamać klucz. Kompresja eliminuje te „rysunki”.

Aby zapewnić autentyczność wiadomości, można ją „podpisać”. Odbywa się to poprzez dodanie do wiadomości podpis elektroniczny (cyfrowy)., które odbiorca może zweryfikować za pomocą klucza publicznego nadawcy w celu odszyfrowania.

Podpis cyfrowy to blok danych wygenerowany przy użyciu tajnego klucza. Program robi to w następujący sposób:

1) Z dokumentu jest generowany Przegląd wiadomości(jest to 160- lub 128-bitowe „ściśnięcie” lub suma kontrolna pliku wiadomości), dodawana jest do niego informacja o tym, kto podpisuje dokument oraz znacznik czasu.

2) Klucz prywatny nadawcy służy do szyfrowania skrótu wiadomości, a tym samym do jej „podpisywania”.

3) Skrót wiadomości jest przesyłany wraz z samą wiadomością w formie zaszyfrowanej. Podczas identyfikacji podpisu tworzony jest nowy skrót i porównywany z przesłanym skrótem; jeśli są zgodne, podpis uważa się za potwierdzony. Jeżeli wiadomość zostanie poddana jakiejkolwiek modyfikacji, będzie jej odpowiadał kolejny skrót, czyli zostanie wykryte, że wiadomość została zmodyfikowana.

Rozpoznawanie podpisu elektronicznego pokazuje, że nadawca rzeczywiście był nadawcą wiadomości i że wiadomość nie była później modyfikowana.

Kolejnym krokiem jest wygenerowanie tzw sesyjny klucz (tymczasowy), czyli losowa liczba o znacznie mniejszym rozmiarze niż klucz publiczny i prywatny (128 bitów, 168 bitów), co zapewnia dużą prędkość szyfrowania-deszyfrowania. Klucz tymczasowy generowany jest automatycznie na podstawie zdarzeń ściśle losowych, których źródłem są parametry naciśnięć klawiszy i ruchów myszy.

Za pomocą tego klucza sesyjnego wiadomość jest szyfrowana, a klucz sesyjny szyfrowany jest za pomocą klucza publicznego odbiorcy wiadomości i wysyłany do odbiorcy wraz z zaszyfrowanym tekstem (ryc. 1.1).

Klucz publiczny odbiorcy

Deszyfrowanie odbywa się w odwrotnej kolejności. Program PGP odbiorcy wiadomości wykorzystuje klucz prywatny odbiorcy do wyodrębnienia tymczasowego klucza sesji, którego następnie program używa do odszyfrowania tekstu zaszyfrowanego (rysunek 1.2).

Ryc.1.2. Proces deszyfrowania wiadomości

2. Podstawy pracy z programem kryptograficznym

2.1. Uruchamiam PGP

!! Uruchomić Start/Programy/PGP/ PGP Pulpit i sprawdź menu.

Notatka . W przyszłości instrukcje dotyczące wykonywania zadań będą oznaczone !! i są zapisane kursywą.

2.2. Podstawy aplikacjiPGP Pulpit

Okno PGPPulpit zawiera wszystkie standardowe elementy charakterystyczne dla okna aplikacji Windows (nagłówek, menu okna, paski narzędzi, obszar roboczy programu, pasek stanu).

Menu okna składa się z następujących pozycji:

􀂃 Plik

Nowy klucz PGP (nowy klucz PGP)

Nowość w formacie PGP Zip (skompresowane bezpieczne archiwum).

à Dysk PGP (dysk chroniony. Potrzebne klucze!!!).

à Zaszyfrowany cały dysk (zaszyfruj cały dysk).

à Folder PGP NetShare (szyfrowanie danych na serwerze).

Otwarte (otwarte)

Importuj certyfikat(y) osobisty.

Wyjście

􀂃 Edytować (redagowanie)

Kopiuj

Pasta

Usuwać

Zaznacz wszystko

􀂃 Pogląd) - określa stan pola roboczego programu, w którym widać:

----------------Klucze

2. Tworzenie nowych katalogów kluczy

!! Uruchom program PGP Pulpit .

Utwórz katalogi kluczy, nadając katalogowi kluczy publicznych nazwę mykey. pkr, katalog tajnych kluczy mykey. skr, postępując zgodnie z dalszymi instrukcjami.

W oknie PGPPulpit wykonaj polecenie Plik/NowyPGP Klucz

Wpisz swoją nazwę użytkownika i adres e-mail...


Rysunek. 2.2.2. Podanie pełnego imienia i nazwiska oraz adresu e-mail.

Poznaj możliwości funkcji „Zaawansowane” (opisz w raporcie!)

Rysunek. 2.2.3. Określ dodatkowe kluczowe parametry.

Skonfiguruj kompresję klawiszy, klucz jest ważny do 01.05.2014.

Klucz prywatny jest zwykle chroniony hasłem, co uniemożliwia nieupoważnione użycie. Aby zwiększyć ochronę przed nieuprawnionym dostępem osób nieuprawnionych do klucza prywatnego, należy go przechowywać wyłącznie na własnym komputerze lub na dyskietce i wykorzystywać go wyłącznie podczas podpisywania lub deszyfrowania wiadomości e-mail. W oknie, które się otworzy Hasło wprowadź łatwe do zapamiętania hasło składające się z co najmniej 8 znaków oraz napis Ukryj pisanie nie musi być zaznaczone, aby wprowadzone hasło pojawiło się w wierszu. W dolnym oknie potwierdź wprowadzone hasło.

Notatka: Hasło służy do ochrony klucza prywatnego w przypadku nieuprawnionego dostępu. Wskazane jest, aby składał się z kilku słów lub dowolnych symboli (jest to bardziej niezawodne). W wyrażeniu rozróżniana jest wielkość liter i nie powinno ono być zbyt krótkie ani tak proste, aby można było je założyć. Nie należy go zapisywać w miejscu, gdzie każdy może go zobaczyć ani przechowywać na komputerze.

Rysunek. 2.2.3. Podaj hasło, aby chronić tajny klucz.

Program rozpocznie generowanie pary kluczy. Po zakończeniu generowania pary kluczy wskaźnik w polu Ogólny postęp zostanie całkowicie wypełniony. Poinformuje to program, że proces generowania klucza został zakończony.

Następnie zostaniesz poproszony o dodanie klucza do globalnego katalogu kluczy.

W rezultacie w oknie PGPPulpit Wyświetlona zostanie nowa para kluczy składająca się z trzech linii:

para kluczy;

identyfikator użytkownika;

podpis elektroniczny.

Zestawy kluczy prywatnych i publicznych przechowywane są w oddzielnych plikach, które można skopiować jak inne pliki do innego folderu na dysku twardym lub innym nośniku danych. Domyślnie pliki z breloczkami prywatnymi (secring. pkr) i breloczkami publicznymi (pubring. pkr) przechowywane są w folderze programu PGP ( C:\Moje dokumenty\PGP), wraz z innymi plikami tego programu, ale kopie zapasowe można zapisać w dowolnym miejscu.

2.2.4. Usuwanie kluczy

Aby usunąć klucz z pęku kluczy (katalogu kluczy), wybierz go w oknie PGPPulpit, a następnie użyj jednej z następujących metod:

1. Naciśnij klawisz Usuwać.

2. W punkcie menu Edytować wybierz drużynę usuwać.

2.2.5. Wymiana klucza publicznego

Eksportuj klucz

Zazwyczaj klucz publiczny to plik nie większy niż 2 KB. Przykład klucza publicznego pokazano na rys. 2.4. Można go wysłać do swoich korespondentów, dołączając go do wiadomości e-mail utworzonej w programie pocztowym, umieszczonej na serwerze lub skopiowanej na dysk.

Aby wyeksportować klucz publiczny do pliku należy wykonać następujące kroki:

1) Uruchom program PGPDesktop.

2) Wybierz parę kluczy w oknie.

3) Przejdź do menu Plik , Wybierz drużynę Eksport i wybierz Klucz .

4) W wyświetlonym oknie Eksportuj klucz do pliku sprawdź, czy napis Dołącz klucze prywatne nie został sprawdzony (co oznacza, że ​​wysyłany jest tylko klucz publiczny).

Rysunek 3. Plik klucza publicznego

6) Kliknij OK .

!! W folderze Moje dokumenty utwórz folder, nadając mu swoje nazwisko.

!! Wyeksportuj swój klucz publiczny, zapisując go w utworzonym folderze.

!! Otwórz program Notatnik (Start/Programy/Akcesoria/Notatnik). W programie Zeszyt otwórz plik kluczem publicznym, ustawiając wyświetlanie na window Typ pliku- wszystkie pliki *.*.

Import klucza

Aby szyfrować wiadomości e-mail wysyłane do korespondentów, należy dodać ich klucze publiczne do swojego katalogu.

Klucz publiczny można zaimportować:

1) Z serwera kluczy publicznych,

2) Z treści wiadomości e-mail

3) Z pliku klucza publicznego.

Możesz zaimportować wynikowy klucz z pliku do łącza na kilka sposobów:

1) Uruchom plik klucza, klikając go dwukrotnie w wyświetlonym oknie Wybierz klucz(e) Import .

2) Z menu Klucze okno Klucze PGP Wybierz przedmiot Import, w oknie Wybierz opcję Plik zawierający klucz znajdź plik z kluczem i wybierz go, kliknij przycisk otwarty w wyświetlonym oknie Wybierz klucz(e) wybierz klawisz i wykonaj polecenie Import klikając odpowiedni przycisk .

3) Otwórz folder zawierający plik za pomocą klawisza i przeciągnij go lewym przyciskiem myszy do okna Klucze PGP .

4) Otwórz plik tekstowy, w którym przechowywany jest klucz, za pomocą edytora tekstu Zeszyt , Wybierz tekst Edytuj/zaznacz wszystko, skopiuj zaznaczony tekst do schowka Edytuj/Kopiuj. Idź do okna Klucze PGP i uruchom polecenie Edytuj/wklej

Uwierzytelnianie kluczem.

Po otrzymaniu klucza publicznego należy sprawdzić jego wiarygodność, czyli czy rzeczywiście jest to klucz publiczny korespondenta. Można to zrobić kontaktując się z korespondentem, od którego otrzymano klucz i prosząc go o odczytanie przez telefon unikalnego numeru identyfikacyjnego jego klucza publicznego.

Uwaga: Do kluczy odwołuje się unikalny numer identyfikacyjny klucza (odcisk palca), który jest skrótem klucza publicznego (160 niższych bitów klucza publicznego). Gdy wyświetlany jest ten identyfikator klucza, dla zwięzłości wyświetlane są tylko dolne 32 bity. Identyfikatory kluczy są wykorzystywane przez PGP do ustalenia klucza podczas dekodowania wiadomości i określenia jej autentyczności.

Numer identyfikacyjny klucza można zobaczyć, klikając klawisz prawym przyciskiem myszy i wybierając Nieruchomości .

I wtedy - Pokaż właściwości klawisza śpiewu.

Odcisk palca- pełny numer identyfikacyjny;

Kliknij Podklucze i zdefiniuj krótki numer klucza (ID).

!! Wyświetl pełne i krótkie numery identyfikacyjne klucza i porównaj je.

2.2.6. Dodawanie kluczy

Możesz dodawać nowo utworzone klucze do pęków kluczy lub importować klucze publiczne swoich korespondentów.

!! Dodaj klucz do pęku kluczy tworząc nową parę kluczy, użyj swojego imienia i nazwiska jako nazwy klucza, wpisz swój adres e-mail w formacie<имя>@Poczta. ru.

2.3. Szyfrowanie wiadomości

Istnieją trzy główne sposoby szyfrowania informacji:

1. Zaszyfruj wiadomość bezpośrednio w obsługiwanym programie pocztowym PGP Pulpit .

2. Szyfrowanie poprzez skopiowanie tekstu wiadomości do schowka Okna.

3. Zaszyfrowanie pliku tekstowego, a następnie dołączenie go do wiadomości e-mail.

Będziemy szyfrować wiadomości w programie Perspektywy .

Wiadomość– są to dane o określonym formacie przeznaczone do transmisji w sieciach komunikacyjnych. Jest tworzony w specjalnych programach pocztowych i może zawierać nie tylko tekst, ale także pliki różnego typu, w tym grafikę i dźwięk.

Do tworzenia i wysyłania zaszyfrowanych wiadomości możesz używać różnych programów pocztowych obsługiwanych przez PGP: Outlook Express, Nietoperz!, Wymień, Eudoro itp. Najłatwiej to zrobić w programie zrusyfikowanym Outlook Express.

Szyfrowanie i podpisywanie wiadomości w tym programie odbywa się w następujący sposób .

1) Uruchom program Outlook Express z menu głównego, wybierając Programy/Outlook Express.

!! Uruchom program Outlook Express. Utwórz wiadomość zawierającą pozdrowienia dla najlepszego przyjaciela (użyj adresu komputera jako adresu e-mail nadawcy, a adresu e-mail odbiorcy jako<фамилия>@Poczta. ru).

6) Uruchom polecenie Plik/Nowy/Wiadomość lub naciśnij przycisk Utwórz wiadomość na pasku narzędzi. Rozwiń okno do pełnego ekranu.

7) W wyświetlonym oknie Utwórz wiadomość(Rys.2.5) wpisz tekst wiadomości na polu roboczym. W kolejce Do kogo - wpisz adres e-mail korespondenta i w wierszu Temat - wskaż temat wiadomości (nie możesz go określić). Możesz dołączyć dowolny plik do wiadomości, uruchamiając polecenie Wstawianie/załączanie pliku, wskazując w oknie przeglądania plik do załączenia i klikając Inwestować.

https://pandia.ru/text/80/365/images/image014_31.jpg" szerokość="619" wysokość="294 id=">

Ryż. 2.6. Okno programu Outlook Express z podpisaną wiadomością 19

Ryż. 2.7. Okno programu Outlook Express z zaszyfrowaną wiadomością

!! Zamknij program Outlook Express.

2.3.2. Zaszyfruj cały plik

Za pomocą programu PGP możesz zaszyfrować cały plik tekstowy. Aby to zrobić, wykonaj następujące czynności:

1) Wpisz tekst wiadomości w dowolnym edytorze tekstu (na przykład w edytorze tekstu). Zeszyt) i zapisz go do pliku.

!! W edytorze tekstu Zeszyt napisz wiadomość zawierającą Twój adres domowy. Zapisz tekst do pliku tekst. tekst w folderze Moje dokumenty.

!! Zaszyfruj i podpisz cały plik (jego nazwa będzie teraz brzmieć tekst. tekst. pgp).

2) Przejdź do programu Konduktor, Wybierz utworzony plik i kliknij prawym przyciskiem myszy.

3) W otwartym menu kontekstowym pojawi się kolejne polecenie o nazwie PGP. Jeśli umieścisz mysz na elemencie menu PGP - otworzy się menu składające się z kilku poleceń:

􀂃 Bezpieczne z klucz(szyfrowanie bez podpisu cyfrowego za pomocą klucza);

􀂃 Bezpieczne z hasło(szyfrowanie bez podpisu cyfrowego z hasłem - bez klucza);

􀂃 podpisaćJak(podpisz podpisem cyfrowym);

􀂃 PGP Strzęp– zniszcz plik (poprzez kilkukrotne nadpisanie przypadkowymi lub określonymi danymi).

!! Otwórz pliki z wiadomościami oryginalnymi i zaszyfrowanymi i porównaj je.

!! Dołącz zaszyfrowany plik do wiadomości e-mail i wyślij go razem z nią.

!! Zniszcz oryginalny plik tekstowy .

2.4. Deszyfrowanie wiadomości

Według szyfrowania wiadomości istnieją dwa główne sposoby ich odszyfrowania.

2.4.1. Odszyfrowywanie wiadomości w programie Outlook Express

1) Otwórz otrzymaną zaszyfrowaną wiadomość w programie Outlook Express.

2) W menu PGP, menu rozwijane z Paski zadań(znak - zamek stodoły) wykonaj polecenie Bieżący system Windows/Odszyfruj i sprawdź (ryc. 2.10).

3) W wyświetlonym oknie programu PGP należy wpisać hasło chroniące tajny klucz odbiorcy wiadomości i kliknąć OK . Na ekranie pojawi się okno Przeglądarka tekstu , zawierający odszyfrowaną wiadomość. Można go skopiować do schowka klikając przycisk Skopiuj do schowka a następnie wklej go do edytora tekstu.

!! Uruchom program Outlook Express. Otwórz folder Skrzynka nadawcza. Kliknij dwukrotnie, aby otworzyć utworzoną wiadomość i odszyfrować ją. Sprawdź identyfikator użytkownika i identyfikator klucza.

2.4.2. Odszyfrowanie pliku zawierającego

zaszyfrowana wiadomość

1. Umieść powstały plik z zaszyfrowanym tekstem Pulpit (plik z rozszerzeniem .pgp ).

2. Kliknij prawym przyciskiem myszy wybrany plik.

3. W wyświetlonym menu kontekstowym wybierz PGP/ Odszyfruj i zweryfikuj.

4. W wyświetlonym oknie PGP wprowadzi hasło musisz wprowadzić hasło chroniące tajny klucz odbiorcy wiadomości i kliknąć OK . W rezultacie odszyfrowany tekst wiadomości zostanie zapisany w pliku o tej samej nazwie bez rozszerzenia .pgp.

!! Odszyfruj wiadomość zapisaną w pliku tekst. tekst. pgp. Następnie usuń ten plik.

2.6. Podstawy aplikacji PGPdisk

Dysk PGP to wygodna aplikacja, która pozwala wydzielić część dysku twardego na przechowywanie poufnych informacji. To zarezerwowane miejsce służy do utworzenia pliku o nazwie PGPdysk. Działa podobnie do dysku twardego, ponieważ służy jako miejsce do przechowywania plików i programów wykonywalnych.

Menu aplikacji Dysk PGP zawiera następujące elementy:

􀂃 NowyWirtualny Dysk…(utwórz nowy wirtualny dysk)

􀂃 miszyfrować CałyDysk…(zaszyfruj cały dysk)

􀂃 Strzęp bezpłatny przestrzeń(wyczyść wolną przestrzeń)

2.6.1. Tworzenie dysku PGP

1) Uruchom program PGPdysk.

!! Na dysku Z: Stwórz swój własny Dysk PGP, nadając plikowi odpowiadającemu dyskowi nazwę. Określ rozmiar dysku od 500 KB do 1 MB.

2) Wykonaj polecenie NowyWirtualnyDysk, po czym na ekranie pojawi się kreator tworzenia dysku PGP.

https://pandia.ru/text/80/365/images/image018_23.jpg" szerokość="621" wysokość="372">

Po utworzeniu nowego dysku PGP automatycznie go zamontuje, aby można było z niego korzystać.

!! Otwórz okno Mój komputer i sprawdź, czy dysk PGP jest podłączony.

2.6.2. Praca z dyskiem PGP

Do pracy z nim można podłączyć dysk PGP (w tym przypadku zostanie on wyświetlony w oknie Mój komputer wraz z innymi dyskami) i odłącz po zakończeniu.

Podłączanie napędu

1. W menu PGP wykonaj polecenie Zamontuj dysk (podłącz dysk).

2. W oknie przeglądania znajdź plik odpowiadający Twojemu dyskowi PGP i kliknij go lewym przyciskiem myszy. Kliknij Wchodzić.

3. Wprowadź hasło.

W wyniku tych działań w oknie Mój komputer Dysk PGP zostanie wyświetlony z przypisaną mu nazwą. Można z nim pracować jak ze zwykłym dyskiem: tworzyć pliki, katalogi, przenosić i kopiować pliki lub katalogi lub je usuwać. Po zakończeniu pracy z poufnymi informacjami należy odłączyć dysk. Po odłączeniu dysku jego zawartość zostanie zaszyfrowana w pliku.

!! Z folderu Poznajemy Windowsa 98 skopiuj dowolne trzy pliki na utworzony dysk PGP.

Odłączanie napędu

1) Zamknij wszystkie programy i pliki na dysku PGP, ponieważ nie można odłączyć dysku, jeśli pliki na tym dysku są nadal otwarte.

2) Idź do Mój komputer, Wybierz dysk PGP za pomocą myszy.

3) Kliknij prawym przyciskiem myszy lub rozwiń menu PGP.

4) Uruchom polecenie Odmontuj dysk PGP w wyświetlonym menu.

Po odłączeniu dysku nie będzie on już wyświetlany w oknie Mój komputer.

Dysk PGP można skonfigurować tak, aby automatycznie zamykał się, jeśli nie był używany przez określony czas (patrz wyżej).

Kliknij dysk prawym przyciskiem myszy i wybierz Pulpit PGP.

– Odmontuj dysk – odmontuj (odłącz dysk),

– Edytuj właściwości dysku – edytuj parametry dysku.

Korzystając z opcji Edytuj właściwości dysku, dodaj kolejnego użytkownika dysku.

1. Dokładnie przestudiuj wszystkie sekcje wytycznych i wykonaj zadania oznaczone !! .

2. Po uzyskaniu zgody nauczyciela rozpocznij realizację zadania dodatkowego.

3. Dodatkowe zadanie.

3.1. Utwórz na Pulpit folderu, nadając mu jako nazwę numer komputera. Będzie służyć do przechowywania wysyłanych plików tekstowych z wiadomościami.

3.2. Korzystanie z aplikacji Klucze PGP utwórz parę kluczy (klucz publiczny i prywatny), używając swojego nazwiska. Weź adres e-mail w następującym formacie <фамилия>@<номер компьютера>.Poczta. ru(Na przykład: *****@***ru). Zapisz numer identyfikacyjny klucza.

3.3. Wyeksportuj swój klucz publiczny do folderu z numerem komputera znajdującego się na Pulpicie.

3.4. Utwórz plik tekstowy w folderze z numerem komputera na pulpicie o nazwie <номер компьютера>.tekst za pomocą edytora tekstu Zeszyt i zapisz numer identyfikacyjny wyeksportowanego klucza publicznego.

3.5. Wyślij plik klucza publicznego i numeru identyfikacyjnego do wszystkich komputerów: skopiuj odpowiednie pliki do folderów Środowisko sieciowe/<номер компьютера>/C:/Windows/Desktop/folder z numerem komputera .

3.6. Zaimportuj przesłane do Ciebie klucze publiczne, korzystając z różnych metod importu opisanych w tej sekcji Importuj klucz.

3.7. Napisz wiadomość w folderze z numerem komputera na Pulpicie za pomocą edytora tekstu Zeszyt , zawierający Twoje nazwisko, adres i dowolny czterowiersz. Zaszyfruj wiadomość wykorzystując kopię do schowka oraz klucz publiczny korespondenta, dodając podpis elektroniczny. Zapisz plik pod nazwą Adres_<номер компьютера>.tekst i wyślij (skopiuj) go do swojego korespondenta na pobliskim komputerze w folderze o numerze komputera znajdującym się na jego Pulpicie.

Spróbuj odszyfrować utworzoną wiadomość.

3.8. Napisz wiadomość zawierającą nazwę kierunku studiów i cel uczęszczania do college'u. Zapisz plik pod nazwą specjalny _<номер компьютера>. tekst. Zaszyfruj plik zawierający wiadomość za pomocą programu Konduktor, wykorzystując klucz publiczny korespondenta i składając podpis elektroniczny. Wyślij utworzony plik do swojego korespondenta na pobliskim komputerze w folderze o numerze komputera znajdującym się na jego Pulpicie.

3.9. Otwórz folder z numerem swojego komputera. Rozwiń plik adres _<номер компьютера>. tekst, wydrukuj zaszyfrowany tekst wiadomości na drukarce , odszyfrować jej zawartość kopiując do schowka, porównać numery identyfikacyjne klucza i podpis elektroniczny korespondenta z odszyfrowaną wiadomością. Wyprowadź odszyfrowany tekst wiadomości na drukarkę.

3.10. Otwórz folder z numerem swojego komputera. Odszyfruj plik z rozszerzeniem specjalny _<номер компьютера>. tekst.pgp, odszyfrować go za pomocą programu Konduktor, porównaj kluczowe numery identyfikacyjne i podpis elektroniczny korespondenta z odszyfrowaną wiadomością.

3.11. Za zgodą nauczyciela usuń swoją parę kluczy z katalogu kluczy i zaimportowanych kluczy korespondentów.

3.12. Usuń folder z numerem komputera

2. Lista kluczy publicznych.

3. Listy zaszyfrowanych i odszyfrowanych wiadomości.

4. Analiza różnych metod szyfrowania wiadomości.

5. Krótkie wnioski z wykonanej pracy.

Pytania kontrolne

1. Jakie są główne funkcje programu PGP?

2. Co to jest klucz?

3. Wyjaśnij przeznaczenie kluczy publicznych i prywatnych.

4. Wyjaśnić zasadę szyfrowania i deszyfrowania informacji za pomocą protokołu PGP.

5. Jak stosuje się podpis elektroniczny?

6. Jak możesz wymieniać klucze publiczne ze swoimi korespondentami?

7. Gdzie mogę zobaczyć identyfikator klucza i identyfikator użytkownika?

8. Wymień główne sposoby szyfrowania wiadomości za pomocą protokołu PGP.

9. Wymień główne sposoby odszyfrowywania wiadomości przy użyciu protokołu PGP.

10. Jakim kluczem szyfrujemy wiadomość i jakim składamy podpis elektroniczny?

11. Kto może odszyfrować wiadomość zaszyfrowaną kluczem publicznym?

12. Dlaczego potrzebujesz podpisu elektronicznego?

13. Co to jest dysk PGP?

14. Jak można pracować z dyskiem PGP?

15. Wyjaśnij procedurę odłączania dysku PGP.

  • Tłumaczenie

Jeśli napiszesz kod, który trafi do publicznych repozytoriów, PGP może okazać się przydatny. W tej serii artykułów, z których pierwszy publikujemy dzisiaj, przyjrzymy się wykorzystaniu PGP do zapewnienia integralności kodu oprogramowania. Materiały te są skierowane przede wszystkim do twórców wolnego oprogramowania, chociaż przedstawione tutaj zasady mają zastosowanie w każdej sytuacji, w której tworzenie oprogramowania jest realizowane przez rozproszone zespoły programistów.

Poruszone zostaną tutaj następujące tematy:

  • Podstawy PGP i zalecenia dotyczące pracy z powiązanym oprogramowaniem.
  • Używanie PGP z Gitem.
  • Ochrona konta programisty.

O strukturze materiałów

Każda sekcja tej serii materiałów jest podzielona na dwie części:
  1. Lista kontrolna, którą można dostosować do potrzeb konkretnego projektu.
  2. Objaśnienia wyjaśniające elementy listy kontrolnej, a także instrukcje dotyczące pracy z programami.

Funkcje listy kontrolnej

Pozycje na każdej liście kontrolnej zawierają informacje o poziomie priorytetu pozycji. Mamy nadzieję, że pomoże Ci to w podejmowaniu decyzji dotyczących korzystania z tych rekomendacji.
  • Szczególną uwagę należy zwrócić na pozycje, którym przypisano priorytet „ważny”. Jeśli zalecenia z „ważnych” punktów nie zostaną zrealizowane, będzie to oznaczać duże ryzyko problemów z kodem zawartym w projekcie.
  • Elementy z priorytetem „zalecane” zawierają rekomendacje, które warto wdrożyć, aby poprawić ogólny poziom bezpieczeństwa. Ich wdrożenie może wpłynąć na interakcję programisty ze środowiskiem pracy, co może wymagać nabycia nowych nawyków lub porzucenia starych.
Pamiętaj, że wszystkie podane tutaj listy stanowią jedynie rekomendacje. Jeśli uważasz, że podane poziomy priorytetów nie odzwierciedlają potrzeb bezpieczeństwa Twojego projektu, powinieneś dostosować je do swoich potrzeb.

Podstawowe koncepcje i narzędzia PGP

▍Lista kontrolna

Oto tematy, którymi musisz się zająć po pomyślnym opanowaniu materiału z tej sekcji:
  1. Rola PGP w rozwoju wolnego oprogramowania (Ważne).
  2. Podstawy kryptografii klucza publicznego (Ważne).
  3. Różnice pomiędzy szyfrowaniem a podpisywaniem materiałów (Ważne).
  4. Tożsamość klucza PGP (ważne).
  5. Ważność kluczy PGP (Ważne).
  6. Instalacja narzędzi GnuPG (wersja 2.x) (Ważne).

▍Wyjaśnienia

Społeczność open source od dawna polega na PGP w celu zapewnienia autentyczności i integralności opracowanego oprogramowania. Być może nie wiesz, ale niezależnie od tego, czy korzystasz z Linuksa, Maca czy Windowsa, korzystałeś już z PGP, aby zapewnić integralność swojego środowiska komputerowego.
  • Dystrybucje Linuksa korzystają z protokołu PGP, aby zapewnić, że pakiety binarne lub źródłowe pozostaną niezmienione od chwili ich utworzenia do momentu ich zainstalowania przez użytkownika końcowego.
  • Projekty wolnego oprogramowania zazwyczaj oferują oddzielne podpisy PGP dla wydanych archiwów oprogramowania, więc projekty na nich korzystające mogą zweryfikować integralność pobranych wydań przed zintegrowaniem ich z własnymi dystrybucjami.
  • Projekty wolnego oprogramowania zazwyczaj opierają się na podpisach PGP w samym kodzie, aby śledzić pochodzenie i zapewnić integralność kodu wniesionego do projektu przez jego twórców.
Jest to bardzo podobne do mechanizmów certyfikatu deweloperskiego i podpisywania kodu używanych przez programistów pracujących na platformach o zamkniętym kodzie źródłowym. W rzeczywistości podstawowe koncepcje leżące u podstaw tych dwóch technologii są w dużej mierze takie same. Różnią się one głównie technicznymi szczegółami implementacji oraz sposobem delegowania zaufania. PGP nie opiera się na scentralizowanym urzędzie certyfikacji; zamiast tego system pozwala użytkownikom na niezależne przypisanie poziomu zaufania do każdego certyfikatu.

Naszym celem jest pomóc Ci kontrolować pochodzenie kodu wprowadzanego do Twojego projektu i monitorować jego integralność za pomocą PGP. Możesz to zrobić, postępując zgodnie z najlepszymi praktykami pracy z PGP i rozumiejąc podstawowe zasady bezpieczeństwa.

▍Przegląd działania PGP

Nie musisz znać wszystkich szczegółów działania PGP. Aby z powodzeniem korzystać z tej technologii, wystarczy zrozumieć jej podstawowe pojęcia. PGP wykorzystuje kryptografię klucza publicznego. Na przykład za pomocą metod kryptograficznych zwykły tekst można przekształcić w tekst zaszyfrowany. Ten proces wymaga dwóch różnych kluczy:
  • Klucz publiczny znany każdemu.
  • Klucz prywatny znany tylko właścicielowi.

▍Szyfrowanie

Do szyfrowania PGP wykorzystuje klucz publiczny osoby, dla której przeznaczony jest zaszyfrowany materiał. Szyfrowanie tworzy wiadomość, którą można odszyfrować jedynie przy użyciu odpowiedniego klucza prywatnego należącego do odbiorcy wiadomości.

Proces szyfrowania wygląda następująco:

  1. Nadawca tworzy losowy klucz szyfrowania (klucz sesji).
  2. Nadawca szyfruje treść wiadomości za pomocą tego klucza sesyjnego (przy użyciu szyfru symetrycznego).
  3. Nadawca szyfruje klucz sesji przy użyciu klucza publicznego PGP odbiorcy.
  4. Nadawca wysyła do odbiorcy zaszyfrowane dane i zaszyfrowany klucz sesji.
Aby odszyfrować zaszyfrowaną wiadomość, wykonaj następujące kroki:
  1. Odbiorca odszyfrowuje klucz sesji przy użyciu swojego klucza prywatnego PGP.
  2. Odbiorca używa klucza sesyjnego do odszyfrowania zawartości wiadomości.

▍Podpisywanie

Do podpisywania danych klucze publiczne i prywatne PGP są używane odwrotnie:
  1. Osoba podpisująca generuje skrót sumy kontrolnej niektórych danych.
  2. Osoba podpisująca używa własnego klucza prywatnego do szyfrowania tej sumy kontrolnej.
  3. Osoba podpisująca dostarcza zaszyfrowaną sumę kontrolną wraz z danymi.
Aby zweryfikować podpis, wykonaj następujące kroki:
  1. Weryfikator generuje własną sumę kontrolną danych.
  2. Weryfikator wykorzystuje klucz publiczny osoby podpisującej do odszyfrowania podanej sumy kontrolnej.
  3. Jeśli sumy kontrolne się zgadzają, sprawdzana jest integralność treści.

▍Łączenie szyfrowania i podpisywania

Często zaszyfrowane wiadomości są również podpisywane przy użyciu własnego klucza PGP nadawcy danych. Takie podejście powinno być stosowane przy wymianie zaszyfrowanych wiadomości, ponieważ szyfrowanie bez uwierzytelnienia nie ma większego sensu (być może anonimowość w takich sprawach jest potrzebna tylko tajnym agentom i osobom, które udostępniają publicznie pewne wrażliwe informacje).

▍Kluczowe dane identyfikacyjne

Z każdym kluczem PGP musi być powiązana tożsamość właściciela klucza. Zazwyczaj jest to imię i nazwisko oraz adres e-mail danej osoby w następującym formacie:

Inżynier Alicja
Czasami dane identyfikacyjne zawierają także komentarze w nawiasach, które mają na celu przekazanie użytkownikowi końcowemu szczegółowych informacji na temat konkretnego klucza:

Bob Designer (przestarzały klucz 1024-bitowy)
Ponieważ posiadacze kluczy ludzkich mogą pełnić wiele ról zawodowych i osobistych, w tym samym kluczu może znajdować się wiele zestawów tożsamości:

Inżynier Alicja Inżynier Alicja Inżynier Alicja
W przypadku korzystania z wielu zestawów tożsamości, jeden z nich jest oznaczony jako podstawowy, aby ułatwić znalezienie klucza.

▍Kluczowa niezawodność

Aby móc wykorzystać czyjś klucz publiczny do szyfrowania lub weryfikacji, należy upewnić się, że rzeczywiście należy on do tej osoby (w tym przypadku Alicji), a nie do oszusta (niech oszust ma na imię Ewa). W PGP nazywa się to ważnością klucza:
  • Pełna ważność klucza oznacza, że ​​istnieje bardzo wysoki poziom pewności, że klucz należy do Alicji.
  • Granicza pewność klucza oznacza, że ​​mamy pewną pewność, że klucz należy do Alicji.
  • Nieznana ważność klucza oznacza, że ​​nie mamy całkowitej pewności, że klucz należy do Alicji.

▍Sieć zaufania i mechanizm „zaufania od pierwszego użycia”.

PGP zawiera mechanizm delegowania zaufania znany jako Web of Trust (WOT). W swej istocie jest to próba zastąpienia potrzeby scentralizowanych usług certyfikatów, takich jak te używane w HTTPS/TLS. Dzięki takiemu podejściu użytkownik samodzielnie podejmuje decyzje, komu może zaufać.

Niestety bardzo niewiele osób rozumie, jak działa sieć zaufania, a jeszcze mniej osób interesuje się tą technologią. Chociaż sieci zaufania pozostają ważnym aspektem specyfikacji OpenPGP, istniejące wersje GnuPG (2.2 i nowsze) zaimplementowały alternatywne podejście reprezentowane przez mechanizm Trust on First Use (TOFU).

TOFU można porównać do SSH. Kiedy po raz pierwszy łączysz się ze zdalnym systemem za pomocą SSH, Twój system zapamiętuje swój kluczowy odcisk palca. Jeśli klucz ulegnie zmianie, klient SSH powiadomi Cię i odrzuci połączenie, prosząc o podjęcie decyzji, czy ufasz zmienionemu kluczowi, czy nie.

Mechanizm TOFU działa w podobny sposób. Kiedy po raz pierwszy importujesz czyjś klucz PGP, uważa się go za godny zaufania. Jeśli GnuPG napotka nowy klucz z tymi samymi danymi uwierzytelniającymi, wówczas oba klucze zostaną oznaczone jako nieprawidłowe i będziesz musiał podjąć własną decyzję, który z nich zachować.

W tym samouczku użyjemy modelu zaufania TOFU.

▍O terminologii

W tym miejscu chcielibyśmy podkreślić znaczenie zrozumienia różnic między terminami takimi jak PGP, OpenPGP, GnuPG i gpg:
  • PGP (Pretty Good Privacy) to nazwa komercyjnego programu wydanego w 1991 roku.
  • OpenPGP to standard IETF zgodny z PGP.
  • GnuPG (Gnu Privacy Guard) to darmowe oprogramowanie implementujące standard OpenPGP.
  • Narzędzie wiersza poleceń dla GnuPG nazywa się gpg.
Obecnie termin PGP jest niemal powszechnie używany w znaczeniu „standardu OpenPGP”, a nie jako nazwa programu, dlatego PGP i OpenPGP są używane zamiennie. Terminów GnuPG i gpg należy używać wyłącznie w odniesieniu do konkretnych narzędzi, a nie do standardów i innych koncepcji, w oparciu o które działamy. Na przykład:
  • Klucz PGP (nie GnuPG ani GPG)
  • Podpisywanie PGP (nie GnuPG ani GPG)
  • Serwer kluczy PGP (nie GnuPG ani GPG)
Zrozumienie tych różnic powinno pomóc Ci w komunikacji z innymi użytkownikami PGP.

▍Instalowanie GnuPG

Jeśli używasz Linuksa, oznacza to, że oprogramowanie GnuPG jest już zainstalowane w Twoim systemie. Na komputerze Mac musisz zainstalować GPG-Suite lub użyć polecenia Brew install gnupg2. Jeśli jesteś użytkownikiem systemu Windows, najlepszym rozwiązaniem będzie GPG4Win i prawdopodobnie będziesz musiał zmodyfikować niektóre polecenia zawarte w tym przewodniku. Jeśli używasz środowiska podobnego do Uniksa w systemie Windows, nie musisz zmieniać poleceń. Jeśli używasz innych platform, będziesz musiał samodzielnie znaleźć odpowiednią implementację GnuPG.

▍GnuPG wersje 1 i 2

Zarówno GnuPG v.1, jak i GnuPG v.2 implementują ten sam standard, ale udostępniają niekompatybilne biblioteki i narzędzia wiersza poleceń, co powoduje, że wiele dystrybucji jest dostarczanych zarówno z przestarzałą wersją 1, jak i nowszą wersją 2. Musisz się upewnić, że zawsze użyj GnuPG v.2.

Najpierw, aby dowiedzieć się, która wersja GnuPG ukrywa się w twoim systemie pod nazwą gpg, uruchom następującą komendę:

$ gpg --wersja | głowa -n1
Jeśli zobaczysz coś takiego jak gpg (GnuPG) 1.4.x , oznacza to, że polecenie gpg wywołuje GnuPG v.1. W takim przypadku wypróbuj polecenie gpg2:

$gpg2 --wersja | głowa -n1
Jeśli zobaczysz coś takiego jak gpg (GnuPG) 2.x.x, wszystko jest w porządku. Zakładamy tutaj, że masz GnuPG w wersji 2.2 lub nowszej. Jeśli używasz wersji 2.0 GnuPG, niektóre z podanych tutaj poleceń nie będą działać, dlatego powinieneś rozważyć zainstalowanie najnowszej wersji 2.2 GnuPG.

▍Alias ​​dla GnuPG v.2

Jeśli w twoim systemie dostępne są zarówno polecenie gpg, jak i polecenie gpg2, dobrym pomysłem byłoby skonfigurowanie wszystkiego tak, aby polecenie gpg wywoływało GnuPG v.2, a nie starą wersję oprogramowania. Możesz to zrobić tworząc alias:

$ alias gpg=gpg2
To polecenie można umieścić w .bashrc, aby GnuPG v.2 reagowało na polecenie gpg.

Wyniki

Tutaj rozmawialiśmy o podstawach PGP, które musisz znać, aby skutecznie używać PGP w ochronie kodu. Następnym razem porozmawiamy o tworzeniu i ochronie kluczy PGP.

Drodzy Czytelnicy! Czy używasz PGP do ochrony kodu swoich projektów oprogramowania?

Tagi: Dodaj tagi

Wszystko na temat inwestycji i blockchain jest jasne dla przeciętnego konsumenta, ale dlaczego działa tutaj szyfrowanie PGP? Sama nazwa nie jest zbyt jasna dla przeciętnego użytkownika, któremu daleko jest do gadżetów programowych. Techniczne brzmienie może nawet odstraszyć. Ale na próżno! Zrozumienie najprostszych zasad kryptografii daje pewną podstawę do dalszego zrozumienia popularnych obecnie technologii.

Mówiąc najprościej, szyfrowanie PGP to sposób na ochronę Twoich informacji. Aby nikt inny nie mógł go zobaczyć ani zmienić. Działa to z kluczami i podpisami cyfrowymi, które pozwalają potwierdzić własność danych lub chronić je przed wścibskimi oczami.

W artykule przyjrzymy się jak to działa, gdzie można wykorzystać narzędzie kryptograficzne i jak go używać z aplikacjami PGP.

Pretty Good Privacy, znany również jako PGP, to program kryptograficzny umożliwiający szyfrowanie informacji tak, aby nikt inny nie mógł ich odczytać ani zmienić. Zasadniczo jest to bezpieczny sposób przesyłania plików, który gwarantuje całkowitą i całkowitą tajemnicę. Jeśli prowadzisz prywatną korespondencję, która nie jest przeznaczona dla przyjaciół, pracowników, rządu lub złych szpiegów (właściwe podkreśl), to rozwiązanie pomoże chronić każdą literę w wiadomości.

Kolejną smaczną cechą kryptografii jest dowód własności. Załóżmy, że udostępniłeś dokument publicznie, ale chcesz mieć pewność, że nikt nie weźmie uznania za Twoją pracę. PGP też będzie działać w tym przypadku.

Aby dokładnie zrozumieć, jak to się dzieje, rozbijmy kompleks na proste elementy.

A pudełko właśnie się otworzyło: klucze do tajnych zamków

Jak sprawić, by informacja ze znaku A dotarła do znaku B, a nie do pozostałych liter alfabetu? Wszystko jest dość proste: musisz spakować wiadomość do sejfu, kod, który znają dwie osoby. Funkcję takiego kodu w PGP pełnią klawisze.

Kluczem jest duża liczba. Jest to BARDZO duża liczba zajmująca 1024 bity. Im więcej symboli zawiera, tym trudniej jest znaleźć odpowiednik, czyli zhakować go.

Schemat jest prosty: tworzysz komunikat, który wyświetla się osobom postronnym jako ciąg niezrozumiałych znaków. Ale ten, kto ma klucz, może odszyfrować dane i zrozumieć, co dokładnie chciałeś powiedzieć za pomocą zestawu liczb. Kolejne pytanie: jeśli Twoja korespondencja może zostać przechwycona, gdzie jest gwarancja, że ​​przekazany klucz nie zostanie przechwycony?

I to jest właściwe pytanie, które pozwala nam pójść dalej i rozważyć rodzaje i zastosowania kluczy. Zatem nasze „tajne hasło” po zaszyfrowaniu za pomocą PGP może przybierać dwie formy:

  1. klucz publiczny – taki, który należy do (nie uwierzysz) publicznego dostępu i może zostać pobrany przez każdego;
  2. klucz prywatny to taki, który posiada tylko właściciel i nigdy nie jest ujawniany.

Jak przebiega ta żonglerka kluczami? Technicznie jest to trudne, ale w istocie jest elementarne. Załóżmy, że klucz publiczny został opublikowany w Internecie i chcesz wysłać wiadomość do jego twórcy. Za pomocą programu szyfrującego wysyłasz zaszyfrowaną wiadomość. Tylko osoba posiadająca klucz prywatny może go odszyfrować. Wszyscy inni, którzy podobnie jak Ty posiadają tylko wersję otwartą, zobaczą ten sam niewyraźny zestaw znaków.

Podpis cyfrowy: dowód pancerny

Porozmawiajmy teraz o uwierzytelnianiu, które obejmuje również klucze. Najważniejszą rzeczą do zrozumienia jest to:

To, co jest zaszyfrowane kluczem publicznym, może odszyfrować jedynie właściciel klucza prywatnego i odwrotnie – to, co jest zakodowane kluczem prywatnym, jest dostępne dla właścicieli kluczy publicznych.

Dlatego jeśli postać A napisze np. fajne badanie rynku i udostępni je właścicielom kluczy publicznych, wszyscy będą dokładnie wiedzieć, kto jest właścicielem tekstu.

Dokładnie tak działa podpis cyfrowy w realnym świecie (przynajmniej starają się go używać np. w cyfrowych zeznaniach podatkowych). Potwierdza autorstwo i chroni dokument (materiał) przed ponownym wykorzystaniem w cudzym imieniu, redakcją i zawłaszczeniem.

Jak rozumiesz, podpis jest powiązany z kluczem prywatnym. A jeśli osoba sprawdzająca/badająca materiał chce zweryfikować jego autorstwo, może zweryfikować autentyczność dokumentu za pomocą klucza publicznego.

Para kluczy: co może pójść nie tak

Główną zasadą, którą musisz nauczyć się bezpiecznie używać PGP, jest: TRZYMAJ SWOJ KLUCZ PRYWATNY W BEZPIECZNYM MIEJSCU. Jak rozumiesz, nie jest to żadna osoba trzecia, miejsce w chmurze ani nic, co nie należy do Ciebie. Jeśli klucz istnieje w jednym egzemplarzu - na Twoim komputerze - nikt nie będzie mógł go zabrać bez konfiskaty samego komputera (choć oczywiście nie zapominaj o prawdopodobieństwie włamania). Jeśli więc chcesz korzystać z programów kryptograficznych i mieć pewność swojego bezpieczeństwa, przenieś klucz na nośnik fizyczny, np. notatnik, który jest przechowywany w górnej szufladzie biurka.

Wielokrotne wprowadzanie kluczy w celu odczytania wiadomości jest niesamowicie nudnym procesem, ale taka jest cena bezpieczeństwa. Zgadzam się, to nie jest zbyt wysokie, aby odmówić zapłaty.

OK, właściwie to może być prostsze. Klucz prywatny jest chroniony dodatkowym hasłem. Jest to zestaw słów, które należy wpisać w celu potwierdzenia prawa do korzystania z klucza. Im dłuższa fraza, tym lepiej i najlepiej używać różnych rejestrów i znaków interpunkcyjnych. Taki kod jest łatwy do zapamiętania (na przykład, jeśli użyjesz ulubionego cytatu lub wersu z piosenki) i trudny do złamania.

Co jednak zrobić, jeśli klucz zostanie „ukradziony”? Programy PGP umożliwiają unieważnienie klucza i wskazanie, że nie można mu już ufać. Ale to niewielkie pocieszenie dla tych, którzy korzystają z podpisów cyfrowych i mają ciągły kontakt z odbiorcami.

Dlaczego wspaniały PGP nie jest używany przez wszystkich?

Jeśli kodowanie PGP jest tak wspaniałe i przydatne, dlaczego nie wszyscy z niego korzystają? - ty pytasz. Tak naprawdę odpowiedź jest oczywista. Aby coś zaszyfrować, musisz zainstalować aplikację, zrozumieć, jak z niej korzystać, znaleźć osoby, które zrobią mniej więcej to samo i będą w stanie odszyfrować te informacje.

Dziś fajna technologia pozostaje gdzieś w strefie maniaków, choćby dlatego, że interfejsu nie można nazwać przyjaznym dla użytkownika. Polecenia wydawane są ręcznie, zapisywane w wierszu poleceń, należy je zapamiętać lub przewodnik należy zawsze mieć przed oczami. Pisanie skryptów jest niezbędne do:

  • tworzenie kluczy prywatnych i publicznych (istnieje również różnica w generowaniu);
  • dodanie/usunięcie/wybór klucza;
  • utworzenie bezpiecznego miejsca na dysku twardym do przechowywania kluczy;
  • kodowanie wiadomości dla jednego lub większej liczby odbiorców;
  • złożenie podpisu w wiadomości;
  • deszyfrowanie otrzymanych danych.

Trochę różni się od tego, do czego przyzwyczajony jest użytkownik systemu Windows lub MacOS.

Swoją drogą, coś takiego powstrzymuje wielu „zwykłych” użytkowników od korzystania z kryptowaluty. Tam musisz zrozumieć coś na temat cyfr, liter i poleceń. Świetnie, jeśli portfel kryptowalut oferuje przejrzysty interfejs, a każdy proces jest zautomatyzowany. A jeśli nie? Niewielu ludzi wejdzie do tych dżungli. Podobnie jest z PGP – gdyby przed wysłaniem wiadomości trzeba było wcisnąć przycisk „szyfruj”, a w momencie jej otrzymania „odkodować”, aplikacja (i wszystkie jej odpowiedniki) zyskałaby znacznie większą popularność.

Gdzie szyfrowanie jest stosowane dzisiaj i gdzie będzie stosowane w przyszłości

Jak już wspomniano, szyfrowanie PGP jest dziś używane głównie przez osoby zaznajomione z programowaniem i korporacje do zapisywania informacji wewnątrz firmy. Jednak biorąc pod uwagę rosnące znaczenie kwestii bezpieczeństwa cyfrowego, kryptografia wkrótce będzie stosowana szerzej i prawdopodobnie zautomatyzowana.

Już teraz niektóre usługi e-mail (na przykład Mozilla Thunderbird) korzystają z dodatkowej ochrony wiadomości. To prawda, że ​​​​w tym celu nadal musisz instalować aplikacje i konfigurować je w każdy możliwy sposób. Ale przy dalszej optymalizacji po prostu nie zauważymy, jak przebiega kodowanie.

Tak, tak, wszyscy jesteśmy rozpieszczonymi użytkownikami, którzy nie zawracają sobie głowy pytaniami „jak i dlaczego działa to czy tamto”. Dla nas najważniejsze jest to, żeby to po prostu działało – sprawnie i bezpiecznie.

Wraz z rozprzestrzenianiem się technologii kryptograficznych i poszerzaniem się obszaru geograficznego ich zastosowania, prawdopodobieństwo uzyskania nowych standardów bezpieczeństwa w Internecie znacznie wzrasta. Warto o tym pamiętać, uchwycąc istotę kryjącą się za współczesnym krypto-szumem.

Krypto to nie tylko . Chodzi tu o funkcjonalność, bezpieczeństwo, dowód własności, brak pośredników i wiele więcej.

Ochrona gwarantuje, że tylko odbiorca informacji będzie mógł z nich skorzystać. Jeśli trafi w niepowołane ręce, będzie całkowicie bezużyteczny, ponieważ nie da się go rozszyfrować.

Uwierzytelnianie gwarantuje, że jeśli jakieś informacje zostały przez Ciebie utworzone i udostępnione publicznie, to naprawdę pochodzą od Ciebie i nie zostały sfałszowane ani zmienione przez kogokolwiek w trakcie przesyłania.

PGP opiera się na systemie kryptograficznym zwanym kluczem publicznym, którego można używać na niezaufanych kanałach. Dzięki temu idealnie nadaje się do ochrony informacji przesyłanych w sieciach takich jak Internet.

W systemach klucza publicznego każdy z uczestników wymiany informacji posiada dwa klucze, które się uzupełniają; jeden jest kluczem publicznym, a drugi kluczem prywatnym. Klucz publiczny może i powinien być ogólnodostępny, ponieważ jest to klucz, którego nadawca używa do szyfrowania przesyłanych do Ciebie informacji. Klucz prywatny nie może być w żadnym wypadku rozpowszechniany. To on gwarantuje bezpieczeństwo przesyłanych danych.

Przydział kluczy

Po zapisaniu kluczy znajomych w pliku musisz wysłać im swój klucz publiczny. Przede wszystkim należy go wyodrębnić z własnego pliku klucza publicznego:

pgp -kx plik identyfikatora [plik klucza]

Na przykład: „pgp -kx alex mykey” wyodrębnia klucz publiczny identyfikowany przez podciąg „alex” w pliku mykey.

Wygenerowany plik mykey.pgp nie będzie w formacie ASCII. Jeśli jednak zajdzie potrzeba utworzenia pliku klucza w formacie ASCII w celu przesłania go np. e-mailem lub dodania dodatkowych informacji do bazy danych, konieczne będzie skorzystanie z polecenia:

pgp -kxa plik identyfikatora [plik klucza]

Na przykład: „pgp -kxa alex mykey” wyodrębnia klucz publiczny identyfikowany przez podciąg „alex” do pliku „mykey.asc”.

Wraz z kluczem podświetlone są także wszystkie certyfikaty, które go potwierdzają.

Aby wyświetlić klucze zawarte w pliku, wpisz polecenie:

pgp -kv [identyfikator] [plik klucza]

Ponownie zauważ, że domyślnym plikiem jest pubring.pgp. Jeśli identyfikator nie zostanie podany jawnie, pokazane zostaną wszystkie klucze z pliku. Aby wyświetlić wszystkie certyfikaty dla każdego klucza, należy wpisać:

pgp -kvv [identyfikator] [pierścień]

Szyfrowanie wiadomości

Spróbujmy teraz zaszyfrować plik. Można to zrobić za pomocą polecenia:

pgp -e identyfikator pliku

To polecenie tworzy plik o nazwie file.pgp zawierający oryginalny plik, zaszyfrowany w taki sposób, że tylko odbiorca może go odszyfrować przy użyciu swojego klucza prywatnego.

Pamiętaj, że wygenerowany plik nie jest plikiem ASCII, dlatego aby wysłać go e-mailem, konieczne może być dodanie kolejnej opcji -a, która zapewni, że zakodowany plik wyjściowy będzie w formacie ASCII, na przykład:

pgp -ea identyfikator pliku

Kodowanie wiadomości dla wielu odbiorców

Załóżmy, że chcesz zaszyfrować i wysłać list do kilku odbiorców. W tym przypadku zrobimy to:

pgp -ea plik id1 id2 id3

Jak wiadomość jest podpisana

Podpisanie dokumentu pozwala odbiorcy sprawdzić, czy tekst faktycznie został napisany przez nadawcę i czy wiadomość nie została zmieniona. Aby podpisać dokument, musisz użyć klucza prywatnego:

pgp -s identyfikator pliku

Jeśli w naszym secring.pgp mamy wiele kluczy prywatnych, możemy wybrać jeden z nich za pomocą identyfikatora. To polecenie tworzy plik, który nie jest tekstem ASCII, ponieważ PGP próbuje skompresować plik. Jeśli natomiast chcesz podpisać plik, pozostawiając tekst czytelny i z podpisem na końcu, to procedura będzie wyglądać następująco:

plik pgp -sta

To ostatnie polecenie jest bardzo przydatne podczas podpisywania wiadomości e-mail, które można dalej czytać bez użycia protokołu PGP. Również taką wiadomość będą mogli przeczytać ci, którzy nie muszą sprawdzać podpisu.

Alternatywnie możesz podpisać dokument, a następnie zaszyfrować go za pomocą następującego polecenia:

pgp -es plik identyfikator_odbiorcy mój_id

Do zakodowania pliku używany jest klucz publiczny, identyfikowany przez podciąg „identyfikator_odbiorcy”, więc tylko ten klucz może zdekodować plik. Następnie identyfikujemy klucz prywatny ciągiem „my_id”, ponieważ w naszym zestawie jest kilka kluczy. Nawet w tym przypadku możliwe jest utworzenie pliku w formacie ASCII przy użyciu opcji -a.

Rozszyfrowanie

Aby odszyfrować plik i/lub zweryfikować jego podpis, użyj polecenia:

pgp plik_wejściowy [-o plik_wyjściowy]

Domyślnie przyjmuje się, że plik wejściowy ma rozszerzenie .pgp. Nazwa pliku wynikająca z dekodowania jest parametrem opcjonalnym. Jeśli nie określono żadnego pliku wyjściowego, odszyfrowany plik zostanie zapisany w pliku plik_wejściowy bez rozszerzenia .pgp.

Możesz także po prostu wyświetlić odszyfrowany plik bez zapisywania.

Kontynuując temat:
Komputer

Chcesz nagrać rozmowę telefoniczną za pośrednictwem? Być może przeprowadzasz z kimś rozmowę kwalifikacyjną i chcesz nagrać całą rozmowę, a może Twoja praca polega na wykonywaniu rozmów telefonicznych i...