ADFS 2.0. Выяснение смысла и стоимости каждого сертификата X.509 - PullRequest
1 голос
/ 23 декабря 2011

Я новичок во всех этих функциях безопасности, и недавно меня попросили изучить ADFS 2.0. Я обнаружил, что ADFS использует следующие типы сертификатов X.509 для связи с проверяющей стороной (RP):

  • Общее для всех RP: 1) Служба связи 2) Подписание токена 3) Расшифровка токенов
  • Специально для RP: 4) Сертификат шифрования

Помогите мне, пожалуйста, выяснить, какой из них действительно важен и необходим в реальном производственном сценарии, где задействованы все 3 части: пользователь, поставщик услуг (наша компания), IdP (ADFS) (на сервере клиента).

1) Что я нашел относительно первого сертификата в справке MS: «Это тот же сертификат, который сервер федерации использует в качестве SSL-сертификата в Internet Information Services (IIS)». Я не уверен, что это правда, потому что я смог замените их отдельно, не влияя друг на друга, чтобы они могли функционировать параллельно. Так что понятия не имею, для чего нужен этот сертификат.

2) Второй - для регистрации выданных токенов, чтобы RP мог убедиться, что токен действительно выдан доверенной ADFS, а не перехвачен, верно?

3) Третий, вероятно, для обратных целей: ADFS проверяет, действительно ли сообщение отправлено доверенным RP.

4) Сертификат шифрования для конкретного RP помогает шифровать все сообщение (токен), поэтому даже если вы получили открытый ключ https и перехватили сообщение из ADFS, вы не сможете прочитать его, не имея другого открытого ключа, который должен быть известен только в RP, правильно?

Поправьте меня, если я ошибаюсь, пожалуйста.

Все эти сертификаты не являются обязательными, и Micorosoft ничего не говорит о важности которых, единственное упоминание, которое я нашел в WIF SDK, говорит о том, что лучше использовать сертификат шифрования токена в реальной жизни. Дело в том, что у нас устанавливается протокол HTTPS для связи ADFS-RP (IIS настроен на использование https с обеих сторон). Разве этого недостаточно для безопасного общения? Интересно: нам действительно нужны 2), 3) и даже 4)?

Ответы [ 2 ]

4 голосов
/ 23 декабря 2011

В реальном сценарии у вас есть как минимум два:

1.) SSL-сертификат - в наши дни это просто здравый смысл, рекомендуемый профилем SAML 2.0 SSO . Это может быть тот же сертификат, что и IIS, который является интерфейсной ADFS.

2.) Сертификат подписи / проверки токена (не «дешифрования») - требуется для соответствия профилям SAML 2.0, использующим «передний канал привязок » (HTTP Redirect / POST). Если вы являетесь поставщиком удостоверений (IdP), то у вас будет личный ключ подписи - если нет, то только сертификат (с открытым ключом проверки). На самом деле это делается для проверки того, что утверждения были выданы доверенной стороной, а не подделаны. Для федерации это абсолютно необходимо, иначе любой может пробиться в вашу среду (как SP (RP)).

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

0 голосов
/ 24 декабря 2011

1 и 2 обязательны.

ADFS не позволит вам добавить привязку RP через импорт метаданных, если это не соединение https.

Определение утверждения: «Заявление о субъекте; например, имя,идентификационные данные, ключ, группа, разрешение или возможность, сделанные одним субъектом о себе или другом субъекте. Утверждениям присваивается одно или несколько значений, а затем они упаковываются в маркеры безопасности, которые выдаются службой маркеров безопасности (STS) ".Чтобы обеспечить действительность токена, его необходимо подписать.

Зашифрован ли сам токен, зависит от требований безопасности.

...