Elektroniczna koperta

Przesyłanie listów w Internecie wcale nie jest bezpieczne. Łatwo je intruzom podejrzeć i zmodyfikować ich treść. Można jednak informacje tak zakodować, by nikt postronny nie mógł naszego listu odczytać. Pomocny jest w tym słynny program PGP.

Przesyłanie listów w Internecie wcale nie jest bezpieczne. Łatwo je intruzom podejrzeć i zmodyfikować ich treść. Można jednak informacje tak zakodować, by nikt postronny nie mógł naszego listu odczytać. Pomocny jest w tym słynny program PGP.

"Dlaczego wkładasz ten list do koperty - chyba nie ma w nim żadnych tajemnic?" Przypuszczam, że gdyby zadano Ci, Drogi Czytelniku, takie pytanie, nie miałbyś pewności, czy pytający mówi serio. Przecież postępujemy tak ze wszystkimi listami, bez względu na to, czy zawierają one wyznania miłosne, dobre rady cioci dla siostrzeńca, czy też referat naukowy do opublikowania w poważnym periodyku. Bez kopert wysyłamy najwyżej pocztówki z błahymi zdawkowymi życzeniami. Jesteśmy przyzwyczajeni do kopert, które nasz list chronią - nie tylko przed uszkodzeniem, ale przede wszystkim przed wścibskimi oczami. Jeżeli koperta nosi ślady otwierania, to możemy podejrzewać chociażby listonosza.

Mało kto zastanawia się, czy listy przesyłane w Internecie mają jakiekolwiek "koperty" chroniące przed przeczytaniem przez osoby niepowołane. Niestety - na ogół nie.

Prześledźmy drogę jakiegoś listu wysłanego do mnie przez mojego przyjaciela z USA. Pisze on na swoim domowym PC; następnie przez modem przesyła tekst do podłączonego do sieci Internet komputera w swojej firmie, aby wysłać go za pośrednictwem jednego z typowych programów pocztowych. Już na tym etapie administrator systemu w firmie mojego przyjaciela może, w sposób absolutnie niewykrywalny dla nadawcy ani dla odbiorcy, nie tylko zapoznać się z treścią listu, ale nawet ją zmodyfikować!

Następnie list, rozbity na ciąg pakietów IP, wędruje poprzez Internet. Po drodze przechodzi przez wiele linii przesyłowych i łączących je urządzeń, takich jak na przykład routery. Zarówno personel obsługujący te urządzenia, jak i osoby dysponujące dostępem do łączy (chociażby monterzy firm telekomunikacyjnych) również mogą przechwycić nasze pakiety. Na ostatnim odcinku - między głównym routerem mojej uczelni a komputerem na którym odbieram swoją pocztę - pakiety te wędrują przez lokalną sieć Ethernet. Każdy jej użytkownik korzystający z komputera osobistego może uruchomić program (dostępny w sieci jako public domain), który pozwala na przechwycenie płynących do mnie danych. Na koniec wreszcie, list po dostarczeniu do mojego komputera (pracującego pod Unixem) znajdzie się w systemowej "skrzynce pocztowej" (mailbox). Teoretycznie dostępna jest ona wyłącznie dla mnie - w praktyce jednak także dla administratora systemu... lub włamywacza, który dostał się w jakiś sposób na moje lub administratora konto.

Jak widać, list przesyłany siecią, całkiem tak samo jak ten "papierowy", może zostać przeczytany przez wiele postronnych osób. I to w sposób absolutnie niewykrywalny. Mało tego - nawet wprowadzenie zmian nie pozostawi śladów mogących obudzić naszą czujność. Nie znajdziemy niczego takiego jak powtórnie zaklejana koperta czy ślady wywabiania atramentu.

Do tych konkluzji doszło wielu użytkowników poczty elektronicznej. Dopóki slużyła ona tylko stosunkowo wąskiemu gronu naukowców, nie odczuwano wielkiej potrzeby zapewnienia tajemnicy korespondencji - podobnie jak kilkadziesiąt lat temu, w epoce pierwszych telefonów, ich właściciele godzili się z faktem, że ich rozmowy może podsłuchiwać każdy sąsiad, który zechce podnieść słuchawkę. Gdy jednak liczba użytkowników Internetu zaczęła wyrażać się w setkach tysięcy, a potem w milionach, poufność informacji przekazywanych siecią stała się poważnym problemem.

