Szyfrowanie – co warto o nim wiedzieć

RSA i AES, klucze prywatne i publiczne, szyfrowanie symetryczne i asymetryczne, podpis cyfrowy i certyfikaty – wyjaśniamy, co kryje się za tymi pojęciami. Przedstawiamy listę odpowiedzi na najczęstsze pytania z zakresu kryptografii.


Wiadomości o inwigilowaniu obywateli, które obiegły świat za sprawą Edwarda Snowdena, przyczyniły się do ogromnego wzrostu popularności szyfrowania. Tymczasem metody tajnego przekazywania poufnych informacji towarzyszą człowiekowi już od dawna. Poniżej przedstawiamy podstawowe wiadomości z zakresu kryptografii i odpowiadamy na najczęstsze pytania dotyczące szyfrów.

Szyfrowanie – co to jest i do czego służy

Szyfrowaniem określa się proces przekształcania tekstu czytelnego dla człowieka lub informacji w innej postaci (np. zarejestrowanego materiału dźwiękowego lub filmowego) na niezrozumiały ciąg znaków w celu jego utajnienia – przechowywania w takiej postaci lub przekazywania niezabezpieczonymi kanałami. Tekst zrozumiały nosi miano tekstu jawnego. Przekształcony tekst wynikowy nazywa się tekstem tajnym, szyfrogramem lub kryptogramem. Szyfrowanie przeprowadza się przy użyciu specjalnych funkcji matematycznych zwanych także kryptograficznymi algorytmami szyfrującymi. Czynność odwrotna, która ma na celu przekształcenie tekstu tajnego na jawny, nosi nazwę deszyfrowania lub dekryptażu.

Szyfrowanie służy do ukrywania informacji przed niepożądanym lub nieuprawnionym dostępem. Przydaje się przede wszystkim wtedy, gdy trzeba przekazać wiadomość od nadawcy do odbiorcy w sposób uniemożliwiający odczytanie jej przez osoby trzecie.

Szyfrowanie – czy można przedstawić je w obrazowy sposób

Aby przedstawić szyfrowanie w obrazowy sposób, jako przykład często stosuje się tzw. kod Cezara. Wedle przekazów rzymski imperator Gajusz Juliusz Cezar (100 – 44 r. p.n.e.) używał tego szyfru do utajniania korespondencji o znaczeniu militarnym. Kod Cezara to bardzo prosty szyfr polegający na podmienianiu liter (szyfr podstawieniowy). Każdą literę tekstu jawnego zastępuje się inną literą tego samego alfabetu – oddaloną od niej o określoną liczbę miejsc w alfabecie. Poszczególne litery tekstu jawnego mają więc swoje stałe odpowiedniki. Za każdym razem stosowano przesunięcie w prawo. Do szyfrowania tekstu, w którym występowały litery z końca alfabetu, używano pierwszych liter alfabetu. Aby odczytać zaszyfrowaną wiadomość, wystarczyło dokonać przesunięcia o tę samą liczbę znaków w lewo. Klucz deszyfrujący stanowi w tym wypadku liczba znaków. Poniżej zamieszczamy krótki przykład.

Tekst zaszyfrowany: „dwdnxmhpbrvzlflh

Klucz: każdą literę zastąpić trzecią w kolejności następujących po niej liter w alfabecie

Alfabet: a b c d e f g h i j k l m n o p q r s t u v w x y z

Przesunięcie deszyfrujące: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

W wyniku przesunięcia uzyskuje się tekst „atakujemyoswicie”. Zdeszyfrowana wiadomość ma więc następującą treść: „Atakujemy o świcie”.

Szyfrowanie – co oznacza pojęcie klucza

Klucz jest jednym z podstawowych elementów szyfru. To on służy do szyfrowania i deszyfrowania tekstu. W kodzie Cezara funkcję klucza pełni liczba znaków, o którą następuje przesunięcie.

