Уровень защищенных сокетов / безопасность транспортного уровня (SSL / TLS)

Mutt

Professional
Messages
1,059
Reputation
7
Reaction score
573
Points
113
Содержание статьи
  • Что такое SSL / TLS
  • Сертификаты SSL / TLS
  • Подтверждение SSL
  • Преимущества использования CDN с SSL / TLS
  • Лучшая производительность
  • Лучшая безопасность

Что такое SSL / TLS
Secure Sockets Layer (SSL) и его преемник Transport Layer Security (TLS) - это протоколы, которые обеспечивают частную зашифрованную связь по сетям.

Преимущества подключения SSL / TLS включают:
  • Конфиденциальность - связь между двумя подключенными сетями защищена уникальным ключом, который не может получить третья сторона.
  • Аутентификация - идентичность взаимодействующих сторон проверяется с помощью криптограммы с открытым ключом.
  • Целостность - алгоритм аутентификации определяет, было ли изменено сообщение.
Безопасность транспортного уровня была выпущена в 1999 году как обновленная версия SSL. Было показано, что протокол устраняет определенные уязвимости в SSL 3.0, в том числе те, которые использовались в атаке POODLE 2014 года, когда злоумышленники расшифровывали и извлекали информацию из зашифрованной транзакции.

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

Существует несколько типов сертификатов SSL / TLS, включая сертификаты с одним именем, которые защищают один поддомен, сертификаты с подстановочными знаками, которые защищают неограниченное количество поддоменов, и многодоменные сертификаты. Есть две формы мультидоменных сертификатов:
  • Альтернативное имя субъекта (SAN) - SAN позволяет привязать такие идентификаторы, как адрес электронной почты, DNS-имя, IP-адрес или URL-адрес к теме сертификата. Это дает возможность защитить несколько доменов с помощью одного сертификата.
  • Сертификат унифицированных коммуникаций (UCC) - UCC защищает Microsoft Exchange Server и Office Communications Server, позволяя им безопасно подключаться к нескольким веб-службам.
Еще один тип сертификата SSL - расширенная проверка (EV). Сертификаты EV убеждают пользователей, что они просматривают веб-сайт, принадлежащий юридическому лицу, купившему сертификат SSL, а не сайту-самозванцу. В браузере пользователя отображается зеленая адресная строка, содержащая название юридического лица для подтверждения действительности сайта.

ev-certificate.jpg.webp

Пример сертификата EV.

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

Однако многие сети CDN предлагают дополнительные функции, которые позволяют клиенту арендовать индивидуальный IP-адрес, что особенно полезно для организации, которая хочет использовать свои собственные индивидуальные сертификаты / сертификаты EV.

Подтверждение SSL
Чтобы установить соединение SSL / TLS, должен произойти следующий процесс:
  1. На уровне TCP клиент отправляет серверу пакет SYN (синхронизация).
  2. Сервер отправляет пакет SYN-ACK (подтверждение синхронизации) обратно клиенту.
  3. Сервер отправляет серверу пакет ACK (подтверждение). Вместе с пакетом ACK клиент SSL / TLS также отправляет client hello сообщение, которое включает криптографические алгоритмы (наборы шифров) и случайную байтовую строку.
  4. Сервер отвечает ServerHello сообщением, содержащим выбранный набор шифров, идентификатор сеанса, цифровой сертификат и другую случайную байтовую строку. При необходимости сервер выдает запрос сертификата клиента, содержащий поддерживаемые типы сертификатов и имена центров сертификации.
  5. Клиент проверяет сертификат сервера, а затем отправляет ClientKeyExchange - случайную байтовую строку, используемую для создания ключа шифрования. При необходимости клиент также предоставляет закрытый ключ и собственный сертификат клиента или предупреждение о том, что сертификат не существует. Наконец, клиент отправляет ChangeCipherSpec сообщение, чтобы сказать, что с этого момента связь будет шифроваться с использованием согласованного ключа и набора шифров.
  6. Сервер отвечает ChangeCipherSpec сообщением для подтверждения.
  7. Теперь клиент и сервер могут обмениваться запросами и ответами в течение сеанса. Сообщения симметрично зашифрованы секретным ключом.
ssl-handshake.png.webp

Подтверждение SSL устанавливает соединение SSL / TLS между клиентом и сервером.

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

Параллельно открывается второй зашифрованный канал связи между CDN и вашим источником.

cdn-ssl.jpg.webp

Использование CDN ускоряет квитирование SSL.

Использование CDN для обслуживания трафика SSL / TLS имеет следующие преимущества:

Лучшая производительность
CDN сокращает время приема-передачи (RTT), с которым сталкиваются ваши пользователи, поскольку они взаимодействуют с локальным прокси-сервером CDN, а не напрямую с вашим (вероятно, более удаленным) источником.

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

Например, CDN, который уменьшает RTT с 50 мс до 20 мс, сократит время установления связи TLS со 150 мс (в три раза больше RTT) до всего 60 мс (как показано на изображении ниже).
Кроме того, CDN используют оптимизированные настройки, такие как ложный запуск и возобновление сеанса, для повышения производительности.

ssl-cdn.png.webp

Использование CDN с SSL / TLS увеличивает производительность и снижает RTT.


Лучшая безопасность
При использовании CDN клиент SSL / TLS пользователя подключается к SSL-сертификату CDN, а не к вашему собственному сертификату. Сертификат CDN обычно самого высокого уровня, то есть A +.
Это означает, что использование CDN предоставит вашим пользователям наивысший уровень безопасности SSL, независимо от сертификата, который используется на вашем исходном сервере.
Кроме того, использование CDN - это простой способ обеспечить строгую транспортную безопасность HTTP (HSTS) - механизм безопасности, обеспечивающий простую защиту TLS на уровне всего сайта.
 
Top