E nter.net  


Szyfrujemy nasze dane
Dariusz Ha│as


W poprzednim numerze wspomina│em o najpopularniejszym programie s│u┐▒cym utajnianiu i uwierzytelnianiu informacji w Internecie. PGP autorstwa Phila Zimmermanna to program, kt≤rego mo┐e u┐ywaµ ka┐dy. DziΩki temu kryptografia trafi│a "pod strzechy". W tym tek╢cie pos│u┐Ω siΩ wersj▒ 5.0 freeware (darmow▒) dla Windows 95. Program ten jest dostΩpny na p│ytce CD do│▒czonej do niniejszego numeru lub w Internecie pod adresem: pipeta.chemia.pk.edu.pl/pub/replay/pgp/pgp50/win/PGP50Freeware.exe.
Instalacja programu nie powinna sprawiµ k│opot≤w. Warto zwr≤ciµ uwagΩ na fakt, ┐e wersja 5.0 freeware dysponuje wbudowanymi wtyczkami (plug-in) do dw≤ch program≤w pocztowych: Eudora oraz MS Exchange/Outlook. Je┐eli korzystamy z innego programu pocztowego (np. Netscape Mail lub Pegasus Mail), mo┐na darowaµ sobie instalacjΩ tych sk│adnik≤w. Na zako±czenie program instalacyjny proponuje u┐ytkownikowi automatyczne uruchomienie kreatora kluczy (Key Generation Wizard). Procedura tworzenia nowych kluczy jest prosta dziΩki temu, ┐e kreator prowadzi nas krok po kroku a┐ do osi▒gniΩcia ostatecznego rezultatu. Po stworzeniu kluczy uruchomi siΩ ich mened┐er (PGPKeys), gdzie na wy╢wietlonej li╢cie powinny znajdowaµ siΩ dopiero co wygenerowane klucze. Po zamkniΩciu PGPKeys program zachΩci do stworzenia kopii zapasowej kluczy, kt≤r▒ nale┐y wykonaµ na innym dysku lub dyskietce.

Uruchamianie PGP


PGP jest dostΩpny na trzy sposoby:
a) przez klikniΩcie ikony PGPtray umieszczonej na pasku zada± Windows 95.
b) za po╢rednictwem kontekstowego menu uzyskiwanego poprzez klikniΩcie prawego przycisku myszy na dowolnym pliku (nie folderze) w Windows 95. úatwo zauwa┐yµ, ┐e pojawi│a siΩ nowa opcja "PGP", dziΩki kt≤rej mamy dostΩp do podstawowych funkcji programu, tj. szyfrowania i sygnowania (podpisywania) w przypadku, gdy operujemy na pliku nie zaszyfrowanym lub weryfikacji i deszyfracji w przypadku pliku zaszyfrowanego;
c) trzeci spos≤b umo┐liwia dostΩp do opcji PGP za pomoc▒ wtyczek (plug-in) do program≤w pocztowych. Wersja 5.0 freeware zawiera wtyczki (plug-in) do dw≤ch popularnych program≤w pocztowych - Eudora oraz MS Exchange/Outlook. Jednak ten spos≤b pominΩ, gdy┐ wielu u┐ytkownik≤w stosuje inne programy pocztowe. Ponadto u┐ytkownik ma dostΩp do mened┐era kluczy (PGPKeys) za po╢rednictwem menu Start (folder Programs, podfolder Pretty Good Privacy, ikona PGPKeys).

Rozsy│anie kluczy


Pierwsz▒ operacj▒ po utworzeniu w│asnego zestawu kluczy powinno byµ rozes│anie klucza publicznego do korespondent≤w. PGP umo┐liwia przes│anie w│asnego klucza publicznego na trzy sposoby. Najprostszym sposobem dostarczenia klucza korespondentom jest wys│anie go poczt▒ elektroniczn▒.
1. Otwieramy mened┐era kluczy za pomoc▒ menu Start (folder Programs, podfolder Pretty Good Privacy, ikona PGPKeys) lub poprzez klikniΩcie ikony PGPTray (umieszczonej na pasku zada±) i wybranie z wy╢wietlonego menu opcji "Launch PGPKeys".
2. Aby umie╢ciµ w│asny klucz publiczny w li╢cie, wystarczy przeci▒gn▒µ go myszk▒ z okna mened┐era kluczy (PGPKeys) do okna programu pocztowego. Mo┐na te┐ wybrany klucz skopiowaµ do schowka, a nastΩpnie wstawiµ go do listu poleceniem Wklej (Paste).
3. Tak przygotowan▒ wiadomo╢µ wysy│amy do wybranego adresata. Nie ma znaczenia, czy klucz bΩdzie do│▒czony do listu jako czΩ╢µ jego tre╢ci, czy te┐ jako za│▒cznik (attachment). Inny spos≤b, w jaki mo┐emy zaopatrzyµ korespondenta w nasz klucz publiczny jest wrΩcz trywialny. Wystarczy nagraµ przygotowany uprzednio plik klucza na dyskietkΩ i dostarczyµ wybranemu adresatowi. Jak przygotowaµ taki plik? Wystarczy przeci▒gn▒µ wybrany klucz z listy kluczy wy╢wietlonej w PGPKeys na ikonΩ dyskietki i gotowe.

PGP 5.0
Rys. 1. Wys│anie klucza do serwera kluczy publicznych staje siΩ proste dziΩki nowej obs│udze kluczy w PGP 5.0
Jest jeszcze inna metoda. W ramce "Serwery kluczy publicznych" podano kilka adres≤w umo┐liwiaj▒cych przes│anie klucza za pomoc▒ poczty elektronicznej, b▒d╝ te┐ za pomoc▒ formularza umieszczonego na stronie WWW. Umieszczenie klucza publicznego na serwerze kluczy za po╢rednictwem formularza zamieszczonego na stronie WWW jest wzglΩdnie proste i w wiΩkszo╢ci przypadk≤w postΩpuje siΩ tak samo. Jedno z p≤l takiego formularza jest przeznaczone na klucz, kt≤ry nale┐y wstawiµ za pomoc▒ procedury kopiuj-wklej. W przypadku gdy chcemy wys│aµ do serwera klucz publiczny poczt▒, postΩpujemy podobnie jak w przypadku przesy│ania wiadomo╢ci do jakiegokolwiek u┐ytkownika. Tak wiΩc w polu "Do:" (ang. "To:") wpisujemy adres wybranego serwera np. "pgp-public-keys@keys.pgp.net". W polu "Temat:" (ang. "Subject:") nale┐y wpisaµ "add" (z ang. dodaj), za╢ sam klucz wstawiamy za pomoc▒ dzia│a± kopiuj-wklej w tre╢µ listu. Po wykonaniu tych dzia│a± tre╢ci▒ listu powinien byµ blok r≤┐nych znak≤w umieszczony pomiΩdzy sekwencjami: "--BEGIN PGP PUBLIC KEY BLOCK--" i "--END PGP PUBLIC KEY BLOCK--"
PGP w wersji 5.0 umo┐liwia jeszcze jeden spos≤b wys│ania klucza publicznego. Byµ mo┐e dociekliwi u┐ytkownicy dostrzegli w menu Keys (w programie PGPKeys) opcjΩ Keyserver. Opcja ta pozwala wys│aµ wybrany klucz do serwera, pobraµ inny lub szukaµ nowego klucza. Serwer w PGPKeys mo┐na zdefiniowaµ za pomoc▒ opcji Preferences z menu Edit. Wybranie tej opcji otwiera okno PGP Preferences, gdzie ustawienia serwera kluczy s▒ umieszczone pod zak│adk▒ KeyServer (rys. 1). Domy╢lnie ustawiony jest serwer pgpkeys.mit.edu, lecz, niestety, nie dzia│a on prawid│owo (przynajmniej taki stan utrzymywa│ siΩ podczas pisania tego tekstu). Dlatego te┐ proponujΩ zmianΩ adresu serwera na: keys.pgp.dk. Numer portu (domy╢lnie - 11371) nale┐y pozostawiµ bez zmian. Teraz mo┐na ju┐ wys│aµ w│asny klucz.
Dokonujemy tego poprzez zaznaczenie tego┐ klucza, a nastΩpnie wybranie z menu Keys opcji Keyserver i Send Selected Keys. Ca│a operacja przebiega automatycznie, na zako±czenie okno dialogowe informuje u┐ytkownika o pomy╢lnym wys│aniu klucza. Ju┐ wiemy jak udostΩpniµ nasz klucz innym. Lecz aby m≤c wysy│aµ zaszyfrowane wiadomo╢ci, niezbΩdne jest posiadanie klucza publicznego adresata.