W wielu szyfrach rolę klucza odgrywa hasło, za pomocą którego szyfruje się tekst jawny w celu jego utajnienia. Z drugiej strony tego samego hasła używa się do uzyskania tekstu jawnego z tekstu zaszyfrowanego. W szyfrowaniu komputerowym klucz jest ciągiem bitów.

O skuteczności szyfrowania, a więc o jego odporności na próby złamania, decyduje w dużej mierze długość klucza. W ogromnym uproszczeniu długość klucza to liczba możliwych kombinacji klucza. Jeśli przestrzeń możliwych kluczy jest niewielka, agresor może wypróbować kolejno wszystkie klucze. Czynność ta nosi nazwę ataku siłowego (ataku brute force). Metodę szyfrowania uznaje się za złamaną, gdy ktoś odkryje sposób zaatakowania danego szyfru skuteczniejszy od ataku siłowego, a więc wypróbowywania wszystkich możliwych kluczy. Dlatego należy obierać wystarczająco długie klucze, aby atakujący metodą brute force nie mieli szansy powodzenia.

Wspomniany kod Cezara nie zapewnia prawie żadnego zabezpieczenia. Przewiduje tylko 26 kluczy. Wypróbowanie ich (nawet metodą ręczną) zajmuje bardzo mało czasu. Dlatego można szybko odczytywać szyfrogramy stworzone tą metodą bez konieczności mozolnego poszukiwania klucza.

W szyfrowaniu przy użyciu komputera można ustalić długość klucza na podstawie liczby bitów (np. klucz 40-bitowy, 56-bitowy, 128-bitowy, 256-bitowy). Wraz z długością klucza wzrasta liczba możliwych kombinacji – zupełnie jak w wypadku hasła. Szyfrowanie 128-bitowe jest bilion razy silniejsze od szyfrowania 40-bitowego.

Szyfrowanie – co warto o nim wiedzieć

Enigma to wirnikowa, elektromagnetyczna maszyna szyfrująca stosowana przez Niemców w czasie II wojny światowej.

Szyfrowanie – czy powstało w erze nowożytnej lub w epoce komputerów

Wiadomości szyfrowano już w czasach starożytnych. Za przykład może posłużyć kod Cezara, o którym mowa powyżej. Z grubsza można podzielić historię kryptografii na trzy epoki. W pierwszej, która trwała do ok. początku XX wieku, szyfrowano ręcznie lub przy użyciu mechanicznych krążków. W drugim etapie, który przypada na okres od ok. 1920 r. do 1970 r., używano specjalnych maszyn szyfrujących (np. elektromagnetycznych), zaś w epoce rozpoczynającej się ok. w 1970 r. szyfrowanie przejęły komputery.

Bardzo znanym przykładem maszyny szyfrującej z drugiej epoki kryptografii jest Enigma. Wsławiła się podczas II wojny światowej, kiedy służyła siłom zbrojnym III Rzeszy i jej sojusznikom do utajniania radiotelegramów przed siłami aliantów. Po stronie niemieckiej algorytmy szyfrujące Enigmy uchodziły za bardzo trudne do złamania. Polskim kryptologom – Marianowi Rejewskiemu, Henrykowi Zygalskiemu i Jerzemu Różyckiemu – udało się jako pierwszym zdeszyfrować wiadomości przekazywane za pomocą niemieckiej maszyny szyfrującej. Dysponując dokumentacją polskich matematyków, dalsze prace nad dekryptażem nieustannie udoskonalanej Enigmy prowadzili brytyjscy naukowcy pod przewodnictwem Alana Turinga.

Przez długi czas rozwój metod kryptologicznych był napędzany w dużej mierze przez zastosowania wojskowe. Po jednej stronie kryptografowie usiłowali jak najskuteczniej zaszyfrować treść depeszy, po drugiej zaś kryptoanalitycy próbowali jak najszybciej zdeszyfrować przechwycone komunikaty. Obecnie badania nad techniką szyfrowania są prowadzone na znacznie szerszą skalę.

