Интерфейс поставщика поддержки безопасности - Security Support Provider Interface

Интерфейс поставщика поддержки безопасности ( SSPI ) - это компонент Windows API, который выполняет операции, связанные с безопасностью, такие как аутентификация .

SSPI функционирует как общий интерфейс для нескольких поставщиков поддержки безопасности (SSP): поставщик поддержки безопасности - это библиотека с динамической компоновкой (DLL), которая делает один или несколько пакетов безопасности доступными для приложений.

Провайдеры

В Windows включены следующие SSP:

  • NTLMSSP (msv1_0.dll) - введено в Windows NT 3.51 . Обеспечивает проверку подлинности типа "запрос / ответ NTLM" для доменов Windows, предшествующих Windows 2000, и для систем, не являющихся частью домена.
  • Kerberos (kerberos.dll) - введен в Windows 2000 и обновлен в Windows Vista для поддержки AES . Выполняет аутентификацию для доменов Windows в Windows 2000 и более поздних версиях.
  • NegotiateSSP (secur32.dll) - введен в Windows 2000. Обеспечивает возможность единого входа , иногда называемую встроенной проверкой подлинности Windows (особенно в контексте IIS). До Windows 7 он пробует Kerberos, прежде чем вернуться к NTLM. В Windows 7 и более поздних версиях представлен NEGOExts, который согласовывает использование установленных пользовательских SSP, которые поддерживаются на клиенте и сервере для аутентификации.
  • Безопасный канал (schannel.dll) - введен в Windows 2000 и обновлен в Windows Vista для поддержки более сильного шифрования AES и ECC. Этот провайдер использует записи SSL / TLS для шифрования полезных данных.
  • TLS / SSL - SSP криптографии с открытым ключом, который обеспечивает шифрование и безопасную связь для аутентификации клиентов и серверов через Интернет. Обновлено в Windows 7 для поддержки TLS 1.2.
  • Дайджест SSP (wdigest.dll) - введен в Windows XP . Обеспечивает аутентификацию HTTP и SASL на основе запроса / ответа между Windows и системами, отличными от Windows, где Kerberos недоступен.
  • CredSSP (credssp.dll) - введен в Windows Vista и доступен в Windows XP SP3. Обеспечивает единый вход и проверку подлинности на уровне сети для служб удаленных рабочих столов .
  • Распределенная проверка подлинности по паролю (DPA, msapsspc.dll) - введена в Windows 2000. Обеспечивает проверку подлинности в Интернете с использованием цифровых сертификатов .
  • Криптография с открытым ключом от пользователя к пользователю (PKU2U, pku2u.dll) - введена в Windows 7 . Обеспечивает одноранговую аутентификацию с использованием цифровых сертификатов между системами, которые не являются частью домена.

Сравнение

SSPI - это частный вариант прикладного программного интерфейса Generic Security Services (GSSAPI) с расширениями и типами данных, очень специфичными для Windows. Он поставлялся с Windows NT 3.51 и Windows 95 с NTLMSSP . Для Windows 2000 была добавлена ​​реализация Kerberos 5 с использованием форматов токенов, соответствующих официальному стандарту протокола RFC 1964 (механизм Kerberos 5 GSSAPI) и обеспечивающая взаимодействие на уровне проводов с реализациями Kerberos 5 от других поставщиков.

Токены, сгенерированные и принятые SSPI, в основном совместимы с GSS-API, поэтому клиент SSPI в Windows может иметь возможность аутентифицироваться на сервере GSS-API в Unix в зависимости от конкретных обстоятельств.

Одним из существенных недостатков SSPI является отсутствие привязки каналов , что делает невозможным некоторое взаимодействие GSSAPI.

Еще одно фундаментальное различие между GSSAPI, определенным IETF, и SSPI Microsoft - это концепция « олицетворения ». В этой модели сервер может работать с полными привилегиями аутентифицированного клиента, так что операционная система выполняет все проверки контроля доступа , например, при открытии новых файлов. Будет ли это меньше или больше привилегий, чем у исходной учетной записи службы, полностью зависит от клиента. В традиционной модели (GSSAPI), когда сервер работает под учетной записью службы, он не может повысить свои привилегии и должен выполнять управление доступом в зависимости от клиента и приложения. Очевидные негативные последствия для безопасности концепции олицетворения предотвращаются в Windows Vista за счет ограничения олицетворения для выбранных учетных записей служб. Олицетворение может быть реализовано в модели Unix / Linux с использованием seteuid системных вызовов или связанных с ними системных вызовов. Хотя это означает, что непривилегированный процесс не может повысить свои привилегии, это также означает, что для использования преимущества олицетворения процесс должен выполняться в контексте учетной записи пользователя root .

Рекомендации

Внешние ссылки