----------------------------------------------------------------------------
Podrcznik PGP(tm), cz pierwsza: "Podstawy obsugi"

Polskie znaki: ISO-8859/2 (ISO-Latin/2) w oryginalnej dystrybucji

Ta wersja podrcznika zostaa napisana dla PGP 2.6.2i, ale jest ona rwnie
odpowiednia dla wersji 2.6.3. Opis rnic midzy PGP 2.6.2 i 2.6.3 znajdziesz
w pliku "czytaj.263".
----------------------------------------------------------------------------


                          Phil's Pretty Good Software
                                  przedstawia




                                    =======
                                    PGP(tm)
                                    =======

                            Pretty Good(tm) Privacy

                                     czyli

                         kryptografia publiczna dla mas





                         ------------------------------
                         PGP(tm) Podrcznik Uytkownika
                           Cz I: Podstawy obsugi
                         ------------------------------

                    autorstwa Philipa Zimmermanna (31.10.94)
                           tumaczenie Pawe Krawczyk
                          korekta Janusz B. Winiewski

                      PGP w wersji 2.6.2 - 30 wrzenia 94
             Program autorstwa Philipa Zimmermanna, i wielu innych

***
W skrcie: PGP(tm) jest programem zapewniajcym zaawansowan ochron
poczty elektronicznej (email) i danych przy wykorzystaniu kryptografii
z kluczem publicznym. Pozwala na bezpieczn wymian informacji z ludmi,
ktrych nie musisz zna osobicie, bez potrzeby utrzymywania specjalnych
kanaw cznoci do wymiany kluczy. PGP jest szybkie, ergonomiczne oraz
posiada bogaty zestaw funcji zarzdzania kluczami, podpisami cyfrowymi
i kompresj danych.
***

Program i dokumentacja (c) copyright 1990-1994 Philip Zimmermann.
Wszelkie prawa zastrzeone. Informacje nt. licencji, dystrybucji, praw
autorskich, patentw, znakw towarowych, zastrzee wykorzystania
i eksportu zamieszczone s w rozdziale "Kwestie prawne" drugiej czci
podrcznika. Dystrybucj PGP zajmuje si Massachusetts Institute of
Technology.

Tumaczenie dokumentacji i komunikatw PGP za zgod Autora, Philipa Zimmermana.
Polska wersja jzykowa PGP copyright 1995-96 by Pawe Krawczyk.
Zabronione jest wprowadzanie jakichkolwiek zmian w jakimkolwiek pliku nalecym
do polskiej wersji PGP bez pisemnej zgody autora. Jedyn dopuszczaln
(i wskazan) zmian jest konwersja standardw polskich znakw. Zabroniona jest
sprzeda pakietu i nalecych do niego plikw bez zgody autora przekadu.

Motto:
"Mao znaczy wszystko co robisz, ale bardzo wane jest by to zrobi w ogle"
                                                Mahatma Gandhi

Spis treci
===========
Przedmowa do wersji polskiej
Wstp
Po co mi PGP?
Jak to dziaa?
Instalacja
Uytkowanie
   cigawka podstawowych komend
   Szyfrowanie listu
   Szyfrowanie listu dla wielu odbiorcw
   Cyfrowy podpis (sygnowanie listu)
   Podpis i szyfrowanie
   Uywanie konwencjonalnej kryptografii
   Rozszyfrowywanie i sprawdzanie sygnatur
   Zarzdzanie kluczami
      Generowanie klucza RSA
      Dodawanie klucza do bazy
      Usuwanie kluczy lub identyfikatorw z bazy
      Kopiowanie klucza z bazy
      Przegldanie zawartoci bazy
      Jak chroni klucz publiczny przed sfaszowaniem?
      Jak PGP sprawdza wiarygodno kluczy?
      Jak chroni klucz tajny przed ujawnieniem?
      Uniewanianie klucza publicznego
      Co zrobi w razie utraty klucza prywatnego?
Tematy zaawansowane
   Przesyanie kryptogramw e-mailem: opakowanie ASCII
   Zmienne rodowiskowe
   Konfiguracja PGP: plik CONFIG.TXT
Sabe punkty
O zudnym poczuciu bezpieczestwa
Do uytkownikw Macintosha
Krtki przegld polece PGP
Kwestie prawne
Podzikowania
O Autorze


Przedmowa do wersji polskiej
============================

Wstp
-----

PGP jest u nas dobrze znane i uywane, jednak dla osb sabo lub w ogle
nie znajcych jzyka angielskiego powan barier moe by cakowita
anglojzyczno PGP. Rwnoczenie dla zapewnienia sobie rzeczywistego,
a nie zudnego bezpieczestwa potrzebne jest zrozumienie podstawowych zasad
dziaania tego systemu. Na nic zaawansowane technologie szyfrowania, jeli
pozwolisz by Twj klucz dosta si w niepowoane rce, lub popenisz inny,
rwnie prosty do popenienia bd.

Idea kryptografii publicznej nie jest nowa, ale dopiero PGP umoliwia jej
tak powszechne zastosowanie, "kryptografia publiczna dla mas", tak bowiem
brzmi jego podtytu. PGP jest do tego programem freeware, co znaczy e za
jego uywanie i dystrybucj prywatny uytkownik nie musi _nic_ paci.
(szczegy licencji zawarte s w zaczonych dokumentach).

Instalacja
----------

Ze wzgldw technicznych dystrybucj spolszczonej wersji prowadz
w dwch wersjach, podobnie jak prowadzona jest dystrybucja samego PGP -
w pakiecie dla DOSa i Unixw.

Szczegy instalacji polskiej wersji znajdziesz w plikach !CZYTAJ.!PL
(DOS) lub INSTALACJA (UNIX).

Uwagi do przekadu
------------------

Tumacz przyznaje, e nie jest ekspertem w sprawach matematyki dyskretnej
i kryptografii (co nie znaczy e nie ma o nich pojcia), niemniej
stara si zapewni w miar jednolite, sensowne i niezbyt sztuczne sownictwo.

Kada propozycja i uwaga bdzie mile widziana, oraz zostanie uwzgldniona
w kolejnych wydaniach, nastpujcych rwnolegle z pojawianiem si nowych
wersji PGP. Prosz pisa na adresy:

kravietz@pipeta.chemia.pk.edu.pl (email)
Pawe Krawczyk, 2:486/18.4       (FidoNet)

Osoby zainteresowane mog otrzymywa informacje o nowych wersjach, dodatkach
i innych sprawach zwizanych z PGP. Wystarczy wysa na mj adres (podany
powyej) pusty list z dopiskiem w linii Subj: "sub PGP".

Najnowsz wersj pakietu mona zawsze znale w archiwum FTP pod adresem
ftp://pipeta.chemia.pk.edu.pl/pub/pgp. Tam rwnie mona znale najnowsz
wersj PGP i innych przydatnych programw majcych zwizek z kryptografi.

Uwagi tumacza, ktry rwnie musia odwala robot redaktora, s
umieszczone w tekcie w [nawiasach z dopiskiem -PK].

Za pomoc w tumaczeniu i korekt dzikuj serdecznie Januszowi B. Winiewskiemu
(2:486/22.5@fidonet). Jego uwagi maj dopisek [-JBW].

W trakcie prac nad polskimi komunikatami nasz zesp powikszy si o kilka
osb. S to:

        Radoslaw Konrad Cetra <newartec@cksr.ac.bialystok.pl>,
        Boguslaw Chomienia <bugi@ettc.uw.bialystok.pl> i
        Kamil Iskra <iskra@student.uci.agh.edu.pl>

Radek jest rwnie autorem polskojzycznego pakietu dla Amigi, ktry jest
w przygotowaniu.

W obecnej chwili druga cz dokumentacji PGP nie jest jeszcze
dostpna, gwnie ze wzgldu na przeraajc objto ;). Mimo e co
ciekawsze rozdziay s w trakcie tumaczenia, raczej nie spodziewamy
si spolszczenia caoci. Mam nadziej e tumaczenie pierwszej -
podstawowej - czci podrcznika swj cel popularyzatorski osigno.
Osobom zainteresowanym dokadniejszym poznaniem PGP chyba starczy na tyle
wytrwaoci, by czyta drug cz po angielsku.


Wstp
=====
Pretty Good(tm) Privacy (PGP), produkt Phil's Pretty Good Software, jest
zaawansowanym systemem kryptograficznym przeznaczonym dla systemw
MSDOS, Unix, VAX/VMS i innych. PGP pozwala na wygodn wymian plikw lub
listw z zapewnieniem prywatnoci i wiarygodnoci. Prywatno w tym przypadku
oznacza, e przeczyta dany list bd mogy tylko osoby dla ktrych bdzie on
przeznaczony. Wiarygodno autorstwa listu gwarantuj techniki "podpisu
cyfrowego".

Wygoda uywania PGP to brak utrudnie wystpujcych przy pracy
z konwencjonalnym oprogramowaniem kryptograficznym, zwizanych z zarzdzaniem
kluczami. Do wymiany kluczy nie nie s wymagane specjalne, bezpieczne kanay
cznoci. Dzieje si tak dziki wykorzystaniu w PGP nowej i potnej
technologii zwanej kryptografi publiczn.

PGP czy wygod systemu publicznego Rivest-Shamir-Adleman (RSA) z szybkoci
tradycyjnej kryptografii, mechanizmami autoryzacji tekstw (podpisu cyfrowego),
kompresj danych przed szyfrowaniem, ergonomicznym wykonaniem i wreszcie
zaawansowan filozofi zarzdzania kluczami. Co wicej, PGP przeprowadza
wszystkie te operacje szybciej ni wikszo innych implementacji tego
typu. PGP jest systemem dla wszystkich.

PGP nie posiada funkcji komunikacji modemowej itp. Do tego celu musisz
uywa odrbnych programw. [PGP jako takie nie jest rwnie programem
do obsugi poczty elektronicznej; za to wiele takich programw przewiduje
moliwo jego podczenia, np. GoldED, elm-pgp; istnieje rwnie specjalny
interfejs dla programw pracujcych w Windows (Eudora, Pegasus) zwany Private
Idaho -PK]

Pierwsza cz podrcznika PGP pt. "Podstawy obsugi", omawia pokrtce gwne
opcje; powinien zapozna si z ni kady uytkownik.

W czci II pt. "Tematy szczegowe" opisane s dokadnie wszystkie oferowane
przez PGP funkcje i zastosowania. Przeznaczona jest przede wszystkim dla osb
pragncych szerzej pozna i wykorzysta PGP. Opis techniczny zastosowanych
algorytmw i formatw danych jest zawarty w odrbnym dokumencie.


Po co mi PGP?
=============
PGP jest prywatne. PGP jest osobiste. Nie jest czci adnej inwestycji
ani kampanii, naley tylko do Ciebie. Moesz prowadzi kampani polityczn,
krytykowa podatki, uprawia seks pozamaeski lub robi co, co jest
niezgodne z prawem (pomimo e w Twoim odczuciu niesusznie). Cokolwiek by to
byo, na pewno nie chciaby, by Twoja prywatna poczta elektroniczna bya
czytana przez kogo innego. Nie ma nic zego w zapewnianiu sobie prywatnoci.
Prywatno jest jedn z podstawowych zasad Konstytucji.

By moe sdzisz, e skoro Twj e-mail jest cakiem legalny, to nie ma
potrzeby stosowania kryptografii. Ale nawet jeli jeste przestrzegajcym
prawa obywatelem, to dlaczego wkadasz list do koperty przed wysaniem,
a nie piszesz na kartkach pocztowych? Dlaczego nie zgadzasz si na
regularne testy na zawarto narkotykw w organizmie? [na razie jest to
paranoja dotyczca tylko czci amerykaskich pracownikw -PK]
Dlaczego waciwie wymagasz od policji nakazu rewizji, zanim przeszuka
Twoje mieszkanie? Czyby co ukrywa? Czy tylko wywrotowcy i handlarze
narkotykw wkadaj listy do kopert? Czy te paranoicy, trapieni mani
przeladowcz. Czy praworzdny obywatel ma jakiekolwiek uzasadnienie dla
szyfrowania swojej poczty elektronicznej?

