Поделиться через


Уровень проверки подлинности

Уровень проверки подлинности определяет, сколько безопасности требуется клиенту или серверу от поставщика служб 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)

Каждый пакет данных подписан и зашифрован. Это помогает защитить весь обмен данными между клиентом и сервером.

AuthenticationLevel

LegacyAuthenticationLevel