Jak zapewnić bezpieczne przesyłanie danych w sieci Internet?
Prezentowany tekst pozwoli Państwu zapoznać się z następującymi pojęciami: Infrastruktura Klucza Publicznego (PKI), urząd certyfikacyjny (CA), Polityka Certyfikacji (CP), Kodeks Postępowania Certyfikacyjnego (CPS)
Internet to sieć komputerowa, która powstała w wyniku połączenia mniejszych sieci komputerowych o zasięgu lokalnym(firmy), miejskich(np. LODMAN), regionalnych, krajowych, itp.). Mamy ogromną sieć o zasięgu globalnym, która rozrasta się bez scentralizowanego nadzoru.
Informacja od nadawcy przechodzi przez wiele urządzeń aktywnych, takich jak rutery, przełączniki, „zapory ogniowe”, modemy, linie transmisji danych (światłowody, przewody miedziane, łącza satelitarne itp.).
Oznacza to, że informacja może być skopiowana, zmieniona, powielona.
Zdefiniujmy pojęcie "bezpieczne przesyłanie informacji".
Powinna być zapewniona
autentyczność, - informacja pochodzi od ściśle określonej osoby, instytucji
czyli nadawcy i trafi do ściśle określonej osoby, instytucji
niezaprzeczalność - nadawca nie może zaprzeczyć, że wysłał informację
integralność - Dane wysłane przez nadawcę i odebrane przez odbiorcę
są takie same
i poufność - nikt postronny nie dowie się o treści informacji
Ważność informacji może być określona w czasie ( data, godzina wysłania kuponu Dużego Lotka). Do przesyłanych informacji dodaje się tzw. znacznik czasowy.
Rozwój kryptografii w połączeniu z obowiązującymi przepisami prawnymi doprowadził do „wymyślenia” pewnej struktury zapewniającej bezpieczne przesyłanie informacji w Internecie.
Nazywamy taką strukturę „Infrastrukturą Klucza Publicznego”
angielski skrót PKI (Public Key Infrastructure).
PKI to nic innego niż zasoby sprzętowo-programowe obsługiwane według ściśle określonych reguł (rozwiązania prawne, sprawdzone algorytmy) przez kwalifikowany personel, któremu ufają (odpowiedzialność prawna) użytkownicy.
Szyfrowanie danych
Korzystamy z tzw. asymetrycznych technik szyfrowania. Każdy użytkownik końcowy (osoba fizyczna, prawna, aplikacja komputerowa) posiada parę kluczy szyfrujących, jeden to klucz publiczny, drugi to klucz prywatny.
Sposób tworzenia tych kluczy (jednoznaczne reguły matematyczne) zapewnia ich ścisłe powiązanie. Tekst jawny zaszyfrowany kluczem publicznym można odszyfrować wyłącznie kluczem prywatnym.
TYLKO ODBIORCA MOŻE ODSZYFRO-WAĆ WIADO-MOŚĆ, BO TYLKO ON ZNA SWÓJ KLUCZ PRYWATNY.
Klucze są to ciągi bitowe o długości zwykle z przedziału do 5122048. Im długość klucza jest większa, tym klucz jest mocniejszy, trudniej go "złamać" metodą prób i błędów w rozsądnym czasie.
Klucz publiczny, (znany publicznie ) może być upowszechniony za pomocą odpowiednich serwerów działających w Internecie (http, https).
Klucz prywatny jest dostępny tylko jego właścicielowi. Musi być właściwie chroniony przed utratą wiarygodności.
Niestety szyfrowanie i deszyfrowanie asymetryczne jest procesem długotrwałym. Wiąże się to z koniecznością wykonywania operacji matematycznych na bardzo dużych liczbach naturalnych.
Zdecydowane przyspieszenie szyfrowania i deszyfrowania jest możliwe przy wykorzystaniu symetrycznych (klasycznych) technik szyfrowania. Ten sam klucz używa się do szyfrowania jak i deszyfrowania informacji. Problemem jest przekazanie klucza między nadawcą i odbiorcą.
Ale można zrobić to tak.
Załóżmy, że użytkownik A do użytkownika B chce w bezpieczny sposób przesłać informację.
a. użytkownik A szyfruje tekst jawny kluczem symetrycznym, nazwijmy go KS (np. może to być szybki algorytm DES, 3DES),
b. klucz KS szyfruje asymetrycznie kluczem publicznym użytkownika B.
c. przesyła zaszyfrowany tekst jawny kluczem KS plus zaszyfrowany klucz symetryczny KS do użytkownika B.
d. użytkownik B za pomocą swojego klucza prywatnego odszyfrowuje klucz symetryczny
e. użytkownik B ma już klucz KS i odszyfrowuje tekst jawny.
Cały proces jest bardzo bezpieczny i dość szybki. Dla każdej nowego przekazu informacji nadawca A może wygenerować nowy klucz KS.
Podpis elektroniczny
Pokazany sposób przesyłania informacji nie identyfikuje nadawcy ponieważ klucz publiczny odbiorcy jest powszechnie znany, ktoś może się podszyć pod nadawcę.
Należy „coś” dodać do przekazywanych danych. Z informacji (jawnej lub już zaszyfrowanej) za pomocą funkcji skrótu (hash function) tworzymy niewielki blok FS dodatkowych danych- ciąg bitów. Otrzymana wartość jest jednoznacznie związana przekazywanym blokiem danych. Zmiana jednej litery w tekście daje inną wartość funkcji skrótu. Prawdopodobieństwo, że dla dwu różnych tekstów otrzymamy tę samą wartość funkcji skrótu jest praktycznie równe zero. To przypomina odcisk palca przekazywanego bloku danych (fingerprint).
Następnie ten niewielki blok FS (fingerprint) szyfrujemy za pomocą własnego klucza prywatnego. Tylko my możemy to zrobić bo tylko my znamy swój klucz prywatny.
Opisany ogólny algorytm tworzenia podpisu elektronicznego pokazuje poniższy rysunek.
Dyrektywa Komisji Europejskiej w sprawie ram Wspólnotowych dla podpisu elektronicznego
"PODPIS ELEKTRONICZNY" - oznacza dane w formie elektronicznej, które są przyłączone do lub w logiczny sposób skojarzone z innymi danymi elektronicznymi i które służą jako metoda weryfikacji-potwierdzenia danych (uwierzytelnienia).
"CERTYFIKAT"- oznacza elektroniczne potwierdzenie, które łączy dane weryfikujące podpis z osobą i potwierdza tożsamość tej osoby.
Definicja podpisu cyfrowego wg PN-I-02000 (Polska Norma)
"Przekształcenie kryptograficzne danych umożliwiające odbiorcy danych sprawdzenie autentyczności i integralności danych oraz zapewniające nadawcy ochronę przed sfałszowaniem danych przez odbiorcę."
Cztery główne warunki podpisu cyfrowego:
uniemożliwienie podszywanie się innych pod daną osobę (uwierzytelnienie osoby, autentyfikacja),
zapewnienie wykrywalności wszelkiej zmiany w danych transakcji (integralność transakcji),
zapewnienie niemożliwości wyparcia się podpisu przez autora,
umożliwienie weryfikacji podpisu przez osobę niezależną.
Tu kończy się rola informatyków. Metody szyfrowania/deszyfrowania opracowane, algorytmy napisane, matematycy udowodnili co trzeba, fizycy, inżynierowie zadbali o dobry sprzęt, szybkie łącza. Na scenie pojawia się prawo, uregulowania ustawowe, które mają zapewnić wzajemne zaufanie.
Certyfikacja klucza publicznego
W chwili weryfikacji elektronicznego podpisu osoba weryfikująca musi być pewna, że klucz publiczny należy do osoby podpisującej.
W Internecie partnerzy najczęściej się nie znają, a muszą mieć pewność używają właściwych kluczy publicznych, kluczy jednoznacznie przypisanych do osoby, instytucji itp. Potrzebny jest ktoś trzeci komu ufają obie strony, czyli certyfikacja kluczy publicznych
Trzecia strona, czyli tzw. urząd certyfikacji zwany dalej CA (od angielskiej nazwy Certification Authority), podpisuje klucz publiczny użytkownika i jego nazwę oraz pewne dodatkowe informacje, jak np. okres ważności klucza, własnym kluczem prywatnym.
Weryfikacji partnerów dokonuje się za pomocą klucza publicznego urzędu certyfikacyjnego, do którego z mocy prawa mamy zaufanie.
Jeżeli użytkowników jest bardzo dużo, to jeden urzędu certyfikacyjny może być przeciążony. Tworzy się podległe urzędy certyfikacji i tworzą one system hierarchiczny.
Podległe urzędy (niższego rzędu) są certyfikowane przez urzędy nadrzędne. Certyfikaty niższej rangi są o tyle wiarygodne, o ile mamy zaufanie do głównego (Root) urzędu certyfikacyjnego.
Możliwe są dwie drogi uzyskiwania certyfikatu. W pierwszej urząd certyfikacyjny generuje użytkownikowi parę asymetrycznych kluczy, certyfikuje klucz publiczny i dostarcza mu certyfikat, który zawiera jego klucz prywatny i własne certyfikaty.
W drugiej użytkownik sam generuje asymetryczną parę kluczy i przesyła klucz publiczny do urzędu certyfikacyjnego. Urząd wystawia certyfikat i dostarcza go użytkownikowi wraz z własnymi certyfikatami.
Sam certyfikat jest wydawany w formacie X509 ( powszechnie stosowany ale nie jedyny międzynarodowy standard). Format ten oprócz takich pozycji jak wersja, numer seryjny, algorytm podpisu zawiera nazwę urzędu certyfikacyjnego, ważność certyfikatu (początek, koniec), nazwę właściciela certyfikatu, jego klucz publiczny oraz tzw. rozszerzenie (np. adres poczty elektronicznej). Certyfikat kończy się podpisem urzędu certyfikującego. Może on być publicznie udostępniony w bazie katalogowo-adresowej, jeśli użytkownik nie złoży stosownego zastrzeżenia.
Urząd certyfikacyjny musi mieć możliwość odwołania certyfikatu przed upływem okresu jego ważności. Muszą jednak istnieć powody odwołania certyfikatu, takie jak:
- klucz prywatny użytkownika korespondujący z kluczem publicznym utracił wiarygodność,
- przynależność użytkownika wymieniona w tzw. nazwie wyróżnionej uległa zmianie,
- klucz prywatny urzędu certyfikacyjnego utracił wiarygodność,
- sam użytkownik może zrezygnować z certyfikatu danego urzędu certyfikacyjnego,
- użytkownik złamał politykę bezpieczeństwa urzędu certyfikacyjnego.
Urząd certyfikacyjny musi ogłosić fakt odwołania certyfikatu przez umieszczenie go na odpowiedniej liście (CRL, ang. Certificate Revocation List).
Lista odwołanych certyfikatów musi być udostępniona publicznie, np. przez umieszczenie jej w bazie katalogowo-adresowej LDAP.
Z urzędem certyfikacyjnym może współpracować jeden lub wiele urzędów rejestracyjnych zwanych RA (ang. Registration Authority). Główne zadanie RA to rejestracja zgłoszeń certyfikacyjnych (certyficate request), a więc potwierdzenie tożsamości osób na podstawie stosownych dokumentów, potwierdzenie pełnomocnictw (w przypadku osób prawnych), przyjmowanie deklaracji potwierdzających znajomość Polityki Certyfikacji zwanej CP (ang. Certificate Policy) i Kodeksu Postępowania Certyfikacyjnego CPS (ang. Certificate Practice Statement).
Polityka certyfikacji (CP) i Kodeks Postępowania Certyfikacyjnego (CPS)
Polityka Certyfikacji to zbiór reguł, które określają, do jakich celów certyfikaty mogą być używane i w jakim środowisku. Określa także, jakie obowiązki spoczywają na użytkowniku certyfikatu, urzędzie certyfikacyjnym i urzędzie rejestracyjnym. W Polityce Certyfikacji są zawarte również przedsięwzięcia, które należy podjąć, aby chronić urząd certyfikacyjny, szczególnie jego klucz prywatny, jego sprzęt komputerowy i zgromadzone dane przed nieupoważnionym dostępem, przypadkowym zniszczeniem, kradzieżą, itp.
Kodeks Postępowania Certyfikacyjnego jest rozszerzeniem Polityki Certyfikacji o praktyczne przedsięwzięcia.
Polityka Certyfikacji i Kodeks Postępowania Certyfikacyjnego są publicznie dostępne i przeznaczone przede wszystkim dla przyszłych użytkowników Infrastruktury Klucza Publicznego.
Na podstawie tych dokumentów użytkownik może stwierdzić, że dana infrastruktura zapewnia mu właściwe bezpieczeństwo i może zaufać urzędowi certyfikacyjnemu tej infrastruktury.
Zastosowania Infrastruktury Klucza Publicznego
Główne zastosowania PKI to poczta elektroniczna oraz serwis WWW. Może być także wykorzystana do takich usług jak bezpieczny zdalny dostęp do komputerów i
Szeroko używanym programem zapewniającym bezpieczeństwo poczty jest PGP (ang. Pretty Good Privacy) ale odbiega on od przyjętych standardów.
Zalecanym rozwiązaniem jest stosowanie poczty elektronicznej typu S/MIME (Secure/Multipurpose Internet Mail Extensions). Narzędzia takie jak Netscape i Microsoft Outlook/Exchange umożliwiają wysyłanie poczty w standardzie S/MIME.
Szerokie zastosowanie serwisu WWW zrodziło potrzebę restrykcyjnego dostępu do specyficznych stron WWW, identyfikacji użytkowników pragnących zawierać komercyjne transakcje, które powinny być poufne i niezaprzeczalne.
Dzięki protokołowi SSL (Secure Sockets Layer) można zapewnić bezpieczną komunikację między klientem a serwerem aplikacji w sieci Internet. Protokół ten zapewnia prywatność, integralność oraz wzajemną identyfikację między klientem. Może ona być wdrożona na wszystkich dostępnych przeglądarkach i serwerach WWW.
Europejska Infrastruktura Klucza Publicznego (EuroPKI)
W ramach programów badawczych Unii Europejskiej (projekty ICE, CAR - w IV Programie Ramowym) zbudowano Europejską Infrastrukturę Klucza Publicznego. Urząd certyfikacyjny najwyższego poziomu (tzw. Root) znajduje się na Politechnice w Turynie (Włochy). Temu urzędowi podporządkowane są urzędy krajowe
Opracował Jerzy Czerbniak na podstawie materiałów:
Dr Józef Janyszek WCSP PŁ.Wrocł
Tekst jawny
Klucz publiczny
odbiorcy
Szyfrowanie asymetryczne
Tekst zaszyfrowany
Tekst jawny odszyfrowany
deszyfrowanie asymetryczne
Klucz prywatny
odbiorcy
Tekst zaszyfrowany