Pozyskiwanie kluczy


Uzyskanie klucza publicznego potencjalnego adresata mo┐liwe jest na kilka sposob≤w. Najpro╢ciej poprosiµ korespondenta, aby przes│a│ sw≤j klucz poczt▒. Nasz korespondent mo┐e te┐ dostarczyµ nam klucz na dyskietce. Gdy dostarczony klucz zawarty jest w tre╢ci listu, zaznaczamy go (od linii: "- -BEGIN PGP..." do "--END PGP..." w│▒cznie), a nastΩpnie kopiujemy do schowka. Teraz za pomoc▒ polecenia "Paste" z menu "Edit" w mened┐erze kluczy (PGPKeys) wstawiamy skopiowany klucz. Je┐eli operacja przebieg│a prawid│owo, powinni╢my zobaczyµ nowy klucz na li╢cie. Podobnie postΩpujemy gdy, dostarczono nam klucz w postaci pliku (na dyskietce lub w za│▒czniku listu).
W przypadku, gdy chcemy uzyskaµ nowy klucz z pocztowego serwera kluczy wysy│amy pod adresem wybranego serwera list z odpowiednim tematem (subject). Pole temat w oknie listu funkcjonuje jak polecenie dla serwera kluczy. ListΩ polece± (temat≤w) akceptowanych przez serwery kluczy publicznych przedstawia ramka "Polecenia dla serwera kluczy publicznych". Je┐eli znamy identyfikator u┐ytkownika, kt≤rego klucz chcemy pobraµ z serwera wystarczy, ┐e wy╢lemy pod adres serwera list z tematem "GET identyfikator_u┐ytkownika". Po pewnym czasie powinni╢my otrzymaµ odpowied╝. Uwaga! Nie polecam stosowania tematu "GET", pozwalaj▒cego uzyskaµ wszystkie klucze z danego serwera, gdy┐ mo┐e to byµ zbyt wielkie obci▒┐enie dla skrzynki pocztowej. Zamiast tego warto siΩ upewniµ jakie klucze zawiera serwer, wysy│aj▒c list z tematem INDEX. Gdy chcemy pobraµ klucz ze strony WWW danego serwera najczΩ╢ciej, wystarczy podanie w formularzu (znajduj▒cym siΩ na tej┐e stronie) nazwy u┐ytkownika - w│a╢ciciela poszukiwanego przez nas klucza.

Zarz▒dzanie kluczami


