Я новичок во всех этих функциях безопасности, и недавно меня попросили изучить 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)?