Publiczna prywatność - prywatna publiczność

Funkcje skrótu

Kolejną ważną rodziną algorytmów kryptograficznych są tzw. funkcje skrótu. Pozwalają one na stworzenie krótkiego (na poziomie 128 bitów), niepowtarzalnego "streszczenia" wiadomości. Mają ponadto gwarantować, że dwie różne, sensownie brzmiące wiadomości nie będą miały takiego samego skrótu i na jego podstawie nie można odtworzyć wiadomości oryginalnej. Oczywiste jest, że mogą się zdarzyć dwa zestawy znaków, które będą miały takie samo "streszczenie". Żądamy przecież, aby miało ono ograniczoną długość, czyli np. przy 128 bitach istnieje "tylko" 2^128 skrótów.

Do czego potrzebne są funkcje skrótu? Do zapewnienia, że od momentu jego powstania wiadomość nie uległa modyfikacji. Wystarczy wysłać odbiorcy wraz z wiadomością stworzony dla niej skrót (oczywiście zabezpieczony przed modyfikacją poprzez zaszyfrowanie). Odbiorca odczytuje przesłany skrót, oblicza skrót otrzymanej wiadomości i porównuje skróty. Jeśli ich treść jest identyczna, wówczas przyjmujemy, że wiadomość po drodze nie zmieniła się.

Pozwala to uzyskać jednocześnie, oprócz zapewnienia integralności przesyłanych danych, także ich niezaprzeczalność. Wystarczy, że odbiorca informacji zażąda, aby przesyłany skrót był zaszyfrowany przy użyciu klucza, w posiadaniu którego jest wyłącznie nadawca wiadomości. Idealnie nadaje się do tego celu klucz prywatny nadawcy. Każdy posiadacz odpowiadającego mu klucza publicznego będzie mógł stwierdzić autentyczność nadanej wiadomości. Będzie miał przy tym gwarancję, że nikt poza nadawcą nie zaszyfrował skrótu, gdyż nie można odtworzyć wiadomości za pomocą klucza publicznego, jeśli została ona zaszyfrowana innym kluczem niż prywatny.

Certyfikaty

Wydawałoby się, że mając do dyspozycji opisane mechanizmy możliwa jest bezpieczna wymiana informacji. Pozostaje do rozstrzygnięcia kwestia właściwego publikowania kluczy publicznych poszczególnych osób i instytucji. W jaki jednak sposób potencjalny użytkownik takiego serwera kluczy publicznych może stwierdzić, że otrzymany przez niego klucz rzeczywiście należy do określonej osoby. Brak możliwości potwierdzenia przynależności klucza może powodować kolejne próby fałszerstw, podstawiania innych kluczy publicznych w celu przejmowania korespondencji czy też blokowania możliwości korzystania z szyfrowania przez publikowanie bezużytecznych kluczy publicznych.

Z tego względu powstała idea certyfikatów. Certyfikat jest dokumentem potwierdzającym pewną cechę osoby, instytucji lub każdego obiektu sieciowego. Cechą tą może być nazwa, spełnienie określonych kryteriów wiarygodności, ale również posiadanie określonego klucza publicznego. Kto i w jaki sposób potwierdza autentyczność cechy? Pod tekstem opisującym dany atrybut elektroniczny podpis składa tzw. trzecia zaufana strona prowadząca centrum certyfikacji (Certifying Authority - CA). Jest to instytucja, ciesząca się odpowiednim zaufaniem, mająca uprawnienia do rozpowszechniania swoich kluczy publicznych (potrzebne do potwierdzania podpisów certyfikatów) w bezpieczny sposób. Najczęściej bezpieczny sposób oznacza, że są one dostępne w formie samodzielnie podpisanych przez CA certyfikatów, na sztywno wkomponowanych w oprogramowanie (np. w przeglądarkę internetową).

Certyfikat można porównać do dowodu osobistego lub paszportu, który stwierdza, że mamy do czynienia np. z Janem Kowalskim, urodzonym tego i tego dnia w takiej miejscowości, a wszystko potwierdzone po pierwsze unikatowością druku, z jakim mamy do czynienia, po wtóre zaś podpisami i pieczątkami, które mogą być wyłącznie w posiadaniu odpowiednich organów. Z reguły warunki wydania certyfikatu są ściśle określone. Dzięki temu wiadomo, jakim kryteriom odpowiadał dany uczestnik komunikacji, że został mu przyznany certyfikat przez konkretne CA. Nic nie stoi też na przeszkodzie, aby CA wydawało certyfikaty następnym CA, tworząc strukturę hierarchiczną, w której jedno centrum certyfikacji potwierdza autentyczność innego.

Niemniej to jeszcze nie finał walki z certyfikatami - konieczne jest ich udostępnianie określonym grupom osób w standardowy sposób. Oprócz nich dobrze byłoby przekazywać dodatkowe informacje, pozwalające zlokalizować ich właściciela (np. adres pocztowy, adres e-mail, telefony itp.). Jest to szczególnie przydatne w przypadku dużych korporacji i innych organizacji, które wprawdzie takich informacji nie chcą w całości przekazać do publicznej wiadomości, ale do celów wewnętrznych jest to wskazane.

Pomocą w tym przypadku jest standard opracowany przez organizację ISO i zaakceptowany przez inne organizacje standaryzacyjne (m.in. Międzynarodową Unię Telekomunikacyjną ITU), czyli usługi katalogowe X.500. Jest to otwarte, choć pełne rozwiązanie, pozwalające tworzyć globalny katalog wszelkich obiektów sieciowych wraz z ich atrybutami (lokalizacja, dokładny opis itp.), m.in. certyfikatami X.509, które mogą zawierać informacje o kluczu publicznym. Katalog jest rozproszony i zawiera mechanizmy selektywnej replikacji. Jedyną jego wadą jest to, że jest rozwiązaniem, na które mogą sobie pozwolić tylko większe organizacje ze względu na czas i koszty wdrożenia, lecz efekty są znakomite. Szczególnie jeśli równolegle wykorzysta się ściśle współpracujący z X.500 standard poczty elektronicznej X.400.

A co dla mniejszych organizacji? Z myślą o nich powstał coraz powszechniej wykorzystywany podzbiór X.500, zwany LDAP (Lightweight Directory Access Protocol).

Właściwie w Polsce potrzebne jest tylko stworzenie instytucji trzeciej zaufanej strony i otwarcie centrum certyfikacyjnego, aby nie trzeba było kupować certyfikatów w zagranicznej firmie. Zresztą wiele instytucji, takich jak organy państwowe i instytucje finansowe, wręcz nie może korzystać z usług tych firm znajdujących się poza granicami Polski.


TOP 200