Szyfrowanie – podstawy naukowe

Większość metod szyfrowania polega na trudności rozwiązywania problemów matematycznych będących celem badań w zakresie teorii liczb. Mówiąc kolokwialnie, u podstaw szyfrowania stoi zasada, według której bardzo łatwo wykonać niektóre czynności, lecz bardzo trudno je cofnąć i przywrócić pierwotny stan. Na przykład łatwo rozbić ceramiczną wazę, zrzucając ją z dużej wysokości, za to znacznie trudniej posklejać kawałki w całość.

Podobne fenomeny występują w dziedzinie matematyki i są przedmiotem badań w ramach teorii liczb. Na przykład mnożenie liczb (nawet dużych) nie przysparza żadnych problemów. Tymczasem znacznie trudniej rozłożyć iloczyn na nieznane czynniki. Nie tak łatwo np. ustalić dzielniki liczby 805963. Stopień trudności wzrasta wraz z wielkością liczby. Gdy wybrać wystarczająco wielką liczbę, nawet komputer o ogromnej mocy obliczeniowej potrzebowałby tysięcy lat, aby rozłożyć ją na czynniki.

Współcześnie używa się kilkusetcyfrowych liczb. Stosując bardzo wyrafinowane metody, przy dużym nakładzie pracy naukowcy są obecnie w stanie rozkładać zaledwie 130-cyfrowe liczby.

Szyfrowanie – co warto o nim wiedzieć

Aplikacja Gpg4win pozwala szyfrować pocztę elektroniczną w standardach OpenPGP i S/MIME.

Szyfrowanie – opis symetrycznych i asymetrycznych metod szyfrowania

Zasadniczo rozróżnia się szyfry symetryczne i szyfry asymetryczne.

W metodach symetrycznych używa się tego samego klucza do szyfrowania i deszyfrowania wiadomości. Przed przekazaniem poufnych informacji nadawca i odbiorca muszą więc wspólnie ustalić tajny klucz i dostarczyć go sobie bezpiecznym kanałem. Do symetrycznych metod szyfrowania należy m.in. kod Cezara (patrz wyżej). Inne szyfry symetryczne to AES, One-Time i 3DES (patrz dalej).

W asymetrycznych metodach szyfrowania zarówno nadawca, jak i odbiorca dysponują oddzielną parą kluczy. Para ta składa się z klucza publicznego (public key) i klucza prywatnego (private key). Pierwszy z wymienionych jest jawny i dostępny do publicznej wiadomości, drugi zaś musi być przechowywany w ukryciu.

Nadawca używa klucza publicznego odbiorcy w celu zaszyfrowania depeszy. Adresat może ją odczytać za pomocą swojego tajnego klucza prywatnego. Asymetria wynika z tego, że dane szyfrowane kluczem publicznym wspomnianej pary mogą być zdeszyfrowane tylko przy użyciu klucza prywatnego pary.

W praktyce wygląda to następująco. Gdy użytkownik chce otrzymywać poufne wiadomości w zaszyfrowanej postaci za pośrednictwem poczty elektronicznej, tworzy parę kluczy specjalnym oprogramowaniem. Następnie ujawnia klucz publiczny lub wysyła go do osób, które zamierzają wysyłać mu tajne wiadomości. Pozostałe czynności nadawca i odbiorca wykonują w sposób opisany powyżej. Agresor nie jest w stanie ustalić w rozsądnym czasie klucz deszyfrujący na podstawie klucza publicznego, którym dysponuje. Jedną z najpopularniejszych obecnie asymetrycznych metod szyfrowania jest RSA (patrz dalej).

Szyfrowanie – zalety i wady metod symetrycznych i asymetrycznych

