Рукопожатие
https://howhttps.works

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

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

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

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

https://howhttps.works
Если переговоры завершились неудачно, ваш браузер даст вам знать отобразив ошибку или предупреждение.
https://howhttps.works
Если соглашение было достигнуто, ваш браузер будет рад отобразить зеленый замок в адресной строке.
THE HANDSHAKE

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

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

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

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

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

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

Готово!

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

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

Е-Щ-Ё !

Да хорош!

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

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

Я отправляю список SSL/TLS версий и алгоритмов шифрования, с которыми я могу работать, Песелю.

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

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

TLSSSL

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

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

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

Я выбираю наилучшую версию SSL/TLS и алгоритма шифрования среди тех,что мне отправил Браузерберд, и на основании моих настроек.

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

Шаг третий: Вертикальная шака. Или Обмен с ключом клиента.

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

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

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

Шаг четвертый: Горизонтальная Шака. Или изменение шифра.

Я использую мой приватный ключ чтобы расшифровать этот предварительный ключ.

До сих пор соединение между ними было открытым. У них не было защищенных сообщений.

Они использовали ассиметричные ключи (публичный и приватный) чтобы зашифровать предварительный ключ, так что никто не мог его перехватить.

Сейчас они оба сгенерировали одинаковый "общий секрет" который они собираются использовать как симметричный ключ.
FromToПривет! Это тестовое сообщениезашифрованное нашим общимсекретным ключом Ты можешьего прочесть? С этого момента,я все буду шифровать этим ключом..
И БраузерБерд отправляет тестовое сообщение.
FromToДа! Все отлично. Убедись,что тоже можешь это прочесть.С этого момента, я все будушифровать этим ключом..
ПеСель отвечает.
Шаг пятый: Потеребонькаем. Или, теперь все защищено.
Сейчас все данные проходящие между Браузербердом и ПеСелем защищены до конца сеанса.
https://dnsimple.com

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

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

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

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

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

Continue reading