Rozhraní poskytovatele podpory zabezpečení - Security Support Provider Interface
Rozhraní poskytovatele podpory zabezpečení (SSPI) je součástí Windows API který provádí operace související se zabezpečením, jako je ověřování.
SSPI funguje jako společné rozhraní s několika poskytovateli podpory zabezpečení (SSP):[1] Poskytovatel podpory zabezpečení je a dynamická knihovna (DLL), který aplikacím zpřístupňuje jeden nebo více balíčků zabezpečení.
Poskytovatelé
Ve Windows jsou zahrnuty následující SSP:
- NTLMSSP (msv1_0.dll) - představeno v Windows NT 3.51. Poskytuje NTLM ověřování výzev / odpovědí pro Windows domény před Windows 2000 a pro systémy, které nejsou součástí domény.[2]
- Kerberos (kerberos.dll) - představeno v Windows 2000 a aktualizováno v Windows Vista podporovat AES.[3] Provádí ověřování pro domény Windows v systému Windows 2000 a novějších.[4]
- NegotiateSSP (secur32.dll) - Představeno ve Windows 2000. Poskytuje jednotné přihlášení schopnost, někdy označovaná jako Integrované ověřování systému Windows (zejména v kontextu IIS).[5] Před Windows 7, zkusí Kerberos, než spadne zpět do NTLM. Ve Windows 7 a novějších je zaveden NEGOExts, který vyjednává použití nainstalovaných vlastních SSP, které jsou podporovány klientem a serverem pro autentizaci.
- Zabezpečený kanál (schannel.dll) - zavedený ve Windows 2000 a aktualizovaný ve Windows Vista, aby podporoval silnější šifrování AES a ECC[6] Tento poskytovatel používá záznamy SSL / TLS k šifrování datového zatížení dat.
- TLS / SSL – Kryptografie veřejného klíče SSP, který poskytuje šifrování a bezpečnou komunikaci pro ověřování klientů a serverů přes internet.[7] Aktualizováno ve Windows 7, aby podporovalo TLS 1.2.
- Digest SSP (wdigest.dll) - představeno v Windows XP. Poskytuje výzvy a odpovědi založené na HTTP a SASL ověřování mezi systémy Windows a jinými systémy, kde není protokol Kerberos k dispozici.[8]
- CredSSP (credssp.dll) - představeno v Windows Vista a je k dispozici v systému Windows XP SP3. Poskytuje jednotné přihlášení a Ověření na úrovni sítě pro Služby vzdálené plochy.[9]
- Distribuované ověřování hesla (DPA, msapsspc.dll) - zavedeno v systému Windows 2000. Poskytuje ověřování na internetu pomocí digitální certifikáty.[10]
- Kryptografie veřejného klíče mezi uživateli (PKU2U, pku2u.dll) - představeno v Windows 7. Poskytuje peer-to-peer autentizaci pomocí digitálních certifikátů mezi systémy, které nejsou součástí domény.
Srovnání
SSPI je proprietární varianta Obecné rozhraní aplikačního programu služby zabezpečení (GSSAPI) s příponami a datovými typy velmi specifickými pro Windows. Dodáváno s Windows NT 3.51 a Windows 95 s NTLMSSP. Pro Windows 2000 byla přidána implementace Kerberos 5 s použitím formátů tokenů, které odpovídají oficiálnímu standardu protokolu RFC 1964 (Mechanismus Kerberos 5 GSSAPI) a zajištění interoperability na úrovni drátu s implementacemi Kerberos 5 od jiných dodavatelů.
Tokeny generované a přijímané SSPI jsou většinou kompatibilní s GSS-API, takže klient SSPI v systému Windows může být schopen ověřit se serverem GSS-API v Unixu v závislosti na konkrétních okolnostech.
Jedním z významných nedostatků SSPI je jeho nedostatek vazby kanálu, což znemožňuje určitou interoperabilitu GSSAPI.
Další zásadní rozdíl mezi IETF -definovaný GSSAPI a Microsoft SSPI je pojem „zosobnění "V tomto modelu může server pracovat s úplný oprávnění ověřeného klienta, takže operační systém provádí vše Řízení přístupu kontroly, např. při otevírání nových souborů. Zda se jedná o menší oprávnění nebo více oprávnění než u původního účtu služby, záleží zcela na klientovi. V tradičním modelu (GSSAPI), když server běží pod účtem služby, nemůže zvýšit svá oprávnění a musí provádět řízení přístupu způsobem specifickým pro klienta a pro konkrétní aplikaci. Zjevné negativní bezpečnostní důsledky konceptu zosobnění jsou v systému Windows Vista zabráněny omezením zosobnění na vybrané účty služeb.[11] Zosobnění lze implementovat v modelu Unix / Linux pomocí seteuid
nebo související systémová volání. I když to znamená, že neprivilegovaný proces nemůže pozvednout svá privilegia, znamená to také, že aby bylo možné využít zosobnění, proces musí běžet v kontextu účet uživatele root.
Reference
- ^ Balíčky SSP poskytované společností Microsoft
- ^ Ověření uživatele - zabezpečení (dokumentace k systému Windows 2000 Resource Kit): MSDN
- ^ Vylepšení protokolu Kerberos v systému Windows Vista: MSDN
- ^ Ověření Kerberos v systému Windows 2000
- ^ „Ověření Windows“. Dokumentace k systému Windows Server 2008 R2 a Windows Server 2008. Microsoft. Citováno 2020-08-05 - prostřednictvím Microsoft Docs.
- ^ Vylepšení šifrování TLS / SSL v systému Windows Vista
- ^ Zabezpečený kanál: SSP balíčky poskytované společností Microsoft
- ^ Microsoft Digest SSP: Balíčky SSP poskytované společností Microsoft
- ^ Poskytovatel služby zabezpečení pověření a jednotné přihlášení pro přihlášení k Terminálové službě
- ^ DCOM Technický přehled: Zabezpečení na internetu
- ^ Windows Service Hardening: blog AskPerf