Największą wadą symetrycznych algorytmów szyfrowania jest konieczność stosowania tego samego klucza do szyfrowania, jak i deszyfrowania wiadomości. Zatem przed nawiązaniem tajnej komunikacji nadawca i odbiorca muszą wymienić się kluczem. Przekazanie klucza musi nastąpić poprzez bezpieczny kanał. W większości wypadków komunikujące się ze sobą osoby nie mają do dyspozycji takiej możliwości. Kanał transmisyjny, z którego korzystają, jest podatny na ataki, a agresor ma szansę przechwycić tajny klucz.

Do walorów asymetrycznych algorytmów szyfrowania należą wyższy poziom bezpieczeństwa i wygoda używania. Metody te nie wymagają przekazywania tajnych kluczy ani ujawniania ich komukolwiek. Dodatkową zaletą szyfrów asymetrycznych jest możliwość stosowania ich do tworzenia podpisów cyfrowych.

Wada szyfrów asymetrycznych to duży nakład pracy wymagany do zaszyfrowania i deszyfrowania wiadomości, co skutkuje niską wydajnością tych metod. Z reguły algorytmy symetryczne pozwalają znacznie szybciej zabezpieczać jawne i odczytywać tajne komunikaty. Różnica wydajności daje się we znaki zwłaszcza przy przetwarzaniu dużych ilości danych. Asymetryczne metody szyfrowania nie sprawdzają się w tym wypadku.

Szyfrowanie – zastosowania metod asymetrycznych

Właściwości asymetrycznych systemów kryptograficznych otwierają przed nimi szeroki zakres możliwości. Metody asymetryczne znajdują obecnie zastosowanie np. w szyfrowaniu korespondencji elektronicznej, a także w protokołach kryptograficznych takich jak SSL/TLS. Dużą popularnością cieszy się m.in. protokół HTTPS, który umożliwia bezpieczne komunikowanie się przeglądarki internetowej z serwerem. Ponadto metod asymetrycznych używa się często do cyfrowego podpisywania transakcji lub dokumentów.

Szyfrowanie – co warto o nim wiedzieć

Następca TrueCrypta, program VeraCrypt jest równie funkcjonalny, za to zapewnia jeszcze większy poziom bezpieczeństwa przechowywanych danych.

Szyfrowanie – gdzie lepiej stosować metody symetryczne

W niektórych sytuacjach wystarczają w zupełności algorytmy symetryczne i wcale nie trzeba korzystać ze skomplikowanej kryptografii asymetrycznej. Jest tak, gdy okoliczności umożliwiają bezpieczne ustalenie klucza przez komunikujące się ze sobą osoby (np. na osobistym spotkaniu). Metody symetryczne sprawdzają się również w środowiskach, w których jednostka centralna zarządza wszystkimi kluczami (np. w zamkniętych systemach bankowych).

Skoro centrala i tak dysponuje wszystkimi kluczami, nie ma potrzeby definiowania kluczy prywatnych i publicznych. Kryptografia asymetryczna nie jest potrzebna, gdy do zabezpieczanych zasobów ma mieć tylko jeden użytkownik. Na przykład do szyfrowania prywatnych plików wystarcza szyfr symetryczny. Algorytmy asymetryczne zasadniczo sprawdzają się lepiej w środowiskach, z których korzysta kilku lub więcej użytkowników.

Szyfrowanie – czy można łączyć asymetryczne z symetrycznym

Wspólne stosowanie elementów kryptografii symetrycznej i asymetrycznej jest możliwe. Rozwiązanie to określa się mianem szyfrowania hybrydowego. Dane właściwe szyfruje się metodą symetryczną, zaś użyty do tego klucz zabezpiecza przed przechwyceniem za pomocą klucza publicznego odbiorcy. W ten sposób unika się przetwarzania dużych ilości danych mało wydajnymi metodami asymetrycznymi. Są potrzebne tylko do zaszyfrowania i odszyfrowania klucza. Adresat odczyta go za pomocą swojego klucza prywatnego, uzyskując możliwość dekryptażu całej wiadomości.

Szyfrowanie – co warto o nim wiedzieć

