Сертификаты и ключи

Обновлено: 19 июня 2015 г.

Область применения: Azure

Microsoft Azure Active Directory контроль доступа (также известный как служба контроль доступа или ACS) предлагает два разных способа подписывания и шифрования маркеров: сертификаты X.509 с закрытым ключом и 256-разрядными симметричными ключами. Все сертификаты и ключи можно настроить для подписывания токенов для отдельных или всех приложений проверяющей стороны в пространстве имен, а также назначить первичными или вторичными. Чтобы добавить и настроить подписывание, шифрование и расшифровку сертификатов и ключей маркеров, используйте службу управления ACS или портал управления ACS.

Подписывание токенов

ACS подписывает все маркеры безопасности, связанные с сертификатом X.509 (с закрытым ключом) или 256-разрядным симметричным ключом. Выбор типа учетных данных подписи (сертификата или ключа) зависит от формата маркера, выбранного для токенов, выданных ACS. Дополнительные сведения см. в разделе "Подпись маркера" в приложениях проверяющей стороны. При выборе типа учетных данных для подписывания учитывайте следующие моменты:

  • Токены SAML подписываются сертификатами X.509. Формат SAML используется по умолчанию в приложениях Windows Identity Foundation (WIF). Маркеры SAML можно передавать по разным протоколам, например WS-Federation и WS-Trust.

  • Токены SWT подписываются 256-разрядными симметричными ключами. Маркеры SWT можно передавать по разным протоколам, например OAuth WRAP и WS-Federation.

  • Токены JWT можно подписывать и сертификатами X.509, и 256-разрядными симметричными ключами. Маркеры JWT можно передавать по разным протоколам, например WS-Federation, WS-Trust и OAuth 2.0.

Сертификаты и ключи пространства имен и выделенные сертификаты и ключи

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

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

  • Выделенный— если вы настраиваете сертификат подписи или ключ для конкретного приложения проверяющей стороны, ACS использует сертификат подписи или ключ только для подписывания маркеров, доставленных в указанное приложение проверяющей стороны.

    Если вы создаете или вводите выделенный симметричный ключ, ACS использует выделенный ключ для подписывания маркеров для приложения. Если срок действия выделенного ключа истекает и не заменяется, СЛУЖБА ACS использует симметричный ключ для пространства имен контроль доступа для подписывания маркеров для приложения.

Примечание

  • В целях обеспечения безопасности рекомендуется создавать выделенные симметричные ключи для отдельных приложений проверяющей стороны. Сертификат X.509 можно безопасно совместно использовать несколькими приложениями в пространстве имен контроль доступа.

  • При добавлении управляемого Майкрософт приложения проверяющей стороны к управляемому пространству имен, например приложения проверяющей стороны служебной шины к пространству имен служебной шины, не используйте специфические для приложения (выделенные) сертификаты или ключи. Вместо этого выберите параметр ACS, чтобы использовать сертификаты и ключи, настроенные для всех приложений в управляемом пространстве имен. Для всех других приложений проверяющей стороны следует использовать специфичные для приложения сертификаты и ключи. Дополнительные сведения см. в разделе "Управляемые пространства имен".

  • При настройке приложения проверяющей стороны, использующего сертификат X.509 для пространства имен контроль доступа для подписывания маркеров JWT, ссылки на сертификат пространства имен контроль доступа и ключ пространства имен контроль доступа отображаются на странице приложения проверяющей стороны на портале управления ACS. Однако ACS использует только сертификат пространства имен для подписывания маркеров для приложения проверяющей стороны.

Сертификаты подписи обычно используются для подписывания маркеров всех приложений проверяющей стороны в пространстве имен. Компонент открытого ключа сертификата подписи пространства имен публикуется в метаданных ACS WS-Federation, что позволяет приложениям проверяющей стороны автоматизировать настройку. Открытые ключи сертификатов, назначенных только конкретному приложению проверяющей стороны, отсутствуют в метаданных ACS WS-Federation и используются только в том случае, если требуется независимый контроль над сертификатом подписи приложения проверяющей стороны.

Первичные сертификаты и ключи

В ACS можно хранить несколько сертификатов и ключей, но использовать только назначенные сертификаты и ключи для подписывания маркеров. Сертификаты и ключи, выделенные, для подписи называются основными.

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

Если по меньшей мере один сертификат или ключ является основным, дополнительные сертификаты и ключи не используются для подписывания, если только администратор не назначит их основными, даже если основной сертификат или ключ недействителен или срок его действия истек. Однако если ни один из сертификатов (или ключей) не является основным, ACS использует не первичный сертификат с самой ранней допустимой датой начала.

Компонент открытого ключа как первичных, так и не первичных сертификатов публикуется в метаданных ACS WS-Federation для включения программного переключения сертификатов. Однако ACS использует только первичные сертификаты и ключи для подписывания маркеров.

