Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 10:

Шифрование

Что такое бюро сертификатов?

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

Ниже приведены некоторые коммерческие бюро сертификатов:

Для создания своего собственного сертификата установите имеющееся в Windows Server 2003 бюро сертификатов. Об этом мы расскажем чуть позже, в разделе "Выбор типа бюро сертификатов".

Примечание. Сертификаты стоимостью в 600$ и 50$ воспринимаются браузером как равнозначные. Единственное требование браузера к коммерческому бюро сертификатов – оно должно быть доверенным.

Работа сертификатов сервера с SSL

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

  1. Клиент отправляет серверу номер версии протокола SSL клиента, параметры шифра, случайно сгенерированный набор данных и другую информацию, необходимую для установки связи посредством SSL.
  2. Сервер отправляет клиенту номер своей версии SSL, параметры шифра, случайно сгенерированный набор данных и другую информацию, необходимую клиенту для установки соединения с посредством SSL. Сервер также передает свой собственный сертификат.
  3. Клиент аутентифицирует сервер (см. описание этого процесса описан в разделе "Бюро сертификатов и доверие").
  4. Используя полученную информацию, клиент создает предварительный секрет для сеанса, шифрует его на открытом ключе сервера и отправляет на сервер.
  5. С помощью предварительного секрета сервер выполняет последовательность шагов по созданию основного секрета; это выполняется на клиенте.
  6. Клиент и сервер используют главный секрет для создания сеансовых ключей.
  7. Клиент передает серверу уведомление о том, что следующее сообщение будет зашифровано на сеансовом ключе.
  8. Клиент передает зашифрованное сообщение серверу о том, что процесс "рукопожатия" завершен.
  9. Сервер передает сообщение клиенту о том, что следующее сообщение будет зашифровано на сеансовом ключе.
  10. Сервер передает зашифрованное сообщение клиенту о том, что процесс "рукопожатия" завершен.
  11. Процедура окончена. Клиент и сервер используют сеансовые ключи для шифрования данных на симметричном ключе.

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

Как работают сертификаты клиентов

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

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

  1. Клиент отправляет серверу номер версии протокола SSL клиента, параметры шифра, случайно сгенерированный набор данных и другую информацию, необходимую серверу для установки связи посредством SSL.
  2. Сервер отправляет клиенту номер своей версии SSL, параметры шифра, случайно сгенерированный набор данных и другую информацию, необходимую клиенту для установки соединения посредством SSL. Сервер также передает свой собственный сертификат.
  3. Сервер запрашивает сертификат клиента.
  4. Клиент аутентифицирует сервер (см. описание этого процесса описан в разделе "Бюро сертификатов и доверие").
  5. Используя полученную информацию, клиент создает предварительный секрет для сеанса, шифрует его на открытом ключе сервера и отправляет на сервер.
  6. При помощи собранной информации клиент подписывает фрагмент данных и передает эти данные и свой сертификат вместе с предварительным секретом.
  7. Сервер выполняет аутентификацию пользователя с помощью тех же шагов, которые выполнял пользователь для аутентификации сервера.
  8. С помощью предварительного секрета сервер выполняет последовательность шагов по созданию основного секрета; это выполняется на клиенте.
  9. Клиент и сервер используют главный секрет для создания сеансовых ключей.
  10. Клиент передает серверу уведомление о том, что следующее сообщение будет зашифровано на сеансовом ключе.
  11. Клиент передает зашифрованное сообщение серверу о том, что процесс "рукопожатия" завершен.
  12. Сервер уведомляет клиента о том, что следующее сообщение будет зашифровано на сеансовом ключе.
  13. Сервер передает зашифрованное сообщение клиенту о том, что процесс "рукопожатия" завершен.
  14. Процедура окончена. Клиент и сервер используют сеансовые ключи для шифрования данных на симметричном ключе.
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Владимир Кирин
Владимир Кирин
Неполодки на ресурсе.При сдаче 7 теста, открывается пустое окно, и ничего не происходит.Поправте пожалуйста. При этом попытка считается защитана, перездача только через 30 мин. Использую браузер опера.
Александр Гордеев
Александр Гордеев
Казахстан, Алматы, ТУРАН
Александр Даниленко
Александр Даниленко
Россия, Москва, 797, 1993