Instalacja i konfiguarcja jednostki certyfikującej (element infrastruktury klucza publicznego) do pracy z protokołem IPv6 w rodzinie NT 6.X
Komponenty infrastruktury klucza publicznego (PKI) dla rodziny Windows NT 6.X oparte są na tzw. roli serwera o nazwie Active Directory Certificate Services.
Rola ta dostępna jest od wersji standard serwera, jednakże w tej wersji serwera jest ona bardzo uproszczona.
Praktyczne wdrożenie PKI opierać się musi zatem na wersji Enterprise lub Datacenter Servera 2008 (R2). Rysunek 1 pokazuje wybór zainstalowanych ról na przykładowym serwerze.
Rysunek 1. Zainstalowane role przykładowego serwera
Rola Active Directory Certification Services podzielona jest na mniejsze komponenty zwane Role Services. W skład Active Directory Certification Services wchodzą następujące podrole (pokazane na rysunku 2:
Rysunek 2. Zainstalowane podrole roli Active Directory Certificate Services:
- Certification Authority – to podstawowy komponent PKI – jednostka certyfikująca i rejestrująca.
- Certification Authority Web Enrollment – komponent integracyjny z serwerem IIS (serwerem Web) – zapewnia możliwość wystawiania certyfikatów, pobieranie certyfikatów i list CRL poprzez przeglądarkę Internetową, zapewnia też obsługę punktu CDP poprzez protokół HTTP/HTTPS.
- Online Responder – zapewnia wydajniejszy dostęp do list certyfikatów unieważnionych w skomplikowanych środowiskach sieciowych, bazuje na protokole HTTP/HTTPS. Jest to implementacja protokołu Online Certificate Status Protocol (OCSP) – zdefiniowanego w RFC 2560.
- Network Device Enrollment Service (NDES) – zapewnia automatyczne generowanie, odnawianie oraz unieważnianie certyfikatów dla urządzeń sieciowych (np. Routerów), bazuje również na protokole HTTP/HTTPS. Jest to implementacja protokołu Simple Certificate Enrollment Protocol (SCEP)
- Certificate Enrollment Web Service – (nowość od Windows Server 2008 R2) – zapewnia możliwość wystawiania certyfikatów dla użytkowników i komputerów nie będących członkami domeny Windows, lub dla tych obiektów znajdujących się poza ustalonymi granicami bezpieczeństwa sieci korporacyjnej. Podrola współpracuje z podrola Certificate Enrollment Policy Web Service. Komponent bazuje również na protokole HTTP/HTTPS.
- Certificate Enrollment Policy Web Service - (nowość od Windows Server 2008 R2) – komponent odpowiada za generację i wymuszanie polityk odnośnie sposobu generacji certyfikatów dla użytkowników i komputerów nie będących członkami domeny Windows, lub dla tych obiektów znajdujących się poza ustalonymi granicami bezpieczeństwa sieci korporacyjnej.
Podstawowym narzędziem zarządzania w środowisku Windows jest konsola mmc. Na rysunku 3 przedstawiono wygląd konsoli do zarządzania komponentem Certification Authority.
Rysunek 3. Konsola zarządzania podrolą Certification Authority
Z punktu widzenia konsoli mmc – wykorzystywany protokół komunikacyjny jest przezroczysty, gdyż sama konsola korzysta z protokołu TCP i mechanizmu wywołań zdalnych określanych ogólnie jako protokół RPC. Dla RPC w rodzinie Windows NT 6.X wykorzystywany protokół sieciowy jest przezroczysty i konsole działają identycznie dla protokołu IPv4 jak i IPv6.
Wszystkie pozostałe komponenty, czyli:
- Certification Authority Web Enrollment
- Online Responder
- Network Device Enrollment Service
- Certificate Enrollment Web Service
- Certificate Enrollment Policy Web Service
Są realizowane jako tzw. webservice w postaci folderów wirtualnych do serwera Web (Komponent IIS 7.5). Na rysunku 4 pokazano listę przykładowych folderów wirtualnych związanych z PKI. Są to:
- /certsrv – główny folder podroli - Certification Authority Web Enrollment
- /certEnroll – folder poprzez który następuje pobranie wygenerowanych certyfikatów.
Rysunek 4. Foldery wirtualne komponentów PKI – web service’ów
Dostęp do usługi Certification Authority Web Enrollment realizowany jest poprzez przeglądarkę internetową. Wygląd głównej strony witryny Certification Authority Web Enrollment przedstawiony jest na rysunku 5.
Rysunek 5. Wygląd głównej strony witryny Certification Authority Web Enrollment
Instalacja komponentu - Online Responder skutkuje utworzeniem folderu wirtualnego
Rysunek 6. Foldery wirtualne komponentów PKI – utworzony folder Online Responder
Po instalacji komponentu Certificate Enrollment Policy Web Service, w zależności od wyboru metody uwierzytelniania dodane zostaną kolejne foldery wirtualne:
- ADPOlicyProvider_CEP_Kerberos – dla uwierzytelniania protokołem Kerberos
- ADPOlicyProvider_CEP_UsernamePassword – dla uwierzytelnienia nazwą użytkownika i hasłem
- ADPOlicyProvider_CEP_Certificate - dla uwierzytelnienia certyfikatem
Lista metod uwierzytelniania przedstawiona jest na rysunku 7.
Rysunek 7. Lista metod uwierzytelniania dla komponentu Certificate Enrollment Policy Web Service
Po instalacji komponentu Certificate Enrollment Web Service (rysunek 8) – zostaje dodany ostatni folder wirtualny o nazwie w postaci nazwa_jednostki_certyfikujacej_CES_Metoda_uwierzytelniania
Rysunek 8. Foldery wirtualne komponentów PKI – Certificate Enrollment Policy Web Service
Dostęp do wszystkich folderów wirtualnych konfigurowany jest poprzez opcję Site Bindings (przedstawioną na rysunku 9).
Rysunek 9. Konfiguracja bindings
To właśnie w tej opcji konfiguruje się obsługę protokołu (HTTP/HTTPS) numer portu, adres IP który powiązany jest z daną witryną Web.
Cała obsługa protokołu IPv6 sprowadza się zatem do przypisania adresu IPv6 i certyfikatu SSL do witryny Web obsługującej wszystkie foldery wirtualne usługi Active Directory Certificate Services. Tak jak pokazano to na rysunku 10.
Rysunek 10. Konfiguracja bindings wybór certyfikatu
Infrastruktura klucza publicznego
We spółczesnym środowisku informatycznym wielokrotnie spotykać się będziemy z zastosowaniem wielu różnorakich mechanizmów kryptograficznych. Aby móc poprawnie i bezpiecznie stosować owe mechanizmy, należy posiąść wiedzę zakresu Infrastruktury Klucza Publicznego (PKI - ang. Public Key Infrastructure), gdyż to ona stanowi trzon współczesnych mechanizmów zabezpieczeń.
Czym jest kryptografia? Jest zespołem rozwiązań, mechanizmów i koncepcji, których celem jest ukrycie przechowywanej lub przesyłanej treści. W skład komponentów umożliwiających realizację tej idei wchodzą: znany algorytm oraz klucz, który będzie służył do szyfrowania i rozszyfrowywania zakodowanej informacji. Ogólny podział kryptografii przedstawia się następująco:
Kryptografia symetryczna
Obie strony znają algorytm i posiadają klucz, który służy do szyfrowania (rozszyfrowywania) informacji. W wielu przypadkach wykorzystujemy algorytmy symetryczne do przesyłania zakodowanej treści pomiędzy dwoma punktami po jakimś kanale. Przy czym „z góry" zakładamy, że kanał ten (np. sieć lokalna czy Internet) nie jest bezpieczny. Największym problemem w takim przypadku jest zagadnienie dostarczenia „klucza szyfrującego/deszyfrującego" do docelowego punktu w sposób bezpieczny. Robi się to najczęściej, korzystając z innego kanału transmisyjnego. Ale taka sytuacja nie zawsze jest możliwa. Tu z pomocą przyjdzie nam kryptografia niesymetryczna.
Do najważniejszych algorytmów kryptografii symetrycznej zaliczamy:
- DES (ang. Data Encryption Standard) - z kluczem 56-bitowym;
- DESX (ang. DES XORed) - zmodyfikowany DES, w którym wykorzystuje się dodatkowy materiał kryptograficzny - siła szyfrowania w tym przypadku wzrosła do 128 bitów;
- 3DES (ang. Triple DES) - kluczem 168-bitowym lub w postaci uproszczonej z kluczem 112-bitowym;
- AES (ang. Advanced Encryption Standard) - zwany również Rijndael.Twórcami algorytmu sąVincent Rijmen i Joan Daemen. AES wykonuje 10 (klucz 128 bitów), 12 (klucz 192 bity) lub 14 (klucz 256 bitów) rund szyfrujących typu substitution-permutation;
- RC4 (zwany również ARC4 albo ARCFOUR) - został opracowany przez Rona Rivesta z RSA Security w 1987 roku. Powszechnie jest wykorzystywany w systemie Windows do szyfrowania komunikacji protokołu Kerberos (oraz WEP).
Kryptografia asymetryczna
W 1976 roku Whitfield Diffie i Martin Hellman zaproponowali mechanizm kryptograficzny z tzw. kluczem publicznym, w którym używa się dwóch matematycznie związanych ze sobą kluczy. Jeden z nich nazywany jest kluczem publicznym, drugi - prywatnym. System ten został skonstruowany w taki sposób, że obliczenie klucza prywatnego na podstawie klucza publicznego jest praktycznie niewykonalne. Oba klucze generowane są poufnie, jako para. W kryptografii asymetrycznej klucz publiczny może być swobodnie rozpowszechniany, natomiast odpowiadający mu klucz prywatny musi zostać zachowany w sekrecie. W typowych zastosowaniach klucz publiczny jest używany do szyfrowania informacji, a prywatny do deszyfrowania. Diffie i Hellman pokazali, że użycie systemów z kluczem publicznym jest możliwe przez zastosowanie protokołu uzgadniania kluczy (nazwanego protokołem Diffie-Hellmana). Mechanizm ten opiera się o tzw. liczby względnie pierwsze oraz logarytm dyskretny.
Liczby względnie pierwsze są to liczby całkowite, które nie mają innych poza jedynką wspólnych dzielników w rozkładzie na czynniki pierwsze. Parami względnie pierwszymi nazywamy liczby, których największym wspólnym dzielnikiem jest jeden. Szybkim sposobem określenia, czy dwie liczby są względnie pierwsze, jest algorytm Euklidesa.
Protokoły uzgadniania kluczy
Dla protokołu uzgadniania kluczy Diffie-Hellmana stosuje się długości kluczy zwane grupami DH (skrót od nazwisk autorów):
- Grupa 1 - 768 bitów
- Grupa 2 - 1024 bity
- Grupa 2048 - 2048 bitów
W Windows 2008 dodano mechanizm uzgadniania kluczy korzystający z algorytmu opartego o krzywe eliptyczne (ang. ECDH - Eliptic Curve Diffie-Hellman).
Drugim bardzo znanym algorytmem kryptografii asymetrycznej jest algorytm RSA (skrót pochodzi od nazwisk autorów Ronald Rivest, Adi Shamir oraz Len Adleman). Opublikowali oni ten algorytm w roku 1978. Algorytm ten również opiera się o liczby względnie pierwsze oraz o bardzo duże liczby pierwsze, gdzie złożoność opiera się o tzw. faktoryzację dużych liczb.
Algorytm RSA wykorzystują klucze o długości zbliżonej do DH:
- RSA 1024
- RSA 2048
- RSA 4096
Drugim ważnym zastosowaniem algorytmu RSA jest możliwość zastosowania go przy tzw. podpisie cyfrowym, którego celem jest zapewnienie integralności i niezaprzeczalności danych.
Często w podpisie elektronicznym wykorzystywany jest inny mechanizm, zwany DSA (ang. Digital Signature Algorithm) - amerykański narodowy standard dla podpisów cyfrowych. Algorytm DSA do podpisu dokumentu wykorzystuje wartość jednokierunkowej funkcji skrótu SHA-1 (ang. Secure Hash Algorithm). Funkcje skrótu (ang. hashe) mają wielorakie zastosowanie.
Funkcje skrótu
- SHA-1 - generuje skrót o długości 160 bitów - został opublikowany w 1995 r. Specyfikacja opublikowana jest w dokumencie RFC 3174.
- Rodzina SHA-2 - generuje skróty o długości (SHA-224, SHA 256, SHA-384, SHA-512) odpowiednio 224, 256, 384 lub 512 bitów. Specyfikacja dostępna jest jako dokument FIPS - 140-2 (ang. Federal Information Processing Standards).
- MD 5 - (ang. Message-Digest algorithm 5) - opracowany przez Ronalda Rivesta w 1991 roku. Specyfikacja dostępna jest jako dokument RFC 1321 - opublikowany w 1992 r.
Hashe wykazują pewną słabość zwaną kolizją, co oznacza, iż mogą istnieć co najmniej dwie wiadomości źródłowe, dla których funkcja skrótu da taką samą wartość hasha. Od roku 2004 znana jest ta „przypadłość" dla MD5.
Inna, już praktycznie niestosowana funkcja skrótu, to MD4 - opublikowana w dokumencie RFC 1320 w 1992 r. Jej słabość to kolizje, które można wygenerować w czasie rzędu 1 sekundy!
Omówione wyżej protokoły kryptograficzne i funkcje skrótu wykorzystywane są w infrastrukturze klucza publicznego. W skład pełnej infrastruktury PKI wchodzą:
- Algorytmy kryptograficzne;
- Mechanizmy generacji, weryfikacji i unieważniania certyfikatów zgodnych ze standardem X.509 (PKI dopuszcza również inne standardy certyfikatów, ale akurat ten jest na świecie najbardziej rozpowszechniony i powszechnie obowiązujący);
Centra certyfikacji (jednostki, urzędy certyfikujące - CA Certification Authority) oraz urzędy rejestracyjne, (RA Registration Authority), których celem jest generacja, weryfikacja, przechowywanie oraz unieważnianie certyfikatów. Służyć również mogą za miejsce przechowywania kluczy publicznych subskrybentów posługujących się certyfikatami (tak, aby nie trzeba było manualnie przekazywać między uczestnikami komunikacji w/w kluczy publicznych).
©2012 IIP