Sdílet prostřednictvím


Architektura rozhraní zprostředkovatele podpory zabezpečení

Toto referenční téma pro IT profesionály popisuje ověřovací protokoly Systému Windows, které se používají v architektuře SSPI (Security Support Provider Interface).

Rozhraní SSPI (Microsoft Security Support Provider Interface) je základem ověřování systému Windows. Aplikace a služby infrastruktury, které k poskytování vyžadují ověřování, používají SSPI.

SSPI je implementace obecného rozhraní API služby zabezpečení (GSSAPI) v operačních systémech Windows Server. Další informace o GSSAPI naleznete v dokumentu RFC 2743 a RFC 2744 v databázi IETF RFC.

Výchozí zprostředkovatelé podpory zabezpečení (SSP), kteří ve Windows vyvolávají konkrétní ověřovací protokoly, jsou začleněni do SSPI jako knihovny DLL. Tyto výchozí adresy SSP jsou popsány v následujících částech. Další SSP je možné začlenit, pokud jsou schopny pracovat s SSPI.

Jak je znázorněno na následujícím obrázku, SSPI ve Windows poskytuje mechanismus, který přenáší ověřovací tokeny přes existující komunikační kanál mezi klientským počítačem a serverem. Pokud je potřeba ověřit dva počítače nebo zařízení, aby mohly bezpečně komunikovat, budou požadavky na ověření směrovány do SSPI, což dokončí proces ověřování bez ohledu na aktuálně použitý síťový protokol. SSPI vrátí velké transparentní binární objekty. Tyto údaje se předávají mezi aplikacemi a poté je lze předat vrstvě SSPI. SSPI proto umožňuje aplikaci používat různé modely zabezpečení dostupné v počítači nebo síti beze změny rozhraní na systém zabezpečení.

diagram znázorňující architekturu rozhraní zprostředkovatele zabezpečení

Následující části popisují výchozí SSP, které komunikují s SSPI. Poskytovatelé zabezpečení se používají různými způsoby v operačních systémech Windows k propagaci zabezpečené komunikace v nezabezpečeném síťovém prostředí.

Součástí tohoto tématu je také:

výběr poskytovatele podpory zabezpečení

Zprostředkovatel podpory zabezpečení protokolu Kerberos

Tento zprostředkovatel sdílených služeb používá pouze protokol Kerberos verze 5, který implementoval Microsoft. Tento protokol je založen na dokumentu RFC 4120 síťové pracovní skupiny a na konceptech revizí. Jedná se o standardní oborový protokol, který se používá s heslem nebo čipovou kartou pro interaktivní přihlášení. Je to také upřednostňovaná metoda ověřování pro služby ve Windows.

Vzhledem k tomu, že protokol Kerberos je výchozím ověřovacím protokolem od systému Windows 2000, všechny doménové služby podporují zprostředkovatel sdílených služeb Kerberos. Mezi tyto služby patří:

  • Dotazy služby Active Directory, které používají protokol LDAP (Lightweight Directory Access Protocol)

  • Vzdálená správa serveru nebo pracovní stanice, která používá službu Vzdálené volání procedur

  • Tiskové služby

  • Ověřování klient-server

  • Vzdálený přístup k souborům, který používá protokol SMB (Server Message Block) (označovaný také jako Common Internet File System nebo CIFS)

  • Správa a přesměrování v distribuovaném systému souborů

  • Intranetové ověřování internetové informační služby (IIS)

  • Ověřování autority zabezpečení pro protokol IPsec (Internet Protocol Security)

  • Žádosti o certifikáty ve službě Active Directory Certificate Services pro uživatele a počítače domény

Umístění: %Windir%\System32\kerberos.dll

Tento zprostředkovatel je standardně součástí verzí určených v Platí pro seznam na začátku tohoto tématu a windows Server 2003 a Windows XP.

Dodatečné zdroje pro protokol Kerberos a Kerberos SSP

Zprostředkovatel podpory zabezpečení NTLM