Wyobramy sobie spoeczestwo, w ktrym wszyscy prawowici obywatele
pisaliby listy na kartkach pocztowych. Gdyby jaki odwany "dziwak"
prbowa zapewni sobie prywatno przy pomocy koperty, na pewno
wzbudzioby to podejrzenia. By moe nawet wadze posuny by si do
otwarcia koperty, w celu zbadania co te mia w czowiek do ukrycia.
Na szczcie, nie zyjemy w takim spoeczestwie, i przesyanie listw
w kopertach jest rzecz normaln. Analogicznie, nie powinno wzbudza
niczyich podejrze przesyanie e-mailu, legalnego czy nie, pod oson
szyfru. Myl o tym, jak o formie solidarnoci spoecznej.

W obecnych czasach rzd chcc mie wgld w prywatne sprawy zwykych
obywateli, musi ponie pewne wydatki, na przykad na czajniki do
otwierania listw nad par, podsuch rozmw telefonicznych oraz
zbieranie i segregacj uzyskanych tak informacji. Te tradycyjne metody
kontroli informacji nie opacaj si na wiksz skal..
Jednak obecnie poczta elektroniczna w znaczcym stopniu zastpuje
tradycyjne metody komunikacji. Rwnoczenie jest ona niezwykle atwa do
kontrolowania - e-mail mona przeglda w skali masowej cakiem automatycznie,
i w sposb niewidoczny dla adresata wynajdywa interesujcyce sowa
kluczowe. Nie jest to pie przyszoci - ju obecnie midzynarodowa
wymiana poczty jest kontrolowana przez NSA [National Security Agency,
amerykaski odpowiednik naszego UOP -PK].

Zmierzamy szybko w stron przyszoci, w ktrej cae spoeczestwo bdzie
poczone pajczyn szybkich, wiatowodowych sieci komputerowych.
E-mail bdzie czym tak oczywistym, jak dzisiaj pocztwka czy telefon.
Wadze bd chroni nasze informacje szyframi najwyszej jakoci,
zaprojektowanymi przez pastwowych specjalistw. Wikszoci bdzie
to odpowiada. Ale z pewnoci dua grupa ludzi bdzi wolaa chroni
swoje dane na wasn rk.

Projekt ustawy o zapobieganiu przestpczoi z roku 1991 zawiera jeden
element, ktry moe by znaczcym krokiem w kierunku naruszania prywatnoci.
Jeli staby si on prawomocnym, zmusiby wszystkich wytwrcw sprztu
i oprogramowania szyfrujcego do umieszczania w swoich wyrobach "pluskiew",
ktre pozwoliy by na rozszyfrowanie wiadomoci przez "uprawnione
osoby" w "uzasadnionych przypadkach". Projekt ten zosta zarzucony po
zdecydowanych protestach ze strony spoeczestwa i k przemysowych.

Z kolei w roku 1992 FBI przedstawia Kongresowi Stanw Zjednoczonych
projekt ustawy o podsuchu w telefonii cyfrowej [ktra zdobywa coraz
wiksz popularno, np. jako ISDN -PK].  Wedug projektu, kady nowy
telefon, faks czy modem pracujcy na czach cyfrowych musiaby posiada
wbudowane odpowiednie wyjcia, umoliwiajce zdalny podsuch agentom
FBI. Mimo e projekt ten nie uzyska akceptacji w Kongresie, zosta
ponownie przedstawiony dwa lata poniej.

Najbardziej alarmujcy jest fakt przyjcia przez Biay Dom nowej ustawy,
przedstawionej przez NSA 16 kwietnia 1993 roku. Jej "bohaterem" jest
ukad scalony o nazwie "Clipper", implementujcy nowy, cile tajny algorytm
szyfrowania zaprojektowany przez NSA. Rzd, zachcajc producentw sprztu
komunikacyjnego do uywania Clippera w ich urzdzeniach, bdzie rwnoczenie
posiada kopi kadego unikalnego klucza szyfrujcego dane. Mimo to, nie ma
si czego ba, wadze zapewniaj e prywatne dane bd czytane tylko wtedy,
gdy bdzie to potrzebne. Jednak nastpnym logicznym krokiem do zapewnienia
cakowitej skutecznoi idei Clippera byaby delegalizacja innych form
kryptografii!

Jeli kryptografia byaby przestpstwem, to tylko przestpcy mieliby zapewnion
prawdziw prywatno, bo o ile agencje wywiadowcze dysponuj doskonaymi
technologiami kryptograficznymi, to dysponuj nimi rwnie wielcy handlarze
broni czy narkotykami, tak samo jak i wielkie, legalne korporacje. Normalni
obywatele i organizacje polityczne zwykle nie mog sobie pozwoli na
zaawansowane technologie szyfrowania. A raczej nie mogli - do niedawna...

PGP oddaje prawo do prywatnoci, nalene kademu czowiekowi, w jego wasne
rce. Czuem wzrastajce spoeczne zapotrzebowanie na nie. Dlatego te
napisaem ten program.


Jak to dziaa?
==============
Doskonale si skada, jeli masz pewne podstawowe wiadomoci na temat
kryptografii, a w szczeglnoci kryptografii publicznej. Tak, czy inaczej,
poniej wyjani kilka podstawowych terminw zwizanych z kryptografi.

Przyjmijmy, e chc napisa do Ciebie list, tak by nie mg go przeczyta nikt
poza Tob. W tym celu szyfruj go, tzn. przepuszczam przez przez
tak beznadziejnie skomplikowany, ale dziaajcy wedug okrelonego
KLUCZA algorytm, by nie posiadajc _tego samego_ klucza, nie mona byo
doprowadzi listu do pierwotnej postaci (rozszyfrowa). Tak przynajmniej
dziaa konwencjonalna kryptografia "z jednym kluczem".

W konwencjonalnych systemach kryptograficznych, jak np. DES [uyw. np.
w Norton DISKREET -PK] ten sam klucz jest uywany i do szyfrowania,
i od deszyfrowania. Oznacza to, e klucz ten musi byc dostarczony do
adresata sposb, wykluczajcy ujawnienie osobom trzecim. Jest w tej metodzie
pewna niekonsekwencja - po co w takim razie szyfr, skoro i tak musi znale
si sposb na bezpieczne przekazanie klucza?

W systemach kryptografii publicznej, kady z uytkownikw posiada _dwa_
klucze - publiczny, udostpniany wszystkim, i prywatny (tajny), przechowywany
pieczoowicie tylko przez waciciela. Na podstawie znajomoci klucza
publicznego, nie mona odtworzy klucz prywatnego, i na odwrt.
Taki ukad wyklucza niebezpieczestwo przesyania przez publiczne sieci
komputerowe przesyania jakichkolwiek danych, umoliwiajcych dostp do
listu osobom niepowoanym.

Klucz publiczny suy do szyfrowania wiadomoci, ktra jednak moe by
rozszyfrowana tylko przy uyciu odpowiedniego klucza prywatnego. Klucz
publiczny i prywatny danego uytkownika stanowi unikaln par, tak e nawet
osoba szyfrujca list czyim kluczem publicznym nie moe go przeczyta.

Unikalno kluczy pozwala rwnie na autoryzacj listw. Jest to moliwe
wwczas gdy w procesie szyfrowania zostanie wykorzystany klucz prywatny,
ktry niejako "podpisuje" tekst wiadomoci. Taki cyfrowy podpis (sygnatura)
pozwala nam upewni si co do dwch rzeczy: e list pochodzi w rzeczywistoci
od tej osoby od ktrej wydaje si pochodzi, oraz e dotar do nas w formie
niezmienionej. Zmiana zawartoci listu i pniejsze uzupenienie sygnatury
nie jest moliwe.

Obydwie funkcje mog by czone: list najpierw jest podpisywany kluczem
prywatnym nadawcy, a potem szyfrowany kluczem publicznym odbiorcy.
Adresat odwraca kolejno przez rozszyfrowanie listu (swoim kluczem
prywatnym), a nastpnie sprawdzenie zgodnoci sygnatury z kluczem
publicznym domniemanego autora. Obydwa kroki s oczywicie wykonywane
automatycznie przez program.

Dla zwikszenia szybkoci dziaania do wolnego algorytmu szyfrowania
kluczem publicznym zosta zastosowany trick, ktry wykorzystuje znacznie
szybsz kryptografi konwencjonaln (z jednym kluczem). Tekst jawny
(oryginalna wiadomo) jest szyfrowany wysokiej jakoci szyfrem
konwencjonalnym, przy uyciu tworzonego losowego klucza, za kadym razem
tworzonego od nowa. Klucz ten jest szyfrowany z kolei kluczem publicznym
adresata, i doczany do kryptogramu (zaszyfrowanej wiadomoci). Odbiorca
uywa swojego klucza prywatnego do odzyskania owego "tymczasowego klucza",
ktry z kolei suy do szybkiego rozszyfrowania wiadomoci. [nawiasem
mwic, bardzo uatwia to i skraca tworzenie kryptogramw przeznaczonych
dla wielu odbiorcw -PK].

Kady klucz publiczny jest opisywany w pierwszym rzdzie identyfikatorem
uytkownika (userID) [dalej okrelanego rwnie jako "nazwa uytkownika" -PK],
skadajcym si zwykle z imienia, nazwiska i adresu emailowego.
"Metryka" klucza publicznego, czyli posta w jakiej jest on przechowywany
i przenoszony skada si z identyfikatora uytkownika, datownika okrelajcego
czas stworzenia klucza i wreszcie waciwego kodu klucza. Klucz prywatny ma tak
sam budow, z t rnic, e jest on dodatkowo zaszyfrowany hasem, chronicym
go przed ujawnieniem na wypadek dostania si w niepowoane rce.
Metryki s przechowywane s w zbiorach - bazach kluczy, oddzielnych dla kluczy
publicznych i prywatnych. Kady uykownik posiada zatem dwie bazy kluczy.

Klucz jest rwnie opisywany za pomoc identyfikatora cyfrowego
(numeru), ktry faktycznie jest jego "skrtem" (64 najmniej znaczce bity
klucza). Przy pracy wywietlane s tylko 32 bity identyfikatora.
Mimo e czsto rne klucze mog mie ten sam identyfikator uytkownika,
to w praktyce nie ma dwch kluczy o tym samym identyfikatorze cyfrowym.

Do tworzenia podpisw cyfrowych (sygnatur) PGP uywa algorytmu cyfrowego
"streszczenia" tekstu (message digest algorithm), ktry jest jego 128-mio
bitow jednokierunkow funkcj mieszajc. Jest ona analogiczna do
rozpowszechnionych sum kontrolnych i CRC, jednoznacznie odzwierciedlajcych
zawarto tekstu. W praktyce niemoliwe jest wprowadzenie do tekstu zmian
w taki sposb, by nie zmieniy one sygnatury. Sygnatura jest nastpnie
szyfrowana kluczem tajnym autora tekstu.

Dokument jest sygnowany przez dodanie na jego pocztku metryki, zawierajcej
identyfikator sygnujcego go klucza, zaszyfrowane "streszczenie" oraz datownik.
Przy sprawdzaniu poprawnoci sygnatury przez odbiorc program uywa
identyfikatora klucza do znalezienia go w bazie i stwierdzenia autorstwa.

Kady zaszyfrowany plik zawiera na pocztku identyfikator klucza publicznego
ktry zosta uyty do zaszyfrowania go. Pozwala to na odnalezienie przez
program odbiorcy odpowiedniego klucza prywatnego przy rozszyfrowaniu.
[mona oczywicie posiada wicej ni jedn par klucz prywatny/publiczny -PK]

Podsumowujc: w uyciu s dwa rodzaje kluczy - prywatne i publiczne; dla
wygody manipulacji nie s przechowywane pojedynczych plikach,  ale
w dwch bazach kluczy - publiczne w jednej i prywatne w drugiej. Moliwe jest
oczywicie kopiowanie dowolnej liczby kluczy z bazy do pliku, na przykad
w celu przesania swojego klucza publicznego przyjacielowi.

