Установление подлинности участников
Для определения подлинности участников обмена данных, протокол подтверждения подключения использует сертификат стандарта Х.509. Это является доказательством для одной стороны, так как помогает подтвердить подлинность другой стороны, которая владеет сертификатом и секретным ключом. Сертификат – это цифровой способ идентификации, который выпускает центр сертификации. В сертификате содержится идентификационная информация, период действия, публичный ключ, серийный номер, и цифровые подписи эмитента.
Сертификационный центр – это третья сторона, которой по умолчанию доверяют обе стороны. При попытке установить подключение в режиме SSL сессии, сертификационный центр проверяет инициатора (обычно в этой роли выступает компьютер клиента), а затем выдает ему сертификат. Проверка подлинности проходит по схеме:
клиенту предоставлен сертификат сервера;
после проверки сертификата у сертификационного центра, клиент принимает сертификат как свидетельство подлинности сервера.
Это подводит к обсуждению цифровых сертификатов, играющих важную роль в SSL. Цифровые сертификаты в основном служат двум целям:
• установить личность владельца;
• сделать доступным первичный ключ владельца.
Цифровой сертификат выпускается проверенной полномочной организацией - источником сертификатов и выдается только на ограниченное время. После истечения срока действия сертификата его необходимо заменить. Протокол SSL использует цифровые сертификаты для обмена ключами, аутентификации серверов и, при необходимости, аутентификации клиентов.
Цифровой сертификат содержит следующие фрагменты информации о личности владельца сертификата и источнике сертификатов:
уникальное имя владельца сертификата;
публичный ключ владельца;
дата выдачи цифрового сертификата;
дата окончания действия сертификата;
полное (уникальное) имя издателя (источника сертификата);
цифровая подпись издателя.
Типы сертификатов
Протокол SSL использует сертификаты для проверки соединения. Эти SSL-сертификаты расположены на безопасном сервере и служат для шифрования данных и идентификации Web-сайта. Сертификат SSL помогает подтвердить, что сайт действительно принадлежит тому, кто это заявляет, и содержит информацию о держателе сертификата, домена, для которого был выдан сертификат, и название источника, выдавшего сертификат.
Использование сертификата от источника сертификатов.
Источники сертификатов - это организации, которым доверяет вся отрасль и которые занимаются выдачей Интернет-сертификатов. Например, такой сертификат можно получить от компании VeriSign. Чтобы получить сертификат, подписанный источником, необходимо предоставить достаточно информации источнику, чтобы он смог проверить вашу личность. Тогда источник создаст новый сертификат, подпишет и доставит его. Популярные Web-браузеры заранее настроены доверять сертификатам, выданным определенными источниками.
Кроме получения сертификата от источника, можно использовать самоподписанный или "пустой" сертификат;
Самоподписанный сертификат - это сертификат, созданный самим пользователем Удобство такого решения в том, что для создания самоподписанного сертификата нужно меньше времени, чем для получения сертификата, подписанного источником сертификатов. Однако самоподписанный сертификат требует, чтобы любой клиент, подключающийся по SSL к серверу, установившему такой сертификат, был настроен доверять подписавшему сертификат. Такая подпись скорее всего не окажется в файле списка доверенных источников клиента и поэтому должна быть туда добавлена. Если получить доступ к такому файлу клиента невозможно, то не стоит использовать такую конфигурацию.
Использование "пустого" сертификата по функциональности ничем не отличается от предшествующих. "Пустые" сертификаты содержат фиктивную информацию, используемую в качестве временного решения для настройки SSL и проверки его функционирования в конкретной среде.
После того как сертификат был получен, необходимо установить его подлинность (аутен-тифицировать). В протоколе SSL есть два типа аутентификации:
• аутентификация на стороне клиента;
• аутентификация на стороне сервера.
SSL-аутентификация сервера позволяет клиенту проверить подлинность сервера. Клиентское ПО, поддерживающее SSL, может с помощью стандартных приемов криптографии с открытым ключом проверить, что сертификат сервера и открытый ключ действительны и были выданы источником, находящимся в списке доверенных источников сертификатов этого клиента. Это подтверждение может быть важным, если пользователь, например, отправляет номер кредитной карты по сети и хочет проверить подлинность сервера-получателя.
SSL-аутентификация клиента позволяет серверу проверить личность пользователя. Используя те же приемы, что и в случае с аутентификацией сервера, серверное ПО с поддержкой SSL может проверить, что сертификат клиента и открытый ключ действительны и были выданы источником сертификатов, имеющимся в списке доверенных источников сервера. Это подтверждение может быть важным, если, например, сервер - это банк, отправляющий конфиденциальную финансовую информацию заказчику, и он хочет проверить личность получателя.
Цифровой сертификат привязан к конкретному домену сети Интернет, а центр сертификации проводит проверки, подтверждающие подлинность организации, а уже затем создает и подписывает цифровой сертификат для этой организации. Такой сертификат быть установлен только на тот домен web-сервера, для которого он прошел аутентификацию, что и дает пользователям сети Интернет необходимые гарантии.