WCF - Сервисный сертификат с проверкой имени пользователя - PullRequest
2 голосов
/ 23 июня 2011

Может ли кто-нибудь объяснить мне, какова роль сертификата службы и что именно он делает в этой комбинации (Безопасность сообщений - Клиент: UserName Validator, Сервер: Сертификат сервера) ..

Если вы можете объяснить мне шаг за шагом, это будет очень полезно.

Заранее спасибо

1 Ответ

3 голосов
/ 23 июня 2011

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

  • Когда клиент начинает связь с сервером, он сначала проверяет, что сертификат является доверенным (он должен быть либо установлен в хранилище сертификации клиентов, либо выдан органом, которому доверяет клиент).Эта проверка должна гарантировать, что клиент взаимодействует с нужным сервером, которому доверяет.

Мое понимание использования сертификата службы для защиты сообщений:

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

Имя пользователя и пароль - это только данные, передаваемые в сообщении, используемом на сервере для проверки того, что пользователь может использовать службу.

...