Instalacja
==========
PGP dla systemu MS-DOS jest rozprowadzane w postaci archiwum o nazwie
postaci: PGPxx.ZIP, gdzie xx jest numerem wersji (na przykad dla
wersji 2.6.2 bdzie to PGP262.ZIP). Do rozpakowania archiwum suy popularny
program PKUNZIP, lub unixowy "unzip". Archiwum zawiera szereg plikw,
z ktrych jako z pierwszym powieniene zapozna si z dokumentem
README.DOC zawierajcym najwaniejsze informacje, uzupenienia i nowoci
w aktualnej wesji PGP.

Jeli posiadasz ju starsz wersj PGP, powiniene j usun dla uniknicia
konfliktw nazw.

Instalacja PGP na Twoim komputerze ogranicza si do skopiowania archiwum
do oddzielnego katalogu na twardym dysku (np. C:\PGP) i rozpakowania go
PKUNZIPem. Zalecane jest te wprowadzenie paru dodatkw do pliku AUTOEXEC.BAT,
ale mona to zrobi pniej. Jeli instalujesz PGP po raz pierwszy,
nastpnym krokiem bdzie wygenerowanie pary kluczy - prywatnego
i publicznego - komend "pgp -kg".

Instalacja w systemach Unix i VAX/VMS wymaga dodatkowo cignicia
kodu rdowego PGP i skompilowania go lokalnym kompilatorem jzyka C.
Do archiwum zawierajcego kod rdowy PGP doczon zosta plik
"Makefile" obsugiwany przez wikszo unixowych kompilatorw.

Szczegy instalacji oraz zalecane zmiany w AUTOEXEC.BAT opisane s
w pliku SETUP.DOC,


Uytkowanie
===========
[Oto wykaz uywanych przeze mnie nazw parametrw umieszczanych w linii
polece wraz z krtkim wyjanieniem:

tekst_jawny = nazwa pliku przeznaczonego do zaszyfrowania; moe to by
              rwnie dobrze plik binarny, np. ZIP, ale nazwa bierze si
              z faktu, e na og szyfrowane s pliki tekstowe; jest ona
              zreszt zgodna z terminologi kryptograficzn

nazwa       = jakakolwiek cz identyfikatora uytkownika, pozwalajca
              jednoznacznie okreli dany klucz; zwykle bdzie to
              nazwisko waciciela klucza lub cz jego adresu emailowego

szyfrogram  = nazwa pliku zawierajcego zaszyfrowany tekst, sygnatur,
              bd klucz              -PK]


cigawka z podstawowych komend
-------------------------------
Krtk list podstawowych komend i opcji programu wywietla polecenie:

        pgp -h


Szyfrowanie listu
-----------------
Szyfrowanie tekstu kluczem publicznym adresata:

        pgp -e tekst_jawny nazwa_odbiorcy

Komenda ta generuje szyfrogram w postaci pliku o nazwie pliku zawierajcego
tekst jawny z rozszerzeniem ".pgp". Przykady:

        pgp -e list.txt Krzysztof
lub:
        pgp -e list.txt "Krzysztof S"

W pierwszym przypadku program przeszuka baz kluczy znajdujc w pliku
"pubring.pgp" w poszukiwaniu metryki, zawierajcej acuch "Krzysztof"
w polu identyfikatora uytkowanika. W drugim przypadku znajdzie metryki
zawierajce acuch "Krzysztof S". A zatem acuch zawierajcy wewntrz
spacje musi by umieszczony w cudzysowach. Mae i due litery nie s
rozrniane. Znaleziony klucz zostanie uyty do zaszyfrowania pliku,
podanego jako pierwszy parametr. [w praktyce PGP uyje do szyfrowania
tylko _pierwszego_ klucza zawierajcego podany cig znakw -PK]

Przed szyfrowaniem PGP prbuje podda plik kompresji, co w znaczcym
stopniu utrudnia zamanie oraz powoduje, e szyfrogram jest zwykle
o 1/3 mniejszy ni oryginalny plik. [w przypadku tekstw -PK]

Do przesania zaszyfrowanego listu poczt elektroniczn szyfrogram
musi by dodatkowo przekodowany na znaki ASCII (patrz poniej),
przez dodanie opcji -a.


Szyfrowanie listu dla wielu odbiorcw
-------------------------------------
Jeli chcesz, by Twj list moga przeczyta wicej ni jedna osoba,
moesz zaszyfrowa go kilkoma kluczami publicznymi. W tym celu naley
doda do linii polece identyfikatory ich wacicieli. Kady z nich
bdzie mg rozszyfrowa list:

        pgp -e list.txt Krzysztof Pawel Zenon

Program wygeneruje szyfrogram list.pgp, ktry bd mogli przeczyta
Krzysztof, Pawe i Zenon. W linii komend moesz poda dowoln liczb
odbiorcw, przy czym oczywicie musisz posiada klucz publiczny kadego
z nich.


Cyfrowy podpis (sygnowanie listu)
---------------------------------
Do skadania pod listem cyfrowego podpisu Twojego tajnego klucza suy
polecenie:

        pgp -s plik_tekstowy [-u nazwa_twojego]

Pamitaj, e argumenty umieszczone w [nawiasach] kwadratowych s opcjonalne,
i nie trzeba ich zawsze wpisywa. Nie naley rwnie wpisywa samych nawiasw.

Polecenie to generuje opatrzony sygnatur plik z rozszerzeniem ".pgp".
Na przykad:

        pgp -s list.txt -u Dowejko

Program przeszuka baz kluczy prywatnych "secring.pgp" w poszukiwaniu
klucza zawierajcego acuch "Dowejko" w polu identyfikatora uytkownika.
Jak ju wspomniano, nie s rozrniane mae i due litery.
Znaleziony klucz zostanie uyty do podpisania pliku "list.txt", dajc
w wyniku plik "list.pgp".

Jeli nie podasz opcji -u, program uyje do podpisania pliku pierwszego
klucza znalezionego w bazie kluczy prywatnych.

PGP prbuje podda podpisywany plik kompresji, dziki czemu zwykle staje
si on mniejszy, ale za to przestaje by normalnie czytelny. Taka forma
podpisywania moe by wygodna np. do celw archiwizacji danych, ale nie
w przypadku podpisywania zwykego tekstu ASCII przy wysyaniu go
emailem lub do listy dyskusyjnej. W tej sytuacji pomocn staje si
opcja CLEARSIG, ktra powoduje e PGP nie poddaje tekstu kompresji,
a sygnatura zostaje umieszczona na kocu odpowiednio ograniczonego tekstu.
Opcja CLEARSIG jest opisana szczegowo w czci II dokumentacji.
W skrcie, moemy to wyjani na przykadzie:

        pgp -sta list.txt

Spowoduje wygenerowanie pliku "list.asc" zawierajcego tekst w niezmienionej
postaci, wraz z czyteln (zakodowan w znakach ASCII) sygnatur. Plik ten
jest ju gotowy np. do wysania emailem.

Podpis i szyfrowanie
--------------------
Zoenie cyfrowego podpisu pod tekstem, a nastpnie zaszyfrowanie go
kluczem publicznym adresata:

        pgp -es tekst_jawny nazwa_odbiorcy [-u nazwa_twojego_klucza]

(argument w [nawiasach] jest opcjonalny)

Program wygeneruje plik z rozszerzeniem ".pgp". Plik wejciowy zostanie
najpierw podpisany Twoim kluczem prywatnym, a nastpnie zaszyfrowany
kluczem publicznym adresata. Program szuka klucza publicznego adresata
w bazie kluczy publicznych, posugujc si podanym identyfikatorem.
Jeli opucisz ten identyfikator to PGP poprosi o jego podanie.
Klucz prywatny jest pobierany z bazy kluczy prywatnych i opuszczenie
jego nazwy (w opcji -u) spowoduje uycie pierwszego znalezionego w bzaie
klucza.

PGP prbuje podda wejciowy plik kompresji.

Jeli plik ma by przesyany emailem, musi by przekodowany na znaki
ASCII. Naley wwczas doda opcj -a.

Moesz oczywicie zaszyfrowa podpisany list do wicej ni jednego
odbiorcy. Podaj ich identyfikatory w linii polece.


Uywanie konwencjonalnej kryptografii
-------------------------------------
Czasem potrzebne jest zaszyfrowanie czego w konwencjonalny sposb, jednym
hasem. Dzieje si tak na przykad w sytuacji, gdy chcesz zabezpieczy
plik ktry nie bdzie nigdzie wysyany, a mog mie do niego dostp osoby
niepowoane. Poniewa szyfruje i deszyfruje go ta sama osoba, uycie
kryptografii publicznej nie jest potrzebne.

Do szyfrowania pliku przy uzyciu konwencjonalnej kryptografii suy
polecenie:

        pgp -c plik

Wygeneruje zaszyfrowany plik o nazwie "plik.pgp", bez korzystania
z kluczy publicznych, identyfikatw itp. Zostaniesz natomiast poproszony
o podanie hasa, ktrym ma by zabezpieczony plik. Nie musi to by,
ani nawet nie powinno, haso ktre zabezpiecza Twj klucz prywatny.
PGP prbuje podda wejciowy plik kompresji.

Otrzymany szyfrogram nigdy nie bdzie dwa razy taki sam, nawet mimo uycia
tego samego hasa.


Rozszyfrowywanie i sprawdzanie sygnatur
---------------------------------------
Podanie jako pierwszego parametru pliku bdcego szyfrogramem lub plikiem
z sygnatur spowoduje roszyfrowanie lub sprawdzenie sygnatury:

        pgp szyfrogram [-o tekst_jawny]

(argument w [nawiasach] jest opcjonalny)

Domylnie szyfrogram posiada rozszerzenie ".pgp". Opcjonalny parametr -o
definiuje plik do ktrego zostanie zapisany wyjciowy tekst jawny.
Jeli nie zostanie on podany, tekst jawny zostanie zapisany do pliku
o tej samej nazwie, ale bez rozszerzenia [jeeli plik o danej nazwie ju
istnieje, PGP umoliwia podanie  "w biegu" nowej nazwy -JBW].
Jeli zaszyfrowany plik posiada rwnie sygnatur, zostanie ona automatycznie
sprawdzona. Wywietlony zostaje peny identyfikator sygnatora.

Wszystkie czynnoci s wykonywane cakiem automatycznie, zarwno jeli
plik jest tylko zaszyfrowany, tylko podpisany lub poddany obu procesom
naraz. PGP rwnie automatycznie odszukuje potrzebne klucze w obydwu
bazach, posugujc si do tego zawartymi w szyfrogramie identyfikatorami.
Interwencja uytkownika moe byc wymagana jedynie dla podania hasa
odblokowujcego prywatny klucz.

PGP rozpozna take przypadek, gdy plik zosta zaszyfrowany konwencjonalnie
(z opcj -c) i poprosi Ci o haso.


Zarzdzanie kluczami
====================
Od czasw Juliusza Cezara, zarzdzanie kluczami byo zawsze najtrudniejsz
czci kryptografii. Jednym z najwikszych atutw PGP jest filozofia
obsugi i weryfikacji kluczy.

Generowanie klucza RSA
----------------------
Do generowania unikalnej pary kluczy - publicznego i prywatnego suy
polecenie:

        pgp -kg

PGP pozwala wybra jeden z trzech zalecanych rozmiarw kluczy (niski poziom
komercyjny, wysoki komercyjny, "wojskowy") i prosi o podanie albo wybranego
numeru, albo podanie wasnej wielkoci klucza (w bitach), ktra w wersji 2.6.2i
moe byc dowoln liczb do 2048. Odporno klucza na kryptoanaliz ronie
wraz z jego rozmiarem, ale za to maleje prdko jego przetwarzania.

Nastpnie zostaniesz poproszony o podanie identyfikatora uytkownika klucza,
czyli Twojego imienia i nazwiska. Przyjtym standardem stao si umieszczanie
po nazwisku adresu sieciowego w <nawiasach>. Dopuszczalne s spacje i znaki
przestankowe:

        Stefan Kowalski <kowals@vijaya.edu>