PGP 5.0 przechowuje klucze w dw≤ch plikach zwanych k≤│kami kluczy (Key Ring). Klucze publiczne s▒ przechowywane w pliku "pubring.pkr", za╢ klucz/e prywatny/e - w pliku "secring.pkr". Domy╢lnie pliki te przechowywane s▒ w folderze, do kt≤rego zosta│ zainstalowany PGP.
fingerprint
Rys. 2. Odcisk palca "fingerprint" pozwala stwierdziµ, czy dany klucz jest w│a╢ciwy
Istotnym aspektem bezpiecze±stwa kluczy jest ich certyfikacja. Za│≤┐my, ┐e pobrali╢my z serwera klucz publiczny u┐ytkownika "Jan Kowalski" posiadaj▒cego adres pocztowy "jankowal@nigdzie.pl". Jak▒ mamy gwarancjΩ, ┐e pobrany klucz publiczny nale┐y naprawdΩ do poszukiwanego korespondenta. Przecie┐ zar≤wno nazwisko (czy te┐ pseudonim) oraz adres e-mail jest podawany w trakcie tworzenia nowego zestawu kluczy. Nic wiΩc nie stoi na przeszkodzie, aby inny u┐ytkownik wygenerowa│ dla siebie zestaw kluczy o identyfikatorze Jan Kowalski #jankowal@nigdzie.pl#. Skutki mog▒ byµ │atwe do przewidzenia. Odbiorca naszych list≤w (≤w Jan Kowalski) bΩdzie otrzymywa│ listy zaszyfrowane za pomoc▒ fa│szywego klucza publicznego, w zwi▒zku z czym nie bΩdzie w stanie ich przeczytaµ, w przeciwie±stwie do fa│szerza (je┐eli ten przechwyci nasze wiadomo╢ci). Mo┐na temu zaradziµ. Ka┐dy klucz znajduj▒cy siΩ w k≤│ku kluczy (inaczej: wy╢wietlony na li╢cie w mened┐erze kluczy - PGPKeys) ma w│asny "odcisk palca" (Fingerprint). Jest to ci▒g liczb wy╢wietlonych w postaci heksadecymalnej. Warto╢µ tΩ mo┐na podejrzeµ, zaznaczaj▒c klucz z listy, a nastΩpnie wybieraj▒c z menu "Keys" opcjΩ "Key Properties" (rys. 2). Odcisku tego mo┐na u┐yµ do weryfikacji klucza porozumiewaj▒c siΩ z domniemanym (prawdziwym) w│a╢cicielem, np. telefonicznie. Gdy uzyskamy pewno╢µ, ┐e posiadany przez nas klucz publiczny konkretnego korespondenta jest pewny, mo┐emy przej╢µ do jego certyfikowania.
Certyfikacja klucza
Rys. 3. Certyfikacja klucza wymaga wpisania tekstu u┐ytego podczas tworzenia kluczy
Certyfikacja to nic innego jak podpisywanie cudzego klucza w│asnym. Aby to wykonaµ wystarczy zaznaczyµ klucz na li╢cie, a nastΩpnie wybraµ z menu "Keys" opcjΩ "Sign". Pojawi siΩ okno dialogowe, w kt≤rym program pyta u┐ytkownika, czy chce certyfikowaµ wybrany klucz. Po wybraniu odpowiedzi twierdz▒cej kolejne okno wymaga wpisania tekstu u┐ytego podczas tworzenia w│asnego zestawu kluczy, tzw. Passphrase (rys. 3). úatwo zauwa┐yµ, ┐e pasek znajduj▒cy siΩ w kolumnie "Validity" (wa┐no╢µ) zmieni│ barwΩ.
W ten spos≤b program zaznacza klucz jako wa┐ny, czyli nale┐▒cy do osoby, kt≤r▒ reprezentuje. Ponadto dla ka┐dego wa┐nego, czyli certyfikowanego klucza PGP umo┐liwia ustawienie trzech "stopni zaufania". Mo┐na je ustawiµ wybieraj▒c opcjΩ "Key Properties", a nastΩpnie operuj▒c suwakiem znajduj▒cym siΩ pomiΩdzy warto╢ciami "Untrusted" (w▒tpliwy) a "Trusted" (zaufany).

Szyfrowanie i deszyfracja


Sposob≤w szyfrowania i rozszyfrowania list≤w za pomoc▒ PGP 5.0 jest kilka. Jednak postanowi│em ograniczyµ siΩ tylko do jednej prostej i zarazem najbardziej uniwersalnej metody u┐ywaj▒cej schowka Windows 95. Gdy chcemy zaszyfrowaµ wiadomo╢µ, postΩpujemy w spos≤b nastΩpuj▒cy:
Wyb≤r klucza
Rys. 4. Wyb≤r klucza adresata to operacja prosta i │atwa

  • Po napisaniu listu zaznaczamy jego tre╢µ, a nastΩpnie kopiujemy do schowka.
  • Z menu dostΩpnego po klikniΩciu ikony PGPTray (na pasku zada±) wybieramy opcjΩ "Encrypt Clipboard".
  • Z wy╢wietlonego okna nale┐y wybraµ klucz adresata, do kt≤rego kierujemy szyfrowan▒ wiadomo╢µ. Wybrany klucz przeci▒gamy myszk▒ do pola "Recipients" (rys. 4). Dwukrotne klikniΩcie na zaznaczonym kluczu daje taki sam efekt. Klikamy "OK".
  • Wstawiamy zaszyfrowany list ze schowka do okna nowej wiadomo╢ci w u┐ywanym programie pocztowym.
  • Wystarczy dopisaµ adres odbiorcy, temat listu i mo┐na wysy│aµ.

