Одна картинка стоит тысячи слов
Начните с картинки, все содержимое редактируется (вручную собака head.jpg). Эта статья не предназначена для объяснения различных теоретических знаний, связанных с HTTPS, в долгосрочной перспективе, а только для того, чтобы сделать краткий обзор подробных объяснений HTTPS от больших парней в Интернете. Уровень ограничен, если есть какие-то неточности, прошу меня поправить.
Что такое HTTPS?
HTTPS = HTTP + SSL/TLS — безопасная версия протокола HTTP.
Что такое SSL/TLS?
Полное название SSL — Secure Sockets Layer, который представляет собой протокол уровня защищенных сокетов, который представляет собой протокол безопасности, обеспечивающий безопасность и целостность данных для сетевого взаимодействия. Последняя версия SSL — 3.0.
Полное название TLS — Transport Layer Security, безопасный протокол транспортного уровня, основанный на спецификации протокола SSL 3.0 и являющийся последующей версией SSL 3.0.
SSL/TLS = асимметричное шифрование (например, RSA, ECC) + симметричное шифрование (например, AES, DES) + алгоритм хэширования (например, MD5)
Зачем использовать HTTPS?
Потому что HTTP является «полосатым» (передача в виде открытого текста, небезопасная).
Роль HTTPS
- Шифровать данные и устанавливать канал защиты информации для обеспечения безопасности данных при передаче
- Аутентифицировать веб-сервер
Графическое текстовое описание
①: Обычно [клиент] сначала инициирует запрос, например, запрос веб-сайта.www.thinktxt.com/, Сгенерируйте случайное число (RandomC) и отправьте его на [сервер] с поддерживаемой версией TLS, алгоритмом шифрования и другой информацией.
②: [Сервер] получает запрос, возвращает сертификат, случайное число (RandomS) и согласовывает алгоритм шифрования.
③: [Клиент] После получения сертификата запустите проверку, чтобы проверить его легитимность. Клиент проверяется локальным браузером или сертификатом ЦС авторитетного стороннего центра сертификации, встроенным в операционную систему.Сертификат содержит такую информацию, как имя домена, номер сертификата, открытый ключ и срок действия.Применяется номер сертификата. администратором сервера через сторонний центр сертификации.При создании сертификата стороннее агентство шифрует номер сертификата своим закрытым ключом и сохраняет его в сертификате, генерирует номер сертификата в соответствии с методом генерации номера (сертификат сам несет в себе метод генерации номера сертификата) и расшифровывает сертификат с помощью открытого ключа сертификата ЦС.Если проверка не удалась или срок действия сертификата истек, существует риск (красное предупреждение в браузере), и если проверка прошла, продолжить к следующему шагу.
④: [Клиент] Генерировать случайное число (PreMaster Key), в это время уже есть третье случайное число в соответствии с тремя случайными числами (RandomC, RandomS, PreMaster Key) в соответствии с алгоритмом, согласованным обеими сторонами для генерации следующий сеанс.Тот самый "сеансовый ключ".
⑤: [Клиент] шифрует случайное число (PreMaster Key) с помощью открытого ключа и отправляет его на [Сервер].
⑥: [Сервер] После получения зашифрованного текста расшифруйте его с помощью закрытого ключа, чтобы получить случайное число (PreMaster Key).В это время на сервере также есть три случайных числа, которые генерируются в соответствии с заранее согласованным алгоритмом шифрования в соответствии с к трем случайным числам Тот же «сеансовый ключ», который используется в последующем сеансе.
⑦: [Сервер] Вычислите хеш-значение сообщения рукопожатия всего предыдущего контента, зашифруйте его с помощью «сеансового ключа» и отправьте его клиенту для проверки.
⑧: [Клиент] Расшифровать и вычислить хеш-значение сообщения подтверждения.Если оно согласуется с хэшем, отправленным сервером, процесс подтверждения завершен.
⑨: После прохождения проверки начинается нормальная зашифрованная связь.
Некоторые вопросы и ответы
Куда обращаться за сертификатом? Нужны деньги?
Сертификат применяет администратор сервера из стороннего центра сертификации. К числу известных центров сертификации относятся: Symantec, GeoTrust, GMO GlobalSign и т. д. Шифрование, TrustAsia и т. д.
Какую информацию мне нужно предоставить, чтобы подать заявку на сертификат?
Отправьте открытый ключ, организационную информацию, личную информацию (доменное имя) и другую информацию в центр сертификации и подайте заявку на сертификацию.Подача заявки на сертификат не требует личного ключа, гарантируя, что закрытый ключ может быть освоен только сервером.
Какую информацию содержит сертификат?
Сертификат = открытый ключ + информация о заявителе и эмитенте + цифровая подпись
Что такое цифровая подпись?
Цифровая подпись на самом деле является номером сертификата, который мы упомянули выше для простоты понимания.Он в основном используется для подтверждения подлинности сертификата и отправителя, а также для решения проблемы, связанной с подделкой сообщения.
Какие два номера сертификатов сравнивают центры сертификации?
Выше мы упоминали, что номер сертификата на самом деле является цифровой подписью, созданной центром сертификации для предотвращения подделки сертификата. Как и в случае с вашим аттестатом об окончании школы, в целях обеспечения его уникальности Бюро образования запрограммирует уникальный номер сертификата на вашем аттестате об окончании школы и запечатает его. Чтобы проверить подлинность вашего аттестата об окончании, отдел кадров может проверить подлинность, введя номер сертификата через Xuexin.com.
Сертификат имеет только один номер сертификата. Сертификат имеет свой собственный метод генерации номера сертификата.Сертификат ЦС генерирует цифровую подпись в соответствии с методом, а затем расшифровывает ее с помощью открытого ключа сертификата ЦС (центр сертификации будет шифровать цифровую подпись с помощью собственного закрытого ключа при выдаче сертификата) в сертификате Подписанный зашифрованный текст имеет цифровую подпись.Если сертификат настоящий и действительный, две цифровые подписи теоретически согласуются.
Как клиент обращается к центру сертификации для проверки?
Сертификат ЦС центра сертификации встроен в браузер или операционную систему, то есть локально на клиенте, и называется корневым сертификатом ЦС.
Если сертификат ЦС размещен удаленно, это будет связано с запросом, и будет риск подделки со стороны посредника, поэтому браузер имеет встроенные корневые сертификаты ЦС некоторых известных центров сертификации, и клиент находит соответствующий сертификат ЦС в соответствии с информацией об эмитенте.