Рукостискання

Як тільки ви почали читати комікс, ваш браузер відобразив зелений замочок в адресному рядку браузера.

Що ж зараз сталось?

Ваш браузер зв’язався з нашим сервером, де розміщено цей комікс, і вони обидва встановили безпечне з’єднання для передачі повідомлень.

Але спочатку їм потрібно узгодити, як спілкуватись безпечно.

Якщо перемовини не увінчались успіхом, ваш браузер дасть вам знати і покаже помилку або застереження.
Якщо вдалось домовитись, ваш браузер із задоволенням покаже вам зелений замочок в адресному рядку.

Цей процес перемовин між браузером і сервером зветься 'рукостисканням'.

Це відбувається дуже швидко. Ми покажемо вам, як це працює.

Пташка-браузер буде вашим браузером.
Песик-компуктер буде нашим сервером.

Нумо, друзі, зробіть це!

Готові? Ось як 'рукостискання' буде виглядати в сповільненій зйомці.

Зліва хлоп
Справа хлоп
Вертикальне хоп
Горизонтальне хоп і покрути
Лоскітки

Готово!

Давай ще раз, але швидше.

Зліва хлоп - Справа хлоп - Хоп - Хоп і покрути - Лоскітки.

Щ-Е Р-А-З!

Стоп!

Давайте розберемо все. Крок за кроком.

Перший крок: Зліва хлоп. Або ж привітання зі сторони клієнта.

Я надсилаю Compugter список версій SSL/TLS і алгоритмів шифрування, з якими можу працювати. Нині надаю перевагу TLS 1.3, тому також надсилаю key_share.

А по-модному, список алгоритмів шифрування називається 'набір шифрів' ('cipher suite').

Тепер ти як справжній гік.

SSL та TLS протоколи з часом еволюціонували (незабаром ми про це поговоримо).

І тоді я чекаю на відповідь від Песика-компуктера.

Крок два: Справа хлоп. Або ж привітання зі сторони сервера.

Я обираю TLS 1.3 і набір шифрів (cipher suite) та також надсилаю свій key_share. З цього моменту TLS 1.3 шифрує решту рукостискання.

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

Крок третій: вертикальний шака. Також відомий як Key Share.

Я перевіряю сертифікат Песика-компуктера, щоб перевірити, що він справжній.

Оскільки ми обидва раніше надіслали key share, ми можемо вивести однаковий секрет, забезпечуючи конфіденційність.

Крок четвертий: горизонтальне обертання шаки. Також відомий як Finished Messages.

Починаючи з ServerHello (крок другий), рукостискання зашифроване.

Вони обмінюються повідомленнями Finished, щоб довести, що вивели однаковий секрет — і за один раунд-тріп ключі сеансу готові.

Крок п'ять: Лоскітки. Або ж тепер все захищено.
Тепер усі дані, які передаються між Пташкою-браузером і Песиком-компуктером захищені до кінця сесії.

Паролі, дані банківських карт, взагалі будь-що.

Легко ж, правда?

Наступного разу, коли відкриваєте сайт через HTTPS, потисни ручку браузеру цим секретним рукостисканням.

Далі у 'як працює HTTPS'...

HTTPS, SSL, TLS, о-йой! Скрутили голову ці словечки. Що ж вони означають? Хіба вони не означають одне і те ж?

Продовжити читання