Mam nieporozumienia dotyczące certyfikatów CA (Certificate Authority). Bez względu na to, ile rzeczy przeczytałem, nadal nie jest do końca jasne.
Weźmy przykład, Bob uzyskuje dostęp do strony internetowej. Aby możliwa była zaufana i szyfrowana komunikacja między Bobem a witryną, strona najpierw wystawia Bobowi certyfikat cyfrowy, który zawiera klucz publiczny i inne informacje.
Następnie Bob użyje tego klucza publicznego do zaszyfrowania danych, w których wyśle go na stronę internetową, a strona internetowa użyje odpowiedniego klucza prywatnego do jego odszyfrowania. (Właśnie rozważam tutaj komunikację jednokierunkową)
Mężczyzna pośrodku może udawać, że jest stroną internetową i dostarczyć Bobowi to, co uważa za ważny cyfrowy certyfikat, a potem wszystko idzie strasznie źle.
Jeśli strona internetowa używa urzędu certyfikacji do tego problemu w celu sprawdzenia lub wygenerowania własnego certyfikatu, które z moich oświadczeń jest poprawne, czy oba są częściowo poprawne? :
1) Bob po prostu porównuje certyfikat cyfrowy otrzymany z witryny z certyfikatem z urzędu certyfikacji, więc nie przeprowadza się odszyfrowywania, tylko porównanie? W takim przypadku, czy każdy pojedynczy certyfikat CA na świecie jest przechowywany na lokalnym komputerze Boba do porównania? Jak to się stało.
2) Bob ma po prostu specjalny certyfikat CA, który służy do odszyfrowywania certyfikatów z witryn. Urząd certyfikacji zaszyfrował wcześniej cyfrowy certyfikat witryny, którego Bob chce używać z kluczem prywatnym urzędu certyfikacji. Bob następnie pobiera certyfikat z witryny, odszyfrowuje go za pomocą klucza publicznego urzędu certyfikacji z certyfikatu urzędu certyfikacji. Jeśli certyfikatu nie można odszyfrować, oczywiste jest, że urząd certyfikacji go nie zaszyfrował, a zatem jest nieważny.
Z góry dziękuję.
Odpowiedzi:
Masz nieporozumienie. W rzeczywistości oba twoje scenariusze są błędne.
Po pierwsze, certyfikat cyfrowy jest wydawany przez urząd certyfikacji i zawiera klucz publiczny do podpisywania cyfrowego oraz określa tożsamość osoby podpisującej. Certyfikat służy do potwierdzenia, że klucz publiczny należy do osoby podpisującej, w której CA działa jako gwarant.
Certyfikat jest weryfikowany w stosunku do urzędu certyfikacji przez Internet, a nie lokalnie, jeśli chodzi o ważność certyfikatu, pobieranie z urzędu certyfikacji klucza publicznego w tym procesie.
Klucz publiczny służy do sprawdzenia, za pomocą algorytmu skrótu, czy podpisany obiekt był rzeczywiście tym, który został podpisany i nie został w żaden sposób zmieniony.
Ponieważ obraz jest wart tysiąca słów:
Źródło: Zrozumienie podpisów cyfrowych .
źródło
Przede wszystkim istnieją dwa kroki do weryfikacji certyfikatu wydanego przez urząd certyfikacji:
Oba twoje opisy są prawie odpowiednie dla połowy całego procesu, ale całkowicie ignoruj drugą połowę. Połącz te dwie rzeczy, a będziesz kiiiinda na właściwym torze.
Ale drugi punkt: szyfrowanie w ogóle nie jest używane , a certyfikaty (zawierające klucze publiczne) mogą być używane do szyfrowania danych, ale nie do ich deszyfrowania. Przeprowadzono weryfikację podpisu.
(Podejrzewam, że niektóre z waszych nieporozumień wynikają z przeczytania gdzieś, że np. „W RSA szyfrowanie i podpisywanie są takie same”. Zapomnij o tym. Chociaż w większości poprawne w sensie matematycznym, w praktyce jest to bardzo mylące, ponieważ intencją jest całkowicie odwrotnie. Kiedy czytasz dokument, który mówi o podpisaniu czegoś, nie zakładaj, że oznacza to to samo, co szyfrowanie.)
„Czy certyfikat tej witryny rzeczywiście został wydany przez urząd certyfikacji, za który się podaje?”
Wariant nr 2 jest w tym przypadku prawie poprawny. W grę wchodzą co najmniej dwa certyfikaty - jeden reprezentujący stronę internetową („certyfikat serwera”), a drugi sam urząd certyfikacji (zwany „certyfikatem urzędu certyfikacji” lub certyfikat główny).
Certyfikat własny strony internetowej nie jest szyfrowany kluczem prywatnym urzędu certyfikacji; jest podpisany kluczem prywatnym urzędu certyfikacji. Jeśli podpisu nie można zweryfikować, jest oczywiste, że urząd certyfikacji tak naprawdę nie podpisał deklaracji.
(W praktyce łańcuch jest zwykle nieco dłuższy, składa się z co najmniej trzech certyfikatów - ale mechanizm jest nadal taki sam; każdy podpisuje kolejny w łańcuchu).
Ale skąd Bob dostaje ten „specjalny certyfikat CA”? Patrz poniżej.
„Czy ten urząd certyfikacji ogólnie ufa wydawaniu certyfikatów?”
Otrzymany certyfikat CA jest porównywany z listą „zaufanych rootów” przechowywanych na komputerze lokalnym.
Teraz jest to podobne do tego, co opisano w wariancie nr 1, z tym wyjątkiem, że komputer nie przechowuje wszystkich certyfikatów wydanych przez urzędy certyfikacji - zamiast tego przechowuje tylko certyfikaty należące do samych urzędów certyfikacji , tj. „Specjalne certyfikaty urzędów certyfikacji” w wariancie nr 1.
W większości systemów zainstalowanych jest około 50–100 „certyfikatów głównych” - nie całkiem „każdy pojedynczy urząd certyfikacji na świecie”, ale obejmuje wiele większych i mniejszych firm. (Dołączenie do listy kosztuje sporo).
źródło