Nawet programy do kompresowania danych (tu: bezpłatny 7-Zip) zapewniają możliwość szyfrowania zasobów.

Szyfrowanie – opis najważniejszych algorytmów kryptograficznych

Poniżej przedstawiamy kilka spośród najbardziej znanych metod szyfrowania.

Data Encryption Standard (DES)

Bardzo popularny algorytm szyfrowania symetrycznego Data Encryption Standard (DES) powstał w połowie lat siedemdziesiątych we współpracy firmy IBM z amerykańską agencją NSA (National Security Agency). Zamierzeniem było stworzenie bezpiecznego standardu szyfrowania do wymiany informacji między jednostkami administracyjnymi Stanów Zjednoczonych. Ze względu na niewielką długość klucza (wynosi zaledwie 56 bitów) DES obecnie już nie zapewnia wysokiego poziomu bezpieczeństwa wymaganego w niektórych zastosowaniach. Można jednak sztucznie zwiększyć długość klucza, szyfrując dane wielokrotnie algorytmem DES. Właśnie takie kaskadowe odmiany algorytmu, Triple DES, TDES i 3DES, są nadal stosowane w sektorze usług bankowych.

Advanced Encryption Standard (AES)

AES, czyli Advanced Encryption Standard, powstał jako następca algorytmu DES na zlecenie amerykańskiej agencji federalnej NIST (National Institute of Standards and Technology). W 2000 r. przyjęła go jako standard stosowany w administracji rządowej. Początkowo algorytm nosił nazwę Rijndael od fragmentów nazwisk jego twórców, Vincenta Rijmena i Joana Daemena.

Szyfr występuje w trzech podstawowych odmianach – AES-128, AES-192 i AES-256. Liczby w nazwach odnoszą się do długości klucza. W nowym algorytmie zastosowano więc znacznie dłuższe klucze niż w DES. Metoda AES zapewnia bardzo wysoki poziom bezpieczeństwa. Dopiero po upływie ponad dziesięciu lat od momentu przyjęcia jej jako standard pojawiła się pierwsza interesująca koncepcja ataku, jednak i tak szybko okazała się niegodna uwagi. Algorytm jest dostępny publicznie i można go implementować w sprzęcie lub oprogramowaniu bez konieczności uiszczania opłat licencyjnych. Odmiany AES-192 i AES-256 są dopuszczone w Stanach Zjednoczonych do szyfrowania dokumentów rangi państwowej o najwyższej klauzuli tajności.

RSA

RSA to metoda asymetryczna, którą można stosować nie tylko do szyfrowania, lecz również do tworzenia cyfrowych podpisów. Został zaprojektowany w latach 1977/78 przez trzech kryptografów na uniwersytecie MIT. Nazwa szyfru pochodzi od pierwszych liter nazwisk jego autorów (Ron Rivest, Adi Shamir i Len Adleman).

Bezpieczeństwo danych szyfrowanych za pomocą RSA opiera się na trudności rozkładania dużych liczb całkowitych na czynniki pierwsze. O bezpieczeństwie decyduje w znacznej mierze długość klucza, więc nie powinna być zbyt mała.

W porównaniu do omówionych powyżej metod 3DES i AES algorytm RSA jest znacznie wolniejszy – co najmniej tysiąckrotnie. Dlatego stosuje się go przeważnie tylko do wymiany klucza szyfru symetrycznego. Właściwe dane zaś zabezpiecza się metodą symetryczną. Rozwiązanie to łączy w sobie zalety obu metod – wygodną wymianę klucza i dużą wydajność szyfrowania.

Twofish

Twofish to algorytm szyfrowania symetrycznego. Powstał w 1998 r. jako następca metody Blowfish, która jest nadal w użyciu. Długość klucza wynosi 128, 192 lub 256 bitów. Autorzy Twofisha nie opatentowali algorytmu, rozpowszechniając go w domenie publicznej. Jest więc dostępny dla wszystkich do nieodpłatnego użytku.

