SSL-сертификаты: зачем и как?
Зачем нужен 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. Сертификат можно приобрести на разный срок. Сертификат с большим сроком действия удельно дешевле сертификата с меньшим сроком действия (при пересчёте на годовую стоимость).