2 x сценарії, які працюють дещо інакше:
СЦЕНАРІЙ 1:
Веб-браузер (клієнт), який отримує доступ до веб-сторінки (сервера) через HTTPS за допомогою SSL.
Сервер має файл .PFX, що містить обидва ключі. Клієнт підключається до веб-сайту на сервері, а сервер надсилає копію свого відкритого ключа (файл .CER) клієнту як частину рукостискання SSL. Потім Клієнт генерує "SESSION-ключ" і шифрує його за допомогою відкритого ключа, отриманого від сервера. Потім ключ сеансу відправляється назад на сервер і розшифровується для підтвердження його справжності. У разі успіху і клієнт, і сервер тепер мають спільний «ключ сеансу» для спілкування за допомогою симетричного шифрування (тобто і клієнт, і сервер, тепер обидва шифрують І дешифрують всі повідомлення між собою за допомогою одного і того ж ключа сеансу. Все це відбувається робиться за кулісами у фоновому режимі веб-браузера, між тим, як ви вводите URL-адресу в адресний рядок, і коли з’являється веб-сторінка.
СЦЕНАРІЙ 2:
Додаток (клієнт) підключається до FTP-сайту (сервера)
або
віддаленого робочого столу (клієнта до сервера) за допомогою SSH
(застосовуються обидва приклади)
У цьому випадку, як клієнт і сервер будуть мати свої власні приватні і державні пари ключів
(на відміну від інших прикладів , наведених в цій темі, що тільки пояснити , коли сервер має обидва ключа, і клієнт має тільки відкритий ключ)
Тепер для пояснення - Давайте
позначимо пари ключів приблизно так: A1 і A2 = як приватні та відкриті ключі серверів відповідно
B1 та B2 = як приватні та відкриті ключі клієнтів відповідно
Використовуючи цю модель, у попередніх повідомленнях у цій темі говорилося про те, коли на сервері є А1 і А2 ( файл .PFX ), і надає клієнтам лише копію А2 ( .CER )
Тоді як з'єднання FTP або SSH (є й інші приклади) складаються з ключів A1 , A2 , B1 і B2 у всьому зв'язку клієнт-сервер. Наприклад,
- Клієнт підключається до FTP-сервера.
- Сервер надсилає Клієнту копію свого відкритого ключа (A2).
- Клієнт надсилає власний відкритий ключ (B2) назад на Сервер, завершуючи рукостискання.
- Зараз буде використовуватися асиметричне шифрування
Сервер тепер має A1 , ( власний приватний ), A2 ( власний загальнодоступний ) та копію B2 ( Public of Client ).
Клієнт тепер має B1 , ( власний Private ), B2 ( власний загальнодоступний ) та копію A1 ( Server Публічний )
Клієнт-серверні повідомлення:
Клієнт використовує A2 (відкритий ключ сервера) для шифрування повідомлень, призначених для Сервера, Сервер розшифровує їх за допомогою A1 (Серверний приватний ключ)
Комунікації між сервером і клієнтом:
сервер використовує B2 (відкритий ключ клієнта) для шифрування повідомлень, пов’язаних з клієнтом, клієнт розшифровує їх за допомогою B1 (приватний ключ клієнта)
Що стосується типів файлів .CER та .PFX, Сервер має власний файл .PFX, який не повинен розповсюджуватися за межами вашої організації, натомість вам слід розповсюджувати файл .CER серед клієнтів.
більше інформації можна знайти тут:
https://www.digicert.com/ssl-cryptography.htm
і тут:
/server/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client