Szyfrowanie – które algorytmy są najbezpieczniejsze

Za nowoczesne i najbezpieczniejsze algorytmy szyfrowania uchodzą obecnie AES, Twofish i 3DES.

Szyfrowanie – co to S/MIME

S/MIME, a więc Secure/Multipurpose Internet Mail Extensions to standard przemysłowy szyfrowania danych w formacie MIME (takich jak wiadomości poczty elektronicznej). U podstaw tego rozwiązania leży szyfrowanie hybrydowe z użyciem kluczy prywatnego i publicznego. Wybrano taki rodzaj szyfrowania, aby zagwarantować nienaruszalność korespondencji, umożliwić uwierzytelnianie nadawcy i odbiorcy, a także chronić kryptograficznie treść wiadomości przed nieupoważnionym dostępem. Przedstawiona metoda uchodzi za stosunkowo bezpieczną. Dotychczas nikomu nie udało się złamać tego algorytmu.

Szyfrowanie – oprogramowanie szyfrujące

Szyfrować można pliki, foldery, partycje, całe dyski, a także transmisję danych, elektroniczną korespondencję i wiele innych elementów. Liczne aplikacje (niektóre z nich są bezpłatne) pozwalają zabezpieczać kryptograficznie pliki, nośniki danych i przepływ informacji w sieci. Możliwość szyfrowania oferują nawet niektóre narzędzia do kompresowania danych. Na przykład bezpłatny 7-Zip obsługuje algorytm kryptograficzny AES z kluczem o długości 256 bitów. Popularny, shareware'owy WinRAR szyfruje metodą AES z 128-bitowym kluczem. Jest dostępnych wiele aplikacji do szyfrowania zasobów dyskowych. Do najbardziej funkcjonalnych należy wieloplatformowe narzędzie VeraCrypt, następca porzuconego projektu TrueCrypt. Działa w środowiskach Windows, Linux i Mac OS. Pozwala szyfrować w tle partycje i dyski, a także tworzyć pliki-kontenery gromadzące dane, które podpina się do systemu plików niczym wirtualne dyski. Tak jak jego poprzednik narzędzie obsługuje algorytmy szyfrujące AES, Serpent i Twofish, umożliwiając ich kaskadowe stosowanie. Za to twórcy zwiększyli z tysiąca do ponad trzystu tysięcy liczbę iteracji przy obliczaniu wartości haszowania do tworzenia klucza. Klucze szyfrujące generuje funkcja PBKDF2 z 512-bitowym ciągiem zaburzającym.

Najbardziej znanym oprogramowaniem do szyfrowania wszelkiego rodzaju danych jest PGP. Amerykański fizyk Phil Zimmermann stworzył w 1991 r. narzędzie PGP (Pretty Good Privacy), w którym zaimplementował szyfr RSA. Gotowy program opublikował w Usenecie, udostępniając go wszystkim do bezpłatnego użytku. Nowatorską cechą tego rozwiązania była możliwość opatrywania wiadomości e-mail cyfrowym podpisem, który potwierdza tożsamość nadawcy.

Z powodu niejasnej sytuacji, która miała miejsce, gdy projekt PGP był własnością firmy deweloperskiej McAfee, stworzono w 1998 r. standard OpenPGP. U jego podstaw leży kod źródłowy PGP 5.x, który opublikowano w książce i w tej postaci wywieziono ze Stanów Zjednoczonych. Zdecydowano się na taki wybieg, bo ówczesne przepisy zakazywały eksportu oprogramowania z USA. Regulacje prawne zabraniały szyfrowania z użyciem klucza o długości przekraczającej 40 bitów. Oprócz tego algorytmy użyte w oprogramowaniu PGP takie jak RSA zostały już wcześniej opatentowane. Na domiar złego krążyły fałszywe pogłoski, jakoby PGP wyposażono w luki, aby je później wykorzystać.

