Jaka jest seria kroków niezbędnych do bezpiecznego zweryfikowania certyfikatu ssl? Rozumiem (bardzo ograniczone), że kiedy odwiedzasz witrynę https, serwer wysyła certyfikat do klienta (przeglądarki), a przeglądarka pobiera informacje o wystawcy certyfikatu z tego certyfikatu, a następnie używa go do skontaktowania się z wystawcą i w jakiś sposób porównuje certyfikaty ważności.
- Jak dokładnie to się robi?
- Co z tym procesem czyni go odpornym na ataki typu man-in-the-middle?
- Co uniemożliwia przypadkowej osobie skonfigurowanie własnej usługi weryfikacyjnej do użycia w atakach typu man-in-the-middle, aby wszystko „wyglądało” bezpiecznie?
algorithm
security
ssl
certificate
rcreswick
źródło
źródło
Odpowiedzi:
Oto bardzo uproszczone wyjaśnienie:
Twoja przeglądarka internetowa pobiera certyfikat serwera WWW, który zawiera klucz publiczny serwera WWW. Ten certyfikat jest podpisany kluczem prywatnym zaufanego urzędu certyfikacji.
Twoja przeglądarka jest dostarczana z kluczami publicznymi wszystkich głównych urzędów certyfikacji. Używa tego klucza publicznego, aby sprawdzić, czy certyfikat serwera WWW został rzeczywiście podpisany przez zaufany urząd certyfikacji.
Certyfikat zawiera nazwę domeny i / lub adres IP serwera WWW. Twoja przeglądarka internetowa potwierdza urząd certyfikacji, że adres wymieniony w certyfikacie jest adresem, z którym ma otwarte połączenie.
Twoja przeglądarka internetowa generuje współdzielony klucz symetryczny, który będzie używany do szyfrowania ruchu HTTP na tym połączeniu; jest to o wiele bardziej wydajne niż używanie do wszystkiego szyfrowania kluczem publicznym / prywatnym. Twoja przeglądarka szyfruje klucz symetryczny za pomocą klucza publicznego serwera WWW, a następnie wysyła go z powrotem, zapewniając w ten sposób, że tylko serwer internetowy może go odszyfrować, ponieważ tylko serwer internetowy ma swój klucz prywatny.
Należy pamiętać, że urząd certyfikacji (CA) jest niezbędny do zapobiegania atakom typu man-in-the-middle. Jednak nawet niepodpisany certyfikat uniemożliwi pasywne nasłuchiwanie zaszyfrowanego ruchu, ponieważ nie ma on możliwości uzyskania dostępu do współdzielonego klucza symetrycznego.
źródło
webmaster@<domain-being-verified>
lub” Umieść ten plik w domenie, aby udowodnić, że jesteś jego właścicielem. own - słynny ktoś zdołał uzyskać podejrzany urząd certyfikacji, aby wystawił im certyfikat dla gmail.com!Warto zauważyć, że oprócz zakupu certyfikatu (jak wspomniano powyżej), możesz również utworzyć własny za darmo; jest to określane jako „certyfikat z podpisem własnym”. Różnica między certyfikatem z podpisem własnym a kupionym jest prosta: zakupiony został podpisany przez urząd certyfikacji, o którym już wie Twoja przeglądarka. Innymi słowy, przeglądarka może łatwo sprawdzić autentyczność zakupionego certyfikatu.
Niestety doprowadziło to do powszechnego błędnego przekonania, że samopodpisane certyfikaty są z natury mniej bezpieczne niż certyfikaty sprzedawane przez komercyjne urzędy certyfikacji, takie jak GoDaddy i Verisign, oraz że musisz przestrzegać ostrzeżeń / wyjątków przeglądarki, jeśli ich używasz; to jest niepoprawne .
Jeśli bezpiecznie rozpowszechnisz samopodpisany certyfikat (lub certyfikat CA, jak sugerował bobince) i zainstalujesz go w przeglądarkach, które będą korzystać z Twojej witryny , jest on tak samo bezpieczny, jak zakupiony i nie jest podatny na ataki typu man-in-the-middle ataki i fałszowanie certyfikatów. Oczywiście oznacza to, że jest to wykonalne tylko wtedy, gdy tylko kilka osób potrzebuje bezpiecznego dostępu do Twojej witryny (np. Wewnętrznych aplikacji, osobistych blogów itp.).
źródło
Ty to powiedziałeś
Klient nie musi sprawdzać u wystawcy, ponieważ dwie rzeczy:
Zauważ, że 2. nie da się zrobić bez 1.
To lepiej wyjaśniono na tym dużym diagramie, który stworzyłem jakiś czas temu
(przejdź do „co to jest podpis?” na dole)
źródło
Klient ma wstępnie zaszczepiony magazyn kluczy publicznych urzędów certyfikacji SSL. Aby serwer mógł być zaufany, musi istnieć łańcuch zaufania od certyfikatu dla serwera, przez pośrednie organy aż do jednego z tak zwanych certyfikatów „root”.
Możesz sprawdzić i / lub zmienić listę zaufanych organów. Często robisz to, aby dodać certyfikat dla lokalnego organu, któremu ufasz - na przykład firmy, w której pracujesz, szkoły, do której uczęszczasz, lub czegoś takiego.
Lista wstępnie zaszczepiona może się różnić w zależności od używanego klienta. Duzi dostawcy certyfikatów SSL zapewniają, że ich certyfikaty główne znajdują się we wszystkich głównych przeglądarkach ($$$).
Ataki typu „małpa w środku” są „niemożliwe”, chyba że osoba atakująca ma klucz prywatny zaufanego certyfikatu głównego. Ponieważ odpowiednie certyfikaty są powszechnie wdrażane, ujawnienie takiego klucza prywatnego miałoby poważne konsekwencje dla bezpieczeństwa eCommerce ogólnie. Z tego powodu te klucze prywatne są bardzo, bardzo ściśle strzeżone.
źródło
jeśli jesteś bardziej technicznie nastawiony, ta strona jest prawdopodobnie tym, czego chcesz: http://www.zytrax.com/tech/survival/ssl.html
ostrzeżenie: królicza nora idzie głęboko :).
źródło