Jeli nie posiadasz adresu sieciowego, moesz umieci tam numer telefonu
lub inne przydatne pozostaym uytkownikom informacje o Tobie, ktre dodatkowo
zapewni unikalno Twojego identyfikatora.

Nastpne pytanie PGP dotyczy hasa, ktre bdzie chroni Twj klucz prywatny
w przypadku gdyby dosta si w niepowoane rce. Haso nie musi skada si
z jednego sowa - moe to by cae zdanie ze spacjami, znakami przestankowymi,
cyframi itp. Nie ma metody odzyskania hasa, wic staraj si go nie zapomnie.
Nie uywaj krtkiego i prostego do zgadnicia hasa, ani nie zapisuj go
w miejscu, w ktrym mogoby by przez kogo znalezione.
Jeli nie chesz zabezpiecza klucza hasem, przyciniej ENTER.

[uywanie _bezpiecznego_ hasa jest szczeglnie wane w systemach
multipersonalnych, gdzie praktycznie kady (nie wierz administratorowi ;)
ma dostp do Twojego konta; bezpieczne, znaczy dugie, rnorodne pod
wzgldem znakowym i z niczym si nie kojarzce potencjalnemu hackerowi;
z drugiej strony, nie bardzo ma chyba sens uywania hasa w domu -PK]

Para kluczy - publiczny i prywatny - jest generowana na podstawie duych
i naprawd losowych liczb. Aby zapewni maksymaln przypadkowo wyboru
tych liczb, program poprosi Ci o wprowadzenie przypadkowego cigu znakw,
przypadkowego najlepiej zarwno pod wzgldem czstotliwoci uderze, jak
i zawartoci. Losowo wynika tutaj w pewnym stopniu z nieprzewidywalnoci
wprowadzanych przez Ciebie znakw, wic nie przyciskaj w kko tych samych
klawiszy.

Generowanie klucza RSA jest procesem wymagajcym sporej mocy obliczeniowej,
wic moe trwa stosunkowo dugo - od kilkunastu sekund dla maego klucza
na szybkim procesorze, do kilku minut dla duego klucza na PC/XT. PGP wywietla
postp generowania.

Gotowa para kluczy jest rozmieszczana w bazach - odpowiednio publicznej
i prywatnej. Uywajc komendy -kx moesz pniej zrzuci swj klucz
publiczny do pliku, na przykad w celu rozesania go znajomym. Klucza
prywatnego oczywicie nie naley nikomu dawa. Kady klucz prywatny jest
dodatkowo chroniony indywidualnym hasem (jeli zostao zaoone).

Klucz prywatny powinien by zawsze umieszczony w miejscu do ktrego nikt poza
Tob nie ma dostpu. Kady uytkownik powinien mie wasny klucz prywatny,
osobicie wygenerowany.

Jeli PGP pokazuje komunikat o niemonoci odnalezienia dokumentacji,
i w rezultacie odmawia generowania klucza, przeczytaj rozdzia o konfiguracji
opcji NOMANUAL w drugiej czci podrcznika.


Dodawanie klucza do bazy
------------------------
Klucze publiczne i prywatne rozprowadzane s w postaci baz. Czsto
zachodzi potrzeba dodania czyjego klucza do Twoich zbiorw.

Suy do tego polecenie:

        pgp -ka plik_z_kluczem [baza_kluczy]

(argument w [nawiasach] jest opcjonalny)

Domylnym rozszerzeniem pliku jest ".pgp". Domyln nazw pliku zawierajcego
baz kluczy jest "pubring.pgp" lub "secring.pgp", w zalenosi od tego czy
chodzi o baz kluczy publicznych czy prywatnych. W przypadku podania innych
nazw, domylnym rozszerzeniem jest rwnie ".pgp".

PGP przed dodaniem kluczy sprawdza obecn zawarto bazy i pomija
duplikaty.

W dalszej czci podrcznika wyjaniona jest filozofia podpisywania
kluczy sygnaturami. Naley tylko zaznaczy, e podczas dodawania klucza
do bazy przepisywane s rwnie i jego sygnatury, natomiast jeli klucz
ju w bazie si znajduje - tylko nowe sygnatury.

PGP zostao oryginalnie zaprojektowane do zarzdzanie maymi, osobistymi
bazami kluczy. Jeli masz zamiar obsugiwa naprawd du baz, przeczytaj
rozdzia "Obsuga duych baz kluczy" w drugiej czci podrcznika.


Usuwanie kluczy lub identyfikatorw z bazy
------------------------------------------
Polecenie:

        pgp -kr nazwa_uytkownika [baza_kluczy]

Powoduje przeszukanie bazy kluczy i usunicie identyfikatora lub klucza
pasujcego do podanego acucha. Domyln nazw bazy kluczy jest
"pubring.pgp". Jeli znaleziony klucz posiada wicej ni jeden identyfikator,
PGP zapyta Ci, czy chcesz usun cay klucz czy tylko wskazane identyfikatory.


Kopiowanie klucza z bazy
-------------------------
Polecenie:

        pgp -kx nazwa_uytkownika plik_z_kluczem [baza_kluczy]

Kopiuje znaleziony klucz z bazy kluczy do wskazanego pliku. Jest to
przydatne, gdy chcesz da komu konkretny klucz.

Wraz z kluczem kopiowane s wszytkie uwierzytelniajce go sygnatury.

Klucz zostanie zakodowany w znakach ASCII (do emailu) jeli uyjesz
opcji -kxa.


Przegldanie zawartoci bazy kluczy
-------------------------------------
Do przegldania kluczy suy polecenie:

        pgp -kv[v] [nazwa_uzytkownika] [baza_kluczy]

Ktre wypisuje wszystkie klucze pasujce do podanego identyfikatora.
Brak identyfikatora powoduje wywietlenie wszystkich kluczy zawartych
w podanym pliku. Domylnie przeszukiwana jest baza "pubring.pgp", by
przejrze klucze prywatne, podaj "secring.pgp" (o ile tak nazywa si
Twoja baza). Domylnym rozszerzeniem pliku zawierajcego klucze jest
".pgp".

W dalszej czci podrcznika zostanie wyjaniona filozofia sygnowania
i certyfikowania cudzych kluczy publicznych. Tymczasem, do przegldania
wszystkich sygnatur opatrujcych dany klucz suzy polecenie:

        pgp -kvv [nazwa_uytkownika] [baza_kluczy]

Jeli chcesz obejrze zawarto innego, konkretnego pliku zawierajcego
klucze, moliwe jest wydanie polecenia postaci:

        pgp plik_z_kluczami

PGP wymieni wszystkie znalezione w tym pliku klucze i sprbuje doczy
je do standardowej bazy kluczy.


Ochrona klucza publicznego przed sfaszowaniem
----------------------------------------------
Systemy kryptografii publicznej cechuj si tym, e nie ma potrzeby
chronienia klucza publicznego przed innymi uytkownikami, wprost
przeciwnie, dobrze jest go szeroko rozpowszechni. Znacznie waniejsz
spraw jest zapewnienie autentycznoci klucza, tzn. pewnoci, e naley
on rzeczywicie do osoby, ktrej nazwisko na nim figuruje. Jest to jeden
ze sabszych punktw w bezpieczestwie caego systemu. Przedstawi najprzd
potencjalne zagroenia, a potem sposoby ich uniknicia.

Przypumy, e chcesz wysa zaszyfrowany list do prof. Gbki. W tym celu
cigasz jego klucz publiczny z najbliszego BBSu (serwera). Szyfrujesz
list tym kluczem i wysyasz go poczt elektroniczn.

Ale na nieszczcie niejaki Don Pedro, zamawszy zabezpieczenia BBSu
umieci w nim wygenerowany przez siebie, faszywie oznaczony nazwiskiem
prof. Gbki klucz publiczny. W ten sposb Don Pedro moe (posiadajc pasujcy
klucz tajny) odczyta przeznaczon dla profesora wiadomo, co wicej, moe
j potem zaszyfrowa prawdziwym kluczem publicznym profesora i do odesa.
Moe nawet robi dobre sygnatury, poniewa wszyscy sprawdzajcy bd uywa
faszywego klucza.

Jedyn metod zapobieenia zbrodni jest uniemoliwienie podrobienia klucza.
Problem rozwizaoby uzyskanie klucza profesora bezporednio od niego, ale co
zrobi jeli mieszka on na Antypodach, albo akurat jest kompletnie nie do
zapania?

Dobr metod jest uzyskanie klucza profesora od waszego wsplnego, zaufanego
znajomego - Smoka, ktry z pewnoci posiada waciw kopi klucza,
a do tego mieszka w pobliu. Smok mgby powiadczy prawdziwo tego
klucza, skadajc na nim swj podpis wasnym kluczem prywatnym.

Daoby to gwarancj [opierajc si oczywicie tylko na zaufaniu do Smoka
-PK] e klucz prof. Gbki nie zosta podrobiony. Wymaga to jednak posiadania
dobrej kopii klucza publicznego Smoka, w celu sprawdzenia jego sygnatury.
Smok mgby te w razie potrzeby zaopatrzy profesora w Twj klucz publiczny.
Smok byby zatem porednikiem, osob "przedstawiajc" was sobie nawzajem.

Tak podpisany klucz moe by spokojnie przesany do BBSu, bez obawy e
zostanie sfaszowany, wymagaoby to bowiem rwnie sfaszowania prywatnego
klucza Smoka i jego sygnatury.

Rol porednikw speniaja czsto zaufane osoby specjalizujce si w funkcji
sprawdzania i podpisywania kluczy innych osb. Mog to by operatorzy
popularnych serwerw kluczy. Kady klucz, niezalenie od tego jak drog
uzyskany, moe by uznany za prawdziwy, pod warunkiem, e zgadza si sygnatura
porednika.

Model absolutnie zaufanego serwera, powiadczajcego klucze innych
uytkownikw jest wygodny i czasem uywany w przypadku duych,
sterowanych centralnie systemw firm lub instytucji.

Dla rozproszonych i pozbawionych centalnego zarzdzania, "anarchistycznych"
systemw wygodniejszy jest protok pozwalajcy wszystkim uzytkownikom na
powiadczanie kluczy autentycznoci ich przyjaci. PGP ma nawet tendencje
do naturalnego stymulowania takiego zdecentralizowanego podejcia do spraw
certyfikacji kluczy. Pzyblia ono lepiej spoeczny model publicznego zaufania,
i pozwala uytkownikom samodzielnie decydowa, komu powierzaj
odpowiedzialno.

Kwestia prawidowej autoryzacji kluczy jest zwykle Achillesow pit
systemw kryptografii publicznej, tote zastosowane w PGP rozwizania
programowe s bardzo zoone.
---
Klucza publicznego moesz uy tylko wwczas, gdy masz PEWNO e nie
zosta on podrobiony i faktycznie naley do osoby, ktrej nazwisko nosi.
Pewno t mona zyskac na dwa sposoby: albo otrzymujc klucz bezporednio
od waciciela, albo inn drog, pod warunkiem e jest on sygnowany przez
osob ktrej w tej kwestii ufasz oraz posiadasz jej dobry klucz publiczny.
Wie si z tym rwnie konieczno opisywania kluczy penym imieniem
i nazwiskiem.

W adnym wypadku, niezalenie od pokusy, a taka bdzie istniaa na pewno,
nie ufaj kluczom cignitym z BBSw jeli nie s opatrzone wiarygodn
sygnatur. Nieautoryzowany klucz moe by podrobiony przez kadego, wcznie
z administratorem danego systemu.

Sygnujc klucze innych osb pamitaj o odpowiedzialnoci jaka na Tobie
spoczywa - w ten sposb wyraasz swoje przekonanie, e posiadaczem danego
klucza jest tylko i wycznie jego - nominalny - waciciel. Nie powiniene
opiera si na zapewnieniach i hipotezach innych osb. Nie podpisuj klucza,
dopki nie bdziesz mia stuprocentowej pewnoci co do autorstwa klucza.
Najlepiej oczywicie jest podpisywa tylko klucz uzyskany bezporednio od
waciciela.