Wraz z GnuPG pojawiła się pierwsza implementacja standardu OpenPGP. Zaprojektowano ją jako bezpłatną alternatywę PGP i opublikowano pod licencją GNU GPL. Z upływem czasu powstało wiele rozszerzeń standardu OpenPGP, które zapewniają większą funkcjonalność niż PGP.

Szyfrowanie – co warto o nim wiedzieć

Cacert to jedna z niewielu organizacji, które wystawiają bezpłatne certyfikaty X.509 umożliwiające szyfrowanie poczty elektronicznej w standardzie S/MIME.

Szyfrowanie – utajnianie transmisji danych w internecie

Do utajniania transmisji danych w internecie używa się przeważnie protokołu SSL (Secure Socket Layer), który szyfruje informacje przekazywane z przeglądarki internetowej do serwera i w odwrotnym kierunku. Począwszy od wersji 3 protokół SSL jest rozwijany jako TLS (Transport Layer Security). Zabezpiecza tylko kanał transmisyjny. Odbierając dane, serwer docelowy deszyfruje je i zapisuje w loklnym systemie plików.

Szyfrowanie TLS stosuje się obecnie przeważnie w połączeniu z HTTPS – protokołem komunikacyjnym do bezpiecznego przesyłania danych w sieci WWW. Gdy internauta przywołuje witrynę internetową poprzez SSL, używa tych samych elementów protokołu HTTP, którymi zazwyczaj odwołuje się do serwera WWW. Różnica polega na tym, że tym razem wymiana danych odbywa się przez zaszyfrowany kanał. Zatem nazwa HTTPS umieszczona na początku adresu URL (zamiast HTTP) nie oznacza innego protokołu, lecz sygnalizuje szyfrowanie.

Większość serwerów WWW obsługuje TLS 1.0, niektóre ponadto SSLv2 i SSLv3 z różnymi algorytmami szyfrującymi. Tymczasem prawie wszystkie przeglądarki internetowe preferują TLS z szyfrowaniem RSA i AES. SSL znajduje ponadto zastosowanie m.in. w serwerach poczty elektronicznej, aplikacjach internetowych i komunikacji między serwerami.

Szyfrowanie – utajnianie poczty elektronicznej

Rozpatrując bezpieczeństwo poczty elektronicznej, należy rozróżnić dwa aspekty – szyfrowanie transmisji danych i szyfrowanie treści wiadomości. Za bezpieczne przesyłanie danych w wielu urządzeniach odpowiadają łącza SSL, jednak w niektórych trzeba ręcznie włączyć tę funkcję. Sprawdź więc w ustawieniach poczty, czy jest uaktywniona opcja SSL/TLS.

Oprócz transmisji danych można szyfrować ponadto treść przesyłanych depesz. Zadanie to można zrealizować za pomocą algorytmu S/MIME lub PGP (GPG), o których mowa powyżej. W obu wypadkach są do dyspozycji asymetryczne metody szyfrowania, które nadal uchodzą za bezpieczne. Są zaimplementowane we wtyczkach do popularnych programów pocztowych takich jak np. Thunderbird.

Szyfrowanie korespondencji ma dwie zasadnicze wady. Choć są dostępne szczegółowe instrukcje, instalowanie wymaganych narzędzi okazuje się zbyt trudne dla początkujących użytkowników. Na domiar złego nie wystarczy wyposażyć komputera nadawcy w wirtualny pęk kluczy. Również klienty pocztowe u odbiorców muszą obsługiwać PGP lub S/MIME. Tylko wówczas można wymieniać się zaszyfrowaną korespondencją. Dlatego opisane metody nie cieszą się dużą popularnością w sektorze użytkowników prywatnych.

Szyfrowanie – co warto o nim wiedzieć

Program edukacyjny CrypTool wprowadza początkujących w świat kryptoanalizy i pozwala eksperymentować na szyfrach.

Szyfrowanie – co to cyfrowy podpis

