KAPITOLA 22. Autentizace Windows

Podobné dokumenty
Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

SSL Secure Sockets Layer

Uživatelská dokumentace

Technická specifikace

Dokumentace. k projektu Czech POINT. Popis použití komerčního a kvalifikovaného certifikátu

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

HTTP protokol. Zpracoval : Petr Novotný

Microsoft Windows Server System

Na vod k nastavenı u

AleFIT MAB Keeper & Office Locator

Práce s ovými schránkami v síti Selfnet

Návod na používání webmailu

Použití čipových karet v IT úřadu

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Programové vybavení OKsmart pro využití čipových karet

APS 400 nadministrator

Radim Dolák Gymnázium a Obchodní akademie Orlová

Uživatelská dokumentace

Uživatelská příručka: Portál CMS. Centrální místo služeb (CMS)

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

Konfigurace pracovní stanice pro ISOP-Centrum verze

Windows Server 2003 Active Directory GPO Zásady zabezpečení

Desktop systémy Microsoft Windows

Bezpečnost v Gridech. Daniel Kouřil EGEE kurz 12. prosince Enabling Grids for E-sciencE.

Autorizační systém Uživatelská příručka pro Samoobslužnou aplikaci

Instalace Active Directory

Vzdálená správa v cloudu až pro 250 počítačů

Vzdálené připojení do sítě ČEZ VPN Cisco AnyConnect

Bezpečnost sítí

Úvod 17 ČÁST 1. Kapitola 1: Principy návrhu doménové struktury služby Active Directory 21

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Desktop systémy Microsoft Windows

Testovací protokol USB Token Cryptomate

Testovací protokol USB token etoken PRO 32K

Uživatel počítačové sítě

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Administrační systém ústředen MD-110

Přechod na SHA-2. informace pro uživatele. Ministerstvo vnitra ČR Odbor rozvoje projektů a služeb služeb egovernment

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Desktop systémy Microsoft Windows

Příručka pro dodavatele. Systém EZVR 1.1 Verze dokumentu 1.3 Datum vydání:

FIO API PLUS. Verze 1.1.1

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

Téma 3: Správa uživatelského přístupu a zabezpečení I. Téma 3: Správa uživatelského přístupu a zabezpečení I

Active Directory organizační jednotky, uživatelé a skupiny

Návod k instalaci S O L U T I O N S

INFORMAČNÍ SYSTÉMY NA WEBU

Bezpečnostní aspekty informačních a komunikačních systémů KS2

SMĚRNICE. Certifikační politika k certifikátu šifrování dat pro pracovníka PČS nebo externího uživatele PKI-PČS

Registr práv a povinností

TÉMATICKÝ OKRUH Softwarové inženýrství

Výplatní pásky. Obsah. 1. Přihlášení do aplikace. Uživatelská dokumentace (poslední aktualizace )

Návod na nastavení sítě Eduroam v prostorách 3.LF

INTERNETOVÉ BANKOVNICTVÍ

Registr práv a povinností

NÁVOD K AKTIVACI A POUŽÍVÁNÍ OVÉHO ÚČTU V DOMÉNĚ PACR.EU

Správa stanic a uživatelského desktopu

Služba Rychlý výpis umožňuje on-line službám získat elektronický a snadno zpracovatelný výpis z bankovního účtu klienta.

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Přihlášení uživatele do aplikace

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

IceWarp Outlook Sync Rychlá příručka

Nápověda pro systém ehelpdesk.eu

Autorizační systém Uživatelská příručka pro Samoobslužnou aplikaci

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Použití programu WinProxy

Identifikátor materiálu: ICT-2-05

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

MXI řešení nabízí tyto výhody

PHP a bezpečnost. nejen veřejná

Bezpečnost internetového bankovnictví, bankomaty

Optimalizaci aplikací. Ing. Martin Pavlica

Autentizace uživatelů

NSA GB HDD. Příručka k rychlé instalaci. Multimediální server s jedním diskem. Výchozí přihlašovací údaje. Webová adresa: nsa310 Heslo: 1234

1 Webový server, instalace PHP a MySQL 13

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Nová áplikáce etesty Př í přává PC ž ádátele

CASE MOBILE MOBIL JAKO AUTENTIZAČNÍ TOKEN

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

ČSOB Business Connector

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

WINDOWS Nastavení GPO - ukázky

WWW technologie. HTTP protokol

Windows Server 2003 Active Directory

AUTENTIZACE A SPRÁVA UŽIVATELŮ V PROSTŘEDÍ MS SHAREPOINT 2010 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ DIPLOMOVÁ PRÁCE

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Software SMART Bridgit

Instalační manuál aplikace

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Úvod - Podniková informační bezpečnost PS1-2

Přesunutí poštovní schránky ze stávajícího serveru do systému MS Exchange si vyžádá na straně uživatele změnu nastavení poštovního klienta.

Z internetu do nemocnice bezpečně a snadno

Přechod na síťovou verzi programu

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

CS OTE. Dokumentace pro externí uživatele

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Nápověda pro možnosti Fiery 1.3 (klient)

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro administrátora zřizované organizace

Transkript:

KAPITOLA 22 Autentizace Windows Formulářová autentizace je výborná, chcete-li vytvořit vlastní autentizační systém s záložní databází a vlastní přihlašovací stránkou. Co když ale vytváříte webovou aplikaci pro menší skupinu známých uživatelů, kteří už mají své uživatelské účty Windows? V podobných situacích může být vhodnější nasazení systému, který do svého fungování zapojí již existující údaje o uživatelích a členství ve skupinách. Problém lze vyřešit pomocí autentizace Windows, při níž se srovnávají údaje o uživatelích webu s uživatelskými účty Windows, které jsou definovány na lokálním počítači nebo v jiné doméně sítě. V této kapitole se dozvíte, jak autentizaci Windows použít ve vašich webových aplikacích. Dozvíte se také, jak použít impersonalizaci (impersonation) pro dočasné převzetí cizí identity. Představení autentizace Windows Autentizace Windows není na rozdíl od formulářové integrována v ASP.NET. Místo toho předává zodpovědnost za autentizaci IIS. Webový server IIS požádá o autentizaci prohlížeč, který poskytne přihlašovací doklady, které jsou pak mapovány na uživatelský účet Windows. Je-li uživatel autentizován úspěšně, IIS povolí žádost o webovou stránku a předá informace o uživateli a roli ASP.NET tak, že programový kód může fungovat téměř stejně, jako když pracuje s informacemi o identitě v situaci s formulářovou autentizací. Obrázek 22-1 na následující stránce názorně ukazuje celý proces. Proč používat autentizaci Windows? Jsou pro to tři hlavní důvody: Velmi málo programátorské práce pro vývojáře. Dovoluje použít existující uživatelská přihlášení. Dovoluje použít impersonalizaci a zabezpečení Windows.

838 Kapitola 22 Autentizace Windows Obrázek 22-1. Autentizační proces Windows. První důvod je zcela jednoduchý při použití autentizace Windows je IIS a klientovi dovoleno se o autentizační proces postarat, takže nemusíte vytvářet přihlašovací stránku, kontrolovat databázi nebo psát nějaký vlastní programový kód. Windows dále podporují takové základní aspekty uživatelského účtu jako je vypršení doby platnosti hesla, uzamčení účtu nebo členství ve skupinách. Druhý a nejdůležitější důvod pro použití autentizace Windows spočívá v tom, že vám dovoluje zapojit do práce existující účty Windows. Tento typ autentizace se standardně používá pro aplikace, v nichž uživatelé i webový server patří ke stejné lokální síti nebo intranetu. To znamená, že uživatelé mohou být autentizováni pomocí stejných přihlašovacích dokladů, které používají pro přihlašování k počítači. Největším přínosem této metody je, že lze provádět "neviditelnou" autentizaci, u které (v závislosti na použitých nastaveních a architektuře sítě) není nutná samostatná přihlašovací procedura. Prohlížeč místo ní jednoduše používá identitu aktuálně přihlášeného uživatele. Třetím důvodem pro použití autentizace Windows je to, že dovoluje využít výhod existujících zabezpečovacích nastavení Windows. Můžete např. ovládat přístup k souborům pouhým nastavením přístupových oprávnění k souborům Windows. Je ovšem důležité si uvědomit, že tato oprávnění nemají automatický účinek. Je to proto, že vaše webová aplikace obvykle používá pevný účet (standardně je to účet ASPNET, který je definován v souboru machine.config). Tento režim lze změnit opatrným použitím autentizace Windows a impersonalizace, jak je popsáno v sekci s názvem "Impersonalizace a delegování na Windows Serveru 2003" v této kapitole.

ASP.NET 2.0 a C# tvorba dynamických stránek profesionálně 839 Proč nepoužívat autentizaci Windows? Proč byste neměli používat tento způsob autentizace? Je spjat s uživateli Windows. Je spjat s klientskými počítači Windows. Nenechává příliš velkou flexibilitu nebo možnost ovládání a nedá se snadno přizpůsobovat. První problém spočívá v tom, že autentizace Windows nebude fungovat, pokud uživatelé, které autentizujete, nemají platné účty Windows. U veřejných webů tuto překážku pravděpodobně nelze vůbec odstranit. I kdyby bylo možné pro každého uživatele vytvořit účet Windows, nebylo by to nikdy tak efektivní jako databázový přístup pro větší množství uživatelů. Existuje zde také potenciální bezpečnostní riziko, protože účty uživatelů Windows mohou mít oprávnění k přístupu na počítač webového serveru nebo k jiným síťovým počítačům. Druhý problém spočívá v tom, že některé autentizační metody používané IIS od uživatelů vyžadují, aby měli na počítači kompatibilní software, což omezuje schopnosti autentizace Windows u těch, kteří nemají operační systém od Microsoftu, nebo nepoužívají Internet Explorer. A posledním velkým problémem je to, že autentizace Windows nedává žádné možnosti pro řízení autentizačního procesu. Nelze tedy jednoduše programově přidávat, odstraňovat a ovládat informace spjaté s účtem Windows nebo ukládat jiné informace specifické pro jednotlivé uživatele společně s přihlašovacími doklady. Jak jste se dočetli v předchozí kapitole, všechny tyto aspekty se dají snadno začlenit do formulářové autentizace, ale v autentizaci Windows nehrají žádnou roli. Mechanismy autentizace Windows Pokud implementujete autentizaci Windows, IIS použije jednu ze tří autentizačních strategií pro autentizaci každého přijatého požadavku. Základní autentizace. Uživatelské jméno a heslo je předáváno jako prostý text. Základní autentizace je jako jediná autentizační metoda podporována všemi prohlížeči jako součást standardu HTML. Digestní autentizace. Není přenášeno ani uživatelské jméno ani heslo. Místo toho se posílá hašovaná forma těchto údajů, která je z kryptografického hlediska bezpečná. Integrovaná autentizace Windows. Není přenášeno ani uživatelské jméno ani heslo. Místo toho je údaj o identitě uživatele, který se právě přihlásil k Windows, automaticky předáván ve formě tokenu. Je to jediný typ autentizace, který se uskutečňuje zcela transparentně (bez zásahu uživatele). Následující sekce této kapitoly probírají tyto tři uvedené možnosti. POZNÁMKA Pro autentizaci Windows existují i méně používané protokoly. Je to např. autentizace založená na certifikátu. Pokud zvolíte tento typ autentizace, musíte všem klientům rozeslat digitální certifikát a každý certifikát namapovat na příslušný účet Windows. U této metody se bohužel příliš často objevují problémy s administrací a dislokací. IIS 6 navíc podporuje pokročilou souhrnnou autentizaci (funguje v podstatě stejně jako digestní autentizace, ale hesla ukládá bezpečněji) a passportovou autentizaci umožňující uživateli se přihlásit k passportovému účtu, který se na uživatelský účet Windows mapuje.

840 Kapitola 22 Autentizace Windows Základní autentizace Nejpodporovanějším autentizačním protokolem je základní autentizace. Podporují ji téměř všechny webové prohlížeče. Pokud web vyžaduje autorizaci klienta pomocí základní autentizace, prohlížeč zobrazí přihlašovací dialog pro zadání uživatelského jména a hesla, který je podobný dialogu na obrázku 22-2. Obrázek 22-2. Přihlašovací dialog pro základní autentizaci. Poté, co uživatel poskytne tyto údaje, jsou samotná data přenesena na webový server (v tomto případě localhost). Jakmile IIS obdrží autentizační data, pokusí se uživatele autentizovat ve spolupráci s odpovídajícím účtem Windows. Největším omezením základní autentizace je její nedostatečné zabezpečení, alespoň co se týče jí samotné. Přihlašovací doklady, které jsou reprezentovány uživatelským jménem a heslem, a které jsou získány pomocí základní autentizace, jsou mezi klientem a serverem přenášeny jako prostý text. Samotná data jsou zakódována (nikoliv šifrována) do řetězce typu Base64, který různí slídilové dokáží velmi snadno přečíst. Z tohoto důvodu byste měli základní autentizaci používat jen tehdy, když není potřeba přihlašovací doklady uživatele chránit, nebo jenom ve spolupráci s nějakým šifrovacím protokolem HTTP jako je např. SSL. Takto budou data, která jsou jinak snadno dostupná pro jakoukoliv síťovou slídicí utilitu, zašifrována pomocí komplexního algoritmu. (Více informací o SSL najdeme v kapitole 18.) Digestní autentizace Tento typ autentizace (stejně jako základní autentizace) vyžaduje od uživatele, aby zadal informace do přihlašovacího dialogového boxu, který je zobrazen prohlížečem. Na rozdíl od základní autentizace však digestní autentizace předává místo hesla samotného jeho hašovanou formu. (Anglické slovo digest je synonymem slova haš odtud pochází název tohoto autentizačního schématu.) Samotné heslo se v textové podobě nikdy po síti neposílá, protože se posílá jeho hašovaná forma, což zabraňuje zcizení hesla i přes fakt, že není použito SSL. Proces autentizace uživatele pomocí souhrnné metody funguje takto: 1. Neautentizovaný klient požaduje webovou stránku s omezeným přístupem.

ASP.NET 2.0 a C# tvorba dynamických stránek profesionálně 841 2. Server odpoví odezvou HTTP 401. Tato odezva zahrnuje příležitostnou hodnotu (nonce value), což je náhodně vygenerovaná série bitů. Server zajišťuje, že každá příležitostná hodnota bude jedinečná, předtím než ji použije. 3. Klient použije pro vytvoření haše příležitostnou hodnotu, heslo, uživatelské jméno a některé další hodnoty. Hodnota tohoto haše, tzv. digest, je poslána zpátky na server společně s uživatelským jménem ve formě prostého textu. 4. Server použije příležitostnou hodnotu, heslo uložené pro uživatelské jméno a ostatní hodnoty pro vytvoření haše. Tento haš pak porovná s hašem získaným od klienta. Pokud obě hašované hodnoty souhlasí, je autentizace úspěšná. Digest není útočníkovi příliš platný, protože příležitostná hodnota se mění s každým autentizačním požadavkem. Z digestu se původní heslo extrahovat nedá. Protože digest obsahuje příležitostnou hodnotu, nemůže být použit pro opakovaný útok (replay attacks), kdy se útočník pokouší získat přístup ke chráněným zdrojům tak, že použije dříve zachycený digest. Teoreticky je digestní autentizace standardem a webové servery a prohlížeče by měly být schopny ji používat pro výměnu autentizačních informací. Firma Microsoft bohužel interpretuje část specifikace digestní autentizace trochu jiným způsobem než ostatní organizace, jako např. Apache Foundation (webový soubor Apache) a projekt Mozilla (webový prohlížeč Mozilla). Důsledkem je, že digestní autentizace IIS v současnosti funguje pouze v Internet Exploreru 5.0 a vyšších verzích. Dalším omezením digestní autentizace v IIS je to, že funguje pouze tehdy, když autentizovaný virtuální adresář běží pod doménovým řadičem Windows Active Directory. Integrovaná autentizace Windows Tato metoda je nejvhodnějším autentizačním standardem pro intranetové aplikace založené na WAN nebo LAN, neboť autentizaci vykonává bez toho, aby se vyžadovala interakce s klientem. Požádá-li IIS klienta, aby se autentizoval, prohlížeč pošle token reprezentující uživatelský účet Windows aktuálního uživatele. Pokud webový server při autentizaci pomocí těchto údajů neuspěje, objeví se dialogový box, kam může uživatel zadat jiné uživatelské jméno a heslo. Integrovaná autentizace Windows může fungovat jen tehdy, když jsou klient a webový server ve stejné lokální síti nebo intranetu, neboť tato metoda de facto nepřenáší údaje obsahující uživatelská jména a hesla. Místo toho pracuje v koordinaci s doménovým serverem nebo instancí Active Directory, kde proběhlo přihlášení, přičemž přikáže příslušnému počítači, aby na webový server poslal autentizační údaje. Jako protokol je pro přenášení autentizačních údajů použita buď autentizace NTLM (NT LAN Manager), nebo Kerberos 5 závisí to na verzi operačního systému klienta a serveru. Pokud na obou běží Windows 2000 nebo vyšší, a oba stroje pracují v doméně Active Directory, je jako autentizační protokol použit Kerberos, jinak to bude autentizace NTLM. Oba protokoly jsou extrémě zabezpečené (Kerberos je z aktuálně dostupných protokolů ten nejbezpečnější), nicméně, mají nějaká omezení. Integrovaná autentizace v zásadě pracuje jenom v Internet Exploreru 2.0 a vyšších (integrovaná autentizace Windows není podporována v ne-internetových klientech Exploreru). Kerberos samozřejmě funguje jenom na počítačích, na kterých běží Windows 2000 nebo vyšší verze, a ani jeden z protokolů nemůže pracovat přes proxy server. Kerberos navíc vyžaduje, aby byly otevřeny některé další porty na firewallech. V této kapitole se dále dozvíte základní věci o autentizačních protokolech používaných pro integrovanou autentizaci Windows, což vám pomůže lépe pochopit jednotlivé konfigurační kroky (zejména impersonalizaci a delegování).

842 Kapitola 22 Autentizace Windows Autentizace typu NT LAN Manager Autentizace NTLM je integrována v operačním systému Windows od okamžiku, kdy byla do něj zahrnuta podpora sítí. NTLM autentizuje klienty pomocí mechanismu výzva/odezva, který je založen na trojí výměně mezi klientem a serverem. Všechny procesy, o nichž se dozvíte v této sekci, se odehrávají v operačním systému zcela automaticky. Přirozeně všechno bude fungovat pouze za předpokladu, kdy klient i server používají operační systém Windows. Klient zahajuje komunikaci vysláním zprávy na server, což signalizuje, že klient chce se serverem komunikovat. Server vygeneruje 64bitovou náhodnou hodnotu nazvanou jako příležitostná. Server na požadavek klienta odpovídá tím, že příležitostnou hodnotu navrací. Této odezvě se říká výzva. Nyní operační systém klienta požaduje od uživatele uživatelské jméno a heslo. Heslo v hašované formě nazývané jako master-key bude následně použito pro zašifrování příležitostné hodnoty. Klient posílá serveru svoji odezvu společně s uživatelským jménem a zašifrovanou příležitostnou hodnotou (čímž se dokončuje mechanismus výzva/odezva). Server musí nyní ověřit platnost vrácené příležitostné hodnoty. Podle toho, zdali se jedná lokálního uživatel nebo uživatele v rámci domény, se validace uskutečňuje lokálně nebo vzdáleně na doménovém řadiči. V obou případech je master-key uživatele, tedy hašovaná verze hesla, získáván z databáze zabezpečených účtů. S využitím master-key se příležitostná hodnota ve formátu prostého textu zašifruje na serveru ještě jednou (server pochopitelně cachuje příležitostnou hodnotu v textové podobě předtím, než pošle data klientovi). Pokud opětovně vytvořená šifrovaná verze příležitostné hodnoty souhlasí se šifrovanou verzí vrácenou z klienta, je autentizace úspěšná, a pro uživatele je na serveru vytvořena přihlašovací relace. Obrázek 22-3 ukazuje průběh tohoto procesu.

ASP.NET 2.0 a C# tvorba dynamických stránek profesionálně 843 Obrázek 22-3. Letmý pohled na NTLM. Z popisu je jasně vidět, že heslo se nikdy nepřenáší po lince. Dokonce se ani nepředává hašovaná verze hesla, což bezpečnost NTLM značně zvyšuje. Existuje ale ještě bezpečnější protokol s dalšími možnostmi, jak uvidíte v další sekci. Autentizace pomocí Kerberos: krátké představení V současné době je Kerberos 5 nejbezpečnějším dostupným autentizačním protokolem. Je to veřejně známý standard, který byl vytvořen organizací IETF (Internet Engineering Task Force), a který implementuje autentizační protokol založený na autentizačních lístcích. V operačním systému Windows je Kerberos k dispozici od verze Windows 2000. Pokud aktivujete integrovanou autentizaci Windows, Kerberos bude automaticky použit za splnění těchto podmínek: Na klientovi a serveru běží Windows 2000 nebo vyšší. V síti je dostupná doména Active Directory s řadičem primární domény (který se automaticky přebírá roli tzv. distribučního centra klíčů) Ve všech ostatních případech použije Windows jako autentizační protokol NTLM. Ačkoli detailní popis protokolu Kerberos by byl na samostatnou knihu, v této kapitole se alespoň dozvíte o základních konceptech. Ty vám pomohou porozumět nejenom nezbytným úkolům při konfiguraci, ale také tomu, kdy budou v činnosti

844 Kapitola 22 Autentizace Windows jednotlivé funkce. Jedním z největších rozdílů mezi NTLM a Kerberos je například to, že Kerberos podporuje impersonalizaci a delegování, zatímco NTLM jenom impersonalizaci. Delegování je v zásadě založeno na stejném konceptu jako impersonalizace. Jde v něm pouze o akce vykonávané v zastoupení za identitu klienta. Zatímco impersonalizace funguje v rámci jednoho počítače, delegování pracuje napříč celou sítí. To znamená, že autentizační lístek původní identity klienta může být předán jinému serveru v síti, pokud má k tomu původní server příslušná oprávnění. O impersonalizaci a delegování se více dozvíte později v této kapitole. Prozatím je důležité vědět, že Kerberos podporuje jak impersonalizaci, tak i delegování, zatímco NTLM a ostatní autentizační techniky Windows (jako základní nebo digestní autentizace) podporují pouze impersonalizaci. Klíčovou komponentou systému Kerberos je KDC (key distribution center, centrum distribuce klíčů), které zodpovídá za generování lístků a správu přihlašovacích dokladů. Ve světě Windows hraje roli KDC primární doménový řadič Active Directory. Každý aktér (klient a server) musí KDC důvěřovat. Spravuje totiž všechny uživatelské a počítačové účty a generuje autentizační a relační lístky pro komunikační relace mezi jednotlivými počítači v rámci domény. To je další velký rozdíl, který najdeme při srovnávání Kerberos a NTLM NTLM pracuje v situacích pracovních skupin bez centrální správy, Kerberos ovšem pro vydávání všech typů lístků centrální správu vyžaduje. Pro nasazení protokolu Kerberos je požadováno spojení s doménovým řadičem Active Directory. Obrázek 22-4 ukazuje postup autentizace uživatele a ustavení relace mezi klientem a jednoduchým členským serverem v rámci domény. Každý uživatelský autentizační proces začíná zasláním požadavku autentizační službě, která běží na KDC. Tento požadavek obsahuje uživatelské jméno uživatele, který má být autentizován. KDC získá uživatelský master-key z databáze zabezpečených účtů. Opět to je hašovaná verze uživatelského hesla. Poté je vytvořen TGT (ticket-granting ticket, povolovací lístek). Tento lístek obsahuje klíč relace pro relaci uživatele a datum a čas vypršení platnosti. Než je lístek vrácen klientovi, server jej za použití uživatelského master-key zašifruje. Pouze se správným heslem vloženým uživatelem může operační systém klienta vytvořit správný master-key (haš) pro úspěšné dešifrování TGT požadavku získaného ze serveru. Pokud je dešifrování TGT na klientovi úspěšné, je uživatel úspěšně autentizován. Klient pak nakonec TGT lokálně cachuje. Pokud chce klient komunikovat s jiným členským serverem v rámci sítě, musí požádat KDC o relační lístek. Pro tyto účely posílá lokálně cachovaný TGT na tzv. povolovací službu, která běží na KDC. Tato služba ověřuje platnost TGT. Pokud je TGT stále platný (nevypršela jeho doba platnosti, nikdo s ním nemanipuloval apod.), služba vygeneruje klíč relace pro komunikační relaci mezi klientem a členským serverem. Relační klíč je pomocí master-key klienta zašifrován. Relační klíč je navíc začleněn do ST (session ticket, lístek relace), který obsahuje dodatečnou informaci pro server o době platnosti. Relační lístek je zašifrován pomocí master-key členského serveru. Zašifrovaný klíč relace i zašifrovaný lístek relace jsou přeposlány klientovi. Klient dešifruje klíč relace a přepošle lístek relace serveru. KDC samozřejmě dobře zná jak klienta, tak i server, protože oba byly v minulosti přidány do domény (přidání počítače do domény znamená ustavení spolehlivého vztahu mezi počítačem a KDC). KDC proto zná jak master-key klienta, tak i master-key serveru.

ASP.NET 2.0 a C# tvorba dynamických stránek profesionálně 845 Obrázek 22-4. Autentizace pomocí protokolu Kerberos a lístky. Pokud server dešifruje relační lístek od klienta a ověření jeho platnosti je úspěšné, je ustanovena komunikační relace. Klient i server použijí pro šifrování komunikace už vytvořený klíč relace. Jakmile vyprší platnost lístku relace, celá operace se opakuje. Každý lístek relační i povolovací mají jisté schopnosti. Mohou například na serveru napodobit uživatele klienta nebo delegovat identitu klienta na jiný server. Pokud klient a KDC tyto schopnosti nezačlení do lístku, nebudou funkční. Proto klient a server potřebují dodatečná oprávnění, jak se dočtete v sekci Impersonalizace dále v této kapitole. Základní koncepty NTLM a Kerberos budeme dále rozebírat proto, abyste pochopili nezbytné konfigurační kroky zajišťující funkčnost impersonalizaci a delegování. Pro většinu situací platí, že pokud nefunguje něco, co se týká impersonalizace nebo delegování, je to proto, že je chyba v konfiguraci doménového řadiče nebo KDC (používáte-li Active Directory), nebo proto, že datum vypršení platnosti lístku není adekvátně nastaveno (doba platnosti by neměla být nastavena jako příliš dlouhá, ale ani jako příliš krátká). Třebaže detailní rozbor diskutovaných témat by si vyžádal další knihu, tento přehled vám pomůže pochopit, jak protokol funguje a jaké jsou požadavky pro různé scénáře použití.