Zprostředkovatel podpory zabezpečení NTLM (NTLM SSP) je binární protokol pro zasílání zpráv, který používá rozhraní SSPI (Security Support Provider Interface) k umožnění ověřování pomocí modelu NTLM challenge-response a k vyjednávání možností integrity a důvěrnosti. NTLM se používá všude, kde se používá ověřování SSPI, včetně ověřování Server Message Block nebo CIFS, ověřování HTTP Negotiate (například internetové webové ověřování) a služby vzdáleného volání procedur. Zprostředkovatel zabezpečení NTLM zahrnuje ověřovací protokoly NTLM a NTLM verze 2 (NTLMv2).

Podporované operační systémy Windows můžou používat zprostředkovatel sdílených služeb NTLM pro následující:

  • Ověřování klienta nebo serveru

  • Tiskové služby

  • Přístup k souborům pomocí CIFS (SMB)

  • Zabezpečená služba vzdáleného volání procedur nebo služba DCOM

Umístění: %Windir%\System32\msv1_0.dll

Tento zprostředkovatel je standardně součástí verzí určených v seznamu Platí pro na začátku tohoto tématu, plus Windows Server 2003 a Windows XP.

další prostředky pro protokol NTLM a NTLM SSP

Zprostředkovatel podpory zabezpečení Digest

Ověřování hodnotou hash je oborový standard, který se používá pro protokol LDAP (Lightweight Directory Access Protocol) a webové ověřování. Ověřování pomocí digestu přenáší přihlašovací údaje po síti jako MD5 hash nebo message digest.

Digest SSP (Wdigest.dll) se používá pro následující:

  • Přístup k Internet Exploreru a internetové informační službě (IIS)

  • Dotazy LDAP

Umístění: %Windir%\System32\Wdigest.dll

Tento zprostředkovatel je standardně součástí verzí určených v seznamu Platí pro na začátku tohoto tématu, plus Windows Server 2003 a Windows XP.

Další prostředky pro protokol Digest a Digest SSP

Zprostředkovatel podpory zabezpečení Schannel

Zabezpečený kanál (Schannel) se používá k ověřování webového serveru, například když se uživatel pokusí o přístup k zabezpečenému webovému serveru.

Protokol TLS, protokol SSL , protokol PCT (Private Communications Technology) a protokol DTLS (Datagram Transport Layer) jsou založené na kryptografii veřejného klíče. Schannel poskytuje všechny tyto protokoly. Všechny protokoly Schannel používají model klienta/serveru. Zprostředkovatel sdílených služeb Schannel používá certifikáty veřejného klíče k ověřování stran. Při ověřování stran zprostředkovatel sdílených služeb Schannel vybere protokol v následujícím pořadí předvoleb:

  • Tls (Transport Layer Security) verze 1.0

  • Tls (Transport Layer Security) verze 1.1

  • Tls (Transport Layer Security) verze 1.2

  • Protokol SSL (Secure Socket Layer) verze 2.0

  • Protokol SSL (Secure Socket Layer) verze 3.0

  • Private Communications Technology (PCT)

    Poznámka PCT je ve výchozím nastavení zakázaná.

Vybraný protokol je upřednostňovaným ověřovacím protokolem, který může klient a server podporovat. Pokud například server podporuje všechny protokoly Schannel a klient podporuje pouze SSL 3.0 a SSL 2.0, proces ověřování používá PROTOKOL SSL 3.0.

DTLS se používá, když je explicitně vyžádáno aplikací. Další informace o DTLS a dalších protokolech používaných poskytovatelem Schannel naleznete v tématu Schannel Security Support Provider Technical Reference.

Umístění: %Windir%\System32\Schannel.dll

Tento zprostředkovatel je standardně součástí verzí určených v Platí pro seznam na začátku tohoto tématu a windows Server 2003 a Windows XP.

Poznámka:

Protokol TLS 1.2 byl zaveden v tomto poskytovateli v systémech Windows Server 2008 R2 a Windows 7. Služba DTLS byla zavedena v tomto poskytovateli ve Windows Serveru 2012 a Windows 8.

Další prostředky pro protokoly TLS a SSL a Schannel SSP.

Vyjednat poskytovatele podpory zabezpečení