Podpisy cyfrowe służą do bezpiecznego przeprowadzania transakcji internetowych. Pozwalają sprawdzać elektroniczne dokumenty pod kątem ich pochodzenia i prawdziwości. Potwierdzają tożsamość komunikujących się osób. W gruncie rzeczy stanowią cyfrową odmianę pieczęci, która jednocześnie pełni funkcję sygnatury.

Warto zauważyć, że podpis cyfrowy zapewnia jeszcze większe zabezpieczenie niż podpis tradycyjny. Gwarantuje odbiorcy nie tylko, że nadawca wiadomości jest osobą, za którą się podaje (poręczenie autentyczności), lecz ponadto gwarantuje nienaruszalność korespondencji. Poświadcza więc, że dokument dotrze do adresata w takiej postaci, w jakiej wysłał go nadawca (nie zostanie po drodze przechwycony i zmodyfikowany).

Cyfrowe podpisy wymagają infrastruktury klucza publicznego (PKI, Public Key Infrastructure), która świadczy usługi uwierzytelniania i wydaje certyfikaty, aby potwierdzać zgodność stosowanych kluczy.

Szyfrowanie – zasady działania cyfrowego podpisu

Aby użytkownik mógł opatrywać dokumenty cyfrowym podpisem, musi dysponować kluczami sygnującymi. W podpisach cyfrowych stosuje się z zasady asymetryczne algorytmy szyfrowania.

Dla każdego uczestnika komunikacji trzeba wygenerować odrębną parę kluczy składającą się z klucza prywatnego i klucza publicznego. Jawny klucz publiczny umożliwia weryfikowanie podpisu cyfrowego. Klucz prywatny natomiast służy do składania podpisu i winien być przechowywany w bezpiecznym miejscu. Nie może trafić w ręce osób trzecich.

Aby sporządzić cyfrowy podpis, należy utworzyć wartość haszowania z wysyłanej wiadomości i sygnować ją kluczem prywatnym. Wiadomość i podpis wysyła się następnie do adresata, przy czym nie trzeba szyfrować treści dokumentu. Nie chodzi przecież o zachowanie poufności, lecz tylko o potwierdzenie tożsamości i zagwarantowanie nienaruszalności.

Odbiorca weryfikuje autentyczność podpisu, sprawdzając wartość haszowania kluczem publicznym. Jeśli procedura powiedzie się, może zakładać, że wiadomość pochodzi od właściciela klucza prywatnego, a jej treść nie została zmanipulowana podczas transmisji.

Szyfrowanie – co to certyfikat

Certyfikat to zestaw danych, który potwierdza określone właściwości obiektów lub osób. Autentyczność i nienaruszalność certyfikatu można sprawdzić metodami kryptograficznymi. Certyfikat cyfrowy zawiera dane wymagane do jego zweryfikowania.

Szyfrowanie – co to infrastruktura klucza publicznego

Infrastruktura klucza publicznego (PKI, Public Key Infrastructure) udostępnia zasoby nieodzowne do świadczenia usług certyfikacyjnych. W jej skład wchodzą m.in. reguły określające warunki wystawiania certyfikatów. Zadaniem tej infrastruktury jest także sprawdzanie tożsamości osób lub podmiotów wnioskujących o wydanie certyfikatu. Przeważnie publikuje informacje o wystawionych i cofniętych certyfikatach. Ponadto PKI musi dysponować metodami sporządzania takich certyfikatów, które są godne zaufania i nie budzą wątpliwości użytkowników. Istotne jest, aby nie było dostępu z internetu do sprzętu, który służy do generowania certyfikatów.

Wskazówka. Jeśli zainteresowała cię tematyka szyfrowania, zerknij na program edukacyjny CrypTool. Jest to bezpłatna aplikacja, która pozwala zapoznać się w praktyce z algorytmami kryptograficznymi i poeksperymentować na nich. Są do dyspozycji metody klasyczne takie jak szyfr Cezara i nowoczesne takie jak RSA i DES.