2.1. SSL

В этом разделе мы расскажем о безопасности передачи данных по интернету.

Компьютеры отправляют пакеты данных. Условно каждый из таких пакетов можно сравнить с обычным письмом в конверте, ведь любой посторонний может просмотреть их содержимое. Ничего критичного, если эти данные являются общедоступной информацией, например, новостной статьёй. Однако если мы передаём пароль, номер кредитной карты или конфиденциальный адрес электронной почты, то нельзя позволять кому-либо их видеть.

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

Аутентификация — это проверка подлинности. Например, если вы обрабатываете платежи по банковской карте на своём веб-приложении, SSL/TLS помогут безопасно обработать эти данные, чтобы злоумышленники не заполучили их.

Протокол TLS — это модернизированный протокол SSL. Мы рассмотрим оба, чтобы понять, почему появился SSL и чем они отличаются. В этой статье подробнее поговорим о SSL, а в следующей разберём TLS.

В чём особенность SSL

Протокол SSL (Secure Sockets Layer) был разработан в Netscape для повышения безопасности электронной коммерции. Он реализован на прикладном уровне (Application Layer) поверх TCP/IP. Это позволяет работать без изменений протоколам на более высоком уровне, например HTTP (протоколу передачи гипертекста) или SMTP (протоколу электронной почты).

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

Каким приложениям необходимо безопасное соединение:

  • приёму платежей;
  • передаче личной информации, например, в форме заявки.

Сертификат SSL устанавливается на стороне сервера. При этом браузер показывает, что приложение защищено SSL.

Пользователи видят в начале веб-адреса https://, а не http://. Буква s означает «безопасный»:

HTTPS в Chrome

Также безопасное соединение обозначается значком замка:

SSL в Chrome

SSL в Safari

SSL в Firefox

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

SSL/TLS сертификат в браузере

Google с 2014 года показывает защищённые веб-приложения выше в поисковой выдаче.

Как работает SSL

Когда браузер подключается к серверу с установленным SSL-сертификатом, то запускается протокол SSL/TLS. Этот протокол шифрует информацию, передаваемую между браузером и сервером (или между двумя серверами).

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

Как работает SSL:

  1. SSL начинает работать после установки TCP-соединения, создавая сеанс SSL.
  2. Сервер отправляет свой сертификат пользователю вместе с рядом поддерживаемых спецификаций (включая версию SSL/TLS, методы шифрования и другое).
  3. Затем пользователь проверяет действительность сертификата, выбирает наивысший уровень шифрования, который может поддерживаться обеими сторонами, и запускает безопасный сеанс с использованием этих методов. Существует большое количество наборов методов с разной степенью защиты.
  4. Чтобы гарантировать целостность и подлинность всех передаваемых сообщений, протоколы SSL и TLS также включают процесс аутентификации.

Всё это звучит долго и сложно, но на самом деле достигается почти мгновенно. К тому же каждая новая версия спецификации пытается ускорить этот процесс.

Уровни защиты

У сертификатов есть уровни защиты. Существуют даже бесплатные SSL, они дают минимально необходимую защиту.

Поговорим подробнее об этих уровнях.

Сертификаты SSL для проверки домена

Сертификаты SSL для проверки домена — базовый уровень сертификации SSL. Идентификация организации здесь не проверяется, поэтому подходят только для тестовых серверов и внутренних ссылок.

Сертификаты SSL для проверки организации

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

SSL-сертификаты с расширенной проверкой

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

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


Таким образом, с помощью протокола SSL владельцы веб-приложения показывают пользователям, что их данные защищены.

Далее поговорим об усовершенствованном протоколе защиты TLS.