HTTPS нужен способ для обеспечения конфиденциальности, достоверности, и идентификации в вебе.
И этот механизм называется 'шифрование'.
Поговорим о двух видах алгоритмов шифрования.
Кстати, куда я положил те ключи?
Наконец-то!
Начнем с симетричного шифрования.
Секретный рецепт тостов с авокадо
Перед отправкой сообщения Браузерберду, я зашифрую сообщение с помощью ключа.
Вы можете представить процесс шифрования так, как будто вы кладете сообщение в ящик и закрываете его на ключ.
Только тот, у кого есть копия ключа, может открыть замок и прочитать сообщение.
Это гарантирует что ящик не будет открыт до тех пор, пока он не дойдет до того, у кого есть правильный ключ.
Когда Браузерберд получит ящик, он использует их ключ чтобы открыть его и прочитать сообщение.
Очень важно чтобы ключ оставался конфиденциальным. Вы не должны делиться ключом в открытом тексте, или отправлять его вместе с ящиком. Или хранить его в кармане.
Помните, любой, у кого есть ключ, может открыть ящик.
Использование ящика это хороший визуальный пример для понимания шифрования, но это черезчур его упрощает.
Давайте это исправим!
В действительности, любой кто посмотрит на сообщение не имея ключа увидит бессмысленный текст.
Этот текст сгенерирован алгоритмом шифрования
Это такой красивый способ сказать о том, что текст был зашифрован через серию шагов.
Текст был изменен и разделен много раз. Каждый раз запутывая сообщение все больше.
Чтобы расшифровать сообщение, нам нужно выполнить те же шаги, только в обратном порядке.
Ключ шифрования смешивается с сообщением, так что даже если знаешь алгоритм шифрования, без ключа, сообщение все еще не будет иметь смысла.
Примерно вот так выглядит ключ.
Основная проблема симметричных ключей в том, что ими сложно делиться.
Вы должны быть супер-осторожны с тем, как распространяете ключ.
Итак, мы подошли к асимметричным ключам.
Основное отличие от симметричных ключей в том, что теперь у вас 2 ключа.
Один ключ - публичный, другой - приватный. Они напарники и работают вместе.
Делитесь своим публичным ключом с кем угодно. Отправляйте его открытым текстом, наделайте стикеры, татухи. Все что угодно! Он - публичный!
Я люблю татухи.
ПеСель отправляет свой публичный ключ Браузерберду.
А теперь я отправлю ему в ответ сообщение, зашифрованное его публичным ключом.
Другими словами, Браузерберд кладет сообщение в ящик и закрывает его на замок публичным ключом ПеСеля.
Теперь я могу использовать свой приватный ключ чтобы прочитать сообщение.
А вот и основная идея. Только приватный ключ может открыть ящик, запертый его парным публичным ключом.
Использую-ка я публичный ключ Браузерберда, чтобы отправить ему другое сообщение.
Это отлично работает не только для конфиденциальности, но и для идентификации, ведь, как мы знаем, только обладатель двух ключей может открыть сообщение.
Далее, мы посмотрим как работают симметричные и ассиметиричные ключи, при соединении с сайтом, использующим SSL.
Далее на HowHTTPS.works...
Да здравствует шифрование! Что дальше? Изучим секретное рукопожатие между браузером и интернетом которое сделает вашу информацию безопасной и защищенной.