Даты вступления в действие и истечения срока действия ключей подписывания

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

Токены шифрования

В ACS можно зашифровать любой токен SAML 1.1 или SAML 2.0, который ACS выдает приложениям проверяющей стороны.

Важно!

ACS не поддерживает шифрование токенов SWT или JWT.

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

ACS шифрует токены SAML с помощью сертификата X.509, содержащего открытый ключ (CER-файл). Токен приложения проверяющей стороны расшифровывается с помощью закрытого ключа сертификата X.509. Дополнительные сведения см. в разделе "Шифрование токенов" в приложениях проверяющей стороны.

Расшифровка токенов

ACS может принимать зашифрованные маркеры от WS-Federation поставщиков удостоверений, таких как . Поставщик удостоверений WS-Federation получает открытый ключ сертификата X.509 при импорте WS-Federation метаданных из ACS и использует этот открытый ключ для шифрования маркера безопасности, пересылаемого в ACS. ACS расшифровывает маркер с помощью закрытого ключа этого сертификата X.509. Дополнительные сведения см. в разделе "Практическое руководство. Настройка AD FS 2.0 в качестве поставщика удостоверений".

Первичные сертификаты расшифровки токенов

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

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

Ограничения ACS для файлов сертификатов X.509

В ACS сертификаты X.509, содержащие только открытый ключ (CER-файл), можно использовать при создании удостоверения службы, проверке подписи поставщика удостоверений или шифровании токенов SAML. Файлы сертификатов X.509, содержащие только открытый ключ (CER-файл), должны быть закодированы в кодировке DER для использования с ACS. Файлы сертификатов в кодировке Base64 в настоящее время не поддерживаются. Отправка сертификата в кодировке Base64 в ACS приведет к ошибке проверки, когда ACS получает входящий маркер, требующий этого сертификата.

В ACS сертификаты X.509 должны быть либо самозаверяются, либо подписываются и привязаны непосредственно к общедоступному центру сертификации. ACS не будет работать с сертификатами, выданными частным центром сертификации.

Примечание

Ceritificates X.509, импортируемые в ACS, не должны быть просроченными.

Получение сертификата X.509

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

Коммерческий центр сертификации — можно приобрести сертификат X.509 в коммерческом центре сертификации.

Создание сертификата Self-Signed— вы можете создать собственный самозаверяющий сертификат для использования с ACS. Если вы используете операционную систему на основе Windows, вы можете использовать MakeCert.exe, средство, включенное в пакет средств разработки программного обеспечения (https://go.microsoft.com/fwlink/?LinkID=214104) Майкрософт Windows для создания самозаверяющего сертификата.

Например, следующая команда создает самозаверяющий сертификат в личном хранилище сертификатов.

MakeCert.exe -r -pe -n "CN=<service_namespace_name>.accesscontrol.windows.net" -sky exchange -ss my -len 2048 –e <1 year from today>

где <service_namespace_name> — это имя пространства имен контроль доступа.

Затем можно экспортировать закрытый ключ из личного хранилища в виде PFX-файла и использовать портал управления ACS для его отправки в ACS.

Экспорт самозаверяющего сертификата

В этих инструкциях объясняется, как экспортировать самозаверяющую сертификацию с компьютера под управлением Windows 8, Windows Server 2012 или.

Экспорт самозаверяющего сертификата

  1. Запустите MMC.exe и добавьте оснастку "Сертификаты " в консоль MMC.

  2. Дважды щелкните Сертификаты — текущий пользователь, Личные, а затем — Сертификаты.

  3. Щелкните правой кнопкой мыши сертификат, выберите пункт Все задачи, а затем щелкните Экспорт.

  4. На странице Добро пожаловать в мастер экспорта сертификатов щелкните Далее.

  5. На странице Экспорт закрытого ключа щелкните Да, экспортировать закрытый ключ, а затем Далее.

  6. На странице Формат экспортируемого файла выберите Personal Information Exchange — PKCS #12 (PFX).

  7. В полях Пароль введите пароль и его подтверждение, а затем нажмите кнопку Далее.

  8. В поле Имя файла введите путь и имя файла с расширением PFX, а затем нажмите кнопку Далее.

  9. Нажмите кнопку Готово.

Даты действия сертификатов и ключей

ACS оценивает даты начала и окончания (и даты и времени) сертификатов и ключей в формате UTC. В результате ACS может считать ключи и сертификаты недействительными, даже если они действительны в местном времени локального компьютера или в другом часовом поясе.

Чтобы гарантировать, что сертификат или ключ будет действителен, приведите даты к формату UTC. В противном случае ACS может не выдать маркер, так как ключ или сертификат еще недопустим.

См. также:

Основные понятия

Компоненты ACS 2.0
Приложения проверяющей стороны
Рекомендации по управлению сертификатами и ключами