Podpisanie klucza jest czynnoci wymagajc znacznie wikszej pewnoci
co do jego autorstwa ni na przykad uycie do zaszyfrowania listu.
Jeli klucz jest opatrzony sygnatur osoby ktrej ufasz, spokojnie moesz
go wykorzysta. Jednak samodzielnie podpisujc klucz powiniene da
moliwie najlepszej gwarancji, nawet jeli wymagaoby to skontaktowania si
z potencjalnym wacicielem. Szczegy weryfikacji kluczy opisane s
w rodziale "Weryfikacja klucza przez telefon" w II czci podrcznika.

Oczywistym jest, e gwarantujc wiarygodno klucza, nie moesz zagwarantowa
wiarygodnoci i rwnowagi psychicznej samego autora. Twoja sygnatura stwierdza
jedynie, e jeste cakowicie pewien tego, e dana osoba stworzya i nadal
posiada opisywany klucz. Podpisujc klucz szaleca nie ryzykujesz niczym
swojego autorytetu, jeli istotnie jest on rzeczywistym posiadaczem klucza.

Zaufanie nie przenosi si z osoby na osob. Na przykad: mam przyjaciela
ktry nigdy nie kamie. Ale jest on czowiekiem naiwnym, ktry uwaa e
Prezydent mwi prawd. Nie oznacza to jednak, e i ja tak uwaam, mimo
caego mojego zaufania do owego przyjaciela. Odniemy to do sygnatur: fakt,
e uznaj za wiarygodn sygnatur Smoka, nie oznacza wcale, e ufam sygnaturze
prof. Gbki, mimo e Smok uwaa profesora za godnego zaufania.

Dla Twojego wasnego klucza publicznego najlepiej jest uzbiera najwieksz
liczb sygnatur od rnych ludzi. Wzrasta w ten sposb prawdopodobiestwo,
e uywajca go kiedy osoba znajdzie wrd nich przynajmniej jedn godn
zaufania. Podpisawszy z kolei klucz innej osoby zwr go jej by moga doda
do swojej bazy Twoj sygnatur.

PGP automatycznie sprawdza ktre klucze w bazie s opatrzone sygnaturami
zaufanych uzytkownikw i w razie potrzeby prosi o weryfikacj i potwierdzenie
absolutnie zaufanym kluczem (czyli Twoim wasnym). Zmiana dowolnego ogniwa
acucha sygnatur powoduje automatyczne uaktualnienie pozostaych.

Upewnij si, e Twoje klucze s dobrze zabezpieczone przed sfaszowaniem.
Na ich wiarygodnoci opiera si cakowicie wiarygodno nowych kluczy,
sprawdzanych po cigniciu z serwera itp. Baza kluczy publicznych - tak
jak prywatnych - powininna znajdowa si na systemie fizycznie odizolowanym
od sieci (np. osobistym notebooku). Niebezpieczne jest umieszczanie go
na wielozadaniowych i wielouytkowych systemach sieciowych, nie tylko ze
wzgldu na moliwo ujawnienia, ale take podrobienia. Zawsze trzymaj
pewne kopie klucza prywatnego i publicznego na zabezpieczonej przed zapisem
dyskietce. Bdziesz mg wtedy wykry kade oszustwo porwnujc posiadane
klucze z kopiami zapasowymi. Szczegy znajdziesz w II czi podrcznika.

Teoretycznie moliwe jest rwnie wprowadzenie do samego programu PGP poprawek
uniemoliwiajych wykrycie nieprawidowoci w kluczach lub sygnaturach.
[PGP jest rozprowadzane cznie z kodem rdowym; przed takimi przerbkami
zabezpiecza zaczona sygnatura kadego z dystrybucyjnych archiww -PK]

Do skomplikowan metod zabezpieczenia bazy kluczy prywatnych jest
kadorazowe sygnowanie go Twoim kluczem prywatnym. Suy do tego opcja
"-sb" (rozdzia "Separating Signatures From Messages" w czci II).
Koniecznym warunkiem bezpieczestwa jest jednak w takiej sytuacji posiadanie
oddzielnej, zaufanej kopii klucza publicznego do sprawdzenia poprawnoci
sygnatury. Nie moesz do tego celu uy klucza znajdujcego si ju w bazie,
bo m.in. jego autentyczno chcesz stwierdzi.

Jak PGP sprawdza wiarygodno klucza?
-------------------------------------
(przed pzeczytaniem tego rozdziau powiniene zapozna si z rozdziaem
"Ochrona klucza publicznego przed sfaszowaniem")

PGP samo sprawdza czy kady z kluczy w bazie posiada wiarygodn sugnatur.
Twoim zadaniem jest jedynie decydowanie, ktrym osobom chcesz ufa jako
wprowadzajcym nowe klucze, oraz podpisanie ich kluczy Twoim kluczem
prywatnym, majcym status "aksjomatycznego" (absolutnie i z zaoenia
zaufanego). Jak ju wspomniano, zmiana zaufania w stosunku do klucza
sygnatora automatycznie pocignie za sob zmian wiarygodnoci sygnowanych
przeze kluczy.

PGP kieruje si dwoma - cakowicie odrbnymi kryteriami przy ocenie
wiarygodnoci kluczy - nie wolno ich czy:

        1) Czy dany klucz rzeczywicie naley do tego, kto wydaje si
        by jego wacicielem? Innymi sowy, czy zosta podpisany przez
        zaufan osob?

        2) Czy naley do osoby, ktrej moesz zaufa jako sygnatorowi
        nowych kluczy?

PGP jest w stanie samodzielnie uzyska odpowied na pierwsze pytanie.
Na drugie musi odpowiedzie sam uytkownik. Na podstawie udzielonej
odpowiedzi PGP automatycznie uzupeni te odpowiedzi na pierwsze pytanie
w stosunku do innych kluczy podpisanych przez posiadacza akurat sprawdzanego
klucza.

Klucz powiadczony przez zaufan osob [jej kluczem prywatnym -PK]
jest przez PGP uznawany za dobry. Z kolei klucze publiczne owych "zaufanych
osb" te musz byc podpisane: przez Ciebie lub przez innych "zaufanych".

Zaufanie do osoby swiadczcej inne klucze nie ma w zaoeniu odzwierciedla
Twojej opinii tylko o odpowiedzialnoci tej osoby ale te o jej kompetencji
do zarzdzania kluczami. Dlatego te PGP pozwala okresli to zaufanie
jako kilkustopniowe : brak zaufania, zaufanie nieznane, marginalne, pene
oraz absolutne.
Twj wybr jest przechowywany razem z kluczem danej osoby. Poniewa jest
on traktowany jako informacja prywatna i poufna, poziom zaufania nie jest
kopiowany wraz z kluczem.

Podczas obliczania wiarygodnoci klucza publicznego PGP bierze pod uwag
wag kadej z opatrujcych go sygnatur. Standardowo dwie sygnatury osb
marginalnie zaufanych znacz tyle co jedna osoby w peni zaufanej.
Ustawienie to moe byc zmienione w zalenoci od indywidualnych potrzeb -
na przykad moesz da od PGP by o wiarygodnoci klucza decydoway
dwie sygnatury osb w peni zaufanych lub trzy marginalnie.

Twj klucz publiczny posiada status klucza aksjomatycznego. Oznacza to e
nie potrzebuje on adnych dodatkowych sygnatur od osb trzecich by PGP
uznao go za wiarygodny. Zoone przez Ciebie sygnatury rwnie maj
dla PGP status absolutnie zaufanych. PGP decyduje o tym czy dany klucz
naley do Ciebie, czy nie, szukajc pasujcego do klucza prywatnego.

Podstawowym zaoeniem takiego, opartego na sygnaturach, zdecentralizowanego
i odpornego na infiltracj systemu jest to e w miar upywu czasu kady
z uytkownikw gromadzi coraz wiksz pul kluczy publicznych innych osb,
potencjalnie zaufanych. W ten sposb klucz dawany innym osobom opatrzony
jest coraz to wiksz liczb sygnatur. Daje to nadziej, e gdy dotrze
on do ktrej z kolei osoby chccej go wykorzysta, znajdzie ona pord
sygnatur przynajmniej jedn - dwie godne zaufania.

Takie podejcie stroi w ywej opozycji z oficjalnymi, sterowanymi przez
rzd systemami zarzdzania kluczami jak np. stosowany w Internecie
PEM (Privacy Enhanced Mail), ktry oparty jest na centralnej kontroli
i narzuconym z gry obiekcie zaufania. Standard ten opiera si
na hierarchii Urzdnikw Certyfikujcych ktrzy dyktuj Ci komu masz ufa.
Kluczem do systemu PGP jest zdecentralizowana, probabilistyczna metoda
okrelania wiarygodnoci. PGP pozwala Ci samodzielnie decydowa komu
ufasz, ustawiajc Twj klucz na samym szczycie piramidy certyfikatw.
PGP jest dla ludzi ktrzy przed skokiem z samolotu wol sami spakowa
sobie spadochron ;)


Jak chroni klucz tajny przed ujawnieniem?
------------------------------------------

Ochrona Twojego klucza prywatnego jest podstawowym warunkiem bezpieczestwa
Twoich danych. Rwnie dobrze naley pilnowa zabezpieczajcego go hasa.
Jeli zdarzy si e twj klucz prywatny dostanie si w niepowoane rce,
lepiej bez zwoki zawiadom wszystkich (ycz szczcia...) zainteresowanych
o tym przykrym zdarzeniu. Jeli bd dalej, niewiadomi, uywa Twojego klucza
publicznego to na ujawnienie naraone bd wysyane do Ciebie listy,
a kada opatrzona Twoim nazwiskiem sygnatura bdzie z duym prawdopodobiestwem
faszywa. Niebezpieczestwo jest jeszcze wiksze, jeli Twj klucz cieszy si
powszechnym zaufaniem.

Podstaw bezpieczestwa klucza prywatnego jest posiadanie penej fizycznej
kontroli nad nim. Klucz prywatny bdzie stosunkowo bezpieczny, jeli bdziesz
go przechowywa na domowym komputerze, lub notebooku noszonym przy sobie.
Na due niebezpieczestwo naraa go natomiast przechowywanie na wczonym do
sieci, wielodostepnym komputerze. Przy zdalnej pracy z terminala wcale
nietrudne do zrealizowania jest przechwycenie hasa odblokowujcego klucz,
a nastepnie kradzie samego klucza. Jeli musisz uzywa PGP na takim
komputerze, na przykad w pracy, najlepszym rozwizaniem bdzie przechowywanie
go na zabezpieczonej przed zapisem dyskietce zawsze noszonej ze sob.

Haso zabezpieczajce klucz prywatny nigdy nie powinno by przechowywane
razem z kluczem. Miaoby to taki sens jak noszenie przy kluczach od
mieszkania breloczka z adresem. Najlepszym jednak sposobem uchronienia
hasa przed ujawnieniem jest nie zapisywanie go nigdzie, poza wasnym
mzgiem ;). Jesli masz zbyt wiele rzeczy na gowie, by dodatkowo pamita
wymylne haso i musisz go gdzie zapisa, to przechowuj go w maksymalnie
bezpiecznym miejscu. Bezpieczestwo hasa jest nawet waniejsze ni samego
klucza.

Zawsze rb kopie bezpieczestwa kluczy. Pamitaj e jeste jedyn osob
posiadajc t par kluczy. Utrata klucza prywatnego (w tym utrata hasa)
czyni bezwartociowymi wszytkie kopie Twojego klucza publicznego znajdujce
sie na wiecie.

Zdecentralizowany charakter PGP oznacza rwnie, e nie naley za bardzo
wierzy w istnienie i funkcjonalno jakiej centralnej listy utraconych
bd odtajnionych kluczy. Jedynym sposobem powiadomienia innych uytkownikw
o takim zdarzeniu jest rozesanie wieci o tym na wszystkie strony wiata
i liczenie e dotrze ona do zainteresowanych.


