Certyfikat SSL od klienta

0

Czy ktoś mógłby mi wyjaśnić, gdzie moja przeglądarka uzyskała certyfikaty SSL? Jak rozumiem, komunikacja między mną (klientem) a aplikacją internetową (serwerem) odbywająca się za pośrednictwem giełdy kluczy publicznych i prywatnych powinna mieć mój własny klucz publiczny-prywatny (+ klucz publiczny serwera).

Nie rozumiem, co jest używane jako mój certyfikat? Czy moja przeglądarka go generuje?

Czy jest on preinstalowany? Czy generuje certyfikat dla każdego połączenia lub dla każdej strony internetowej?

Jeśli moja przeglądarka wygeneruje certyfikat, jak to zrobić - https://news.ycombinator.com/item?id=10663843 ?

Kazachstan do MitM cały ruch HTTPS od 1 stycznia

degr
źródło
Tu nie ma tematu. Twoja przeglądarka nie generuje certyfikatów. Kazachstan najprawdopodobniej będzie prawnie wymagać, aby wszyscy mieszkańcy kraju posiadali urządzenie, które ma uznany w Kazachstanie urząd certyfikacji jako zaufanego dostawcę, aby mogli wystawiać ważne certyfikaty dla dowolnej domeny. Następnie wprowadzą je między witryny i użytkowników za pośrednictwem krajowej zapory. Chiny mają zrobiłem to od dziesięcioleci .
ceejayoz

Odpowiedzi:

1

Twoja przeglądarka nie generuje certyfikatu - raczej klucz publiczny jest udostępniany przez witrynę https i weryfikowany przez urząd certyfikacji (CA), któremu ufają przeglądarki.

Istnieje kilka zaufanych urzędów certyfikacji dystrybuowanych z systemem operacyjnym i / lub przeglądarką - i rzeczywiście, jeśli urząd certyfikacji jest zagrożony lub do maszyny można dodać niezaufanego urzędu certyfikacji, właściciel urzędu certyfikacji może zmienić ruch i zobaczyć wszystko.

davidgo
źródło
Więc podczas komunikacji https pracujemy tylko z jednym certyfikatem? Jeśli tak, kiedy wysyłam żądanie do serwera, mogę zaszyfrować wiadomość za pomocą klucza publicznego serwera i only server będę mógł przeczytać moją prośbę. Ale wtedy serwer wyśle ​​odpowiedź i zaszyfruje wiadomość kluczem prywatnym anybody będzie mógł odczytać odpowiedź. To nie wyglądało jak prawda.
degr
Nie, podczas komunikacji HTTPS pracujesz z co najmniej 2 (w praktyce więcej, ponieważ certyfikaty zwykle łączą się z innymi certyfikatami). Użyte certyfikaty to klucz prywatny serwerów i klucz publiczny urzędu certyfikacji (który jest dołączony do przeglądarki / os). Tylko serwer będzie mógł odczytać Twoją prośbę i wysłać Ci zaszyfrowaną odpowiedź, którą tylko Twoja przeglądarka może odczytać. [Zauważ, że CA może wykonać atak typu man-in-the-middle, ale zakładając, że rozmawiasz z serwerem bezpiecznie, nie mogą odszyfrować odpowiedzi wysłanej przez serwer]
davidgo
Ponadto uważam, że jako część sesji negocjacyjnej klient wysyła odpowiednik klucza publicznego (skojarzony z ekwiwalentem klucza prywatnego, który może zostać wygenerowany na żądanie i wyrzucony pod koniec sesji) do serwer. W ten sposób każda ze stron ma swój własny klucz prywatny do sesji, a drugi klucz publiczny.
davidgo
I believe that as part of the session is negotiation, the client sends the equivalent of a public key - Tak, a teraz wracam do mojego pytania - kiedy i jak moja przeglądarka generuje certyfikat (para kluczy publiczny-prywatny)?
degr
Spójrz na robertheaton.com/2014/03/27/how-does-https-actwork-work - Proces ten odbywa się jako część wymiany kluczy - co oznacza, że ​​zostało wykonane w momencie żądania HTTPS, a to, w jaki sposób zależy od użytego algorytmu szyfrowania / algorytmu (który jest również negocjowany na podstawie preferencji i możliwości każdej przeglądarki)
davidgo