Уровень проверки подлинности
Уровень проверки подлинности определяет, сколько безопасности требуется клиенту или серверу от поставщика служб SSP. Уровень проверки подлинности задается путем передачи соответствующего значения RPC_C_AUTHN_LEVEL_xxx в CoInitializeSecurity или CoSetProxyBlanket через параметр dwAuthnLevel. Уровни проверки подлинности от клиента и сервера сравниваются во время подтверждения, а для подключения используется параметр защиты более высокого уровня безопасности.
Различные уровни проверки подлинности описаны следующим образом: от защиты на самом низком уровне до самого высокого уровня:
-
Нет (RPC_C_AUTHN_LEVEL_NONE)
-
Во время обмена данными между клиентом и сервером проверка подлинности не выполняется. Все параметры безопасности игнорируются. Этот уровень проверки подлинности можно задать только в том случае, если уровень службы проверки подлинности RPC_C_AUTHN_NONE.
-
По умолчанию (RPC_C_AUTHN_LEVEL_DEFAULT)
-
COM выбирает уровень проверки подлинности, используя обычные переговоры о безопасности. Он никогда не будет выбирать уровень проверки подлинности None.
-
Подключение (RPC_C_AUTHN_LEVEL_CONNECT)
-
Обычное подтверждение проверки подлинности происходит между клиентом и сервером, а ключ сеанса устанавливается, но этот ключ никогда не используется для обмена данными между клиентом и сервером. Все сообщения после подтверждения небезопасны.
-
Вызов (RPC_C_AUTHN_LEVEL_CALL)
-
Подписываются только заголовки начала каждого вызова. Остальные данные, обменившиеся между клиентом и сервером, не подписаны и не шифруются. Большинство SSPS не поддерживают этот уровень проверки подлинности и автоматически повышают его до пакета.
-
Пакет (RPC_C_AUTHN_LEVEL_PKT)
-
Заголовок каждого пакета подписан, но не зашифрован. Сами пакеты не подписаны или зашифрованы.
-
Целостность пакетов (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
-
Каждый пакет данных выполняется в полном объеме, но не шифруется. Так как все данные подписаны отправителем, получатель может быть уверен, что ни один из данных не был изменен во время передачи.
-
Конфиденциальность пакетов (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
-
Каждый пакет данных подписан и зашифрован. Это помогает защитить весь обмен данными между клиентом и сервером.
См. также