Jednoduchý a chráněný mechanismus vyjednávání GSS-API (SPNEGO) tvoří základ pro poskytovatele SSP Negotiate, který lze použít k vyjednávání konkrétního ověřovacího protokolu. Když aplikace volá SSPI, aby se přihlásila k síti, může zadat ZSP pro zpracování požadavku. Pokud aplikace specifikuje zprostředkovatele zabezpečení Negotiate, analyzuje požadavek a vybere příslušného poskytovatele pro zpracování požadavku na základě zásad zabezpečení nakonfigurovaných zákazníkem.

Podle dokumentu RFC 2478 je specifikováno SPNEGO.

V podporovaných verzích operačních systémů Windows vybere poskytovatel podpory zabezpečení Negotiate mezi protokolem Kerberos a PROTOKOLEM NTLM. Ve výchozím nastavení vybere systém protokol Kerberos, pokud tento protokol nemůže používat některý ze systémů zapojených do ověřování, nebo pokud volající aplikace neposkytla dostatečné informace pro použití protokolu Kerberos.

Umístění: %Windir%\System32\lsasrv.dll

Tento zprostředkovatel je standardně součástí verzí určených v Platí pro seznam na začátku tohoto tématu a windows Server 2003 a Windows XP.

Další prostředky pro Negotiate SSP

Zprostředkovatel podpory zabezpečení přihlašovacích údajů

Poskytovatel služeb zabezpečení přihlašovacích údajů (CredSSP) nabízí zážitek ze sjednoceného přihlášení (SSO) při spouštění nových relací Terminálových služeb a služeb vzdálené plochy. CredSSP umožňuje aplikacím delegovat přihlašovací údaje uživatelů z klientského počítače (pomocí ZSP na straně klienta) na cílový server (prostřednictvím ZSP na straně serveru) na základě zásad klienta. Zásady CredSSP se konfigurují pomocí zásad skupiny a delegování přihlašovacích údajů je ve výchozím nastavení vypnuté.

Umístění: %Windir%\System32\credssp.dll

Tento poskytovatel je ve výchozím nastavení zahrnut do verzí uvedených v seznamu Platí pro na začátku tohoto tématu.

Další prostředky pro Credentials SSP

Vyjednat poskytovatele podpory pro zabezpečení rozšíření

Negotiate Extensions (NegoExts) je ověřovací balíček, který vyjednává použití SSP, kromě protokolu NTLM nebo Kerberos pro aplikace a scénáře implementované Společností Microsoft a dalšími softwarovými společnostmi.

Toto rozšíření balíčku Negotiate umožňuje následující scénáře:

  • Bohatá dostupnost klientů v rámci federovaného systému K dokumentům můžete přistupovat na sharepointových webech a dají se upravovat pomocí plnohodnotné aplikace Microsoft Office.

  • Bohatá podpora klientů pro služby Microsoft Office Uživatelé se můžou přihlásit ke službám Microsoft Office a používat plnohodnotnou aplikaci Microsoft Office.

  • Hostovaný Microsoft Exchange Server a Outlook. Neexistuje žádný vztah důvěryhodnosti domény, protože Exchange Server je hostovaný na webu. Outlook používá službu Windows Live k ověřování uživatelů.

  • Bohatá dostupnost klienta mezi klientskými počítači a servery. Používají se síťové a ověřovací komponenty operačního systému.

Balíček Windows Negotiate zachází s NegoExts SSP stejným způsobem jako s Kerberos a NTLM. NegoExts.dll se při spuštění načte do místní systémové autority (LSA). Při přijetí žádosti o ověření NegoExts na základě zdroje požadavku vyjednává mezi podporovanými SSP (poskytovateli zabezpečení služeb). Shromažďuje přihlašovací údaje a zásady, šifruje je a odesílá je do příslušného ZSP, kde se token zabezpečení vytvoří.

Poskytovatelé zabezpečení podporované negoExts nejsou samostatnými poskytovateli zabezpečení, jako jsou Kerberos a NTLM. Proto v rámci SSP NegoExts, když metoda ověřování selže z jakéhokoli důvodu, bude zpráva o neúspěšném ověřování zobrazena nebo zapsána do logu. Nejsou možné žádné metody opětovného vyjednávání ani náhradního ověřování.

Umístění: %Windir%\System32\negoexts.dll

Tento poskytovatel je ve výchozím nastavení součástí verzí určených v seznamu Platí pro na začátku tohoto tématu s výjimkou systému Windows Server 2008 a Windows Vista.

