Historia PGP

2001-05-03 00:00:00 +0100


Poniżej opisane są tylko ważniejsze wersje PGP oraz zmiany, które miały duże znaczenie dla końcowego użytkownika. Pełną historię PGP można znaleźć na stronie, której autorem jest Adam Back.

Pierwsze wersje

Pierwszą powszechnie znaną i stosowaną na świecie wersją PGP było PGP 2.3a, wypuszczona w 1993 roku. W wersji tej, podobnie jak we wszystkich następnych aż do PGP 5.0, do zarządzania kluczami używany był algorytm RSA, jako szyfr symetryczny - IDEA, a jako funkcja jednokierunkowa - MD5. Wersja 2.3a potrafiła obsługiwać klucze RSA o wielkości 1024 bitów.

Problemy patentowe

Opublikowanie wersji 2.3a oraz jej szerokie rozpowszechnienie spowodowało, że firma RSA DSI Inc., będąca właścicielem patentu na algorytm RSA, wytoczyła Zimmermanowi proces o naruszenie praw autorskich. Proces ten zakończył się ostatecznie ugodą i był bezpośrednią przyczyną wypuszczenia wersji 2.5, w której implementacja RSA napisana przez Zimmermana zastąpiona została funkcjonalnie identyczną lecz wolniejszą implementacją RSAREF, mającą jednak błogosławieństwo RSA DSI. Dodatkowo, by zachęcić użytkowników PGP 2.3a do zainstalowania nowszej - legalnej - wersji, PGP 2.5 zawierało szereg ograniczeń mających zmniejszyć kompatybilność ze starszymi wersjami.

Dodatkowo, licencja użytkowania RSAREF zezwalała na bezpłatne korzystanie z niej wyłącznie do celów niekomercyjych, stworzona została więc równolegle rozwijana wersja 2.4, zwana ViaCrypt PGP, od nazwy firmy która ją sprzedawała. Nie było to jednak jedyną nowością od PGP 2.3a, wersja 2.5 posiadała wiele nowych funkcji, poprawione błędy oraz usprawnienia. Między innymi, pozwalała na generowanie kluczy RSA o długości 2048 bitów.

Wkrótce potem ukazały się kolejno wersje od 2.6 do 2.6.3, w których poprawiono liczne błędy oraz uwzględniono sugestie użytkowników. Od wersji 2.6 zmieniła się także licencja użytkowania PGP - program pod swoje skrzydła wziął Massachusetts Institute of Technology, zapewniając mu dystrybucję oraz ochronę prawną.

Wersja międzynarodowa

Wersja 2.6 była także przełomowa pod innym względem - Norweg Staale Schumacher, rozpoczął równoległe rozwijanie wersji międzynarodowej PGP, pozbawionej ograniczeń nakładanych na amerykańską wersję PGP 2.5 o których wspomniano powyżej. Wersja międzynarodowa korzystała - ponownie - z szybszej wersji algorytmu RSA oraz była kompatybilna z wersjami PGP 2.2 oraz 2.3.

W pierwszej połowie 1995 roku autor tej strony przetłumaczył i udostępnił publicznie tłumaczenie pierwszej części dokumentacji oraz komunikatów PGP 2.6. Sądząc z odzewu, było ono potrzebne i zdobyło sobie pewną popularność.

PGP.com

Od czasu wypuszczenia PGP 2.6.3, które stało się praktycznym standardem światowym jeśli chodzi o darmowe oprogramowanie szyfrujące, Philip Zimmerman założył firmę PGP Inc.. Jej sztandarowym produktem była oczywiście nowa wersja PGP 5.0. Wprowadzono w niej nowy algorytm kluczy publicznych DSS/Diffie-Hellman, nowe szyfry - 3DES i CAST, oraz algorytmy generowania funkcji skrótu - SHA-1 i RIPEMD-160. Algorytm Diffie-Hellman (patent wygasł w 1997 roku) został dodany ze względu na ograniczenia patentowe algorytmu RSA, będące przyczyną kłopotów z PGP 2.3. SHA-1 miało w zamierzeniu zastąpić dotychczas używane MD5, które posiada pewne słabości kryptograficzne.

Ze względu na przepisy eksportowe USA (ITAR), zaliczające zaawansowane algorytmy szyfrujące do technik militarnych nie jest możliwe legalne wyeksportowanie kodu źródłowego PGP ze Stanów Zjednoczonych. Co ciekawe, przepisy te ograniczają wyłącznie eksport elektronicznej formy kodu źródłowego. Eksport źródeł wydrukowanych na papierze nie podlega pod ITAR. Logicznym następstwem takiej niekonsekwencji było wypuszczenie przez PGP Inc. pełnego kodu źródłowego PGP w postaci 14-to tomej księgi, która została następnie legalnie wywieziona poza granice USA i zeskanowana przez Staale Schumachera, dotychczasowego koordynatora wersji międzynarodowej PGP. Zajęło to w sumie około 1000 godzin, przy współpracy ponad 70-ciu osób z całej Europy. Taka kłopotliwa procedura została przeprowadzona po to, by uniknąć wszelkich zarzutów jakie wysuwano wobec Philipa Zimmermana odnośnie wersji PGP 2.6.3i, która została napisana w USA i ,,jakimś sposobem'' znalazła się w Europie.

NAI PGP

