2009-04-25 9 views
17

Proszę mi pomóc zrozumieć, jak przebiega ten proces. Rozumiem, że przeglądarki internetowe zawierają certyfikaty główne dla urzędów certyfikacji (CA), takie jak verisign, Entrust, Comodo .. itd., Ale co dokładnie dzieje się, gdy użytkownik uzyskuje dostęp do bezpiecznej strony? Czy przeglądarka internetowa wysyła żądanie do serwera urzędu certyfikacji w celu zweryfikowania certyfikatu lub po prostu używa certyfikatu głównego urzędu certyfikacji (w przeglądarce) do weryfikacji certyfikatu?Jak działają certyfikaty cyfrowe, gdy są wykorzystywane do zabezpieczania witryn internetowych (przy użyciu protokołu SSL)?

Użyłem jakiegoś sniffera HTTP i zalogowałem się do Gmaila (strona logowania jest bezpieczna), ale nie widziałem próśb na strony inne niż google, czy to oznacza, że ​​używa tylko głównego certyfikatu CA?

+1

Certyfikat dostarczony przez urząd certyfikacji jest instalowany na serwerze sieciowym (na przykład IIS) i mapowany do aplikacji internetowej. Nie rozumiem, dlaczego przeglądarka łączyłaby się z urzędem certyfikacji. – Cerebrus

Odpowiedz

5

To zależy od konfiguracji przeglądarki/systemu operacyjnego. Zasadniczo przeglądarka lub system operacyjny ma listę zaufanych uprawnień root (Mozilla ma swoją własną listę, IE używa Windows).

Podczas uzgadniania SSL sprawdzany jest certyfikat witryny, aby sprawdzić, czy jest podpisany przez jeden z zaufanych uprawnień, oraz czy nazwa serwera jest zgodna z certyfikatem.

To, co stanie się dalej, zależy od konfiguracji przeglądarki lub systemu operacyjnego. CA mają funkcję listy odwołań (jej duża lista lub osobna usługa (OCSP), gdzie można zapytać, czy certyfikat jest nadal dobry). Jeśli twoja przeglądarka/system operacyjny jest skonfigurowany, aby to sprawdzić, to ten dodatkowy krok się wydarzy.

Firefox i Windows domyślnie sprawdzają usługi OCSP, jeśli są dostępne, nie sprawdzają też listy list CRL.

2

CA podpisuje certyfikat serwera internetowego. Ponieważ przeglądarka ma już klucz publiczny CA (w certyfikatach głównych), może zweryfikować jego autentyczność bez uzyskiwania dostępu do urzędu certyfikacji. Jedyne, co wymaga dostępu do urzędu certyfikacji, to sprawdzenie, czy certyfikat został odwołany.

20

Urząd certyfikacji wystawia certyfikaty podpisane za pomocą prywatnego klucza . Przeglądarka przechowuje odpowiadający publiczny klucz dla wielu zaufanych urzędów certyfikacji. Po otrzymaniu żądania bezpiecznej transakcji przeglądarka sprawdza klucz główny certyfikatu (dostarczony przez hosta, z którym się łączysz) za pomocą klucza publicznego, aby upewnić się, że rzeczywiście został podpisany przez pasujący klucz prywatny.

Host przechowuje certyfikat podpisany przez zaufaną stronę trzecią (CA), a przeglądarka przechowuje klucz publiczny tego samego podmiotu trzeciego. Po rozpoczęciu transakcji host musi tylko przedstawić ten certyfikat do sprawdzenia w przeglądarce. Interes zaufanej strony trzeciej nie wymaga interwencji w czasie transakcji.

To różni się od systemów takich jak PGP, gdzie należy skontaktować się z osobą trzecią, aby uzyskać klucz publiczny, z którym komunikujesz. Systemy mogą działać inaczej, ponieważ za pomocą PGP szyfrujesz/odszyfrowujesz dane. Dzięki certyfikatom wszystko, co robisz, to uwierzytelnianie tożsamości.

+1

