Перейти к основному содержимому
Изображение
рисунок фиолетового шестиугольника

Основным протоколом, используемым для передачи данных между веб-браузером и веб-сайтом, является HTTPS (Hypertext Transfer Protocol — протокол передачи гипертекста). В HTTPS используется протокол TLS (Transport Layer Security — защита транспортного уровня) для шифрования HTTP-запросов и ответов, что делает его безопасной версией того же протокола (о чем и свидетельствует буква s, т. е. secure — безопасный). Он используется для различных задач, например для входа в учетные записи, в электронной коммерции и в почтовых веб-приложениях.

ПРИМЕЧАНИЕ. Сертификаты TLS часто называют сертификатами TLS/SSL.

Как работает HTTPS? (основы)

HTTPS — это реализация TLS-шифрования поверх HTTP-протокола. Поэтому при посещении сайта, поддерживающего HTTPS, пользователь получает перечисленные далее преимущества в плане безопасности.

  • Аутентификация. Помогает проверить удостоверение веб-сайта. Например, если в строке браузера отображается https://www.entrust.com, вы можете быть уверены, что он принадлежит Entrust Corporation.
  • Шифрование. Скрывает передаваемые данные от третьих лиц.
  • Целостность. Позволяет проверить, не взломаны ли данные.
Какие функции выполняет HTTPS

Почему аутентификация в HTTPS так важна?

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

Посетитель сайта может оказаться на неправильном сайте в результате различного рода атак, например из-за отравления DNS-сервера, вредоносного ПО или фишинговых сайтов.

Связывание удостоверения с веб-сайтом обычно осуществляется сторонней организацией, например центром сертификации (ЦС), который следует строгим отраслевым правилам.

Как работает идентификация в HTTPS?

Для аутентификации на веб-сайте с поддержкой HTTPS подключающийся веб-браузер использует сертификат TLS/SSL, выданный центром сертификации, например Entrust.

Запрос сертификата TLS/SSL

Для того чтобы добавить идентификационные данные на веб-сайт, владелец веб-сайта должен запросить сертификат TLS/SSL и его должен выдать общедоступный доверенный центр сертификации, например Entrust. Сертификат TLS/SSL аналогичен цифровому паспорту для бизнеса, поскольку он включает в себя указанные далее проверенные данные.

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

Чтобы получить сертификат TLS/SSL, владелец сайта должен выполнить следующие действия:

  1. Создать запрос на подпись сертификата (CSR), который включает в себя пару из открытого и закрытого ключа.
  2. Продемонстрировать центру сертификации, что он контролирует домены, которые должны быть включены в сертификат TLS/SSL.
  3. Подтвердить идентификационные данные организации и наличие у нее права запрашивать сертификат TLS/SSL от имени организации.

После завершения проверки выдается сертификат TLS/SSL, который владелец веб-сайта может затем установить на соответствующих сайтах. Затем сертификат TLS/SSL предъявляется каждый раз, когда посетитель сайта подключается к URL-адресу веб-сайта через https://.

Как веб-сайт передает свои идентификационные данные посетителям сайта

Когда посетитель сайта переходит на веб-сайт HTTPS, его веб-браузер получает копию сертификата TLS/SSL. Щелкнув значок замка слева на панели URL-адреса и выбрав пункт Подключение защищено и «Сертификат действителен», можно просмотреть сертификат веб-сайта, аналогичный изображенному ниже.

Сертификат: общая информация о сертификате

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

Сведения о сертификате: субъект

Сведения о сертификате SSL для entrust.com

Если в сертификате указаны реквизиты компании владельца веб-сайта (название компании, местонахождение), то это сертификат либо расширенной проверки (EV), либо проверки организации (OV).

 

Как браузер проверяет сертификат TLS/SSL

Браузер проведет ряд проверок, чтобы убедиться в достоверности и законности сертификата TLS/SSL, предъявленного веб-сайтом. Браузер выполнит следующие действия:

  1. Проверить цифровую подпись центра сертификации, чтобы убедиться в том, что сертификат был выдан центром сертификации в доверенном корневом хранилище браузера.
  2. Проверить, совпадает ли домен в сертификате SSL с доменом веб-сайта, на который переходит посетитель.
  3. Проверить, действителен ли сертификат SSL, не истек ли срок его действия и не был ли он отозван.

