Интерфейс поставщика поддержки безопасности
Интерфейс поставщика поддержки безопасности ( SSPI ) — это компонент Windows API , который выполняет операции, связанные с безопасностью, такие как аутентификация .
SSPI функционирует как общий интерфейс для нескольких поставщиков поддержки безопасности (SSP): [1] Поставщик поддержки безопасности — это библиотека динамической компоновки (DLL), которая делает один или несколько пакетов безопасности доступными для приложений.
Провайдеры
[ редактировать ]В Windows включены следующие поставщики общих служб:
- NTLMSSP (msv1_0.dll) — представлен в Windows NT 3.51 . Обеспечивает проверку подлинности «запрос/ответ» NTLM для доменов 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, которые поддерживаются на клиенте и сервере для аутентификации.
- Secure Channel (schannel.dll) — представлен в Windows 2000 и обновлен в Windows Vista для поддержки более сильного шифрования AES и ECC. [6] Этот поставщик использует записи SSL/TLS для шифрования полезных данных.
- TLS/SSL — SSP для шифрования с открытым ключом , который обеспечивает шифрование и безопасную связь для аутентификации клиентов и серверов через Интернет. [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]
- Межпользовательская криптография с открытым ключом (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 за счет ограничения олицетворения выбранными учетными записями служб. [11] Олицетворение можно реализовать в модели Unix/Linux с помощью seteuid
или связанные системные вызовы. Хотя это означает, что непривилегированный процесс не может повысить свои привилегии, это также означает, что для использования преимущества олицетворения процесс должен запускаться в контексте учетной записи пользователя root .
Ссылки
[ редактировать ]- ^ Пакеты SSP, предоставленные Microsoft
- ^ Аутентификация пользователя — безопасность (документация Windows 2000 Resource Kit): MSDN
- ^ Улучшения Kerberos в Windows Vista: MSDN
- ^ Аутентификация Kerberos в Windows 2000
- ^ «Аутентификация Windows» . Документация по Windows Server 2008 R2 и Windows Server 2008 . Майкрософт . Проверено 5 августа 2020 г. - через Microsoft Docs.
- ^ Улучшения криптографии TLS/SSL в Windows Vista
- ^ Безопасный канал: пакеты SSP, предоставленные Microsoft
- ^ Microsoft Digest SSP: Пакеты SSP, предоставленные Microsoft.
- ^ Поставщик услуг безопасности учетных данных и единый вход для входа в службы терминалов
- ^ Технический обзор DCOM: Безопасность в Интернете
- ^ «Усиление защиты служб Windows: блог AskPerf» . Архивировано из оригинала 02 апреля 2010 г. Проверено 22 декабря 2009 г.