Infrastruktura klucza publicznego
Najbardziej charakterystyczną cechą infrastruktury kluczy publicznych (PKI) jest to, że wykorzystuje ona parę kluczy do realizacji podstawowej usługi bezpieczeństwa. Para kluczy składa się z klucza prywatnego i klucza publicznego.
Ponieważ klucze publiczne znajdują się w otwartej domenie, prawdopodobnie zostaną nadużyte. Dlatego konieczne jest ustanowienie i utrzymywanie pewnego rodzaju zaufanej infrastruktury do zarządzania tymi kluczami.
Zarządzanie kluczami
Nie trzeba dodawać, że bezpieczeństwo każdego kryptosystemu zależy od tego, jak bezpiecznie zarządza się jego kluczami. Bez bezpiecznych procedur obsługi kluczy kryptograficznych potencjalne korzyści wynikające ze stosowania silnych schematów kryptograficznych zostaną utracone.
Zaobserwowano, że schematy kryptograficzne rzadko są narażone na szwank z powodu słabych stron ich konstrukcji. Jednak często są one zagrożone przez złe zarządzanie kluczami.
Istnieje kilka ważnych aspektów zarządzania kluczami, które są następujące:
Klucze kryptograficzne to nic innego jak specjalne fragmenty danych. Zarządzanie kluczami odnosi się do bezpiecznego administrowania kluczami kryptograficznymi.
Zarządzanie kluczami dotyczy całego cyklu życia klucza, jak pokazano na poniższej ilustracji -
Istnieją dwa szczególne wymagania dotyczące zarządzania kluczami w przypadku kryptografii klucza publicznego.
Secrecy of private keys. Przez cały cykl życia klucza tajne klucze muszą pozostać tajne przed wszystkimi stronami, z wyjątkiem tych, którzy są właścicielami i są upoważnieni do ich używania.
Assurance of public keys.W kryptografii klucza publicznego klucze publiczne znajdują się w otwartej domenie i są postrzegane jako publiczne elementy danych. Domyślnie nie ma zapewnień, czy klucz publiczny jest poprawny, z kim może być powiązany lub do czego może służyć. W związku z tym zarządzanie kluczami publicznymi musi bardziej wyraźnie koncentrować się na zapewnieniu przeznaczenia kluczy publicznych.
Najważniejszy wymóg „zapewnienia klucza publicznego” można spełnić za pomocą infrastruktury klucza publicznego (PKI), czyli systemu zarządzania kluczami wspierającego kryptografię klucza publicznego.
Infrastruktura klucza publicznego (PKI)
PKI zapewnia zapewnienie klucza publicznego. Zapewnia identyfikację kluczy publicznych i ich dystrybucję. Anatomia PKI składa się z następujących elementów.
- Certyfikat klucza publicznego, potocznie nazywany „certyfikatem cyfrowym”.
- Tokeny klucza prywatnego.
- Urząd certyfikacji.
- Urząd Rejestracji.
- System zarządzania certyfikatami.
Certyfikat cyfrowy
Analogicznie, certyfikat można uznać za dowód osobisty wydany danej osobie. Ludzie używają dowodów osobistych, takich jak prawo jazdy, paszport, aby potwierdzić swoją tożsamość. Certyfikat cyfrowy spełnia te same podstawowe funkcje w świecie elektronicznym, ale z jedną różnicą.
Certyfikaty cyfrowe są wydawane nie tylko ludziom, ale mogą być wydawane na komputery, pakiety oprogramowania lub cokolwiek innego, co musi udowodnić tożsamość w świecie elektronicznym.
Certyfikaty cyfrowe są oparte na standardzie ITU X.509, który określa standardowy format certyfikatu dla certyfikatów klucza publicznego i walidacji certyfikacji. Dlatego certyfikaty cyfrowe są czasami nazywane certyfikatami X.509.
Klucz publiczny dotyczący klienta użytkownika jest przechowywany w certyfikatach cyfrowych przez Urząd Certyfikacji (CA) wraz z innymi istotnymi informacjami, takimi jak informacje o kliencie, data wygaśnięcia, wykorzystanie, wystawca itp.
CA podpisuje cyfrowo wszystkie te informacje i dołącza podpis cyfrowy do certyfikatu.
Każdy, kto potrzebuje potwierdzenia klucza publicznego i związanych z nim informacji klienta, przeprowadza proces weryfikacji podpisu przy użyciu klucza publicznego CA. Pomyślna walidacja zapewnia, że klucz publiczny podany w certyfikacie należy do osoby, której dane są podane w certyfikacie.
Na poniższej ilustracji przedstawiono proces uzyskiwania certyfikatu cyfrowego przez osobę / podmiot.
Jak pokazano na ilustracji, CA akceptuje wniosek klienta w celu poświadczenia jego klucza publicznego. CA, po należytym zweryfikowaniu tożsamości klienta, wystawia mu certyfikat cyfrowy.
Urząd certyfikacji (CA)
Jak wspomniano powyżej, CA wystawia certyfikat klientowi i pomaga innym użytkownikom w weryfikacji certyfikatu. CA bierze odpowiedzialność za prawidłowe zidentyfikowanie tożsamości klienta proszącego o wystawienie certyfikatu i zapewnia, że informacje zawarte w certyfikacie są poprawne i podpisuje je cyfrowo.
Kluczowe funkcje CA
Kluczowe funkcje urzędu certyfikacji są następujące:
Generating key pairs - CA może samodzielnie lub wspólnie z klientem wygenerować parę kluczy.
Issuing digital certificates- CA można traktować jako odpowiednik PKI agencji paszportowej - CA wystawia certyfikat po dostarczeniu przez klienta danych uwierzytelniających w celu potwierdzenia jego tożsamości. Następnie CA podpisuje certyfikat, aby zapobiec modyfikacji szczegółów zawartych w certyfikacie.
Publishing Certificates- Urząd certyfikacji musi publikować certyfikaty, aby użytkownicy mogli je znaleźć. Są na to dwa sposoby. Jednym z nich jest publikowanie certyfikatów w odpowiedniku elektronicznej książki telefonicznej. Drugim jest wysłanie certyfikatu do osób, które Twoim zdaniem mogą go potrzebować w taki czy inny sposób.
Verifying Certificates - CA udostępnia swój klucz publiczny w środowisku, aby ułatwić weryfikację jego podpisu na certyfikacie cyfrowym klienta.
Revocation of Certificates- Czasami CA unieważnia certyfikat wydany z jakiegoś powodu, takiego jak ujawnienie klucza prywatnego przez użytkownika lub utrata zaufania do klienta. Po unieważnieniu CA przechowuje listę wszystkich odwołanych certyfikatów, które są dostępne dla środowiska.
Klasy certyfikatów
Istnieją cztery typowe klasy certyfikatów -
Class 1 - Certyfikaty te można łatwo uzyskać, podając adres e-mail.
Class 2 - Certyfikaty te wymagają podania dodatkowych danych osobowych.
Class 3 - Te certyfikaty można kupić tylko po sprawdzeniu tożsamości wnioskodawcy.
Class 4 - Mogą być używane przez rządy i organizacje finansowe, które potrzebują bardzo wysokiego poziomu zaufania.
Urząd Rejestracji (RA)
CA może korzystać z zewnętrznego urzędu rejestracyjnego (RA) w celu przeprowadzenia niezbędnych kontroli osoby lub firmy żądającej certyfikatu w celu potwierdzenia ich tożsamości. RA może wydawać się klientowi jako CA, ale w rzeczywistości nie podpisuje wystawionego certyfikatu.
System zarządzania certyfikatami (CMS)
Jest to system zarządzania, za pośrednictwem którego certyfikaty są publikowane, czasowo lub na stałe zawieszane, odnawiane lub unieważniane. Systemy zarządzania certyfikatami zwykle nie usuwają certyfikatów, ponieważ w danym momencie może być konieczne udowodnienie ich statusu, być może ze względów prawnych. CA wraz z powiązanym RA prowadzi systemy zarządzania certyfikatami, aby móc śledzić swoje obowiązki i zobowiązania.
Żetony klucza prywatnego
Podczas gdy klucz publiczny klienta jest przechowywany w certyfikacie, powiązany tajny klucz prywatny może być przechowywany na komputerze właściciela klucza. Ta metoda na ogół nie jest stosowana. Jeśli atakujący uzyska dostęp do komputera, może łatwo uzyskać dostęp do klucza prywatnego. Z tego powodu klucz prywatny jest przechowywany na bezpiecznym, wymiennym tokenie magazynu, do którego dostęp jest chroniony hasłem.
Różni dostawcy często używają różnych, a czasem zastrzeżonych formatów przechowywania kluczy. Na przykład Entrust używa zastrzeżonego formatu .epf, podczas gdy Verisign, GlobalSign i Baltimore używają standardowego formatu .p12.
Hierarchia CA
Przy rozległych sieciach i wymaganiach globalnej komunikacji praktycznie nie jest możliwe posiadanie tylko jednego zaufanego urzędu certyfikacji, od którego wszyscy użytkownicy otrzymują swoje certyfikaty. Po drugie, dostępność tylko jednego CA może powodować trudności, jeśli CA zostanie zagrożony.
W takim przypadku hierarchiczny model certyfikacji jest interesujący, ponieważ pozwala na używanie certyfikatów klucza publicznego w środowiskach, w których dwie komunikujące się strony nie mają relacji zaufania z tym samym urzędem certyfikacji.
Główny urząd certyfikacji znajduje się na szczycie hierarchii urzędów certyfikacji, a certyfikat głównego urzędu certyfikacji jest certyfikatem z podpisem własnym.
Urzędy certyfikacji, które są bezpośrednio podporządkowane głównemu urzędowi certyfikacji (na przykład CA1 i CA2), mają certyfikaty CA, które są podpisane przez główny urząd certyfikacji.
Urzędy certyfikacji w podrzędnych urzędach certyfikacji w hierarchii (na przykład CA5 i CA6) mają swoje certyfikaty CA podpisane przez podrzędne urzędy certyfikacji wyższego poziomu.
Hierarchie urzędów certyfikacji (CA) są odzwierciedlone w łańcuchach certyfikatów. Łańcuch certyfikatów śledzi ścieżkę certyfikatów od gałęzi w hierarchii do katalogu głównego hierarchii.
Na poniższej ilustracji przedstawiono hierarchię urzędów certyfikacji z łańcuchem certyfikatów prowadzącym od certyfikatu jednostki przez dwa podrzędne certyfikaty CA (CA6 i CA3) do certyfikatu CA dla głównego urzędu certyfikacji.
Weryfikacja łańcucha certyfikatów to proces zapewniający, że określony łańcuch certyfikatów jest ważny, poprawnie podpisany i godny zaufania. Poniższa procedura weryfikuje łańcuch certyfikatów, zaczynając od certyfikatu przedstawionego do uwierzytelnienia -
Klient, którego autentyczność jest weryfikowana, dostarcza swój certyfikat, zazwyczaj wraz z łańcuchem certyfikatów do Root CA.
Weryfikator pobiera certyfikat i sprawdza go przy użyciu klucza publicznego wystawcy. Klucz publiczny wystawcy znajduje się w certyfikacie wystawcy, który znajduje się w łańcuchu obok certyfikatu klienta.
Teraz, jeśli wyższy urząd certyfikacji, który podpisał certyfikat wystawcy, jest zaufany przez weryfikatora, weryfikacja zakończy się powodzeniem i zostanie tutaj zatrzymana.
W przeciwnym razie certyfikat wystawcy jest weryfikowany w podobny sposób, jak w przypadku klienta w powyższych krokach. Ten proces trwa do momentu znalezienia zaufanego urzędu certyfikacji w międzyczasie lub trwa do głównego urzędu certyfikacji.