Procedura rozszyfrowywania otrzymanych list≤w r≤wnie┐ nie jest skomplikowana. Tre╢µ zaszyfrowanego listu zawarta jest w bloku tekstowym ograniczonym sekwencjami: "--BEGIN PGP MESSAGE-- " oraz "--END PGP MESSAGE--" .

  • Zaznaczamy zaszyfrowany tekst (│▒cznie z wymienionymi wy┐ej sekwencjami) i kopiujemy do schowka (CTRL-C).
  • Z menu PGPTray wybieramy opcjΩ "Decrypt/Verify Clipboard". Pojawi siΩ okno dialogowe, w kt≤rym wpisuje- my tekst u┐yty do stworzenia w│asnego zestawu kluczy (Passphrase).
  • Kolejne okno informuje o sukcesie deszyfracji oraz poz-wala na przeczytanie tre╢ci listu przy u┐yciu podgl▒du schowka "View With Clipboard Editor" lub Notatnika Windows 95 - opcja "View With External Viewer".

Podpisywanie (sygnowanie)


Ka┐d▒ wiadomo╢µ mo┐emy opatrzyµ podpisem tworzonym na podstawie w│asnego klucza prywatnego. DziΩki temu czytaj▒cy nasz list ma pewno╢µ, ┐e pochodzi on od nas oraz, ┐e tre╢µ listu nie zosta│a zmodyfikowana przez osoby trzecie. Podpisywanie listu odbywa siΩ w ten sam spos≤b, co jego szyfrowanie. Jedyn▒ r≤┐nic▒ jest to, ┐e po skopiowaniu tre╢ci listu do schowka zamiast opcji "Encrypt Clipboard" nale┐y u┐yµ "Sign Clipboard". Program poprosi o wprowadzenie has│a (Passphrase) i gotowe. W przypadku sprawdzania (weryfikacji) cudzej sygnatury postΩpujemy praktycznie identycznie, jak podczas rozszyfrowywania listu. PGP pozwala na po│▒czenie operacji szyfrowania i podpisywania list≤w dziΩki opcji "Encrypt And Sign Clipboard". R≤wnie┐ i w tym przypadku spos≤b postΩpowania jest taki sam, jak opisana wy┐ej procedura szyfrowania.

Polecenia dla serwera kluczy publicznych


ADD - dodaje nowy klucz do zbioru serwera
INDEX - zwraca listΩ wszystkich kluczy zgromadzonych na serwerze
GET - zwraca wszystkie klucze zgromadzone na serwerze
GET identyfikator_u┐ytkownika - zwraca klucz wybranego u┐ytkownika
MGET maska - zwraca klucz/e pasuj▒ce do maski. Maska musi mieµ minimum dwa znaki.
LAST liczba - zwraca klucze przes│ane do serwera w ci▒gu ostatnich "liczba" dni.

Serwery kluczy publicznych


Pocztowe

pgp-public-keys@keys.pgp.net
pgp-public-keys@mimuw.edu.pl
pgp-public-keys@kr.com
pgp-public-keys@pgp.iastate.edu
pgp-public-keys@pgp.mit.edu
pgp-public-keys@pgp.ai.mit.edu
pgp-public-keys@burn.ucsd.edu
pgp-public-keys@demon.co.uk
pgp-public-keys@pgp.ox.ac.uk
pgp-public-keys@kub.nl
pgp-public-keys@fbihh.informatik.uni-hamburg.de
pgp-public-keys@ext221.sra.co.jp
pgp-public-keys@sw.oz.au
pgp-public-keys@kiae.su
pgp-public-keys@dsi.unimit.it

WWW

www.pgp.com/keyserver/pks-toplev.cgi
pgp5.ai.mit.edu/
www.man.lodz.pl./uslugi/pks-command.html
goliat.upc.es/~alvar/pks/pks-toplev.html
www.cl.cam.ac.uk/PGP/#pks
www.service.uit.no/pgp/servruit.eng.html
www.nic.surfnet.nl/pgp/pks-toplev.html
math-www.uni-paderborn.de/pgp/

Serwer obs│uguj▒cy nowe funkcje PGP 5.0
keys.pgp.dk

(c) Copyright LUPUS