Що таке рукостискання SSL/TLS? Пояснимо за 3 хвилини

Рукостискання SSL/TLS складається з послідовних кроків, де клієнт та сервер ідентифікують один одного та починають спілкуватися через безпечний SSL/TLS-тунель.

Процес називається рукостисканням або handshake, тому що клієнт і сервер зустрічають один одного вперше. Рукостискання починається з ідентифікації та закінчується генеруванням секретного ключа.

рукостискання SSL/TLS

SSL/TLS-рукостискання — що це?

Рукостискання SSL — це розмова між клієнтом та сервером, де кожен хоче досягти однієї мети — безпечно спілкуватися за допомогою симетричного шифрування. При такому шифруванні у двох сторін один ключ для шифрування та дешифрування повідомлень. Такий ключ називається спільним секретним ключем — у всіх користувачів, які обмінюються даними, один і той же ключ.

Давайте уявимо виконання TLS-рукостискання як діалог клієнта та сервера.

Клієнт: «Привіт! Я хочу встановити безпечне спілкування між нами. Ось мій набір шифрів та сумісна версія SSL/TLS».

Сервер: «Привіт, клієнт. Я перевірив твій шифр і версію SSL/TLS. Думаю, ми можемо продовжити спілкування. Ось мій файл сертифіката та відкритий ключ. Перевір їх».

Клієнт: «Сертифікат у порядку. Але мені потрібно перевірити твій закритий ключ. Я зараз згенерую та зашифрую спільний секретний ключ за допомогою твого відкритого ключа. Розшифруй його за допомогою свого закритого ключа. Якщо все вийде, ти створиш головний секрет, який ми використовуватимемо для шифрування та розшифрування інформації».

Сервер: «Готово».

Тепер, коли клієнт і сервер впевнені один в одному, інформація, що передається між ними, шифруватиметься за допомогою головного секрету. Як тільки перевірка закінчиться, інформація почне шифруватись лише через головний секретний ключ.

Клієнт: «Я відправлю тобі тестове повідомлення, щоб перевірити, що наш головний секрет працює. Надішліть мені розшифровану версію цього повідомлення. Якщо він працює, наші дані у безпеці».

Сервер: «Так, все працює».

Тепер кожен файл, який буде передаватися від клієнта до сервера і назад, буде зашифрований. Це і є SSL/TLS-рукостискання.

протокол рукостискання

Джерело: стаття в блозі Cheap SSL Security

Читайте також: