Princip ověřování HTTP

Ověřování je proces identifikace toho, kdo klient je, obvykle k určení, jestli má klient nárok na přístup k prostředku. Protokol HTTP podporuje ověřování jako způsob vyjednávání přístupu k zabezpečenému prostředku.

Počáteční požadavek od klienta je obvykle anonymní požadavek, který neobsahuje žádné ověřovací informace. Aplikace serveru HTTP můžou anonymní požadavek odepřít a zároveň indikovat, že se vyžaduje ověřování. Serverová aplikace odesílá hlavičky WWW-Authentication, které označují podporovaná schémata ověřování. Tento článek popisuje několik schémat ověřování pro PROTOKOL HTTP a popisuje jejich podporu ve Windows Communication Foundation (WCF).

Schémata ověřování HTTP

Server může zadat více schémat ověřování, ze které si klient může vybrat. Následující tabulka popisuje některá schémata ověřování, která se běžně vyskytují v aplikacích pro Windows:

Schéma ověřování Popis
Anonymní Anonymní požadavek neobsahuje žádné ověřovací informace. Anonymní je ekvivalentem udělení přístupu každému k prostředku.
Basic Základní ověřování odešle řetězec kódování Base64, který obsahuje uživatelské jméno a heslo pro klienta. Base64 není forma šifrování a měla by být považována za stejnou jako při odesílání uživatelského jména a hesla ve formátu prostého textu. Pokud je potřeba prostředek chránit, důrazně zvažte použití jiného schématu ověřování než základního ověřování.
Digest Ověřování hodnotou hash je schéma odpovědí na výzvu, které má nahradit základní ověřování. Server odešle řetězec náhodných dat, která se klientovi říká nece , jako výzvu. Klient odpoví hodnotou hash, která obsahuje uživatelské jméno, heslo a nece, mezi další informace. Složitost této výměny představuje a hashování dat ztěžuje krádež a opakované použití přihlašovacích údajů uživatele s tímto schématem ověřování.

Ověřování hodnotou hash vyžaduje použití účtů domény systému Windows. Sféra digest je název domény Systému Windows. Proto nemůžete použít server spuštěný v operačním systému, který nepodporuje domény Systému Windows, jako je Windows XP Home Edition, s ověřováním hodnotou Hash. Naopak když klient běží v operačním systému, který nepodporuje domény Windows, musí být během ověřování explicitně zadán účet domény.
NTLM Ověřování NT LAN Manager (NTLM) je schéma odezvy výzvy, které je bezpečnější variantou ověřování digest. NTLM používá přihlašovací údaje systému Windows k transformaci dat výzvy místo nezakódovaného uživatelského jména a hesla. Ověřování NTLM vyžaduje více výměn mezi klientem a serverem. Server a všechny proxy servery musí podporovat trvalá připojení, aby se ověřování úspěšně dokončilo.
Vyjednávat Vyjednat ověřování automaticky vybere mezi protokolem Kerberos a ověřováním NTLM v závislosti na dostupnosti. Protokol Kerberos se používá, pokud je k dispozici; v opačném případě se ntLM pokusí. Ověřování protokolem Kerberos výrazně zlepšuje protokol NTLM. Ověřování protokolem Kerberos je rychlejší než PROTOKOL NTLM a umožňuje používat vzájemné ověřování a delegování přihlašovacích údajů na vzdálené počítače.
Windows Live ID Základní služba WINDOWS HTTP zahrnuje ověřování pomocí federovaných protokolů. Standardní přenosy HTTP ve WCF však nepodporují použití federovaných schémat ověřování, jako je například Microsoft Windows Live ID. Podpora této funkce je aktuálně dostupná pomocí zabezpečení zpráv. Další informace najdete v tématu Federace a vystavené tokeny.

Volba schématu ověřování

Při výběru potenciálních schémat ověřování pro server HTTP je potřeba zvážit několik položek:

  • Zvažte, jestli je potřeba prostředek chránit. Použití ověřování HTTP vyžaduje přenos více dat a může omezit interoperabilitu s klienty. Povolit anonymní přístup k prostředkům, které nemusí být chráněné.

  • Pokud je potřeba prostředek chránit, zvažte, která schémata ověřování poskytují požadovanou úroveň zabezpečení. Nejslabší standardní schéma ověřování probírané zde je základní ověřování. Základní ověřování nechrání přihlašovací údaje uživatele. Nejsilnějším standardním schématem ověřování je ověřování Negotiate, což vede k protokolu Kerberos.

  • Server by například neměl obsahovat hlavičky WWW-Authentication), žádné schéma, které není připravené přijmout nebo které dostatečně nezabezpečí chráněný prostředek. Klienti si mohou vybrat mezi libovolnými schématy ověřování, která server prezentuje. Někteří klienti ve výchozím nastavení používají slabé schéma ověřování nebo první schéma ověřování v seznamu serveru.

Viz také