Uniewanianie klucza publicznego
--------------------------------

Jeli dojdzie do ujawnienia klucza, tzn. odtajnienia i klucza i bronicego
go hasa (musisz si jeszcze o tym jako dowiedzie!), naley wygenerowa
odpowiednie "zawiadomienie" - metryk odtajnienia klucza.
Suy do tego polecenie:

        pgp -kd nazwa_twojego_klucza

PGP wywoane w ten sposb generuje tak metryk, unikaln dla danego klucza,
oraz opatrzon jego sygnatur.
Naley j teraz rozesa do moliwie najwikszej liczby posiadaczy Twojego
klucza publicznego. Ich PGP autoamtycznie zablokuje posiadane przez nich
kopie Twojego klucza przed ewentualnym uyciem. Oczywicie w przypadku
odtajnienia klucza prywatnego naley bezzwocznie stworzy now par kluczy.
Mona wtedy wysa znajomym nowy klucz publiczny, wraz z metryk odtajnienia
starego.

Tego samego mechanizmu mona uywa w przypadku potrzeby uniewanienia
starego klucza z innych powodw ni jego odtajnienie.

Co zrobi w razie utraty klucza prywatnego?
-------------------------------------------

Normalnie do uniewanienia klucza i zawiadomienia o tym innych uytkownikw
suzy opcja "-kd", generujca certyfikat uniewanienia klucza (patrz
"Uniewanianie klucza publicznego").

Jednak w przypadku uszkodzenia lub zgubienia klucza prywatnego wygenerowanie
takiego certyfikatu nie jest moliwe, bo do tego potrzebny jest sam klucz!
Przysze wersje PGP bda miay wiksze moliwoci w zakresie anulowania
kluczy w takiej sytuacji, np. autoryzacj certyfikatu przez zaufan osob.
Obecnie jedyna metod jest rozesanie "sownego" zawiadomienia o koniecznoci
zablokowania kopii Twojego klucza publicznego znajdujcych si w posiadaniu
indywidualnych uytkownikw. Musi to by zrobione przez nich rcznie, przez
wywoanie PGP z opcj "-kd" i Twoim nazwiskiem w linii polece. PGP zablokuje
Twj klucz publiczny w ich bazach, tak e nie bdzie mg by wykorzystywany
do szyfrowania listw ani dalej kopiowany. W dalszym cigu bd oni mogli
sprawdza nim Twoje sygnatury, lecz bdzie wyswietlane odpowiednie ostrzeenie.
Niemoliwe bdzie rwnie ponowne wczenie odblokowanej kopii tego samego
klucza do bazy. Wszystko to ma na celu powstrzymanie dalszego rozpowszechniania
niewanego klucza publicznego.

Opcja "-kd" suy rwnie do ponownego odblokowania danego klucza, jeli jest
on zablokowany.

