2 x scenariusze, które działają nieco inaczej:
SCENARIUSZ 1:
Przeglądarka internetowa (klient) uzyskuje dostęp do strony internetowej (serwera) przez HTTPS przy użyciu SSL.
Serwer ma plik .PFX zawierający oba klucze. Klient łączy się ze stroną internetową na serwerze, a serwer wysyła kopię swojego klucza publicznego (plik .CER) do klienta w ramach uzgadniania SSL. Klient następnie generuje „SESSION-Key” i szyfruje go przy użyciu klucza publicznego otrzymanego z serwera. Klucz sesji jest następnie przesyłany z powrotem do serwera i odszyfrowany w celu potwierdzenia jego autentyczności. Jeśli się powiedzie, zarówno klient, jak i serwer współdzielą teraz „klucz sesji” do komunikacji przy użyciu szyfrowania symetrycznego (tj. Zarówno klient, jak i serwer, teraz oba szyfrują ORAZ deszyfrują wszystkie wiadomości między sobą przy użyciu tego samego klucza sesji. wykonywana za kulisami w tle przeglądarki internetowej, między momentem wprowadzenia adresu URL w pasku adresu, a wyświetleniem strony internetowej.
SCENARIUSZ 2:
Aplikacja (klient) łączy się z witryną FTP (serwerem)
lub
pulpitem zdalnym (klient do serwera) za pomocą protokołu SSH
(zastosowanie mają oba przykłady)
W tym scenariuszu, zarówno Klient i serwer będzie mieć własne prywatne i publiczne par klucz
(w przeciwieństwie do innych przykładów wymienionych w tym wątku, że tylko wyjaśnić, gdy serwer ma oba klawisze, a klient ma tylko klucz publiczny)
Teraz, dla celów wyjaśnienia - oznaczmy pary kluczy w następujący sposób:
A1 i A2 = odpowiednio klucze prywatne i publiczne serwerów
B1 i B2 = odpowiednio klucze prywatne i publiczne klientów
Korzystając z tego modelu, poprzednie posty w tym wątku mówiły o tym, kiedy serwer ma A1 i A2 ( plik .PFX ) i udostępnia klientom tylko kopię A2 ( .CER )
Podczas gdy połączenia FTP lub SSH (istnieją inne przykłady) składają się z kluczy A1 , A2 , B1 i B2 w całej komunikacji klient-serwer. Na przykład
- Klient łączy się z serwerem FTP.
- Serwer wysyła kopię swojego klucza publicznego (A2) do klienta.
- Klient wysyła swój własny klucz publiczny (B2) z powrotem do serwera, kończąc uzgadnianie.
- Będzie to teraz używać szyfrowania asymetrycznego
Serwer ma teraz A1 ( własny prywatny ), A2 ( własny publiczny ), a kopia B2 ( publiczny
klienta ). Klient ma teraz B1 ( własny prywatny ), B2 ( własny publiczny ) i kopię A1 ( serwer Publiczne )
Komunikacja
klient -serwer: klient używa A2 (klucz publiczny serwera) do szyfrowania wiadomości przypisanych do serwera, serwer odszyfrowuje je za pomocą A1 (klucz prywatny serwera)
Komunikacja między
serwerem a klientem: serwer używa B2 (klucz publiczny klienta) do szyfrowania wiadomości przypisanej do klienta, klient odszyfrowuje je przy użyciu B1 (klucz prywatny klienta)
Jeśli chodzi o typy plików .CER i .PFX, serwer będzie miał własny plik .PFX, który nie powinien być rozpowszechniany poza organizację, zamiast tego należy rozesłać plik .CER do klientów.
więcej informacji można znaleźć tutaj:
https://www.digicert.com/ssl-cryptography.htm
i tutaj:
/server/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client