Dobra odpowiedź, chciałbym śledzić z CA są zwykle verisign.com, godaddy.com itp ... Chociaż wydają się pojawiały wszędzie w tych dniach. Certyfikat CA musi być wstępnie zainstalowany w przeglądarce, zanim przeglądarki "zaufają" im, więc teoretycznie nie można po prostu skonfigurować własnego urzędu certyfikacji i rozpocząć fałszowania. Chociaż dla bezpieczeństwa korporacyjnego użytkownicy mogą instalować swój certyfikat CA, aby używać go z SSL bez ostrzeżeń o zabezpieczeniach przeglądarki. –

+0

Dzięki - to była najlepsza odpowiedź, którą znalazłem w sieci po 5-10 minutach lub po wyszukiwaniu. Bardzo doceniane. –

10

Przeglądarka internetowa zawiera listę zaufanych certyfikatów głównych. Są to klucze publiczne urzędów certyfikacji. Przeglądarka mówi, że możesz zaufać, że klucze prywatne tych urzędów są w rzeczywistości prywatne i że wszystko, co zostało zaszyfrowane przez jeden z tych kluczy prywatnych - w tym za rzekomy certyfikat serwera sieciowego - rzeczywiście pochodzi z urzędu certyfikacji.

Certyfikat zawiera klucz publiczny serwera internetowego oraz adres serwera WWW (i nazwę firmy itp.), Zaszyfrowany kluczem prywatnym urzędu certyfikacji. Szyfrowanie odbywa się raz, gdy właściciel strony internetowej kupił certyfikat od urzędu certyfikacji. Następnie właściciel strony internetowej przechowuje certyfikat pod ręką, aby wysłać go po zgłoszeniu https.Ponieważ przeglądarka może używać klucza publicznego urzędu certyfikacji (który był już na komputerze) do odszyfrowania certyfikatu wysłanego przez serwer sieci Web i widzi w odszyfrowanym certyfikacie, że certyfikat zawiera adres hosta zgodny z hostem obsługującym https, przeglądarka stwierdza, że ​​klucz publiczny hosta (deszyfrowany przy użyciu klucza publicznego urzędu certyfikacji) jest autentyczny. Certyfikat wydany rutynowo przez hosta internetowego może pochodzić od przypadkowej osoby podszywającej się pod hosta, ale przynajmniej możesz mieć pewność, że zawiera on autentyczny klucz publiczny hosta obsługującego https, z którym chcesz się komunikować.

Następnie można przesłać dane (takie jak numer karty kredytowej) zaszyfrowane za pomocą klucza publicznego hosta, a tylko klucz prywatny hosta będzie w stanie odszyfrować dane. Podczas transakcji nie była wymagana żadna komunikacja z urzędem certyfikacji.

+0

W wielu miejscach to, co nazywasz szyfrowaniem i odszyfrowywaniem, faktycznie oznacza * podpisywanie * i * weryfikowanie podpisu *. Jeśli chodzi o "* [...] może nadal pochodzić od przypadkowej osoby [...] *": dlatego przeglądarka weryfikuje również nazwę hosta w certyfikacie. – Bruno

+0

Dziękuję Bruno za wyjaśnienie. Czy "podpisywanie" nie polega na szyfrowaniu jakiegoś elementu? Sposób, w jaki wiem, że Verisign podpisał certyfikat jest taki, że klucz publiczny Verisign jest w stanie odszyfrować podpis. Ten podpis zawiera adres IP serwera internetowego i nazwę domeny, dzięki czemu tylko urząd certyfikacji - za pomocą klucza prywatnego - może umieścić adres IP/DN hosta internetowego w certyfikacie. –

+0

Jak rozumiem, weryfikacja odnosi się do aktu CA porównującego informacje zawarte w żądaniu certyfikatu z początkiem żądania/odbiorcy certyfikatu i odnosi się do porównania zawartości certyfikatu przez przeglądarkę (odszyfrowane przy użyciu klucza publicznego urzędu certyfikacji) na adres IP i nazwę domeny hosta internetowego przedstawiającego certyfikat. Nie jestem ekspertem i muszę go dobrze uczyć, więc dziękuję za pomoc! –

Powiązane problemy