Poskytovatel podpory zabezpečení PKU2U

Protokol PKU2U byl zaveden a implementován jako SSP v systémech Windows 7 a Windows Server 2008 R2 . Tento poskytovatel sdílených služeb umožňuje ověřování mezi dvěma účastníky, zejména prostřednictvím funkce sdílení médií a souborů s názvem Domácí skupina, která byla zavedena ve Windows 7 . Tato funkce umožňuje sdílení mezi počítači, které nejsou členy domény.

Umístění: %Windir%\System32\pku2u.dll

Tento poskytovatel je ve výchozím nastavení součástí verzí určených v seznamu Platí pro na začátku tohoto tématu s výjimkou systému Windows Server 2008 a Windows Vista.

další prostředky pro protokol PKU2U a PKU2U SSP

Výběr zprostředkovatele podpory zabezpečení

Rozhraní SSPI systému Windows může používat libovolný z protokolů podporovaných prostřednictvím nainstalovaných zprostředkovatelů podpory zabezpečení. Vzhledem k tomu, že ne všechny operační systémy podporují stejné balíčky ZSP jako jakýkoliv počítač se systémem Windows Server, klienti a servery musí vyjednat použití protokolu, který obě podporují. Windows Server dává přednost klientským počítačům a aplikacím k používání protokolu Kerberos, silného protokolu založeného na standardech, pokud je to možné, ale operační systém nadále umožňuje klientským počítačům a klientským aplikacím, které nepodporují ověřování protokolu Kerberos.

Než bude možné provést ověřování, musí oba komunikující počítače souhlasit s protokolem, který oba můžou podporovat. Aby každý protokol mohl být použitelný prostřednictvím SSPI, musí mít každý počítač příslušného ZSP. Například aby klientský počítač a server používaly ověřovací protokol Kerberos, musí podporovat protokol Kerberos v5. Windows Server používá funkci EnumerateSecurityPackages k identifikaci podporovaných SSP v počítači a možností těchto poskytovatelů zabezpečení.

Výběr ověřovacího protokolu lze zpracovat jedním z následujících dvou způsobů:

  1. jednoduchý ověřovací protokol

  2. možnost Negotiate

Jeden ověřovací protokol

Pokud je na serveru zadaný jeden přijatelný protokol, musí klientský počítač podporovat zadaný protokol nebo komunikace selže. Pokud je zadán jeden přijatelný protokol, provede se výměna ověřování následujícím způsobem:

  1. Klientský počítač požaduje přístup ke službě.

  2. Server odpoví na požadavek a určí protokol, který se použije.

  3. Klientský počítač zkoumá obsah odpovědi a kontroluje, zda podporuje zadaný protokol. Pokud klientský počítač podporuje zadaný protokol, ověřování bude pokračovat. Pokud klientský počítač protokol nepodporuje, ověřování selže bez ohledu na to, jestli má klientský počítač oprávnění pro přístup k prostředku.

Možnost vyjednávání

Možnost negotiate lze použít k tomu, aby se klient a server pokusili najít přijatelný protokol. Je to založeno na mechanismu vyjednávání Simple and Protected GSS-API (SPNEGO). Když ověřování začíná s možností zahájit jednání o ověřovacím protokolu, proběhne výměna SPNEGO následujícím způsobem:

  1. Klientský počítač požaduje přístup ke službě.

  2. Server odpoví seznamem ověřovacích protokolů, které může podporovat, a ověřovací výzvou nebo odpovědí na základě protokolu, který je jeho první volbou. Server může například vypsat protokol Kerberos a protokol NTLM a odeslat odpověď na ověření protokolem Kerberos.

  3. Klientský počítač zkoumá obsah odpovědi a kontroluje, zda podporuje některý ze zadaných protokolů.

    • Pokud klientský počítač podporuje upřednostňovaný protokol, ověřování pokračuje.

    • Pokud klientský počítač nepodporuje upřednostňovaný protokol, ale podporuje jeden z dalších protokolů uvedených serverem, klientský počítač informuje server, který protokol ověřování podporuje, a pokračuje ověřováním.

    • Pokud klientský počítač nepodporuje žádný z uvedených protokolů, výměna ověřování selže.

Další odkazy

architektura ověřování systému Windows