Bezpieczny algorytm = bezpieczny system ?

Mogłoby się wydawać, że wystarczy zainstalować system, rozdzielić użytkownikom klucze, by mogli się porozumiewać, i pozostawić system samemu sobie. Rzeczywistość jest niestety inna - system zabezpieczeń wymaga stałego nadzoru.

Jak wybrać bezpieczny i optymalny system kryptograficzny (cz. V)

Mogłoby się wydawać, że wystarczy zainstalować system, rozdzielić użytkownikom klucze, by mogli się porozumiewać, i pozostawić system samemu sobie. Rzeczywistość jest niestety inna - system zabezpieczeń wymaga stałego nadzoru.

Ważne jest uzmysłowienie sobie wszystkich możliwych ingerencji, jakich system może wymagać, oraz przeanalizowanie ewentualnych sytuacji awaryjnych, które trzeba będzie w systemie obsługiwać.

Faza eksploatacji

Pierwszym krokiem w kierunku sprawnego funkcjonowania systemu jest stworzenie dokumentu zwanego polityką zabezpieczeń1. Opracowanie jej po raz pierwszy jest zadaniem trudnym, ponieważ w większości przypadków przedsiębiorstwa, w których wdrażane są systemy kryptograficzne, nie wiedzą, na jakie elementy należy zwrócić szczególną uwagę. Jednakże firmy, zajmujące się wdrażaniem kryptosystemów, nie znają specyficznych wymagań konkretnego klienta. Dlatego optymalnym rozwiązaniem jest współpraca konsultanta zajmującego się zabezpieczeniami z przedsiębiorstwem, które ma zamiar wdrożyć system zabezpieczeń. W polityce zabezpieczeń należy dokładnie sprecyzować następujące kwestie (patrz np. RFC1244 Side Security Handbook):

* prawa i obowiązki wszystkich podmiotów w systemie

* sposób potwierdzania, że użytkownik jest tym, za kogo się podaje

* dodawanie, szkolenie i usuwanie użytkowników systemu

* wymiana kluczy użytkowników (regularne i awaryjne)

* informowanie użytkowników o awaryjnej wymianie kluczy (o unieważnieniu kluczy)

* kontrola dostępu do systemu

* archiwizacja

* audyt

* kontrola integralności sprzętu i oprogramowania użytkowników.

W każdym kryptosystemie występują klucze. Są to elementy, od których zależy bezpieczeństwo całego systemu. Zarówno w systemie symetrycznym, jak i asymetrycznym konieczne jest rozwiązanie problemu generowania i dostarczania kluczy użytkownikom. W celu generowania kluczy konieczne jest wykorzystanie generatorów liczb losowych lub pseudolosowych, które generowałyby klucze w taki sposób, by były one nieprzewidywalne dla potencjalnych napastników. Drugim ważnym zagadnieniem jest określenie, kto powinien generować klucze: użytkownik czy komórka zarządzająca systemem zabezpieczeń? Na to pytanie nie ma jednoznacznej odpowiedzi. Zaletą generowania kluczy przez komórkę zarządzającą zabezpieczeniami jest możliwość uzyskania większego bezpieczeństwa tego procesu i lepszej jakości kluczy. Wadą - możliwość nadużycia przez personel tej komórki znajomości kluczy użytkowników (np. podsłuchiwanie szyfrowanych transmisji).

Kwestię dystrybucji kluczy w przeszłości rozwiązywano poprzez wysyłanie do użytkowników kurierów z kluczami. Pomijając fakt, że może być to rozwiązanie niebezpieczne, ponieważ każdy kurier miałby dostęp do tajnych kluczy, obecnie ta metoda wiązałaby się z ogromnymi kosztami. Wynika to z konieczności informowania wszystkich użytkowników w systemie o każdym dodanym lub usuniętym użytkowniku, jak też o każdym unieważnionym kluczu. Konieczne jest więc stworzenie systemu elastycznego, umożliwiającego częste dodawanie i usuwanie użytkowników, który ponadto byłby bezpieczny i tani w eksploatacji. Pierwsza generacja systemów dystrybucji kluczy była oparta na systemach symetrycznych. Systemy te charakteryzują się małą skalowalnością, trudno też zapewnić im bezpieczeństwo (konieczność wprowadzenia zaufanej strony, która zna wszystkie tajne klucze w systemie).

Podstawą większości nowoczesnych systemów dystrybucji kluczy stały się Zalecenia ITU-T X.509. Na nich bazują normy PEM (Privacy Enhanced Mail), Zalecenia X.400, protokoły elektronicznych płatności Visa i MasterCard oraz propozycje mechanizmów zabezpieczeń w protokołach TCP/IP. Polegają one na wykorzystaniu tzw. certyfikatów kluczy publicznych, wystawianych przez tworzone w tym celu zaufane urzędy. Certyfikat to podpisana cyfrowo kluczem prywatnym urzędu wiadomość, w której stwierdzono, że dany klucz publiczny należy do konkretnego użytkownika. Urząd przed wystawieniem takiego certyfikatu zwykle sprawdza tożsamość użytkownika np. na podstawie jego dowodu osobistego. Wysokie bezpieczeństwo oferowane przez tego typu rozwiązania związane jest z koniecznością odgórnego zaplanowania i zarządzania takim systemem.

Odmienne rozwiązania proponują systemy typu publicznie dostępny program PGP - dowolni użytkownicy mogą podłączyć się do systemu, jeżeli znają jego użytkowników, którzy ich "wprowadzą". Koszt eksploatacji jest niewielki - nie ma opłat związanych z administrowaniem systemem, komunikacją z użytkownikami w celu powiadamiania ich o unieważnionych kluczach. Pojawia się jednak zagrożenie, że użytkownik będzie przez długi czas uznawał za ważne wiadomości podpisane przez intruza, który wykradł uprawnionej osobie klucz i podszywa się pod nią.

Brak wymuszenia bezpiecznych reguł zarządzania kluczami oraz forma rozpowszechniania i brak kontaktu z producentem powodują, że program PGP, doskonały do zastosowań w grupach przyjaciół czy społeczności internetowej, nie spełnia wymagań poważnych przedsiębiorstw czy instytucji, które chciałyby wdrożyć system zabezpieczeń.

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

TOP 200