PGP/GPG
PGP (Pretty Good Privacy) i OpenPGP
Historia PGP
W 1991 Phil Zimmermann, stworzył PGP (nazwa oznacza "całkiem niezła prywatność"), program komputerowy umożliwiający łatwe szyfrowanie danych. Miał na celu umożliwienie użytkownikom BBS-ów bezpiecznego przechowywania tam osobistych danych. Ponieważ do programu dołączony był kod źródłowy oraz dla niekomercyjnych zastosowań był dostępny za darmo, szybko zdobył sobie popularność w internecie.
Od samego początku historia PGP jest bardzo skomplikowana, z jednej strony uwikłana w przepisy eksportowe USA (uznające zaawansowane techniki kryptograficzne za broń), z drugiej zaś w spory licencyjne związane z używanymi szyframi (część z nich jest opatentowana). Doprowadziło to do powstania dwóch wersji PGP: amerykańskiej (US version), która może być używana na terenie USA i Kanady i międzynarodowej (PGPi - i znaczy international) wolnej od kłopotów licencyjnych, ale nielegalnej w USA.
Sam PGP z czasem stał się komercyjnym programem, używającym własnościowych technologii, który można używać zarówno w linii poleceń, jak i w postaci GUI. Było to najpopularniejsze narzędzie do szyfrowania i deszyfrowania przesyłanych wiadomości, podpisu cyfrowego i weryfikacji autentyczności nadawcy (opartej o sieć zaufania), oraz zarządzania kluczami. Istnieje wiele nakładek na program ułatwiających jego używanie oraz wtyczek pozwalających skonfigurować niemal każdy program pocztowy do współpracy z PGP.
W 2002 powstaje PGP Corporation, w 2010 korporacja i program zostały kupione przez Symanteca. Program nie jest dostępny.
Powstanie OpenPGP
Ze względu na znaczenie PGP dla społeczności internetowej, ważne było powstanie niezależnego, otwartego standardu, który umożliwiałby tworzenie współpracującego z nim oprogramowania. W lipcu 1997 PGP Inc. zaproponowało IETF utworzenie standardu nazwanego OpenPGP, co dało początek pracy OpenPGP Working Group.
OpenPGP stał się standardem internetowym określonym w RFC.
- OpenPGP Working Group
- RFC: OpenPGP Message Format RFC 2440 OpenPGP Message Format RFC 4880 The Camellia Cipher in OpenPGP RFC 5581 MIME Security with OpenPGP RFC 3156.
Znaczenie
Najlepsze nawet rozwiązanie bez implementacji jest tylko teorią. PGP Philla Zimmermanna był pierwszym publicznie dostępnym programem, który umożliwił korzystanie z kryptografii asymetrycznej użytkownikom internetu. Jednocześnie uświadomił znaczenie technik kryptograficznych dla przeciętnego użytkownika i ujawnił, jaki stawiają instytucje rządowe, kiedy są zmuszane do rezygnacji z możliwości kontrolowania obywateli.
Skomplikowane losy programu, zawiłości patentowe, licencyjne a w końcu problemy z niezgodnością pomiędzy różnymi jego wersjami oraz wtyczkami wykazały znaczenie otwartego, opublikowanego standardu PGP, który jest ważniejszy niż najlepszy nawet program. Takim właśnie standardem jest OpenPGP i dzięki niemu kryptografia asymetryczna i architektura klucza publicznego jest dostępna dla każdego, kto zechce z niej skorzystać, niezależnie od tego jakiego oprogramowania (jeśli tylko jest zgodne z OpenPGP), czy systemu używa.
Ze względu na jakość i siłę algorytmów szyfrujących zastosowanych w OpenPGP określenie "całkiem niezła prywatność" jest (jeśli technika te zastosowana jest prawidłowo) dość ironiczne - wobec każdego kto chciałby tę prywatność naruszyć.
GPG (GNU Privacy Guard)
GPG The GNU Privacy Guard jest kompletnym i darmowym zamiennikiem programu PGP. Rozwijany jest z inicjatywy Free Software Foundation przez Wernera Kocha i wspierany przez rząd niemiecki. Udostępniany jest na wolnej licencji GNU/GPL.
Ponieważ GPG można dowolnie rozprowadzać, nie mogą być w nim używane opatentowane, lub w inny sposób ograniczone algorytmy, lub oprogramowanie. Dotyczy to np. algorytmu IDEA, obecnego w PGP niemal od początku. Zamiast tego używane są inne, nieopatentowane algorytmy, takie jak 3DES i AES.
GPG jest programem do szyfrowania hybrydowego, gdyż używa kombinacji tradycyjnych szyfrów symetrycznych (szybszych) i kryptografii klucza publicznego (łatwa i bezpieczna wymiana kluczy - na przykład przez użycie klucza publicznego odbiorcy do zaszyfrowania klucza sesji, używanego tylko raz). Ten tryb pracy jest częścią OpenPGP i był zawarty w PGP od jego pierwszej wersji.