Pod koniec roku 1998 PGP Inc. zostało kupione przez firmę Network Associates Inc., co jednak nie wpłynęło na zmianę polityki wobec wersji freeware. Od tej pory PGP poszerzyło znacznie swoje możliwości. Z programu szyfrującego stosowanego głównie do poczty elektronicznej PGP ewoluowało w kompleksowy produkt, umożliwiający tworzenie szyfrowanych wirtualnych sieci prywatnych (PGPnet, implementacja IPSec), obsługę systemu X.509 oraz szyfrowanie dysków logicznych (PGPdisk). W sierpniu 1998 roku światło dzienne ujrzał dokument RFC 1991 podpisany przez Zimmermana oraz dwie inne osoby związane blisko z rozwojem PGP. Nosił on tytuł ,,PGP Message Exchange Formats'' i zawierał formalną specyfikację formatu używanego przez PGP w wersji 2. W trzy miesiące później inni ludzie, związani z NAI, opublikowali RFC 2440 zawierające opis nowego standardu nazwanego ,,OpenPGP'', kompatybilnego z PGP 5.0 oraz umożliwiającego kompatybilność ze starszymi wersjami PGP. PGP 5.0 pojawiło się w dwóch wersjach - komercyjnej (PGP for Privacy) oraz darmowej (PGP Freeware). Był to znak, że polityka firmy wobec programu uległa - jeśli nie formalnej to przynajmniej praktycznej - zmianie. Wersja PGP 2.6.3, ciesząca się do dziś największą popularnością na całym świecie, była dostępna pod 7 systemów operacyjnych dla komputerów osobistych (Amiga, Atari, BeOS, Macintosh, MSDOS, OS/2 Windows) oraz kilkadziesiąt systemów unixowych. Pierwsza wersja PGP 5.0 była dostępna pod Windows, Macintosha oraz systemy unixowe.

Wszystkie kolejne wersje PGP były dostępne wyłącznie dla Windows i Macintosha. Są one kompatybilne z wersją 5.0, jednak moje osobiste wrażenia odnośnie tej ostatniej nie są zbyt pozytywne. Wersja 5.0, dostępna pod systemy unixowe była pełna błędów i używanie jej było dość uciążliwe. Nadzieje na nową, lepszą wersję pozbawioną tych niedogodności zostały rozwiane wraz z wersją PGP 5.5, która nie została już przeniesiona na unixy i większość użytkowników była przekonana że NAI nie zamierza wypuszczać wersji na tę platformę.

Tymczasem w wakacje 1999 ogłoszono wersję PGP 6.5.1 dla Linuxa. Co ciekawe, w przeciwieństwie do PGP 5.0 w nowej wersji autorzy powrócili do koncepcji pojedynczego, monolitycznego programu pgp, ze składnią linii poleceń podobną jak w PGP 2.6.3i. Nie testowałem jej jednak dokładnie, więc nie wiem nic więcej na temat funkcjonalności tej wersji. W latach 1998-2001 PGP produkowane przez NAI stało się zdecydowanie produktem nastawionym na klientów biznesowych i spełniających szereg innych funkcji poza szyfrowaniem poczty. Kolejne wersje PGP zawierają oprogramowanie do tworzenia VPN (protokół IPSEC), zabezpieczania systemu Windows itd. W 4-tym kwartale 2000 dostępne było już PGP 7.0, kontynuujące tę linię rozwoju.

OpenPGP.org

W maju 2001 Phil Zimmerman opuścił NAI, tłumacząc swoją decyzję różnicami w wizji przyszłości PGP. Równocześnie z podjęciem pracy w fimie Hush Communications, oferującej bezpieczne konta pocztowe, stworzył OpenPGP Alliance, czyli niedochodowe stowarzyszenie firm i innych grup, rozwijających oprogramowanie kompatybilne z PGP.

Koniec PGP komercyjnego?

W marcu 2002 roku NAI ogłosiło koniec komercyjnego wsparcia dla projektu PGP Desktop, czyli właściwego PGP jako programu szyfrującego. W sierpniu 2002 linia produktów PGP została ostatecznie sprzedana przez NAI nowo powstałej firmie PGP Corporation, która zapowiedziała kontynuację rozwoju popularnego programu. Firma ogłosiła, że w tej chwili pracuje nad nową wersją PGP 8.0, która między innymi będzie posiadała pełne wsparcie dla Windows XP i MacOS X (chodzi głównie o PGPdisk). Zasady dystrybucji nowego PGP mają być bliższe dawnym wersjom niż korporacyjnej linii NAI - program ma być darmowy do zastosowań niekomercyjnych i dostarczany w całości z kodem źródłowym. Oświadczenie PGP Corporation ostatecznie zakończyło wątpliwości, jakie powstały wokół programu po ogłoszeniu zakończenia jego rozwoju przez NAI.

Alternatywy

Od grudnia 1997 roku rozwijany jest program nazywany roboczo G10, i mający stanowić powszechnie dostępną alternatywę dla skomercjalizowanego PGP. W międzyczasie nazwa G10 została zmieniona na GNU Privacy Guard, a sam program został oficjalnie objęty ochroną prawną przez Free Software Foundation. Napisany zgodnie ze wysokimi standardami tworzenia oprogramowania nakładanymi przez GNU, Privacy Guard wydaje się być w tej chwili najlepszą alternatywą dla PGP dla użytkowników systemów unixowych. Istnieją również wersje pod Windows i pluginy dla programów pocztowych, ale autor tej strony osobiście ich nie używał.

Linki

http://www.gnupg.org/
Strona projektu GNU Privacy Guard.
http://www.pgpi.com/
PGP International, główna składnica międzynarodowych wersji PGP.
"Podręcznik PGP 2.6",
Wersja HTML polskiego tłumaczenia ,,Podręcznika PGP 2.6'', przetłumaczonego około 1994 roku przez Pawła Krawczyka z pomocą kilku osób, i przerobionego na HTML przez Krzysztof Marka Matyskiela i Grzegorza Wójcika (oryginalny link na PW).