Nic nie widać

Szyfrowanie listu jest najbardziej pewnym sposobem uniemożliwiającym osobom postronnym przechwycenie go i zmianę jego treści. W klasycznych metodach szyfrowania nadawca i odbiorca muszą dysponować tym samym kluczem. Musi on zostać jakoś wcześniej ustalony. Jeżeli jedyną formą kontaktu między korespondentami jest poczta elektroniczna, wpada się w błędne koło: możemy przesłać list zaszyfrowany, ale żeby odbiorca mógł go rozszyfrować, musimy najpierw przesłać klucz - a żeby ten nie wpadł w niepowołane ręce, powinien również być zaszyfrowany... itd. Na szczęście z pomocą pospieszyła matematyka. Dzięki niej możliwe stało się stworzenie niesymetrycznych algorytmów kodowania, w których klucz używany do deszyfrowania nie jest identyczny z tym od szyfrowania. Jeśli dodatkowo nie można łatwo odtworzyć klucza do odkodowania tylko na podstawie znajomości klucza szyfrowania, to mamy do czynienia z metodą kluczy publicznych. Możemy w niej klucz szyfrowania upublicznić, na przykład drukując go na swojej wizytówce. W sekrecie zachowujemy klucz prywatny, służący do deszyfrowania. Każdy, kto pozna nasz klucz publiczny, może przesyłać do nas listy zaszyfrowane, które tylko adresat (właściciel odpowiedniego klucza prywatnego) będzie w stanie odszyfrować.

Klucze, które nie są tajemnicą

Najbardziej znanym algorytmem, w którym stosuje się metodę kluczy publicznych, jest RSA (od nazwisk twórców - Rivest-Shamir-Adleman). Jego "nieodwracalność" (tzn. niemożność skonstruowania klucza prywatnego na podstawie znajomości klucza publicznego) wynika z teorii liczb: aby odtworzyć klucz prywatny, niezbędne jest znalezienie czynników pierwszych pewnej liczby wchodzącej w skład klucza publicznego. Cóż to za trudność, mógłby spytać ktoś, kto pamięta za szkoły sposób rozbijania liczb na czynniki pierwsze? Programujemy odpowiednio komputer i liczymy... Ano tak, tylko należy dodać, iż idzie tu o liczbę rzędu 1080 , tzn. osiemdziesięciocyfrową, albo jeszcze większą, będącą iloczynem dwóch liczb pierwszych. Znane obecnie algorytmy faktoryzacji (szukania czynników pierwszych) zastosowane do takich liczb wymagają całych lat obliczeń, nawet na najszybszych istniejących komputerach. Czas ten rośnie wykładniczo wraz z długością klucza, a więc już niewielkie wydłużenie klucza spowoduje nieproporcjonalnie większy wzrost czasu trwania procesu faktoryzacji. Na ogół stosuje się klucze o długości od 512 do 2048 bitów. Im dłuższy klucz, tym trudniej będzie go złamać - ale też tym dłużej trwa operacja szyfrowania i odszyfrowania, toteż wielu użytkowników posługuje się kluczami relatywnie krótkimi.

Złamanie klucza 512-bitowego może być osiągalne w "rozsądnym" czasie (kilku miesięcy) dla instytucji dysponującej odpowiednio wielką mocą obliczeniową (ponoć National Security Agency - agencja rządu USA odpowiedzialna m.in. za wywiad elektroniczny - ma urządzenia o mocy znacznie przewyższającej superkomputery Cray). Natomiast dla kluczy o długości 2048 bitów potrzeba stuleci obliczeń. Nie zanosi się na rychłą zmianę tego stanu rzeczy (o ile nie nastapi radykalny przewrót w teorii liczb). Można więc uważać algorytm RSA za bezpieczne rozwiązanie.

Prywatność dla każdego