После выполнения этих проверок в браузере посетителя сайта появится надпись https://и значок замка напротив URL-адреса сайта.

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

Сведения о сертификате: алгоритм подписи

Цифровая подпись на сертификате SSL, выданном центром сертификации Entrust

Корневые хранилища

Для проверки сертификата TLS/SSL веб-сайта браузеру требуется копия открытого ключа центра сертификации, который хранится в корневом хранилище браузера.

Корневое хранилище содержит цифровые сертификаты и связанные с ними открытые ключи каждого центра сертификации, которому оно доверяет.

Метод сертификации

Путь сертификации в случае с сертификатом SSL сайта Entrust.com

  1. Верхний сертификат — это корневой сертификат. Он предварительно загружается в корневом хранилище браузера.
  2. Средний сертификат является промежуточным сертификатом. Он подписан в цифровом виде центром сертификации, выдавшим корневой сертификат, и поэтому браузер также будет доверять ему. Браузер проверяет подпись с помощью открытого ключа Entrust из предварительно загруженного корневого сертификата.
  3. Нижний сертификат является сертификатом конечной сущности: это сертификат TLS/SSL Entrust, отправляемый веб-сервером при подключении браузера к сайту. Браузер может проверить сертификат конечной сущности, используя цифровую подпись промежуточного сертификата.

Как работает шифрование в HTTPS?

На любом HTTPS-сайте, где посетитель сайта вводит информацию (данные кредитной карты, данные для входа в систему, данные в заполненной форме и т. д.), перед отправкой данных на сервер браузер зашифрует данные с помощью открытого ключа из сертификата TLS/SSL веб-сайта.

Процесс шифрования позволяет закодировать передаваемые данные, чтобы их могли прочитать только уполномоченные лица. Таким образом, шифрование переводит легко читаемый человеком простой текст в непонятный зашифрованный текст.

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

процесс шифрования и расшифровки

Общий обзор процесса шифрования и расшифровки

Что такое ключ в криптографии?

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

Какие существуют типы шифрования?

Существует два основных типа шифрования.

Симметричное шифрование

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

Симметричное шифрование

Асимметричное шифрование

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

Асимметричное шифрование

Что такое алгоритм шифрования?

Алгоритм шифрования — это метод преобразования простого текста в зашифрованный. Обычный текст преобразуется в зашифрованный, когда алгоритм шифрования изменяет данные предсказуемым образом с помощью закрытого ключа. Это позволяет преобразовать зашифрованный текст обратно в открытый текст с помощью ключа расшифровки.

Популярные алгоритмы симметричного шифрования:

  • AES.
  • 3-DES.
  • SNOW.

Популярные алгоритмы асимметричного шифрования:

  • RSA.
  • Эллиптическая криптография (ECC).

Что такое подтверждение соединения TLS/SSL?

Соединение TLS начинается с последовательности операций, которую часто называют подтверждением подключения TLS/SSL. Этот процесс запускается, когда посетитель веб-сайта открывает веб-сайт, использующий сертификат TLS/SSL. Процесс начинается между устройством пользователя и веб-сайтом, к которому он подключается.

Подтверждение соединения TLS/SSL

Этапы 1–2. Приветствие и согласование наборов шифров

Браузер посетителя веб-сайта и веб-сервер обмениваются «приветствиями» и согласовывают наборы шифров (алгоритмы шифрования), которые будут использоваться.

Этапы 3–4. Обмен сертификатами и ключами

Веб-сервер отправляет браузеру посетителя веб-сайта копию своего сертификата TLS/SSL и промежуточного сертификата вместе с открытым ключом. Браузер посетителя сайта проверяет действительность сертификата TLS/SSL на основании его цифровой подписи и корневого сертификата в корневом хранилище сертификата браузера.

Шаг 5. Завершение приветствия сервера

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

Этапы 6–10. Обмен ключами клиента и изменение спецификаций шифрования

Веб-браузер и веб-сервер переходят с асимметричного шифрования на симметричное путем создания нового общего ключа шифрования, используя односторонний канал защищенного обмена данными, поскольку он быстрее и эффективнее. То, как создается этот общий ключ сеанса, зависит от набора шифров, который был определен после согласования набора шифров в шаге 2.

После создания ключа сеанса процесс подтверждения подключения TLS завершается, и веб-браузер и веб-сервер используют ключ сеанса для шифрования и расшифровки всех данных, которыми они обмениваются.