Na stronie Generalnego Inspektora Danych Osobowych jest do wglądu „Opinia w sprawie bezpieczeństwa danych przekazywanych przy użyciu poczty elektronicznej”, która wywołała kontrowersje ze względu na proponowane tam narzędzia do szyfrowania poczty elektronicznej – pisze mgr inż. Kamil Kaczyński, kryptolog, członkiem International Association for Cryptologic Research.
Zacznijmy jednak od początku: w opinii GIODO trafnie zauważono, iż poufność przekazywanych informacji można uzyskać, wykorzystując metody kryptograficzne, a konkretnie szyfrowania danych.
Drugą z wymienionych metod jest też odpowiednie zabezpieczenie infrastruktury, na którą składają się komputer nadawcy i odbiorcy, serwery pocztowe nadawcy i odbiorcy oraz kanały komunikacyjne do przesyłania informacji między nimi. Również ta metoda wymaga zastosowania metod kryptograficznych.
Zgodnie z treścią przedstawionego dokumentu, szyfrowanie przekazywanych informacji może być realizowane z wykorzystaniem mechanizmów symetrycznych, zintegrowanych w popularnych archiwizatorach.
Jednym z proponowanych przez specjalistów GIODO rozwiązań jest program 7-zip, dostępny na licencji GNU LGPL (Open Source), rozszerzoną o restrykcje UnRAR. Oprogramowanie to zostało wytworzone i jest nadal utrzymywane przez rosyjskiego programistę – Igora Pawłowa.
7-zip pozwala na tworzenie archiwów, poddanych kompresji metodami LZMA, LZMA2, PPMD, BCJ, BCJ2, BZip2 i Deflate. Wytwarzane archiwa mogą być szyfrowane z wykorzystaniem algorytmu AES i mogą umożliwiać automatyczną dekompresję. Oprogramowanie pozwala tworzyć archiwa w formie samodzielnych aplikacji dla systemu Windows.
Wykorzystywany w 7-zip sposób szyfrowania wymusza jednak na użytkowniku zastosowanie klucza symetrycznego – takiego samego dla procesu szyfrowania, jak i deszyfrowania informacji. Zastosowanie takiego rozwiązania niesie za sobą zarówno szereg zalet, jak i wad. Do podstawowych zalet należy znacząco uproszczony proces budowy oprogramowania (brak potrzeby obsługi sieci), a także szybkość działania. Systemy takie mają jednak bardzo duże ograniczenia związane z wymianą kluczy kryptograficznych, a także problemy związane z koniecznością pełnego zaufania pomiędzy stronami wymiany danych.
Problem wymiany kluczy wynika z faktu, że komunikujące się ze sobą strony muszą w sposób bezpieczny wymienić ze sobą tajny klucz, zanim jakakolwiek poufna komunikacja może zostać zainicjowana. Obydwie strony muszą mieć pewność, co do posiadania przez każdą z nich wspólnego sekretu. Nie zawsze możliwa jest bezpośrednia wymiana kluczy, ze względu na czynniki kosztowe, czasowe, ponoszenie dodatkowego ryzyka, czy też po prostu brak wygody takiego rozwiązania. Możemy sobie wyobrazić, że niekiedy taka wymiana może mieć miejsce, jednak przesłanie takich informacji jak klucze kryptograficzne z wykorzystaniem poczty elektronicznej czy SMS nie jest rozwiązaniem zapewniającym poufność archiwum. Kolejnym istotnym ograniczeniem, jest fakt prowadzenia komunikacji pomiędzy stronami, które nigdy wcześniej ze sobą się nie komunikowały, tym samym nie miały możliwości wcześniejszej, bezpiecznej wymiany kluczy kryptograficznych. Strony takie zazwyczaj nie znają się na tyle dobrze, by osiągnąć odpowiedni wzajemny poziom zaufania, niezbędny do wykorzystania algorytmu symetrycznego także do realizacji funkcji uwierzytelniających. Gwałtowny rozwój wykorzystania Internetu w prowadzeniu komunikacji, powoduje, że liczba przypadków komunikacji pomiędzy nieznanymi sobie wcześniej stronami jest zdecydowanie coraz bardziej częsta. W takim przypadku jedynym bezpiecznym rozwiązaniem jest wykorzystanie algorytmów asymetrycznych.
Kolejnym problemem wynikającym z zastosowania algorytmów symetrycznych jest brak możliwości sprawdzenia integralności i pochodzenia danych. Przykładowo, jeżeli chronione dane będą dokumentacją finansową, albo propozycją umowy, zapewnienie integralności i gwarancja pochodzenia jest niepomijalna. W różnych przypadkach, problem ten dotyczy także zwykłej korespondencji e-mail, gdyż przy ewentualnych postępowaniach karnych niezwykle istotne jest wskazanie kręgu osób posiadających wiedzę o zawartości danych dokumentów. W tym przypadku systemy oparte na algorytmach symetrycznych, a w szczególności proste archiwizery nie mogą stanowić właściwego rozwiązania.
Powróćmy jednak do wykorzystania 7-zip jako wskazanej metody ochrony poufności przesyłanych za pośrednictwem poczty elektronicznej plików. Wskazaliśmy już wadę wykorzystania systemów klucza symetrycznego w komunikacji. Jednak, w przypadku każdej aplikacji mogą także wystąpić błędy w poprawnej implementacji wybranych mechanizmów. Błędy takie częściej występują w oprogramowaniu otwartym, niż w lepiej dofinansowanych projektach komercyjnych. W przypadku rekomendowanego przez GIODO 7-zip szerokim echem odbiły się wykryte w zeszłym roku luki bezpieczeństwa. Pozostawione w oprogramowaniu błędy pozwalały atakującym na zdalne wykonanie kodu, a także na wykonanie operacji mających na celu uszkodzenie stosu pamięci lub przepełnienie bufora. Co bardziej znaczące, 7-zip jako oprogramowanie Open Source jest składową wielu innych aplikacji. Wykorzystanie błędnego kodu spowodowało efekt lawinowy i wiele z tych aplikacji do dnia dzisiejszego posiada niezałatane podatności. Zgodnie z informacjami podanymi przez Talos, podatności te wynikały z błędnej weryfikacji wprowadzanych danych. Dane wprowadzone do aplikacji mogą zawsze pochodzić z potencjalnie niezaufanego źródła, dlatego odpowiednia ich weryfikacja jest kluczowa dla bezpieczeństwa każdej aplikacji. Należy zaznaczyć, iż nie była to jedyna wzmianka dotycząca problemów z rosyjskim oprogramowanie. Na temat 7-zip w wersji portable można także odnaleźć wzmiankę w najnowszym wycieku dokumentów opublikowanym przez WikiLeaks.
Podsumowując, wykorzystanie rozwiązań przeznaczonych do kompresji danych, jako narzędzi gwarantujących poufność komunikacji nie jest rozwiązaniem prawidłowym i nie powinno być stosowane do celów profesjonalnych. Problem narasta przy prowadzeniu komunikacji z szerokim gronem odbiorców. Zdecydowanie lepszym rozwiązaniem jest wykorzystanie dedykowanych platform wymiany plików, pozwalających na wskazanie docelowych adresatów, uzgadniając ich wspólne klucze kryptograficzne z wykorzystaniem odpowiednich mechanizmów asymetrycznych.