01.12.2016

Зачем нужен SSL-сертификат?

Короткий ответ на этот вопрос: "Для защиты данных".
Подробнее, SSL-сертификаты позволяют решать несколько важных для сетевой безопасности задач: зашифровать данные при их пересылке по сети, аутентифицировать отправителя, удостоверить отправленные данные.

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

Во время своей доставки эти данные проходят множество промежуточных компьютеров. При обычном запросе (когда адрес запрашиваемой страницы начинается с http:) эти данные не шифруются. Это позволяет их увидеть и понять на любом из промежуточных компьютеров. Если среди этих данных окажутся, например, пароли, номера банковских карт или любые другие конфиденциальные сведения, они могут попасть к постороннему.

Когда у одной из сторон имеется SSL-сертификат, появляется возможность зашифровывать данные. В этом случае адрес запрашиваемой страницы будет начинаться с https:, и все пересылаемые данные будут зашифрованы.

2. Кроме того, SSL-сертификат позволяет убедиться в том, что вы "общаетесь" в сети с правильным собеседником, иными словами, аутентифицировать его.

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

Или, например, с помощью SSL-сертификата клиента банк может убедиться в том, что платёжное поручение получено от этого клиента, а не от постороннего.

3. Также SSL-сертификат позволяет удостоверить данные.

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

Как работает SSL-сертификат?

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

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

1. Что произойдёт, когда потребуется обезопасить данные при их пересылке между  веб-сервером и браузером пользователя, то есть зашифровать данные? — Упрощённо, действия будут следующими.

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

 

В обоих случаях пересылаемые данные недоступны посторонним лицам, так как у этих лиц нет секретных ключей для расшифровки данных.

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

В этом случае действия будут следующими.

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

 

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

Для подтверждения подлинности SSL-сертификатов и, соответственно, его публичных ключей служат специальные центры сертификации (Certification Authority — CA).

Зачем покупать SSL-сертификат?

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

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

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

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

Публичный SSL-сертификат можно приобрести в центре сертификации (Certification Authority — CA) или у его партнёра.

Какие бывают SSL-сертификаты?

Существуют три основных типа SSL-сертификатов:

  •  с упрощённой проверкой (для подтверждения домена);
  •  со стандартной проверкой (для подтверждения организации);
  •  с полной проверкой (для подтверждения домена и организации).

 

Сертификаты с упрощённой проверкой
(Domain Validation — DV)

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

Сертификаты со стандартной проверкой
(Organisation Validation — OV)

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

Сертификаты с полной проверкой
(Extended Validation — EV)

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

  DV OV EV
Шифровка трафика да да да
Удостоверение сайта (домена) да  - да
Удостоверение владельца сайта (организации)  - да да
Удостоверение владельца домена и организации  -  - да
Удостоверение данных (электронная подпись) да да да
 

Кроме типа SSL-сертификата, к числу других его наиболее важных характеристик относятся:

  •  длина ключей;
  •  срок действия сертификата;
  •  каким центром сертификации выпущен сертификат;
  •  число доменов, связанных с сертификатом (возможна привязка к одному сертификату нескольких поддоменов или совсем разных доменов).

 

Как выбрать SSL-сертификат?

При выборе SSL-сертификата стоит учесть следующие соображения.

1. Сертификат со стандартной проверкой (OV) обеспечивает более высокий уровень удостоверения веб-сайта, чем сертификат с упрощённой проверкой (DV). А сертификат с расширенной проверкой (EV) — более высокий уровень, чем сертификат со стандартной.

При этом, стоимость сертификата с расширенной проверкой выше стоимости сертификата со стандартной проверкой, а стоимость сертификата со стандартной проверкой выше стоимости сертификата с упрощённой проверкой.

Имеет смысл соотносить планируемый уровень сертификата с вашими реальными потребностями.

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

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

3. Сертификат можно приобрести на разный срок. Сертификат с большим сроком действия удельно дешевле сертификата с меньшим сроком действия (при пересчёте на годовую стоимость).