Использование сертификатов для проверки подлинности
Реализация IPSec, представленная в Windows 2000, обеспечивает возможность выполнять проверку подлинности с использованием сертификатов при IKE-согласовании. Все подтверждение сертификатов выполняется с помощью API-криптографии (Cryptographic API, CAPI). При согласовании IKE будет определено, какие сертификаты будут использоваться, и какая защита будет применяться при обмене учетными данных сертификатов. Политикой IPSec определяется, какой корневой центр сертификации используется, а не конкретно используемый сертификат. Обе стороны должны иметь общий корневой центр сертификации в своих настройках политики IPSec.
Имеются следующие требования при использовании сертификатов для IPSec:
- Сертификаты хранятся в учетной записи компьютера (в хранилище сертификатов).
- Сертификаты содержат открытый ключ RSA, для которого имеется соответствующий закрытый ключ, который может быть использован для подписей RSA.
- Сертификаты должны использоваться только в течение их срока действия.
- Корневой центр сертификации является доверенным.
- Модулем API-криптографии может быть выстроена действующая цепочка центров сертификации.
Эти требования являются лишь базовыми, и для IPSec и не требуется, чтобы сертификат компьютера был специального типа IPSec, поскольку присутствующие центры сертификации могут не иметь возможности выдавать сертификаты такого типа.
Получение сертификата от центра сертификации Microsoft для тестирования
Для начала Вы должны получить действующий сертификат с сервера сертификатов. Даже если у Вас есть другой сервер сертификатов и Вам необходимо будет использовать его впоследствии, получите сначала сертификат от центра сертификации Microsoft для тестирования. Также может быть использован любой действующий сертификат компьютера. Сертификаты пользователей не могут быть использованы. Авторами статьи была протестирована совместимость с такими системами сертификации, как Microsoft, Entrust, VeriSign и NetSсape.
Примечание
Не все серверы сертификатов автоматически обрабатывают запрос Вашего компьютера на сертификат. Сертификат должен появиться в хранилище сертификатов локальной учетной записи компьютера в разделе Личные (Personal), и иметься соответствующий сертификат корневого центра сертификации в разделе Доверенные корневые центры сертификации (Trusted Root Certification Authorities). В качестве дополнительной информации ознакомьтесь с материалами, описывающими центры сертификации на Web-сайте http://www.Microsoft.com/.
Чтобы получить сертификат:
- Откройте Internet Explorer и перейдите на сайт центра сертификации. Если Вы ранее не получали сертификаты от публичных центров сертификации Microsoft, используйте веб-узел http://sectestca1.rte.microsoft.com/. Этот Web-сайт предоставляет доступ к четырем центрам сертификации. Для простоты в этой процедуре используется сертификат, выданный изолированным корневым центром сертификации sectestca3.
- Выберите Standalone Root (RSA 2048).
- Выберите Request a Certificate и нажмите Next.
- Выберите Advanced Request и нажмите Next.
- Выберите Submit a Certificate Request Using a Form.
В форме Advanced Certificate Request введите следующие данные:
- Запрашиваемая и идентификационная информация: (заполняется по желанию).
- Предполагаемая цель запрашиваемого сертификата: проверка подлинности клиента (Client Authentication) либо проверка подлинности сервера (Server Authentication).
Это значение определяет значение поля сертификата Расширенное использование ключа (Extended key usage). Так же имеется поле IPSec Certificate (Сертификат IPSec) для соответствия спецификации, разработанной группами по стандартам IETF. Вы должны использовать это поле, если Вам потребуется взаимодействовать с другими реализациями IPSec, для которых необходимо его использовать. Однако при проверке подлинности IPSec с помощью сертификатов в Windows 2000 используются любые действующие сертификаты учетной записи компьютера, это означает, что любое значение поля расширенного использования ключа (Extended key usage) будет приемлемо. Политики IPSec в Windows 2000 не ограничиваются использованием сертификатов типа IPSec. Если в папке личных сертификатов на локальной машине имеется множество сертификатов, должен быть выбран один из них. Этот сертификат должен удовлетворять следующему условию: в нем должен быть указан корневой центр сертификации, до которого возможно выстроить обратный доверительный путь.
- Cryptographic Service Provider: Microsoft Base Cryptographic Provider v1.0.
- Key usage: Signature.
- Key size: 1024.
Если Вы в качестве поставщика службы криптографии выберете Microsoft Enhanced Cryptographic Provider, то Вы можете получить ключ большего размера. Однако запрос на регистрацию может быть не выполнен, поскольку необходимо, чтобы в используемой версии Windows 2000 был установлен пакет усиленной криптографии (Strong Cryptography Pack). Если этот сертификат планируется использовать при взаимодействии с другими реализациями IPSec, уточните, может ли данный IPSec-продукт стороннего производителя обрабатывать подписи, с размером ключа более 1024, поскольку некоторые продукты сторонних производителей могут иметь ограничение на размер ключа, используемого в политике IPSec.
Примечание
Данными настройками определяется, для каких целей используется ключ: либо только для шифрования данных, либо только для подписания. Текущая реализация IKE использует закрытые ключи сертификатов только для подписей. Следовательно, сертификаты, предназначенные для ограниченного использования (например, для шифрования данных) не будут работать. Могут быть применены сертификаты, используемые для шифрования данных и подписей. - Create new key set: enabled
- Use local machine store: enabled
- Дополнительные параметры: (заполняются по желанию)
- Hash Algorithm: SHA1/RSA
- Отправьте запрос. Вы получите подтверждающее сообщение, что Вам был выдан сертификат.
- Нажмите Install this certificate. 8. Вы получите сообщение о том, что сертификат был успешно установлен. Закройте обозреватель Internet Explorer. 9. Откройте пользовательскую консоль MMC, описанную в начале данного руководства, в которую Вы добавили оснастку Сертификаты (Certificates).