Tematy zaawansowane
===================
Cao zaawansowanych opcji i zastosowa PGP jest opisana w drugiej czci
podrcznika. [..ktra na razie jest nieprzetumaczona ;( -PK]


Przesyanie szyfrogramw e-mailem: opakowanie ASCII
---------------------------------------------------

Wiele sieciowych systemw pocztowych pozwala na przesyanie listw
skadajcych si tylko z 7-bitowych znakw ASCII, podczas gdy produkowany
przez PGP waciwy szyfrogram skada si ze znakw 8-bitowych.
Dla obejcia tego problemu PGP stosuje algorytm kodowania plikw binarnych
w znaki ASCII (radix-64), zblion do algorytmw stosowanych przez PEM, MIME
czy UUencode. Takie "opakowanie ASCII" (transport ASCII armor) zabezpiecza
szyfrogram przed zniszczeniem przez oprogramowanie pocztowe. Opakowanie
jest chronione przed ewentualnymi znieksztaceniami podczas transmisji
przez dodane sumy kontrolne CRC.

Algorytm radix-64 zamienia kad trjk 8-bitowych bajtw w cztery 7-bitowe
znaki ASCII. Powiksza to szyfrogram o ok. 33%, ale nie jest to tak wiele
przy zaoeniu e prawdopodobnie plik zosta uprzednio poddany kompresji.

Wygenerowanie szyfrogramu w opakowaniu ASCII (podczas podpisywania lub
szyfrowania) powoduje opcja "a":

        pgp -sea list.txt nazwa_odbiorcy

W tym przykadzie do pliku "list.asc" zostanie zapisany szyfrogram
w opakowaniu ASCII podobnym do MIME czy UUencode. Plik ten bez problemw
moe zosta przeczytany i wysany przez oprogramowanie pocztowe Internetu
i kadej innej sieci.

Kryptogram w poakowaniu ASCII rozszyfrowuje si tak samo jak binarny:

        pgp list

PGP samo szuka najpierw pliku "list.asc" (ASCII) a potem "list.pgp"
(binarny). Automatycznie rozpozna obecno opakowania i usunie go,
tworzc poredni plik ".pgp". Dalej roszyfrowanie toczy si ju jak
zwykle. Efektem dziaania jest "list.txt".

Wikszo Internetowego oprogramowania nie pozwala na przesyanie
listw wikszych ni 50 lub 65 tys. znakw [anonimowe remailery ograniczaj
t dugo 20-30 tys. -PK, w Fido obowizuje ograniczenie do 32K -JBW].
Jeli wynikowy plik w opakowaniu bdzie wikszy, to PGP potnie go na mniejsze
[wielko kawakw ustawia si (2.6.2i) w pliku konfiguracyjnym -JBW] kawaki
z rozszerzeniami ".as1", ".as2", ".as3" itp. Odbiorca musi poczy wszystkie
kawaki w jeden duy plik przed rozszyfrowaniem. PGP ignoruje tekst nie
nalecy do szyfrogramu (nagwki pocztowe, komentarze itp.).

By skopiowa swj klucz publiczny do pliku celem wysania go e-mailem
naley rwnie skorzysta z opcji "-a" podczas kopiowania (patrz "Kopiowanie
klucza z bazy ").

Jeli zapomniae doda opakowania podczas szyfrowania lub kopiowania
klucza, moesz to zrobi poniej. W tym celu wywoaj PGP z sam opcj
"-a" podajc nazw pliku binarnego do konwersji. PGP stworzy odpowiedni
plik ".asc".

Jeli opatrujesz tekst swoim podpisem cyfrowym, to PGP normalnie podda go
kompresji. Tekstu wic nie bdzie mona odczyta bez ponownego uycia
PGP. Taka metoda nadaje sie do celw archiwizacji, ale nie jest najlepsza
do sygnowania tekstw publikowanych np. w sieciowych grupach dyskusyjnych,
bo uniemoliwia przeczytanie listu od razu. PGP posiada jednak jeszcze
jedn moliwo sygnowania: tekst zostaje nietknity, a zapakowany
podpis cyfrowy jest umieszczany na kocu. Oczywicie PGP jest dalej potrzebne
odbiorcy do sprawdzenia podpisu. Szczegy dotyczce opcji CLEARSIG
opisane s w II czeci podrcznika.

Zwykle do przesyania plikw binarnych e-mailem wykorzystuje si program
uuencode i podobne. PGP moe z lepszymi wynikami zastpowa uuencode.
Wystarczy uy samej opcji "-a" podajc nazw pliku binarnego w linii komend.
Szczegy opisane s w rozdziale "PGP jako lepsze UUencode" w
II czci podrcznika.


Zmienne rodowiskowe
--------------------

PGP potrzebuje do pracy kilku plikw, takich jak baza kluczy
publicznych "pubring.pgp", prywatnych "secring.pgp", inicjator liczb
losowych "randseed.bin", plik konfiguracyjny PGP "config.txt" (lub "pgp.ini"
lub ".pgprc") i plik jzykowy "language.txt". Katalog, w ktrym si znajduj,
okrela zmienna rodowiskowa PGPPATH. Na przykad pod MS-DOSem jej ustawianie
moe wyglda tak:

        SET PGPPATH=C:\PGP

Spowoduje to e PGP bdzie nastpnym razem szuka w/w plikw w katalogu
C:\PGP.  Powysze polecenie najlepiej umieci jest w pliku AUTOEXEC.BAT,
wtedy automatycznie bdzie wykonywane przy kadym rozpoczciu pracy. Jeli
zmienna PGPPATH nie zostanie zdefiniowana, PGP bdzie szuka potrzebnych
plikw w biecym katalogu.

[UWAGA: niektre kiepsko napisane programy instalacyjne szukaj w pliku
AUTOEXEC.BAT napisu "PATH=" i znajduj go w powyszym tekcie, w wyniku
czego dopisuj swoje cieki w niewaciwym miejscu - dlatego instalujc
oprogramowanie trzeciorzdnych firm lepiej czasowo usun lub "popsu"
to polecenie (swoj drog chyba nieszczliwie wybrana nazwa) -JBW]

Konfiguracja PGP: plik CONFIG.TXT
---------------------------------

PGP ma mnstwo konfigurowalnych opcji, ktre mog by ustawione wedle
yczenia w pliku "config.txt", w katalogu okrelonym przez zmienn
PGPPATH. W pliku konfiguracyjnym mona rwnie zdefiniowa czsto
uywane opcje, by nie wpisywa ich za kadym razem w linii komend.

Dla zgodnoci z lokalnymi zwyczajami plik konfiguracyjny moe si nazywa
inaczej ni "config.txt". Opcjonaln nazw pod MS-DOSem jest "pgp.ini",
a pod Unixem - ".pgprc".

W pliku konfiguracyjnym mona na przykad okreli gdzie PGP ma umieszcza
pliki tymczasowe, jakiego jzyka uywa i wiele innych parametrw.

Szczegowy opis wszystkich opcji konfiguracyjnych PGP znajduje si
w II czci podrcznika.

Sabe punkty
------------

Nie ma systemu nie do zamania. PGP mona podej na wiele sposobw.
Potencjalnie najsabsze punkty caego systemu na ktre naley
szczeglnie uwaa, to ujawnienie hasa lub klucza prywatnego, sfaszowanie
klucza publicznego, pliki ktre niby zostay skasowane, ale dalej gdzie
tam s, wirusy i konie trojaskie, bdy w fizycznych zabezpieczeniach,
emisja elektromagnetyczna, zagroenia wynikajce z pracy w systemach
wielodostpnych, przechwytywanie pakietw sieciowych a nawet bezporednia
kryptoanaliza.

Zagroenia te s przedyskutowane wyczerpujco w rozdziale "Sabe punkty"
w II czci podrcznika.

O zudnym poczuciu bezpieczestwa
=================================

Przy pracy z oprogramowaniem kryptograficznym zawsze nasuwa si pytanie
o stopie bezpieczestwa zapewnianego przez dany produkt. Nawet biorc
pod uwag samodzielne sprawdzenie kodu rdowego, nie kady ma na tyle
dowiadczenia w kryptografii, by osdzi bezpieczestwo szyfru. Nawet
uwadze dowiadczonego kryptologa mog uj drobne i trudne do odkrycia
saboci algorytmu.

We wczesnych latach 70-tych, uczc si w liceum, byem przekonany e
udao mi si opracowa doskonay algorytm szyfrujcy. Prosty strumie
pseudolosowy by dodawany do tekstu jawnego, dajc w wyniku szyfrogram.
Na pozr udaremniao to wszelkie prby analizy czstociowej szyfrogramu
i byo nie do zamania nawet przez doskonale wyposaone suby specjalne.
Byem z niego bardzo dumny i bardzo pewny siebie. Tak szczeniacko pewny..

Kilka lat pniej znalazem ten sam algorytm opisany w kilku wprowadzajcych
artykuach z dziedziny kryptografii. Fajnie, inni te wpadli na ten pomys.
Problem w tym, e mj algorytm by przytoczony jako przykad szyfru
ulegajcego elementarnym technikom kryptoanalitycznym. Tyle zostao
z mojego szyfru.

To wstydliwe dowiadczenie nauczyo mnie, jak atwo wpa w faszywe
przekonanie o bezpieczestwie opracowanego algorytmu. Wikszo ludzi
mao zdaje sobie spraw z tego, jak diabelnie trudno zaprojektowa
jest szyfr, ktry oprze si dugotrwaym i zdeterminowanym prbom zamania
przez dobrze wyposaonego przeciwnika. Wikszo mainstreamowych
programistw opracowao rwnie naiwne szyfry (czsto analogiczne do mojego),
co wicej, sporo  weszo w skad komercyjnych systemw i zostao sprzedanych
za cikie pienidze niczego nie podejrzewajcym uytkownikom.

To tak jakby sprzedawa kierowcom pasy bezpieczestwa, ktre wygldaj
i le doskonale, ale nie wytrzymuj najsabszego naprenia. Poleganie
na nich moe by bardziej niebezpieczne ni jazda bez pasw.
Poleganie na sabym algorytmie moe wystawic istotne dane na ryzyko.
To ryzyko mogoby nie zaistnie, gdyby w ogle obywa si bez takich
szyfrw [zaszyfrowane dane stanowi wiksz pokus od niezaszyfrowanych,
na ktre przeciwnik mgby nawet nie spojrze -JBW]. A tak, prawdopodobnie
nawet nie bdziesz wiedzia e Twoje dane dostay si w niepowoane rce.

Spora rzesza komercyjnych programw uywa federalnego standardu szyfrowania
danych DES, przyzwoitego szyfru konwencjonalnego zalecanego przez
wadze do uytku handlowego (zastanawiajca rzecz, e niezalecanego
dla danych oznaczonych jako poufne - hmm). DES moe pracowa w kilku
trybach, rnicych si si. Wadze nie zalecaj uywania najprostszego
i najsabszego trybu - elektronicznej ksiki kodowej (ECB). Zalecane
jest natomiast uywanie innych trybw - CFB (sprzenia zwrotnego)
i CBC (szyfrowania blokowego).

Tymczasem wikszo dostpnych w handlu programw, z jakimi miaem
kontakt, uywa wanie trybu ECB. Rozmowa z autorami tych implementacji
przyniosa ciekawe efekty: aden z nich nie sysza nawet o CBC czy CFB,
ani o sabociach trybu ECB. Wynikajcy std wniosek, e nie maj oni
elementarnej wiedzy o kryptografii, niestety nie nastraja optymistycznie.
Czste jest take niedpowiedzialne i niebezpieczne zarzdzanie kluczami.
Programy te oferuj take zamiennie szybsze algorytmy szyfrujce.
Przekonanie ich autorw o bezpieczestwie dorwnujcym standardowi DES
jest rwnie cakowicie bdne. Zwykle okazyway sie one prostymi wariacjami
mojego szyfru z lat szkolnych. Prawdopodobnie nie byy one nawet dokadnie
analizowane, a mimo to ich autorzy z przekonaniem zapewniali mnie
o ich bezpieczestwie, mwic e spokojnie mog im zaufa. Jestem pewien,
e wierz oni w byskotliwo swoich algorytmw, ale skd ja mam nabra
takiej pewnoci nie majc okazji ich przeanalizowa?

Gwoli sprawiedliwoci musz przyzna, e w wikszoci przypadkw owe
zastraszajco sabe szyfry nie znjdoway miejsca w programach firm
specjalizujcych si w kryptografii.

Niestety, nawet naprawd dobre programy uywajce DES w silniejszych
trybach nie s obecnie zbyt bezpieczne. Standardowa implementacja DES
uywa klucza 56-bitowego, ktry moe by dzi atwo zamany przez
wyczerpujce przeszukiwania kluczy przy uyciu szybkich mikroprocesorw.
DES osign kres swojej uytecznoci. Tak samo oprogramowanie na nim si
opierajce.

Amerykaska firma AccessData (87 East 600 South, Orem, utah 84058,
tel. 1-800-658-5199) sprzedaje za 185 USD program amicy szyfry
zastosowane w aplikacjach WordPerfect, Lotus 1-2-3, MS Excel, Symphony,
Qattro Pro, Paradox i MS Word 2.0. Program ten nie zgaduje hase - dokonuje
prawdziwej kryptoanalizy. Kupuj go ludzie ktrzy zapomnieli hase do
swoich danych, kupuj instytucje ledcze. Eryk Thompson, autor,
powiedzia mi e w rzeczywistoci zamanie hasa zajmuje programowi uamek
sekundy. By nie wydawao si to klientowi zbyt proste, algorytm zawiera
specjalne ptle opniajce. Powiedzia te, e z atwoci zamany moe by
szyfr programu PKZip i e rzdowi klienci regularnie korzystaj z tej
usugi w innej firmie.

Kryptografi mona pod tym wzgldem porwna do farmacji.  Jako szyfru,
tak jak jako lekarstwa moe by cakowicie zwodnicza. Za penicylina
wyglda dokadnie tak samo jak dobra. Kryptogram wyprodukowany przez saby
algorytm szyfrujcy nie wyglda gorzej od wyprodukowanego przez silny algorytm.
W przeciwiestwie do lekarza-szarlatana projektanci tych algorytmw rzadko
zdaj sobie spraw z ich wad. Dobry programista moe zaprojektowa algorytm,
ktry bdzie dziaa bezbdnie, ale co z tego jeli ma on nike pojcie
o kryptografii? Poprawno dziaania nie implikuje poprawnoci
kryptograficznej.

Przekonanie o odpornoci szyfru na kryptoanaliz moe sugerowa, e mamy
do czynienia albo z niesychanie utalentowanym geniuszem, albo naiwnym
i niedowiadczonym kryptologiem. Czasem spotykam ludzi, chccych
uzupeni PGP o takie "nieamalne" szyfry wasnego pomysu.

Przypomina mi si rozmowa z Brianem Snowem, wysoko postawionym dugoletnim
kryptologiem z NSA. Powiedzia mi on, e nigdy nie zaufaby algorytmowi
wymylonemu przez kogo, kto nie spdzi uprzednio wiele czasu amic
szyfry. Miao to gboki sens. Zauwayem, e praktycznie nikt, zajmujcy
sie kryptografi na potrzeby rynku, nie spenia tego warunku.
- Zgadza si, odpowiedzia Snow z umiechem - bardzo uatwia to nam prac
w NSA. Do nieprzyjemna wiadomo. Wwczas i ja nie speniaem tego
warunku.

Wadze rwnie maj na swoim koncie tworzenie takiego zudnego poczucia
bezpieczestwa. Po Drugiej Wojnie wiatowej, Amerykanie sprzedawali
niemieckie maszyny szyfrujce Enigma pastwom Trzeciego wiata.
Nie informowali jednak, e Alianci zamali Enigm jeszcze w czasie wojny,
a fakt ten by utrzymywany w tajemnicy przez dugie lata. [w rzeczywistoci
Enigma zostaa zamana jeszcze przed wojn; dokonaa tego trjka polskich
matematykw, pracownikw Biura Szyfrw w Warszawie -PK]. Szyfr Enigmy jest
stosowany po dzi dzie jako standard w systemach Unix, czciowo dlatego
e wadze ograniczyy legalne stosowanie lepszych algorytmw. W roku 1977
prbowano nawet zapobiec publikacji algorytmu RSA. Due rodki zostay
podjte dla uniemoliwienia publicznego wykorzystania bezpiecznej telefonii
kodowanej.

Gwnym zadaniem amerykaskiej NSA jest gromadzenie i analiza informacji
wywiadowczych, zdobywanych gwnie przez podsuch prywatnych kanaw
informacyjnych (James Bamford "The Puzzle Palace"). NSA jest doskonale
przygotowana do amania szyfrw, ale odcicie spoeczestwa od dobrych
algorytmw szyfrujcych czyni ich zadanie niemale trywialnym. NSA jest
rwnie instytucj odpowiedzialn za ocen oraz dopuszczanie do uytku
algortymw szyfrujcych. Krytycy porwnuj taki ukad do stawiania lisa
na stray kurnika. Zaprojektowane przez NSA i dopuszczone do komercyjnego
wykorzystania algorytmy s tajne i nikt nie moe sprawdzi na wasn rk
jaka jest ich rzeczywista warto. [chodzi tu zapewne o szyfr FELIX -PK]
Agencja chce, by spoeczestwo jej zaufao i uywao tych szyfrw ze
wiadomoci, e co, co zostao przez specjalistw z NSA zaprojektowane
moe by przez nich rwnie bez trudu zamane. Czy nie jest to wiadome
stwarzanie zudnego poczucia bezpieczestwa?

Na jako amerykaskiego oprogramowania kryptograficznego miay wpyw
trzy czynniki. Pierwszy z nich, to niemal powszechna nieznajomo
problemu wrd twrcw tego oprogramowania. Przewiadczenie tych ludzi
o wasnej wiedzy i talencie w tym zakresie doprowadzio do prawdziwego
zalewu programw o naprawd nikej wartoci. Drugi czynnik, to nieustanne
blokowanie prb wypuszczenia na rynek dobrej jakoci technologii
bd przez ograniczenia prawne bd naciski ekonomiczne. Zaostrzenie
przepisw dotyczcych kontroli eksportu oprogramowania kryptograficznego
zaowocowao ograniczeniem prac prowadzonych przez prywatne firmy, pozbawione
w ten sposb chonnych rynkw zbytu. Ostatnim ze sposobw na blokowanie
upowszechniania i rozwoju dobrych algorytmw szyfrujcych jest przyznawanie
patentw na wszystkie systemy kryptografii publicznej jednej tylko firmie.
Wszystko to doprowadzio do tego, e przed PGP nie byo w Ameryce naprawd
bezpiecznych danych.

Nie jestem ju tak przekonany o "nieamliwoci" zastosowanych w PGP
rozwiza, jak byo to w przypadku mojego pamitnego szyfru z czasw
szkolnych. I byby to zy znak, gdybym w takim przekonaniu si utrzymywa.
Mam natomiast wiadomo, e PGP nie zawiera adnego w znaczcy sposb
ograniczajcego bezpieczestwo bdu, chocia sam program oczywicie
moe mie pewne usterki. Algorytm RSA zosta zaprojektowany przez wysokiej
klasy specjalistw z najlepszych szk kryptografii, i wielokrotnie by
poddawany dogbnej analizie przez innych ludzi. PGP jest rozprowadzane
z kodem rdowym by umoliwi kademu samodzieln ocen jakoci programu.
Oczywicie nie pracuj dla NSA. Korzystanie z PGP nie zmusza nikogo do
dawania zaufania na kredyt.


Do uytkownikw Macintosha
==========================

PGP zostao oryginalnie napisane z myl o pracy pod MSDOSem i Unixem,
istnieje jednak rwnie jego wersja przeznaczona dla komputerw
Apple Macintosh. Podrcznik ten tyczy gwnie wersji dosowo/unixowej
w ktrej wszystkie parametry podawane s w linii polece. Na Macu PGP
obsugiwane jest przez system rozwijanych menu i okien dialogowych,
posiada ono rwnie zawsze dostpn pomoc dotyczc funkcji PGP.
Niezalenie od tego pakiet MacPGP powienien posiada dodatkow dokumentacj
uwzgldniajc jego specyfik.

Znaczca wikszo znakomitych programw dla Macintosha zostaa napisana
od zera z myl o tym systemie. Nie jest tak niestety w przypadku PGP.
Zostao ono przerobione z wersji unixowej i dostosowane do graficznego
interfejsu uytkownika przez Zbigniewa Fiedorowicza, niemniej nadal moe by
oparczone pewn liczb bdw. Trwaj prace nad kolejn wersj PGP
przeznaczon tym razem wycznie dla Maca, opart na najnowszej, obecnej
wersji PGP. Pomimo pluskiew w dotychczasowym MacPGP, naley podkreli, e
gdyby Zbigniew od pocztku powstrzymywa si z implementacj PGP na Macintosha
do czasu stworzenia nowej wersji, jego potencjalni uytkownicy mgliby by
w dalszym cigu pozbawieni tego programu.


Krtki przegld polece PGP
===========================

Szyfrowanie, deszyfrowanie, podpisy:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Szyfrowanie tekstu kluczem publicznym adresata:
        pgp -e plik_tekstowy nazwa_adresata

Skadanie elektronicznego podpisu (sygnatury) przy pomocy Twojego
klucza tajnego (tekst jest pakowany razem z sygnatur):
        pgp -s plik_tekstowy [-u nazwa_twojego_klucza]

Elektroniczny podpis pod plikiem tekstowym (tekst nie jest pakowany,
sygnatura na kocu):
        pgp -sta plik_tekstowy [-u nazwa_twojego_klucza]

Elektroniczny podpis, a nastpnie szyfrowanie dokumentu kluczem
publicznym adresata:
        pgp -es plik_tekstowy nazwa_adresata [-u nazwa_twojego_klucza]

Rozszyfrowanie lub sprawdzenie elektronicznego podpisu pliku:
        pgp otrzymany_szyfrogram [-o plik_tekstowy]

Szyfrowanie pliku dla kilku odbiorcw:
        pgp -e plik_tekstowy odbiorca1 odbiorca2 .. odbiorca-n

Zarzdzanie kluczami:
~~~~~~~~~~~~~~~~~~~~~
Generowanie wasnej pary kluczy - publicznego i prywatnego:
        pgp -kg

Dodawanie nowych kluczy do bazy:
        pgp -ka plik_z_nowymi_kluczami [zbir_kluczy]

Wyciganie (kopiowanie) dowolnego klucza z bazy:
        pgp -kx nazwa_klucza plik_docelowy [baza_kluczy]
lub:    pgp -kxa nazwa_klucza plik_docelowy [baza_kluczy]

Przegldanie bazy kluczy:
        pgp -kv[v] [nazwa_klucza] [baza_kluczy]

Sprawdzanie "odcisku" klucza, np. w celu uzgodnienia go
z wacicielem przez telefon:
        pgp -kvc [nazwa] [baza_kluczy]

Przegldanie bazy i sprawdzanie sygnatur uwierzytelniajcych klucze
publiczne:
        pgp -kc [nazwa] [baza_kluczy]

Zmiana/dodawanie identyfikatorw uytkownika lub hasa Twojego klucza
tajnego:
        pgp -ke nazwa_twojego_klucza [baza_kluczy]

Zmiana zaufania w stosunku do danego uytkownika:
        pgp -ke nazwa_klucza [baza_kluczy]

Usuwanie klucza/identyfikatora z bazy kluczy publicznych:
        pgp -kr nazwa_klucza [baza_kluczy]

Uwierzytelnianie czyjego klucza Twoim wasnym (sygnowanie):
        pgp -ks nazwa_klucza [-u nazwa_twojego_klucza] [baza_kluczy]

Usuwanie wskazanych sygnatur z kluczy:
        pgp -krs nazwa_klucza [baza_kluczy]

Anulowanie Twojego klucza i wydanie certyfikatu odtajnienia klucza:
        pgp -kd nazwa_twojego_klucza

Blokowanie/uaktywnianie kluczy:
        pgp -kd nazwa_klucza

Rne:
~~~~~~
Rozszyfrowanie tekstu bez naruszania sygnatury:
        pgp -d szyfrogram

Tworzenie elektronicznego podpisu w postaci oddzielnego pliku:
        pgp -sb plik_tekstowy [-u nazwa_twojego_klucza]

Oddzielanie sygnatury od ju podpisanego pliku:
        pgp -b szyfrogram

Opcje, ktre mog wchodzi w skad innych polece:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dodanie opcji -a powoduje wygenerowanie szyfrogramu zapakowanego
w znaki ASCII, tak by mona byo go przesac poczt itp. (jak uuencode):
        pgp -sea plik_tekstowy nazwa_adresata
lub:    pgp -kxa nazwa_klucza plik_docelowy [baza_kluczy]

Opcja -w (wipe) powoduje zamazanie i nadpisanie tekstu jawnego po sygnowaniu
lub/i zaszyfrowaniu; spryciarzom uniemoliwia jego odtworzenie:
        pgp -sew plik_tekstowy nazwa_adresata

Opcja -t (text) sugeruje, e przetwarzany plik jest tekstem, i powinien
by przekonwertowany wg lokalnej specyfiki:
        pgp -seat plik_tekstowy nazwa_adresata

Sama opcja -m (more) pozwala na obejrzenie rozszyfrowanego tekstu:
        pgp -m szyfrogram

Opcja -m, uyta podczas szyfrowania, powoduje, e po rozszyfrowaniu plik
nie bdzie zapisany na dysk, tylko wywietlony na ekranie ("For Your Eyes
Only"):
        pgp -steam plik_tekstowy nazwa_adresata

Opcja -p powoduje odzyskanie oryginalnej nazwy zaszyfrowanego pliku:
        pgp -p szyfrogram

Opcja -f umoliwia korzystanie z stdin i stdout na mod Unixow:
        pgp -feast nazwa_adresata <plik_wej >plik_wyj

[wg nomenklatury MSDOS-owej PGP pracuje w tym trybie jako tzw. filtr -
std "f" -JBW]



Kwestie prawne
==============

Dokadne informacje na temat licencji PGP(tm), dystrybucji, praw autorskich,
patentw, ogranicze odpowiedzialnoci i eksportu znajduj si
w rozdziale "Kwestie prawne" drugiej czci podrcznika.

PGP wykorzystuje algorytm kryptografii publicznej chroniony przez
amerykaski patent nr 4,405,829. Posiadaczem patentu jest firma Public
Key Partners (PKP) i naruszaniem jej praw moe by uywanie PGP w USA
bez licencji. Jest to omwione szczegowo w drugiej czci podrcznika
oraz w licencji RSAREF rozprowadzanej z darmow wersj PGP. PKP zezwolia
na wykorzystanie patentu m.in firmie ViaCrypt (Phoenix, Arizona,
tel. 602-944-0773) sprzedajcej w peni licencjonowan wersj PGP.

PGP jest programem typu freeware i nie mam nic przeciwko jego szerokiemu
rozpowszechnianiu, byle bym tylko nie otrzymywa niezliczonych prb
o przysanie kopii. Zamiast tego szukaj najnowszych wersji w licznych
BBSach i archiwach FTP w Internecie. Przed dalszym rozpowszechnianiem
PGP powiniene jednak zapozna si z ograniczeniami eksportowymi
nakadanymi przez amerykaskie prawo i zrozumie je.


Podzikowania
=============

Liczne rodki przedsiwzito dla uniemoliwienia wykorzystania PGP.
Jednak rwnie wiele osb powicao swj czas dla ich obejcia, dziki
czemu PGP uzyskao poniekd status programu "podziemnego",
a wypracowanie jego cakowitej legalnoci wymagao wiele cierpliwoci
i uporu. Chciabym tu szczeglnie podzikowa Halowi Abelsonowi,
Jeffowi Schillerowi, Brainaowi LaMachhia i Derekowi Atkinsowi z MIT
za ich zdeterminowane dziaanie. Podzikowania nale si rwnie
Jimowi Bruce i Davidowi Litsterowi z administracji MIT oraz Bobowi Prior
i Terry'emu Ehlingowiz z wydziau prasowego MIT. Dzikuj te caej grupie
osb zajmujcych si moj obron w nie koczcych sie jeszcze problemach
prawnych. Od jakiego czasu przestaem nawet opowiada dowcipy o prawnikach,
mogc pozna tak wiele pozytywnych przykadw ich pracy, zwaszcza e
wielu z nich powicao swj czas pro bono.

Doskonalenie PGP zmienio si szybko w zdumiewajce zjawisko spoeczne,
ktrego podoe polityczne zainspirowao zbiorowy wysiek wci rosncej
rzeszy programistw-ochotnikw.

Chciabym te podzikowa nastpujcym osobom za wysiek woony
w prace nad PGP. Pomimo e byem autorem pierwszej jego wersji,
wiekszo pniejszych rozszerze i udoskonale jest efektem zbiorowej
pracy wielu ludzi, jedynie nadzorowanej przeze mnie jako kierownika projektu.

Branko Lancaster, Hal Finney i Peter Gutmann powicili wiele czasu
i wysiku woonego w stworzenie PGP 2.0 i jego unixowych implementacji.

Hugh Kennedy przenis PGP na system VAX/VMS, Lutz Frank na Atari ST,
a Cos Bosman i Colin Plumb na Commodore Amiga.

Przekadu PGP na inne jzyki dokonali: Jan-Loup Gailly (Francja),
Armando Ramos (Hiszpania), Felipe Rodriguez Svensson i Branko
Lancaster (Holandia), MiguelcAngel Gallardo (Hiszpania),
High Kennedy i Lutz Frank (Niemcy), David Vinzetti (Wochy), Harry Bush
i Marin Gabalis (otwa), Zygimantas Cepaitis (Litwa), Piotr Suszkow
i Andriej Czernow (Rosja) oraz Alexander Smischlajev na Esperanto.
Peter Gutmann zaoferowa rwnie przetumaczenie na nowozelandzki angielski,
ale w kocu postanowilimy pozosta przy amerykaskim.

Jean-Loup Gailly, Mark Adler i Richard B. Wales opublikowali kod
kompresji ZIP oraz udzielili pozwolenia na jego wykorzystanie w PGP.
Algorytm MD5 zosta opracowany i udostpniony jako jako wasno publiczna
przez Rona Rivesta. Szyfr IDEA(tm) zosta opracowny przez Xuejia Lai
i Jamesa L. Massey'a w ETH w Zurychu, a pozwolenia na wykorzystanie
w PGP udzieli Ascom-Tech AG.

Charlie Merritt udzieli mi rad co do przystosowania arytmetyki
zmiennoprzecinkowej do potrzeb kryptografii publicznej, a Jimmy Upton
dostarczy szybszych algorytmw mnoenia i mnoenia modulo. Thad Smith
zaimplementowa jeszcze szybszy algorytm mnoenia modulo. Zhahai Stewart
podzieli si kilkoma przydatnymi uwagami na temat formatu PGP itp.,
na przykad wicej ni jednego identyfikatora uytkownika. Pomys
zaufanych sygnatorw kluczy podsun mi Whit Diffie. Kelly Goen
wykona wikszo pracy w zakresie publikacji PGP 1.0.

Du pomoc w przy pisaniu PGP okazali rwnie Colin Plumb, Derek
Atkins i Castor Fu. Wysikw nie szczdzili rwnie Hugh Miller,
Eric Hughes, Tim May Stephen Neuhaus i zbyt wielu innych, bym mg ich
sobie w tym miejscu przypomnie. Pierwsza wersja MacPGP jest dzieem
Zbigniewa Fiedorowicza.

Po wypuszczeniu PGP 2.0 wielu programistw przysao uwagi o bdach
i pomogo w przeniesieniu go na inne komputery. Jest ich zbyt wielu
by dzikowa tutaj kademu z nich.


O autorze
=========

Philip Zimmermann jest komsultantem oprogramowania z 19-letnim
staem w zakresie przetwarzania w czasie rzeczywistym, kryptografii,
autoryzacji i przesyania danych. Ma na swoim koncie projekty
i implementacje systemw uwierzytalniajcych w sieciach wymiany
danych finansowych, bezpieczestwa w sieciach, protokow zarzdzania
kluczami, aplikacji wielozadaniowych pracujcych w czasie rzeczywistym,
systemw operacyjnych i sieci lokalnych.

Dopasowane do konkretnych wymaga systemy kryptograficzne
i uwierzytelniajce, jak NIST DSS, dostpne s u Zimmermana oraz
zespow zajmujcych si ich rozwojem. Adres firmy konsultingowej
Zimmermanna:

Boulder Software Engineering
3021 Eleventh Street
Boulder, Colorado 80304  USA
Phone: 303-541-0140 (10:00am - 7:00pm Mountain Time)
Fax: po porozumieniu telefonicznym
Internet:  prz@acm.org

                                                    



