Рукопожатие

Когда вы начали читать этот комикс, ваш браузер отобразил зеленый значок в адресной строке.

Как это произошло?

Ваш браузер соединился с нашим сервером, где размещен этот комикс, и они оба установили безопасное соединение для передачи сообщений.

Но сначала, им нужно было договориться о том как обеспечить безопасное соединение.

Если переговоры завершились неудачно, ваш браузер даст вам знать отобразив ошибку или предупреждение.
Если соглашение было достигнуто, ваш браузер будет рад отобразить зеленый замок в адресной строке.

Этот процесс переговоров между браузером и сервером называется 'рукопожатием'

Это происходит очень быстро. Мы покажем вам как это работает.

Браузерберд будет вашим браузером.
ПеСель будет нашим сервером.

Вам слово, ребята!

Готовы? Вот как выглядит 'рукопожатие' в слоумо.

Левой
Правой
Вертикальная шака
Горизонтальная шака
Потеребонькаем

Готово!

Давай еще раз, только быстрее.

Левой - Правой - Шака - Поворотная шака - Потеребонькаем.

Е-Щ-Ё !

Да хорош!

Попробуем разобраться. Шаг за шагом.

Шаг первый: Левой. Или приветствие со стороны клиента.

Я отправляю Compugter список версий SSL/TLS и алгоритмов шифрования, с которыми могу работать. Сейчас я предпочитаю TLS 1.3, поэтому также отправляю key_share.

Модное словечко для списка алгоритмов шифрования - 'шифрокомплект'.

Так что, можете почувствовать себя профи, используя это слово за ужином.

Протоколы SSL и TLS все время развиваются, скоро мы расскажем об этом подробнее.

А я, тем временем, жду ответа от ПеСеля.

Шаг второй: Правой. Или приветствие сервера.

Я выбираю TLS 1.3 и набор шифров (cipher suite) и также отправляю свой key_share. С этого момента TLS 1.3 шифрует остальную часть рукопожатия.

Сразу после этого я отправляю свой сертификат, в котором содержится мой открытый ключ, чтобы они могли подтвердить мою личность.

Шаг третий: вертикальный шака. Также известен как Key Share.

Я проверяю сертификат ПеСеля, чтобы убедиться что он законный.

Поскольку мы оба ранее отправили key share, мы можем вывести один и тот же секрет, обеспечивая конфиденциальность.

Шаг четвертый: горизонтальное вращение шаки. Также известно как Finished Messages.

Начиная с ServerHello (шаг второй), рукопожатие зашифровано.

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

Шаг пятый: Потеребонькаем. Или, теперь все защищено.
Сейчас все данные проходящие между Браузербердом и ПеСелем защищены до конца сеанса.

Пароли, данные кредитных кард, всё остальное.

Довольно просто, правда?

В следующий раз при защищенном соединении с сайтом использующим HTTPS, отбейте вашему бразеру шаку потому что теперь вы знаете их секретное рукопожатие.

Далее на HowHTTPS.works...

HTTPS, SSL, TLS, о блин! Похоже на ланч у меня был суп из акронимов. Что они все означают? Они все одно и то же?

Продолжение следует...