Na bazie algorytmu RSA opracowano liczne programy służące do szyfrowania informacji. Jednym z pierwszych i najbardziej rozpowszechnionych jest PGP (Pretty Good Privacy) autorstwa Phila Zimmermana. Stosuje on hybrydowy algorytm kodowania. Ponieważ szyfrowanie dużego zbioru (np. 100 kB) z wykorzystaniem algorytmu RSA trwa dość długo, PGP stosuje "tradycyjny", symetryczny algorytm szyfrowania IDEA, z użyciem 128-bitowego klucza generowanego losowo za każdym razem. Ten klucz szyfrowany jest za pomocą algorytmu RSA, z użyciem klucza publicznego należącego do osoby, do której adresujemy list i dołączany jest do listu zakodowanego. Rozwiązanie takie jest równocześnie bezpieczne i efektywne. Dodatkową zaletą jest możliwość zapisania zbioru w taki sposób, że odszyfrować może go grupa adresatów (PGP dołączy do zaszyfrowanego zbioru kilka kopii klucza IDEA, każdą z nich szyfrując kluczem publicznym innego odbiorcy).

PGP może pracować prawie w każdym systemie operacyjnym: PC z systemem MS-DOS, na komputerach osobistych Apple Macintosh i Commodore Amiga, na minikomputerach VAX z systemem VMS, na stacjach roboczych oraz serwerach pracujących pod rozmaitymi odmianami Unixa (SunOS/Solaris, Ultrix, OSF/1, AIX, HP-UX, IRIX, Linux i inne), a nawet na komputerach mainframe (IBM serii 3000 i 4300) oraz superkomputerach (Convex). Praktycznie każdy użytkownik sieci Internet ma możliwość zainstalowania PGP na swoim komputerze - po uprzednim ściągnięciu poprzez tę sieć, jako że PGP rozpowszechniane jest przez autora za darmo. Dzięki temu PGP bardzo szybko zyskuje na popularności.

Łapczywe rządy

W pewnym momencie ten triumfalny marsz został przyhamowany. Algorytm PGP jest w Stanach Zjednoczonych opatentowany przez firmę Public Key Partners. Amerykańskie przepisy eksportowe, w świetle których wszelkie produkty mające związek z kryptografią (tzn. szyfrowaniem informacji) są traktowane jak... broń, tzn. ich eksport wymaga uzyskania zezwolenia na międzynarodowy handel bronią i uzbrojeniem, zgodnie z aktem ITAR (International Trade of Arms Regulation). W związku z rozpropagowaniem PGP poza obszarem USA, autorowi wytoczono proces o naruszenie tych regulacji. Proces ten nie został rozstrzygnięty do chwili obecnej. W międzyczasie jednak Phil Zimmerman uregulował kwestię legalności stosowania PGP w USA poprzez umowę z właścicielami praw do algorytmu RSA. W Norwegii natomiast została opracowana przez Staalego Schumachera tzw. międzynarodowa wersja PGP, która jest w pełni kompatybilna z wersją "amerykańską", ale jako opracowana poza terytorium USA nie jest przedmiotem amerykańskich restrykcji eksportowych. Tak więc, obecnie użytkownicy, zarówno w USA, jak i poza jego granicami, mogą używać PGP pozostając w zgodzie z prawem.

Nie dotyczy to krajów takich jak Rosja czy Francja, gdzie przesyłanie informacji zaszyfrowanej jest zabronione. Również w Polsce formalnie nadal obowiązuje przepis zakazujący przesyłania "danych niejawnych", wywodzący się jeszcze ze stanu wojennego i do tej pory nie uchylony...

W Stanach Zjednoczonych podejmowane były (i zapewne nadal będą), próby zdelegalizowania tych metod szyfrowania, które nie mogą być w łatwy sposób złamane. Uzasadnia się to potrzebą walki ze szpiegostwem i przestępczością zorganizowaną - "Jeżeli jesteś praworządnym obywatelem, po co miałbyś ukrywać przed władzami treść swojej korespondencji?" Przeciwnicy odpowiadają im pytaniem: "Czy tylko przestępcy mają coś do ukrycia? Czy rząd ma prawo interesować się moim życiem osobistym?"

Na szczęście Amerykanie w większości są bardzo czuli na próby ograniczania ich praw obywatelskich, a do takich zalicza się przecież tajemnicę korespondencji. List, także elektroniczny, może zawierać informacje bardzo osobiste - od planów rozwojowych firmy czy opisu wynalazku przeznaczonego do opatentowania, poprzez dane o naszym stanie zdrowia (możemy przecież komunikować się za pośrednictwem sieci z naszym lekarzem!), aż do wyznań miłosnych...

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200