Интерфейс поставщика поддержки безопасности

Интерфейс программирования приложений Windows

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

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

Поставщики

В Windows включены следующие поставщики общих служб:

  • NTLMSSP (msv1_0.dll) – Представлен в Windows NT 3.51 . Обеспечивает аутентификацию NTLM challenge/response для доменов Windows до Windows 2000 и для систем, которые не являются частью домена. [2]
  • Kerberos (kerberos.dll) – представлен в Windows 2000 и обновлен в Windows Vista для поддержки AES . [3] Выполняет аутентификацию для доменов Windows в Windows 2000 и более поздних версиях. [4]
  • NegotiateSSP (secur32.dll) – представлен в Windows 2000. Предоставляет возможность единого входа , иногда называемую встроенной проверкой подлинности Windows (особенно в контексте IIS). [5] До Windows 7 он пытается использовать Kerberos, прежде чем вернуться к NTLM. В Windows 7 и более поздних версиях представлен NEGOExts, который согласовывает использование установленных пользовательских SSP, поддерживаемых на клиенте и сервере для проверки подлинности.
  • Безопасный канал (schannel.dll) – представлен в Windows 2000 и обновлен в Windows Vista для поддержки более надежного шифрования AES и ECC [6]. Этот поставщик использует записи SSL/TLS для шифрования полезных данных.
  • TLS/SSL — поставщик общих служб шифрования с открытым ключом , который обеспечивает шифрование и безопасную связь для аутентификации клиентов и серверов через Интернет. [7] Обновлено в Windows 7 для поддержки TLS 1.2.
  • Digest SSP (wdigest.dll) – Представлен в Windows XP . Обеспечивает HTTP- и SASL- аутентификацию на основе запроса/ответа между Windows и системами, отличными от Windows, где Kerberos недоступен. [8]
  • CredSSP (credssp.dll) – представлен в Windows Vista и доступен в Windows XP SP3. Обеспечивает единый вход и проверку подлинности на сетевом уровне для служб удаленного рабочего стола . [9]
  • Распределенная аутентификация по паролю (DPA, msapsspc.dll) – представлена ​​в Windows 2000. Обеспечивает интернет-аутентификацию с использованием цифровых сертификатов . [10]
  • Криптография с открытым ключом User-to-User (PKU2U, pku2u.dll) – Представлено в Windows 7. Обеспечивает одноранговую аутентификацию с использованием цифровых сертификатов между системами, не являющимися частью домена.

Сравнение

SSPI — это фирменный вариант Generic Security Services Application Program Interface (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 путем ограничения имперсонации выбранными учетными записями служб. [11] Имперсонация может быть реализована в модели Unix/Linux с помощью seteuidсистемных вызовов или связанных с ними. Хотя это означает, что непривилегированный процесс не может повысить свои привилегии, это также означает, что для использования преимущества имперсонации процесс должен выполняться в контексте учетной записи пользователя root .

Ссылки

  1. ^ Пакеты SSP, предоставляемые Microsoft
  2. ^ Аутентификация пользователя — Безопасность (документация Windows 2000 Resource Kit): MSDN
  3. ^ Улучшения Kerberos в Windows Vista: MSDN
  4. ^ Аутентификация Kerberos в Windows 2000
  5. ^ "Аутентификация Windows". Документация Windows Server 2008 R2 и Windows Server 2008. Microsoft. 2 июля 2012 г. Получено 2020-08-05 – через Microsoft Docs.
  6. ^ Улучшения криптографии TLS/SSL в Windows Vista
  7. ^ Безопасный канал: пакеты SSP, предоставляемые Microsoft
  8. ^ Microsoft Digest SSP: Пакеты SSP, предоставляемые корпорацией Microsoft
  9. ^ Поставщик услуг безопасности учетных данных и единый вход для входа в терминальные службы
  10. ^ Технический обзор DCOM: Безопасность в Интернете
  11. ^ "Усиление безопасности служб Windows: блог AskPerf". Архивировано из оригинала 2010-04-02 . Получено 2009-12-22 .
  • Справочник SSPI на MSDN
  • Информация SSPI и примеры Win32
  • Пример использования SSPI для HTTP-аутентификации
Взято с "https://en.wikipedia.org/w/index.php?title=Security_Support_Provider_Interface&oldid=1258649276"