You are on page 1of 33

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Bezpieczestwo
w Windows 2000.
Czarna ksiga

Autor: Ian McLean


Tumaczenie: Andrzej Bdkowski
ISBN: 83-7197-416-7
Tytu oryginau: Windows 2000 Security. Little Black
Book
Format: B5, stron: 392
Ksika Bezpieczestwo systemu Windows 2000. Czarna ksiga stanie si niezastpionym narzdziem dla
specjalistw z dziedziny zabezpiecze zajmujcych si rodowiskiem systemu Windows 2000. Zawiera wiele
sposobw i wskazwek dotyczcych wprowadzania bezpiecznych, lecz uytecznych, zasad sieciowych.
Czytelnik znajdzie w niej informacje przydatne zarwno w niewielkich sieciach (do kilkuset uytkownikw),
jak i w sieciach rozlegych, z ktrych korzystaj wielkie firmy midzynarodowe. Autor odkrywa tajemnice
usug katalogowych Active Directory, zasad grupowych, protokow zabezpiecze, szyfrowania, zabezpiecze
z kluczem publicznym, certyfikatw zabezpiecze, kart elektronicznych, zabezpiecze protokou IP,
wirtualnych sieci prywatnych i programw narzdziowych zwizanych z bezpieczestwem systemu
Windows 2000.
" Nie zwlekaj, lecz kup t ksik, by:
" zastosowa Active Directory do ustanawiania zasad zabezpiecze uytkownika, grupy i komputera;
" skonfigurowa elastyczne zasady zabezpiecze za pomoc obiektw zasad grupowych;
" delegowa zadania zwizane z bezpieczestwem systemu bez naruszania zasad domeny;
" zainstalowa systemy zabezpiecze z kluczem publicznym i kluczem tajnym;
" zastosowa protok zabezpiecze Kerberos 5;
" wprowadzi szyfrowanie plikw i folderw oraz zasady odzyskiwania foldera zaszyfrowanego;
" zainstalowa jednostk certyfikujc i wydawa certyfikaty;
" wprowadzi zasady logowania si za pomoc kart elektronicznych;
" korzysta z narzdzi do tworzenia oprogramowania dla kart elektronicznych;
" wprowadzi zabezpieczenia internetowe za pomoc odwzorowywania certyfikatw oraz korzystania
z wirtualnych sieci prywatnych;
" wprowadzi zabezpieczenia na poziomie sieci za pomoca protkou IPSec;
" korzysta z narzdzi programowych do konfigurowania zabezpiecze.
Oprcz wyjanienia powyszych zgadnie, czytelnik moe liczy na:
" proste, opisane krok po kroku, rozwizania problemw zwizanych z bezpieczestwem systemu
Windows 2000;
" fachowe porady praktyczne umoliwiajce osignicie rwnowagi pomidzy bezpieczestwem
systemu a uytecznoci systemu;
" specjalistyczne wskazwki pomagajce w podniesieniu kwalifikacji administratora zabezpiecze.

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Ksika ta jest przeznaczona dla:


" administratorw sieci i administratorw zabezpiecze,
" informatykw zajmujcych si instalowaniem sieci bezpiecznych.

O Autorze ..............................................................................................11
Przedmowa ............................................................................................13
Bezpieczestwo w systemie Windows 2000............................................................. 14
Dla kogo jest przeznaczona niniejsza ksika?......................................................... 14
Nowoci w systemie zabezpiecze Windows 2000 .................................................. 15
Ukad ksiki ............................................................................................................. 15
W jaki sposb korzysta z niniejszej ksiki ............................................................ 17
Rozdzia 1. Bezpieczestwo w systemie Windows 2000 ...........................................19
W skrcie................................................................................................................... 20
Active Directory w systemie Windows 2000 .....................................................................20
Zabezpieczenia rozproszone i protokoy zabezpiecze ......................................................21
Korzystanie z kart inteligentnych .......................................................................................22
Szyfrowanie ........................................................................................................................23
Bezpieczestwo protokou IP .............................................................................................23
Wirtualne sieci prywatne ....................................................................................................24
Narzdzia do konfigurowania i analizowania zabezpiecze ..............................................24

Bezporednie rozwizania ......................................................................................... 25


Struktura Active Directory .................................................................................................25
Zintegrowane zarzdzanie kontami zabezpiecze..............................................................26
Wykorzystywanie obustronnych przechodnich relacji zaufania ........................................27
Delegowanie administrowania............................................................................................29
Zastosowanie Listy kontroli dostpu do precyzyjnego ustalania praw dostpu.................30
Zastosowanie protokow zabezpiecze.............................................................................31
Zastosowanie interfejsu dostawcy zabezpiecze................................................................32
Zastosowanie protokou uwierzytelniania Kerberos 5 .......................................................34
Zastosowanie certyfikatw z kluczem publicznym
do zapewnienia bezpieczestwa w Internecie..................................................................38
Implementowanie dostpu midzy przedsibiorstwami .....................................................43
Rozwizania na skal caego przedsibiorstwa ..................................................................44
Zastosowanie danych uwierzytelniajcych protokou NTLM............................................45
Zastosowanie danych uwierzytelniajcych
w przypadku stosowania protokou Kerberos ..................................................................45
Zastosowanie par kluczy prywatny-publiczny i certyfikatw .................................................45
Zastosowanie protokou IPSec ...........................................................................................47
Zastosowanie Wirtualnych sieci prywatnych .....................................................................48
Zastosowanie narzdzi do konfigurowania zabezpiecze ..................................................49
Zmiana systemu z Windows NT 4 na Windows 2000 .......................................................51

Bezpieczestwo w Windows 2000. Czarna ksiga

Rozdzia 2. Active Directory i Lista kontroli dost%pu .................................................53


W skrcie................................................................................................................... 53
Active Directory w systemie Windows 2000 .....................................................................53

Bezporednie rozwizania ......................................................................................... 56


Obsuga standardw otwartych...........................................................................................56
Obsuga standardowych formatw nazw............................................................................57
Zastosowanie interfejsw API............................................................................................58
Zastosowanie programu Windows Scripting Host .............................................................61
Moliwoci rozbudowy ......................................................................................................64
Zastosowanie zabezpiecze rozproszonych .......................................................................69
Zastosowanie rozszerzenia ustawienia zabezpiecze edytora zasad grupy........................70
Analiza domylnych ustawie kontroli dostpu .................................................................72
Analiza czonkostwa w grupach domylnych.....................................................................76
Przeczanie pomidzy kontekstami uytkownikw ..........................................................78
Synchronizacja komputerw po aktualizacji systemu
z domylnymi ustawieniami zabezpiecze ......................................................................78
Zastosowanie przystawki Szablony zabezpiecze..............................................................79
Zastosowanie Edytora listy kontroli dostpu......................................................................82

Rozdzia 3. Zasady grup ..........................................................................................85


W skrcie................................................................................................................... 86
Moliwoci zasad grup i korzyci z ich stosowania ...........................................................86
Zasady grup a usugi Active Directory ...............................................................................87

Rozwizania natychmiastowe ................................................................................... 90


czenie zasad grup ze struktur Active Directory ............................................................90
Konfigurowanie przystawki Zarzdzanie Zasadami grup ..................................................91
Dostp do zasad grup domeny lub jednostki organizacyjnej..............................................92
Tworzenie obiektu zasad grup ............................................................................................93
Edycja obiektu zasad grup ..................................................................................................95
Nadawanie uytkownikowi prawa do logowania si lokalnie na kontrolerze domeny......96
Zarzdzanie Zasadami grup ................................................................................................97
Dodawanie lub przegldanie obiektu zasad grup ...............................................................98
Ustanawianie dziedziczenia i zastpowania zasad grup ...................................................100
Wyczanie czci obiektu zasad grupy ...........................................................................103
Doczanie obiektu zasad grup do wielu lokacji, domen i jednostek organizacyjnych....104
Administrowanie zasadami bazujcych na Rejestrze .......................................................106
Przygotowywanie skryptw..............................................................................................110
Ustawianie odpowiednich uprawnie
dla poszczeglnych czonkw grup zabezpiecze .........................................................112
Dopasowanie zasad do danego komputera za pomoc sprzenia zwrotnego .................114
Konfigurowanie zasad inspekcji.......................................................................................118

Rozdzia 4. Protokoy zabezpiecze ........................................................................121


W skrcie................................................................................................................. 121
Protokoy...........................................................................................................................121

Rozwizania natychmiastowe ................................................................................. 123


Konfigurowanie protokow ze wsplnym kluczem tajnym............................................123
Zastosowanie Centrum dystrybucji kluczy.......................................................................126
Podstawowe wiadomoci o podprotokoach protokou Kerberos ....................................129
Uwierzytelnianie logowania .............................................................................................132
Analiza biletw protokou Kerberos.................................................................................138
Delegowanie uwierzytelniania..........................................................................................141
Konfigurowanie zasad protokou Kerberos domeny ........................................................142
Zastosowanie interfejsu dostawcy obsugi zabezpiecze .................................................144

Spis treci

Rozdzia 5. System szyfrowania plikw...................................................................149


W skrcie................................................................................................................. 149
Dlaczego konieczne jest szyfrowanie danych ..................................................................149
System szyfrowania plikw ..............................................................................................150

Rozwizania natychmiastowe ................................................................................. 155


Zastosowanie polecenia Cipher ........................................................................................155
Szyfrowanie foldera lub pliku ..........................................................................................156
Odszyfrowywanie foldera lub pliku .................................................................................158
Kopiowanie, przenoszenie i zmiana nazwy zaszyfrowanego foldera lub pliku ...............159
Wykonywanie kopii zapasowych plikw lub folderw zaszyfrowanych.........................160
Odtwarzanie zaszyfrowanego foldera lub pliku ...............................................................162
Odtwarzanie plikw do innego komputera.......................................................................164
Zabezpieczenia domylnego klucza odzyskiwania na pojedynczym komputerze ...........167
Zabezpieczanie domylnego klucza odzyskiwania dla domeny.......................................168
Dodawanie agentw odzyskiwania...................................................................................169
Ustawianie zasad odzyskiwania dla konkretnej jednostki organizacyjnej .......................172
Odzyskiwanie pliku lub foldera........................................................................................172
Wyczanie systemu szyfrowania plikw dla okrelonego zestawu komputerw ...........173

Rozdzia 6. Klucze publiczne ..................................................................................175


W skrcie................................................................................................................. 175
Kryptografia z kluczem publicznym ...................................................................................175
Ochrona i okrelanie zaufania do kluczy kryptograficznych ...........................................177
Skadniki Infrastruktury klucza publicznego systemu Windows 2000 ............................179

Rozwizania natychmiastowe ................................................................................. 182


Uaktywnianie klientw domeny .......................................................................................182
Stosowanie zabezpiecze z kluczem publicznym systemu Windows 2000 .....................188
Ustawianie zabezpiecze sieci Web .................................................................................190
Zastosowanie uwierzytelniania za pomoc klucza publicznego
w programie Internet Explorer .......................................................................................191
Konfigurowanie programu Microsoft Outlook,
aby korzysta z protokou Secure Sockets Layer ...........................................................193
Konfigurowanie zabezpiecze poczty elektronicznej z zastosowaniem
klucza publicznego.........................................................................................................194
Konfigurowanie zabezpiecze z zastosowaniem klucza publicznego
dla programu Outlook Express.......................................................................................195
Konfigurowanie zabezpiecze z zastosowaniem klucza publicznego
dla programu Microsoft Outlook....................................................................................200
Uzyskiwanie wspdziaania ............................................................................................202

Rozdzia 7. Usugi certyfikatw ..............................................................................205


W skrcie................................................................................................................. 205
Certyfikaty ........................................................................................................................205
Instalowanie urzdu certyfikacji w przedsibiorstwie......................................................208
Relacja zaufania w strukturach hierarchicznych z wieloma urzdami certyfikacji..........209

Rozwizania natychmiastowe ................................................................................. 210


Instalowanie urzdu certyfikacji.......................................................................................210
Zastosowanie stron internetowych usug certyfikatw.....................................................213
Instalowanie certyfikatw urzdw certyfikacji.................................................................215
danie certyfikatw zaawansowanych ...........................................................................219
Rejestrowanie za pomoc pliku dania w formacie PKCS #10......................................222
Konfigurowanie relacji zaufania pomidzy domen
a zewntrznym urzdem certyfikacji..............................................................................223
Instalowanie automatycznego dania certyfikatw dla komputerw .............................224

Bezpieczestwo w Windows 2000. Czarna ksiga

Uruchamianie i zatrzymywanie usug certyfikatw .........................................................225


Wykonywanie kopii zapasowych i odtwarzanie usug certyfikatw................................226
Wywietlanie dziennika i bazy danych usug certyfikatw..............................................228
Odwoywanie wydanych certyfikatw i publikowanie Listy odwoa certyfikatw .......230
Konfigurowanie moduw zasad i moduw zakoczenia dla usug certyfikatw ..........232

Rozdzia 8. Mapowanie certyfikatw do kont u4ytkownikw....................................235


W skrcie................................................................................................................. 235
Dlaczego konieczne jest mapowanie certyfikatw...........................................................235
Rodzaje mapowania..........................................................................................................236
Gdzie dokonywane jest mapowanie?................................................................................237

Rozwizania natychmiastowe ................................................................................. 238


Instalowanie certyfikatu uytkownika ..............................................................................238
Eksportowanie certyfikatu ................................................................................................241
Instalowanie certyfikatu urzdu certyfikacji ....................................................................243
Konfigurowanie Active Directory, dla mapowania gwnej nazwy uytkownika...........244
Konfigurowanie Active Directory, dla mapowania jeden-do-jednego.............................249
Konfigurowanie Internetowych usug informacyjnych (IIS)
dla mapowania jeden-do-jednego...................................................................................250
Konfigurowanie Active Directory, dla mapowania wiele-do-jednego.............................252
Konfigurowanie Internetowych usug informacyjnych (IIS)
dla mapowania wiele-do-jednego...................................................................................253
Testowanie mapowania ....................................................................................................254

Rozdzia 9. Karty inteligentne ................................................................................259


W skrcie................................................................................................................. 259
Co to jest karta inteligentna? ............................................................................................259
Wspdziaanie kart inteligentnych ..................................................................................261
Obsugiwane karty inteligentne ........................................................................................263
Obsugiwane czytniki kart inteligentnych ........................................................................264

Rozwizania natychmiastowe ................................................................................. 265


Instalowanie czytnikw kart inteligentnych .....................................................................265
Instalowanie stacji rejestrowania kart inteligentnych.......................................................267
Wydawanie kart inteligentnych ........................................................................................270
Logowanie za pomoc kart inteligentnych .......................................................................273
Wdraanie kart inteligentnych ..........................................................................................278
Rozwizywanie problemw zwizanych z kartami inteligentnymi .................................280
Zabezpieczanie stacji rejestrowania kart inteligentnych ..................................................282
Umieszczanie aplikacji na kartach inteligentnych............................................................283
Zastosowanie pakietu Smart Card Software Development Kit...........................................284
Zastosowanie interfejsw API firmy Microsoft ...............................................................289
Zastosowanie interfejsu Java Card API 2.1......................................................................291
Zastosowanie osnowy aplikacji OpenCard.......................................................................292

Rozdzia 10. Zabezpieczenia protokou IP.................................................................295


W skrcie................................................................................................................. 295
Zabezpieczenia za pomoc IP Security ............................................................................295
Waciwoci IPSec............................................................................................................296
Skojarzenia zabezpiecze .................................................................................................298

Rozwizania natychmiastowe ................................................................................. 300


Analiza dziaania IPSec ....................................................................................................300
Ustawienia IPSec ..............................................................................................................301
Konfigurowanie IPSec na pojedynczych komputerach ....................................................305
Konfigurowanie IPSec dla domeny ..................................................................................309

Spis treci

Zmiana metody zabezpiecze...........................................................................................310


Konfigurowanie IPSec dla jednostki organizacyjnej........................................................311

Rozdzia 11. Wirtualne sieci prywatne......................................................................315


W skrcie................................................................................................................. 315
Zastosowanie Wirtualnych sieci prywatnych ...................................................................315
Tunelowanie .....................................................................................................................316
Uwierzytelnianie...............................................................................................................318
Porwnanie protokow PPTP i L2TP .............................................................................319
Protok RADIUS.............................................................................................................320

Rozwizania natychmiastowe ................................................................................. 321


Okrelanie strategii Wirtualnych sieci prywatnych ..........................................................321
Konfigurowanie serwera VPN..........................................................................................326
Konfigurowanie serwera VPN..........................................................................................328
Konfigurowanie klienta VPN ...........................................................................................329
Organizowanie kont uytkownikw usugi Dostp zdalny ..............................................331
Tworzenie zasad dostpu zdalnego dla pocze VPN router-router ...............................332
Wczanie uwierzytelniania wzajemnego.........................................................................333
Automatyczne uzyskiwanie certyfikatu komputera..........................................................334
Dodawanie portw L2TP i PPTP .....................................................................................335
Konfigurowanie serwera usugi RADIUS ........................................................................336

Rozdzia 12. Narz%dzia do konfigurowania i analizowania zabezpiecze........................337


W skrcie................................................................................................................. 337
Narzdzia do konfigurowania...........................................................................................337
Ustawienia szablonw zabezpiecze ................................................................................339
Skonfigurowane wstpnie Szablony zabezpiecze ..........................................................340

Rozwizania natychmiastowe ................................................................................. 342


Tworzenie i analizowanie konfiguracji zabezpiecze ......................................................342
Edytowanie konfiguracji zabezpiecze ............................................................................344
Eksportowanie konfiguracji zabezpiecze .......................................................................346
Edytowanie Szablonw zabezpiecze ..............................................................................347
Zastosowanie polecenia Secedit .......................................................................................349

Dodatek A Sownik ...............................................................................................355


Dodatek B Podstawowe informacje .......................................................................369
Polecenia uruchamiane z linii polece .................................................................... 369
Dokumenty RFC...................................................................................................... 369
Grupy i organizacje ................................................................................................. 370
rda informacji..................................................................................................... 371
Strona powitalna usug certyfikatw Microsoftu...................................................... 372
Magazyny certyfikatw CryptoAPI ........................................................................ 372
Zawarto biletu protokou Kerberos ...................................................................... 372
Domylne ustawienia zabezpiecze ........................................................................ 374
Zdefiniowane wstpnie szablony zabezpiecze ...................................................... 374
Host skryptw Cscript ............................................................................................. 375
Program narzdziowy Cipher .................................................................................. 376
Polecenie Secedit..................................................................................................... 377
Skorowidz............................................................................................379

Rozdzia 4.

W tym rozdziale:


Konfigurowanie protokow ze wsplnymi kluczami tajnymi.

Zastosowanie Centrum dystrybucji kluczy.

Podstawowe wiadomoci o podprotokoach protokou Kerberos.

Analiza biletw protokou Kerberos.

Delegowanie uwierzytelniania.

Konfigurowanie zasad domeny protokou Kerberos.

Zastosowanie interfejsu dostawcy obsugi zabezpiecze.

W skrcie
Protokoy
Protokoy s zasadnicz czci kadego systemu zabezpiecze, a podstawowe wiadomoci o protokoach zastosowanych w systemie Windows 2000 s koniecznym elementem wyposaenia administratora. Jednak protokow nie konfiguruje si od razu,
jak np. Active Directory czy zasady grup. Przed przystpieniem do konfigurowania
protokou, konieczna jest znajomo zasad ich dziaania oraz skutkw, jakie pocigaj
za sob wprowadzane zmiany. Niniejszy rozdzia zawiera wicej teorii ni ktrykolwiek
z pozostaych w tej ksice i jednoczenie mniej gotowych rozwiza i opisw czynnoci.
Nie jest to bynajmniej ze pokana wiedza o protokoach zabezpiecze jest konieczna.
Zabezpieczenia warstwy transportowej oparte na protokole Secure Sockets Layer 3
(SSL 3/TLS) opisano w rozdziale 6., przy okazji omawiania certyfikatw z kluczem
publicznym. Zabezpieczenia protokou IP na poziomie sieci omwiono w rozdziale 10.
Pozostaje NT LAN Manager (NTLM) i protok Kerberos 5. Protokou NTLM uywa
si, aby zapewni zgodno wsteczn z poprzednimi wersjami sieciowych systemw
operacyjnych Microsoftu, takimi jak Windows NT 4 i LAN Manager. Tak wic wiksza
cz niniejszego rozdziau powicona jest protokoowi Kerberos.
Rozwizania pokrewne:
Ustawianie zabezpiecze sieci Web

Na stronie:
190

122

Bezpieczestwo w Windows 2000. Czarna ksiga

Porwnanie protokow NTLM i Kerberos


Dostawca zabezpiecze NTLM w celu uwierzytelniania korzysta z procedury wyzwanieodpowied. Dostawca zabezpiecze zna haso danego uytkownika lub, cilej mwic,
wycig uzyskany za pomoc funkcji mieszajcej MD4. Za pomoc funkcji mieszajcej
MD4 szyfruje losowo wygenerowany blok danych i odsya go do klienta (wyzwanie
challenge). Nastpnie klient rozszyfrowuje blok danych i przesya z powrotem do serwera. Jeli klient rwnie zna prawidowe haso, dane zostan rozszyfrowane poprawnie
i serwer zarejestruje danego klienta jako uwierzytelnionego. Z kolei dostawca zabezpiecze generuje niepowtarzalny znacznik dostpu (access token), ktry jest przesyany do
klienta, aby korzysta z niego w przyszoci. Kolejne uwierzytelnienia klienta dokonywane s na podstawie tego znacznika i dostawca zabezpiecze NTLM nie musi powtarza procedury uwierzytelniania wyzwanie-odpowied.
MD2, MD4 i MD5 s algorytmami wyznaczania funkcji mieszajcej wiadomo ci
opracowanych dla potrzeb aplikacji tworzcych podpisy cyfrowe, w ktrych du#y blok
wiadomo ci musi zosta skompresowany w sposb bezpieczny, zanim zostanie
podpisany za pomoc klucza prywatnego. Opis i kody )rdowe wymienionych powy#ej
trzech algorytmw mo#na znale) w dokumentach RFC od 1319 do 1321. Wi0cej
informacji dost0pnych jest na stronie internetowej RSA Laboratory www.rsasecurity.com/
rsalabs/, a szczeglnie pod adresem www.rsasecurity.com/rsalabs/faq/3-6-6.html.

Protok Kerberos korzysta z idei biletw porednich (proxy tickets). Wemy pod uwag,
np. proces A, ktry wywouje aplikacj B. Nastpnie aplikacja B staje si personifikacj
procesu A, tzn. aplikacja B w ustalony sposb dziaa jak A. Jednak jeli B, dziaajc jako A,
wywoa inn aplikacj (C), to domylnie aplikacja C bdzie personifikacj B, a nie A, poniewa uprawnienia dotyczce zabezpiecze procesu A nie zostan delegowane do aplikacji C. Prawdziwe delegowanie takie, jakie zapewnia protok Kerberos oznacza,
e jeli aplikacja B, ktra jest dziaajcym wtkiem (thread) A, wywoa inn aplikacj C
to aplikacja C moe by personifikacj A. Aplikacja B posiada bilet poredni (proxy
ticket) aplikacji A, ktry umoliwia personifikacj A nawet, jeli wywouje inne aplikacje.
Komputery pracujce pod kontrol systemw Windows 3.11, Windows 9x lub Windows NT 4 bd korzystay z protokou NTLM przy uwierzytelnianiu sieciowym w domenach Windows 2000. Komputery pracujce pod kontrol systemu Windows 2000
bd korzystay z protokou NTLM w przypadku uwierzytelniania przez serwery systemu Windows NT 4 i przy dostpie do zasobw znajdujcych si w domenach systemu
Windows NT 4. Ale w systemie Windows 2000 gwnym protokoem jest Kerberos.
Korzyci z zastosowania protokou Kerberos do uwierzytelniania s nastpujce:


uwierzytelnianie wzajemne protok NTLM pozwala serwerowi na


weryfikowanie tosamoci klientw, ale nie umoliwia klientom sprawdzania
tosamoci serwera ani nie daje serwerowi moliwoci zweryfikowania tosamoci
innego serwera. Protok Kerberos gwarantuje, e obydwie strony poczenia
sieciowego wiedz, e druga strona poczenia jest tym, za co si podaje,

szybsze poczenia w przypadku uwierzytelniania za pomoc protokou NTLM


serwer aplikacji, aby uwierzytelni kadego klienta, musi doczy si do kontrolera
domeny. W przypadku uwierzytelniania za pomoc protokou Kerberos, serwer nie
musi odwoywa si do kontrolera domeny, ale zamiast tego moe uwierzytelni
klienta, sprawdzajc jego dane uwierzytelniajce. Klienci uzyskuj dane
uwierzytelniajce dla danego serwera tylko raz, a potem korzystaj z nich ponownie
w trakcie logowania sieciowego,

Rozdzia 4.

Protokoy zabezpiecze

123

prostsze zarzdzanie relacjami zaufania jedn z gwnych korzyci


uwierzytelniania wzajemnego w przypadku protokou Kerberos jest to, e
relacje zaufania pomidzy domenami systemu Windows 2000 domylnie s
obustronne i przechodnie. Jeli sie zawiera kilka drzew, to dane uwierzytelniajce
wydane przez domen w dowolnym drzewie s uznawane w caym drzewie,
Przechodnia relacja zaufania oznacza, #e je li A ufa B i B ufa C, to A ufa C.
Relacje zaufania ustanawiane za pomoc protokou Kerberos s przechodnie,
a relacje ustanawiane za pomoc protokou NTLM nie.

uwierzytelnianie delegowane zarwno protok NTLM, jak i protok


Kerberos dostarczaj informacji potrzebnych usudze do personifikowania
swojego klienta lokalnie, ale niektre aplikacje rozproszone zostay zaprojektowane
tak, e usuga zewntrzna musi personifikowa klientw, czc si z usugami
wewntrznymi na innym komputerze. Protok Kerberos zawiera mechanizm
poredniczcy, ktry pozwala usudze na personifikowanie klienta, kiedy ten
czy si z innymi usugami. Protok NTLM takiego mechanizmu nie zawiera,

wspdziaanie implementacja protokou Kerberos w wersji firmy Microsoft


jest oparta na specyfikacji przedstawionej grupie roboczej Internet Engineering
Task Force (IETF). W wyniku tego implementacja protokou Kerberos w systemie
Windows 2000 stanowi podstaw wspdziaania z innymi sieciami (szczeglnie
z sieciami zgodnymi ze standardem POSIX), w ktrych do uwierzytelniania
stosuje si protok Kerberos.

Protok uwierzytelniania Kerberos umoliwia wzajemne uwierzytelnianie pomidzy


klientem a serwerem oraz pomidzy dwoma serwerami, zanim pomidzy nimi zostanie
ustanowione poczenie sieciowe. Protok przyjmuje, e pocztkowe transakcje pomidzy klientami a serwerami maj miejsce w otwartej sieci, w ktrej wikszo komputerw nie jest zabezpieczonych i napastnicy mog monitorowa oraz dowolnie modyfikowa pakiety tak, jak w Internecie. Protok Kerberos gwarantuje, e nadawca
wie, kim jest odbiorca i odwrotnie oraz gwarantuje, e nikt z zewntrz nie bdzie mg
si podawa za adn ze stron.

Rozwizania natychmiastowe
Konfigurowanie protokow ze wsplnym kluczem tajnym
W protokole Kerberos zastosowano uwierzytelnianie wymagajce wsplnych kluczy
tajnych. Jeli tylko dwoje ludzi zna klucz tajny, wwczas kady z nich moe zweryfikowa tosamo drugiej strony przez uzyskanie potwierdzenia, e osoba ta zna ten sam
klucz tajny. Zamy, e np. Bonnie czsto wysya wiadomoci do Clydea, ktry musi
mie pewno, e wiadomo od Bonnie jest autentyczna, zanim zacznie dziaa zgodnie
z otrzymanymi informacjami. Bonnie i Clyde jako rozwizanie tego problemu wybrali
haso, ktre nie bdzie udostpniane nikomu innemu. Jeli z wiadomoci od Bonnie bdzie wynikao, e nadawca zna to haso, Clyde bdzie wiedzia, e nadawc jest Bonnie.

124

Bezpieczestwo w Windows 2000. Czarna ksiga

W jaki sposb Bonnie pokae, e zna to haso? Mogaby zamieci w zakoczeniu


swojej wiadomoci co na wzr bloku podpisu. Jest to sposb prosty i wydajny, ale bdzie bezpieczny tylko wtedy, gdy Bonnie i Clyde bd pewni, e nikt inny nie czyta ich
poczty. Niestety, wiadomoci s przesyane przez sie, z ktrej korzysta Szeryf, posiadajcy analizator sieci. Tak wic Bonnie, podajc jedynie haso, nie moe udowodni,
e je zna, tylko musi wykaza si jego znajomoci bez przesyania przez sie.
W protokole Kerberos rozwizano ten problem za pomoc kryptografii z kluczem tajnym. Zamiast wspdzielenia hasa, partnerzy komunikacji wspdziel klucz i stosuj
go do weryfikowania tosamoci drugiej strony. Klucz wsplny musi by symetryczny.
Innymi sowy, ten sam klucz suy do szyfrowania i odszyfrowywania. Jedna ze stron
udowadnia znajomo klucza poprzez zaszyfrowanie czci danych, a druga rozszyfrowujc te dane. Uwierzytelnianie za pomoc klucza tajnego rozpoczyna si, gdy jedna
ze stron przedstawi warto uwierzytelniajc w postaci czci danych zaszyfrowanych
za pomoc klucza tajnego. Zestaw danych do tworzenia wartoci uwierzytelniajcej za
kadym razem musi by inny, w przeciwnym razie stara warto uwierzytelniajca mogaby by wykorzystana ponownie przez kogo, komu udaoby si podsucha wymian
danych. Po otrzymaniu wartoci uwierzytelniajcej odbiorca odszyfrowuje j. Jeli odszyfrowanie przebiego pomylnie, to odbiorca wie, e osoba przedstawiajca t warto zna waciwy klucz. Tylko dwoje ludzi ma waciwy klucz; odbiorca jest jedn
z nich, wic osoba przedstawiajca warto uwierzytelniajc musi by t drug.
Przyj0to, #e dwie i tylko dwie osoby posiadaj klucz tajny. Je li byby on znany osobie
trzeciej przestaby by tajnym.

Jeli dane s pobierane z zaufanego rda, odbiorca musi upewni si, czy rdo jest
tym, czym rzekomo jest oraz czy informacje nie zostay po drodze sfaszowane. Nie jest to
mao znaczcy problem, ale parametry s ustalone i mona znale waciwe rozwizanie.
Naley wrci uwag, e w kontekcie bezpieczestwa nie ma rozwiza doskonaych.
W przypadku komunikacji dwukierunkowej, kiedy wymagane jest uwierzytelnianie wzajemne, pojawiaj si nowe problemy, zwaszcza gdy dochodzi do wspdzielenia kluczy
tajnych i konieczne jest zastosowanie nowych narzdzi do rozwizania tych problemw.
Odbiorca, aby zapewni uwierzytelnianie wzajemne, moe wzi cz danych z pierwotnej wartoci uwierzytelniajcej, zaszyfrowa je, tworzc now warto uwierzytelniajc,
ktr wysya do nadawcy, ktry z kolei moe odszyfrowa warto uwierzytelniajc
odbiorcy i porwna z oryginaem. Jeli zgadzaj si, nadawca bdzie wiedzia, e odbiorca by w stanie odszyfrowa orygina, a wic ma waciwy klucz.
Zamy, np. e Bonnie i Clyde zadecydowali, i do weryfikowania tosamoci drugiej
strony, przed przesaniem jakichkolwiek informacji, bd korzysta ze wsplnego klucza
tajnego. Uzgodnili w ten sposb nastpujcy protok:
1. Bonnie wysya do Clydea komunikat zawierajcy jej imi zapisane otwartym

tekstem oraz warto uwierzytelniajc zaszyfrowan za pomoc klucza tajnego


wspdzielonego z Clydem. W tym protokole warto uwierzytelniajca jest
struktur danych zawierajc dwa pola. Jedno pole zawiera informacje o Bonnie
np. nazwisko (Parker). Drugie pole zawiera aktualny czas wskazywany na
stacji roboczej Bonnie.

Rozdzia 4.

Protokoy zabezpiecze

2. Clyde otrzymuje wiadomo i za pomoc klucza wspdzielonego z Bonnie

odszyfrowuje warto uwierzytelniajc i odczytuje pole zawierajce czas ze


stacji roboczej Bonnie.
3. Zamy, e oboje uywaj usugi sieciowej, ktra synchronizuje zegary w ich

komputerach. Tak wic Clyde moe porwna czas odczytany z wartoci


uwierzytelniajcej z czasem wskazywanym przez zegar w jego komputerze.
Jeli rnica przekracza ustalon granic, Clyde odrzuca warto uwierzytelniajc.
4. Jeli czas ten mieci si w dopuszczalnym zakresie, to warto uwierzytelniajca

prawdopodobnie pochodzi od Bonnie, ale Clyde nadal nie ma na to dowodu.


Szeryf mg obserwowa ruch w sieci i teraz powtrzy wczeniejsz prb
ustanowienia poczenia przez Bonnie. Jednak jeli Clyde zapisa czasy uzyskane
z wartoci uwierzytelniajcych przesanych przez Bonnie, wtedy moe udaremni
prby powtarzania wczeniejszych wiadomoci, odrzucajc kad wiadomo,
ktrej czas jest taki sam lub wczeniejszy ni czas ostatniej wartoci
uwierzytelniajcej.
W poprzednim akapicie opisano atak metod powtrzenia (replay attack). Jest to
okre lenie warte zapami0tania, poniewa# osoby zajmujce si0 zabezpieczeniami
po wi0caj takim atakom wiele uwagi.
5. Clyde uywa klucza wspdzielonego z Bonnie do zaszyfrowania czasu

uzyskanego z komunikatu przesanego przez Bonnie i wysya go do niej


z powrotem. Naley zwrci uwag, e Clyde nie odsya wszystkich informacji
zawartych w wartoci uwierzytelniajcej, ale tylko czas. Gdyby odesa wszystko,
Bonnie nie miaaby sposobu, aby dowiedzie si, czy kto udajcy Clydea
po prostu nie skopiowa wartoci uwierzytelniajcej z oryginalnego komunikatu
Bonnie i nie wysa do niej w niezmienionej postaci. Clyde wybra czas,
poniewa jest to jedyna niepowtarzalna w komunikacie cz informacji,
ktr przesaa Bonnie.
6. Bonnie otrzymuje odpowied od Clydea, odszyfrowuje j i porwnuje wynik

z czasem zamieszczonym w wartoci uwierzytelniajcej , ktr wysaa.


Jeli czas zgadza si, Bonnie moe by pewna, e jej warto uwierzytelniajca
dotara do kogo, kto zna klucz tajny, konieczny do odszyfrowania tej wartoci
i oczytania czasu. Klucz tajny Bonnie wspdzieli tylko z Clydem., wic to on
odebra jej komunikat i odpowiedzia. Zarwno nadawca, jak i odbiorca mog
mie zaufanie co do danego poczenia. Na rysunku 4.1 przedstawiono proces
wzajemnego uwierzytelniania.
Rysunek 4.1.
Uwierzytelnianie
wzajemne

125

126

Bezpieczestwo w Windows 2000. Czarna ksiga

Zastosowanie Centrum dystrybucji kluczy


Poprzednia procedura ma pewien mankament nie wyjania jak ani skd Bonnie
i Clyde uzyskali klucz tajny, z ktrego korzystaj podczas sesji. Dla jasnoci na potrzeby poprzedniej procedury przyjto, e Bonnie i Clyde s ludmi, ktrzy mogliby si
spotka i uzgodni wspdzielony klucz tajny. W rzeczywistoci Bonnie moe by programem-klientem pracujcym na stacji roboczej, a Clyde usug uruchomion na
serwerze sieciowym. Nastpnym problemem jest to, e klient, Bonnie, komunikuje si
z wieloma serwerami, wic potrzebne s klucze dla kadego z nich, a Clyde komunikuje
si z wieloma klientami i rwnie konieczne s klucze dla kadej sesji. Jeli klient ma
mie klucz do kadej usugi, a kada usuga ma mie klucz dla kadego klienta, to dystrybucja kluczy moe szybko skomplikowa si i stanowi znaczce zagroenie.
W niniejszym rozdziale i w innych fragmentach ksi#ki, w ktrych u#ywa si0 przykadu
Bonnie i Clydea, okre la si0 ich jako ona i on. Jak podano w poprzednim
fragmencie Bonnie i Clyde mog by programami lub usugami, ale analogia nadal jest
wa#na. U#ywanie okre le ona i on nie musi oznacza, #e Bonnie i Clyde
s lud)mi.

Protok Kerberos rozwizuje ten problem, okrelajc trzy jednostki: klienta, serwer
i zaufanym urzdem niezalenym, ktra jest porednikiem pomidzy nimi. Ten zaufany
porednik nosi nazw Centrum dystrybucji kluczy (Key Distribution Center KDC).
Obecnie zwi0ksza si0 zapotrzebowanie na niezale#ne firmy dostarczajce klucze tajne
i zarzdzajce nimi, ktre dziaaj jako zaufani po rednicy. Je li jeste przedsi0biorczy
i bierzesz pod uwag0 mo#liwo dziaalno ci komercyjnej, warto to przemy le.

Usuga Centrum dystrybucji kluczy jest uruchomiona na serwerze, ktry jest fizycznie zabezpieczony i obsuguje baz danych o kontach wszystkich obiektw typu security principal w swoim obszarze, ktry jest w protokole Kerberos odpowiednikiem domeny systemu Windows 2000. Razem z informacjami o kadym z obiektw typu security principal,
Centrum dystrybucji kluczy przechowuje rwnie klucz szyfru (cryptographic key),
znany tylko obiektowi typu security principal i Centrum dystrybucji kluczy. Klucz ten
jest uywany przy wymianie informacji pomidzy obiektem zabezpiecze gwnych
(security principal) i centrum oraz jest okrelany jako klucz dugoterminowy (long term
key). Zazwyczaj uzyskuje si go na podstawie hasa logowania obiektu typu security
principal.
Zamknij serwer Centrum dystrybucji kluczy w zabezpieczonym pokoju i nie doczaj
klawiatury ani monitora. Administruj tym serwerem ze stacji roboczej-klienta
z zainstalowanym odpowiednim oprogramowaniem. Dokonuj inspekcji ka#dego
dost0pu lub prby dost0pu do serwera. Je li twoje Centrum dystrybucji kluczy
nie jest bezpieczne, to nic innego nie jest bezpieczne.

Klient, ktry chce skomunikowa si z serwerem, wysya danie do Centrum dystrybucji kluczy, ktre przydziela obu stronom unikatowy, krtkoterminowy (short term)
klucz sesji, sucy wzajemnemu uwierzytelnianiu. Kopia klucza sesji serwera jest zaszyfrowana w kluczu dugoterminowym serwera. Kopia klucza sesji klienta jest zaszyfrowana w kluczu dugoterminowym klienta.

Rozdzia 4.

Protokoy zabezpiecze

127

Teoretycznie Centrum dystrybucji kluczy mogoby wysya klucz sesji bezporednio do


kadego obiektu typu security principal, ktrego to dotyczy, ale w praktyce taka procedura byaby skrajnie niewydajna. Wymagaaby od serwera zachowywania w pamici
swojego klucza sesji podczas oczekiwania na wywoanie przez klienta. Ponadto serwer
musiaby pamita klucze dla wszystkich klientw, ktrzy mogliby da obsugi. Zarzdzanie kluczami zajoby niewspmiernie du cz zasobw serwera i nie daoby
moliwoci rozbudowy. Protok Kerberos rozwizuje ten problem za pomoc biletw
sesji (session tickets).

Zastosowanie biletw sesji


Centrum dystrybucji kluczy odpowiada na danie klienta, wysyajc do niego kopi
klucza sesji serwera i klucza sesji klienta, jak przedstawiono na rysunku 4.2. Kopia klucza
sesji klienta jest zaszyfrowana za pomoc klucza, ktry centrum dystrybucji wspdzieli
z klientem. Kopia klucza sesji serwera jest umieszczona razem z informacjami o kliencie
w strukturze danych o nazwie bilet sesji (session ticket), a caa struktura jest zaszyfrowana za pomoc klucza, ktry Centrum dystrybucji kluczy wspdzieli z serwerem. Klient
korzysta z biletu sesji, kiedy kontaktuje si z serwerem.
Rysunek 4.2.
Dystrybucja kluczy

Centrum dystrybucji kluczy nie ledzi swoich komunikatw, aby w ten sposb upewni
si, czy dotary pod waciwy adres po prostu wydaje bilet. Jeli komunikat wysany
przez centrum KDC dostanie si w niepowoane rce, bezpieczestwo nie jest zagroone.
Tylko kto, kto zna klucz tajny klienta moe odszyfrowa kopi klienta klucza sesji i tylko
kto, kto zna klucz tajny serwera, moe odczyta zawarto biletu.
Klient wyodrbnia bilet i kopi klienta klucza sesji i umieszcza je w zabezpieczonej
pamici podrcznej, znajdujcej si w pamici operacyjnej, a nie na dysku. Kiedy klient
chce poczy si serwerem, wysya komunikat zawierajcy bilet z wartoci uwierzytelniajc zaszyfrowane za pomoc klucza sesji. Bilet, nadal zaszyfrowany za pomoc
klucza tajnego serwera i warto uwierzytelniajca razem tworz dane uwierzytelniajce
klienta dla serwera.
Serwer odszyfrowuje bilet sesji za pomoc klucza tajnego, uzyskujc w ten sposb klucz
sesji i stosuje go do odszyfrowania wartoci uwierzytelniajcej klienta. Jeli wszystko si
zgadza, serwer wie, e dane uwierzytelniajce klienta zostay wydane przez centrum
KDC, ktre jest jednostk godn zaufania. Jeli konieczne jest uwierzytelnianie wzajemne, serwer uywa swojej kopii klucza sesji do zaszyfrowania znacznika czasu (timestamp) zawartego w wartoci uwierzytelniajcej klienta, a wynik przesya z powrotem
do klienta jako warto uwierzytelniajc serwera. Czyni to w sposb zaprezentowany
na rysunku 4.3.

128

Bezpieczestwo w Windows 2000. Czarna ksiga

Rysunek 4.3.
Uwierzytelnianie
wzajemne
(klient-serwer)

Naley zwrci uwag, e serwer nie musi przechowywa klucza sesji, ktrego uywa do
komunikacji z klientem. Klient jest odpowiedzialny za przechowywanie biletu dla serwera
w pamici podrcznej danych uwierzytelniajcych i przedstawianie biletu za kadym razem, gdy chce uzyska dostp do serwera. Kiedy serwer nie potrzebuje ju duej klucza
sesji, moe go odrzuci.
Rwnie klient nie musi zwraca si do Centrum dystrybucji kluczy za kadym razem,
gdy chce uzyska dostp do konkretnego serwera, poniewa bilety sesji mog by wykorzystane ponownie, o ile nie utraciy wanoci. Okres wanoci biletu zaley od zasad protokou Kerberos (Kerberos policy) obowizujcych w danej domenie. Zwykle
bilety s wane 8 godzin. Kiedy uytkownik wylogowuje si z komputera-klienta, pami podrczna danych uwierzytelniajcych jest oprniana, a wszystkie bilety sesji i klucze sesji s niszczone.

Zastosowanie biletu przyznajcego bilet


Dla przykadu przyjmijmy, e Bonnie si loguje. Najpierw klient Kerberos, dziaajcy
na stacji roboczej, zamienia swoje haso na klucz kryptograficzny (cryptographic key),
stosujc jednokierunkow funkcj mieszajc Protok Kerberos korzysta z algorytmu
funkcji mieszajcej DES-CBC-MD5, chocia dopuszcza si stosowanie innych algorytmw. Nastpnie klient Kerberos da biletu sesji i klucza sesji, ktre moe zastosowa
w kolejnych transakcjach pomidzy klientem a Centrum dystrybucji kluczy podczas danej
sesji logowania. Centrum KDC szuka w swojej bazie danych Bonnie i odczytuje z odpowiedniego rekordu bazy danych klucza dugoterminowego Bonnie. Proces ten, czyli
wyznaczanie kopii klucza na podstawie hasa i pobieranie kolejnej kopii klucza z bazy
danych, ma miejsce tylko raz gdy uytkownik loguje si do sieci.
Centrum dystrybucji kluczy odpowiada na danie klienta, zwracajc specjalny rodzaj
biletu sesji, ktry nosi nazw biletu przyznajcego bilet (Ticket Granting Ticket
TGT). Tak, jak zwyky bilet sesji, bilet przyznajcy bilet zawiera kopi klucza sesji,
ktry dana usuga, w tym przypadku Centrum dystrybucji kluczy bdzie stosowa do
komunikacji z klientem. Pakiet, ktry zwraca klientowi bilet przyznajcy bilet, zawiera
take kopi klucza sesji, ktry klient moe stosowa do komunikacji z centrum (KDC).
Bilet przyznajcy bilet jest zaszyfrowany w kluczu dugoterminowym centrum (KDC),
a kopia klienta klucza sesji jest zaszyfrowana w kluczu dugoterminowym uytkownika.
W kolejnych wymianach komunikatw z centrum klient korzysta z klucza sesji. Klucz
kryptograficzny uzyskany na podstawie hasa uytkownika nie jest potrzebny i moe
by odrzucony. Tak, jak inne klucze sesji, klucz ten jest tymczasowy, wany tylko do
czasu utraty wanoci przez bilet przyznajcy bilet lub wylogowania si przez danego
uytkownika. Z tego wzgldu nazywany jest kluczem sesji logowania (logon session key).

Rozdzia 4.

Protokoy zabezpiecze

129

Klient, przed podjciem prby poczenia z usug, szuka w buforze danych uwierzytelniajcych biletu sesji do danej usugi. Jeli takiego biletu nie ma, klient szuka w buforze
danych uwierzytelniajcych bilet przyznajcy bilet. Jeli ten klucz zostanie znaleziony,
klient pobiera z bufora waciwy klucz sesji logowania, uywa go do przygotowania
wartoci uwierzytelniajcej i wysya warto uwierzytelniajc oraz bilet przyznajcy
bilet do Centrum dystrybucji kluczy razem z daniem biletu sesji dla tej usugi. Tak
wic uzyskanie dostpu do centrum nie rni si niczym od uzyskiwania dostpu do pozostaych usug w domenie wymagany jest klucz sesji, warto uwierzytelniajca
i bilet, w tym przypadku jest to bilet przyznajcy bilet.

Podstawowe wiadomoci o podprotokoach


protokou Kerberos
Protok Kerberos skada si z trzech podprotokow:


Authentication Service (AS) Exchange stosowany przez Centrum dystrybucji


kluczy do przydzielania klientowi klucza sesji logowania i biletu przyznajcego
bilet,

Ticket Granting Service (TGS) Exchange stosowany przez centrum do


przydzielania usudze klucza sesji usugi (service session key) i biletu sesji,

Client-Server (CS) Exchange stosowany, gdy klient przedstawia bilet sesji,


aby uzyska dostp do usugi.

Aby zrozumie, w jaki sposb te trzy podprotokoy pracuj razem, zobaczmy w jaki sposb
Bonnie uytkownik stacji roboczej uzyskuje dostp do Clydea usugi sieciowej.

Podprotok Authentication Service Exchange


Wymiana informacji za pomoc podprotokou Authentication Service Exchange przebiega nastpujco:
1. Bonnie loguje si w sieci. Klient Kerberos na stacji roboczej Bonnie zamienia

jej haso na klucz szyfru i zapisuje go w buforze danych uwierzytelniajcych.


2. Klient Kerberos wysya do Centrum dystrybucji kluczy komunikat Kerberos

Authentication Service Request (KRB_AS_REQ). Pierwsza cz tego komunikatu


identyfikuje uytkownika, Bonnie i nazw usugi, dla ktrej da si danych
uwierzytelniajcych usugi wydajcej bilety. Druga cz komunikatu zawiera
dane do uwierzytelniania wstpnego, ktre potwierdzaj, e Bonnie zna haso.
Jest to zwykle znacznik czasu zaszyfrowany za pomoc klucza dugoterminowego
Bonnie.
3. Centrum dystrybucji kluczy odbiera komunikat KRB_AS_REQ.
4. Centrum dystrybucji kluczy wyszukuje w swojej bazie danych uytkownika

o nazwie Bonnie, odczytuje jej klucz dugoterminowy, odszyfrowuje dane do


uwierzytelniania wstpnego i ocenia zawarty w nich znacznik czasu.
Jeli znacznik czasu jest do przyjcia, Centrum dystrybucji kluczy ma pewno,
e dane do uwierzytelniania wstpnego zostay zaszyfrowane za pomoc klucza
dugoterminowego Bonnie i e klient jest autentyczny.

130

Bezpieczestwo w Windows 2000. Czarna ksiga

5. Centrum tworzy dane uwierzytelniajce, ktre klient Kerberos na stacji roboczej

Bonnie moe przedstawi usudze wydawania biletw (Ticket Granting Sernice


TGS):
 tworzy klucz sesji logowania i szyfruje jego kopi za pomoc klucza
dugoterminowego Bonnie,
 umieszcza w bilecie przyznajcym bilet jeszcze jedn kopi klucza sesji
logowania razem z innymi informacjami dotyczcymi Bonnie, takimi jak jej
dane uwierzytelniajce,
 szyfruje bilet przyznajcy bilet za pomoc wasnego klucza dugoterminowego,
 wysya zaszyfrowany klucz sesji logowania i bilet przyznajcy bilet z powrotem
do klienta w komunikacie Kerberos Authentication Service Reply
(KRB_AS_REP).
6. Klient po odebraniu komunikatu korzysta z klucza, uzyskanego na podstawie

hasa Bonnie, do odszyfrowania jej klucza sesji logowania i zapisuje go


w buforze danych uwierzytelniajcych. Nastpnie wyodrbnia z komunikatu bilet
przyznajcy bilet i rwnie zapisuje w tym buforze.
Dziaanie podprotokou Authentication Service Exchange ilustruje rysunek 4.4.
Rysunek 4.4.
Wymiana komunikatw
podprotokou
Authentication
Service (AS)

Podprotok Ticket Granting Service Exchange


Po zakoczeniu wymiany informacji przez usug uwierzytelniania, proces wymiany
komunikatw usugi wydawania biletw przebiega w nastpujcy sposb:
1. Klient Kerberos na stacji roboczej Bonnie da danych uwierzytelniajcych

dla usugi Clyde, wysyajc do Centrum dystrybucji kluczy komunikat Kerberos


Ticket Granting Service Request (KRB_TGS_REQ). Komunikat ten zawiera
nazw uytkownika, warto uwierzytelniajc zaszyfrowan za pomoc klucza
sesji logowania uytkownika, bilet przyznajcy bilet, uzyskany w procesie
wymiany komunikatw usugi uwierzytelniania oraz nazw usugi, dla ktrej
uytkownikowi potrzebny jest bilet.
2. Centrum (KDC) odbiera komunikat KRB_TGS_REQ i odszyfrowuje bilet

przyznajcy bilet za pomoc wasnego klucza tajnego, odczytujc klucz sesji


logowania Bonnie, ktry jest uywany do odszyfrowania wartoci
uwierzytelniajcej.
3. Jeli warto uwierzytelniajca jest poprawna, to Centrum dystrybucji kluczy

odczytuje z biletu przyznajcego bilet dane autoryzacji Bonnie i tworzy


dla klienta (Bonnie) klucz sesji, ktry jest wspdzielony z usug (Clyde).

Rozdzia 4.

Protokoy zabezpiecze

131

4. Centrum (KDC) szyfruje jedn kopi tego klucza sesji za pomoc klucza sesji

logowania Bonnie, umieszcza inn kopi w bilecie razem z danymi autoryzacji


Bonnie i szyfruje ten bilet za pomoc klucza dugoterminowego Clydea.
5. KDC wysya te dane uwierzytelniajce z powrotem do klienta w komunikacie

Kerberos Ticket Granting Service Reply (KRB_TGS_REP).


6. Kiedy klient otrzyma odpowied, korzysta z klucza sesji logowania Bonnie

do odszyfrowania klucza sesji uywanego w przypadku danej usugi i zapisuje


ten klucz w buforze danych uwierzytelniajcych. Nastpnie wyodrbnia bilet
do danej usugi i take zapisuje to w buforze.
Dziaanie podprotokou Ticket Granting Service Exchange ilustruje rysunek 4.5.
Rysunek 4.5.
Komunikaty
podprotokou Ticket
Granting Service
Exchange

Podprotok Client-Server Exchange


Po zakoczeniu wymiany komunikatw usugi wydawania biletw rozpoczyna si procedura wymiany informacji klient-serwer (CS information exchange):
1. Klient Kerberos na stacji roboczej Bonnie da obsugi od Clydea, wysyajc

mu komunikat Kerberos Application Requests (KRB_AP_REQ). Komunikat ten


zawiera warto uwierzytelniajc zaszyfrowan za pomoc klucza sesji danej
usugi, bilet, uzyskany podczas wymiany informacji TGS oraz wstpnie
skonfigurowany znacznik wskazujcy, czy klient wymaga uwierzytelniania
wzajemnego.
2. Clyde odbiera komunikat KRB_AP_REQ, odszyfrowuje bilet i odczytuje dane

autoryzacji Bonnie oraz klucz sesji.


3. Clyde korzysta z klucza sesji do odszyfrowania wartoci uwierzytelniajcej

Bonnie i ocenia zawarty w niej znacznik czasu.


4. Jeli warto uwierzytelniajca jest prawidowa, Clyde szuka w komunikacie

klienta znacznika uwierzytelniania wzajemnego.


5. Jeli znacznik jest ustawiony, usuga korzysta z klucza sesji do zaszyfrowania

czasu zawartego w wartoci uwierzytelniajcej Bonnie, a wynik zwraca


w komunikacie Kerberos Application Reply (KRB_AP_REP).
6. Gdy klient Kerberos na stacji roboczej Bonnie odbiera komunikat

KRB_AP_REP, odszyfrowuje warto uwierzytelniajc Clydea za pomoc


klucza sesji wspdzielonego z Clydem i porwnuje czas przesany przez usug
z czasem zawartym w pierwotnej wartoci uwierzytelniajcej klienta.

132

Bezpieczestwo w Windows 2000. Czarna ksiga

7. Jeli czas jest ten sam, klient wie, e jest to usuga prawidowa i poczenie jest

utrzymane. W trakcie poczenia klucz sesji moe by uyty do szyfrowania


danych aplikacji lub te klient i serwer mog w tym celu wspdzieli inny klucz.
Na rysunku 4.6 przedstawiono proces wymiany komunikatw CS.
Rysunek 4.6.
Wymiana
komunikatw CS

Uwierzytelnianie logowania
Podczas logowania do sieci, w ktrej do uwierzytelniania stosuje si protok Kerberos,
najpierw otrzymuje si bilet przyznajcy bilet, ktry przedstawia si, dajc biletw sesji
dla innych usug w domenie. Podczas logowania do domeny Windows 2000 zawsze konieczny jest przynajmniej jeden bilet sesji bilet do komputera, do ktrego uytkownik
si loguje. Komputery pracujce pod kontrol systemu Windows 2000 maj wasne konta
w domenie, ktre naley traktowa jako konta usug. Uytkownicy interaktywni mog
mie dostp do zasobw w domenie Windows 2000 przez wysyanie dania do usugi
Workstation danego komputera, ale uytkownicy zdalni wysyaj dania do usugi Server tego komputera. Przed uzyskaniem dostpu do ktrejkolwiek z wyej wymienionych usug lub jakiejkolwiek innej usugi, pracujcej jako system lokalny, naley przedstawi bilet sesji dla danego komputera.
Przypumy, e Bonnie ma konto sieciowe w domenie o nazwie Zachd i loguje si do
komputera o nazwie Clyde, ktry rwnie ma konto w domenie Zachd. Bonnie rozpoczyna
od sekwencji Secure Attention Sequence (SAS) Ctrl+Alt+Delete. Usuga WinLogon na
komputerze o nazwie Clyde, przecza si na pulpit logowania i uzyskuje dostp do biblioteki doczanej dynamicznie (DLL) Graphical Identification and Authentication (GINA),
msgina.dll, ktra odpowiada za zbieranie od uytkownikw danych logowania, pakowanie
ich do struktury danych i wysyanie caoci do Lokalnego rda zabezpiecze (Local Security Authority LSA) w celu weryfikacji.
Bonnie wpisuje swoj nazw uytkownika oraz haso i z listy rozwijalnej wybiera domen Zachd. Po naciniciu OK. biblioteka DLL MSGINA zwraca informacje logowania
Bonnie do usugi WinLogon, ktra korzystajc z wywoania API LsaLogonUser
wysya dane do Lokalnego rda zabezpiecze (LSA) w celu sprawdzenia.
Lokalne rdo zabezpiecze (LSA), po otrzymaniu struktury danych z danymi logowania
Bonnie, natychmiast zamienia niezabezpieczone, podane zwykym tekstem, haso na
klucz tajny za pomoc jednokierunkowej funkcji mieszajcej. Wynik zostanie zapisany
w buforze danych uwierzytelniajcych, skd moe by pobrany w razie potrzeby do odnowienia biletu przyznajcego bilet lub uwierzytelniania za pomoc protokou NTLM
w przypadku serwerw, dla ktrych nie mona dokona autoryzacji za pomoc protokou Kerberos.

Rozdzia 4.

Protokoy zabezpiecze

133

Aby sprawdzi informacje logowania Bonnie i ustanowi dla niej sesj logowania na danym komputerze, Lokalne rdo zabezpiecze musi otrzyma bilet przyznajcy bilet,
ktry jest odpowiedni do uzyskania dostpu do usugi przyznajcej bilet oraz bilet sesji
odpowiedni do uzyskania dostpu do komputera. Lokalne rdo zabezpiecze otrzymuje te bilety, korzystajc z usugi Dostawca obsugi zabezpiecze (Security Support
Provider SSP), ktra wymienia komunikaty bezporednio z Centrum dystrybucji kluczy
w domenie Zachd.
Kolejno komunikatw jest nastpujca:
1. Lokalne rdo zabezpiecze (LSA) wysya komunikat KRB_AS_REQ do

Centrum dystrybucji kluczy w domenie Zachd. Komunikat zawiera:


 nazw gwn uytkownika, Bonnie,
 nazw domeny, Zachd,
 dane uwierzytelnienia wstpnego zaszyfrowane za pomoc klucza tajnego
uzyskanego z hasa Bonnie.
2. Jeli dane uwierzytelniania wstpnego s poprawne, wwczas centrum (KDC)

odpowiada komunikatem KRB-AS_REP. Komunikat ten zawiera:


 klucz sesji dla Bonnie, ktry bdzie wspdzielony z Centrum dystrybucji
kluczy, zaszyfrowany za pomoc klucza tajnego, uzyskanego z hasa Bonnie,
 bilet przyznajcy bilet dla Centrum dystrybucji kluczy w domenie Zachd
zaszyfrowany za pomoc klucza tajnego Centrum dystrybucji kluczy.
Bilet przyznajcy bilet zawiera klucz sesji dla centrum (KDC), ktry bdzie
wspdzielony z Bonnie oraz dane autoryzacji dla Bonnie. Dane te zawieraj
identyfikator zabezpiecze (Security Identifier SID) dla konta Bonnie,
identyfikatory zabezpiecze dla grup zabezpiecze w domenie Zachd,
do ktrej naley Bonnie oraz identyfikatory zabezpiecze dla grup uniwersalnych
(universal groups) w przedsibiorstwie, do ktrych naley Bonnie lub jedna z jej
grup domeny.
3. Lokalne rdo zabezpiecze (LSA) wysya do Centrum dystrybucji kluczy

w domenie Zachd komunikat KRB_TGS_REQ. Komunikat ten zawiera:


 nazw komputera docelowego, Clyde,
 nazw domeny komputera docelowego, Zachd,
 bilet przyznajcy bilet Bonnie,
 warto uwierzytelniajc zaszyfrowan za pomoc klucza sesji, ktry Bonnie
wspdzieli z centrum (KDC).
4. Centrum dystrybucji kluczy odpowiada komunikatem KRB_TGS_REP.

Komunikat ten zawiera:


 klucz sesji dla Bonnie, ktry bdzie wspdzielony z Clydem., zaszyfrowany
za pomoc klucza sesji Bonnie, ktry uytkownik ten wspdzieli z Centrum
dystrybucji kluczy,
 bilet sesji Bonnie do komputera o nazwie Clyde, zaszyfrowany za pomoc
klucza tajnego, ktry Clyde wspdzieli z Centrum dystrybucji kluczy. Bilet
sesji zawiera klucz sesji dla komputera o nazwie Clyde, skopiowany z biletu
przyznajcego bilet Bonnie, ktry bdzie wspdzielony z Bonnie oraz dane
autoryzacji.

134

Bezpieczestwo w Windows 2000. Czarna ksiga

Gdy Lokalne rdo zabezpiecze (LSA) otrzymuje bilet sesji Bonnie, odszyfrowuje go
za pomoc klucza tajnego komputera i odczytuje dane autoryzacji Bonnie. Nastpnie
wysya zapytania do lokalnej bazy danych SAM (Security Accounts Manager) aby poszuka, czy Bonnie jest czonkiem lokalnej grupy zabezpiecze na tym komputerze
i czy nadano temu uytkownikowi uprawnienia specjalne na danym komputerze lokalnym.
Kady z identyfikatorw zabezpiecze, zwrcony przez kwerend, jest dodawany do listy
uzyskanej z danych autoryzacji biletu. Caa lista jest nastpnie uywana do budowania
znacznika dostpu, a uchwyt do znacznika dostpu jest zwracane do usugi WinLogon razem z identyfikatorem sesji logowania Bonnie i potwierdzeniem, e informacje logowania
s prawidowe.
WinLogon dla uytkownika o nazwie Bonnie tworzy stacj (window station) i kilka
obiektw pulpitu (desktop objects), docza znacznik dostpu Bonnie i uruchamia powok (shell process), z ktrej Bonnie korzysta przy pracy interaktywnej z komputerem.
Kada aplikacja, ktr Bonnie uruchomi w trakcie swojej sesji logowania, dziedziczy
jej znacznik dostpu.
Naley zwrci uwag, e w trakcie procesu opisanego poprzednio ten sam klucz jest
uywany zarwno do szyfrowania, jak i odszyfrowania. Z tego powodu wsplne klucze
tajne stosowane do logowania za pomoc hasa s symetryczne.

Logowanie za pomoc kart inteligentnych


Do obsugi logowania za pomoc kart inteligentnych w systemie Windows 2000 zaimplementowano rozszerzenie zakresu funkcji wstpnej wymiany komunikatw usugi
uwierzytelniania protokou Kerberos, ktre dotyczy stosowania klucza publicznego.
Kryptografia klucza publicznego jest niesymetryczna, tzn. konieczne s dwa klucze; jeden
do szyfrowania, a drugi do odszyfrowania. Razem klucze te tworz par kluczy prywatnypubliczny. Klucz prywatny jest znany tylko wacicielowi danej pary kluczy i nie jest nigdy wspdzielony. Klucz publiczny moe by znany kademu, z kim waciciel bdzie
wymienia poufne informacje.
Kiedy zamiast hasa stosuje si kart inteligentn para kluczy prywatny-publiczny zapisana na karcie inteligentnej uytkownika zastpuje wspdzielony klucz tajny uzyskany
z hasa uytkownika. W przypadku rozszerzenia protokou Kerberos, dotyczcego klucza
publicznego, wstpna wymiana komunikatw usugi uwierzytelniania jest zmodyfikowana w ten sposb, e Centrum dystrybucji kluczy szyfruje klucz sesji logowania uytkownika za pomoc publicznej czci pary kluczy prywatny-publiczny uytkownika.
Klient odszyfrowuje klucz sesji logowania za pomoc prywatnej poowy pary kluczy
prywatny-publiczny.
Logowanie za pomoc kart inteligentnych przebiega w nastpujcy sposb:
1. Uytkownik wkada kart inteligentn do czytnika kart doczonego do danego

komputera. Jeli komputery z systemem Windows 2000 s skonfigurowane tak,


aby mona byo korzysta z logowania za pomoc kart inteligentnych,
woenie karty jest rwnowane sekwencji Secure Attention Sequence (SAS).
2. WinLogon wysya komunikat do biblioteki DLL o nazwie MSGINA,

ktra wywietla okno dialogowe Informacje logowania.

Rozdzia 4.

Protokoy zabezpiecze

135

3. Uytkownik wpisuje numer PIN (Personal Identification Number).


4. Biblioteka DLL MSGINA wysya informacje logowania uytkownika do

lokalnego rda zabezpiecze, korzystajc z wywoania API LsaLogonUser.


5. Lokalne rdo zabezpiecze (LSA) korzysta z numeru PIN, aby uzyska dostp

do karty inteligentnej, na ktrej zapisany jest klucz prywatny uytkownika


oraz certyfikat X.509v3, zawierajcy publiczn poow z pary kluczy prywatnypubliczny. Wszystkie operacje kryptograficzne korzystajce z tych kluczy maj
miejsce na karcie inteligentnej.
6. Dostawca obsugi zabezpiecze (SSP) Kerberos na komputerze klienta wysya

w komunikacie dania uwierzytelnienia wstpnego, KRB_AS_REQ, certyfikat


z kluczem publicznym uytkownika do Centrum dystrybucji kluczy jako dane
uwierzytelniania wstpnego.
7. Centrum dystrybucji kluczy sprawdza poprawno certyfikatu i odczytuje klucz

publiczny, ktry uywa do szyfrowania klucza sesji logowania. W komunikacie


wysyanym w odpowiedzi do klienta, KRB_AS_REP, zwraca zaszyfrowany klucz
sesji logowania i bilet przyznajcy bilet.
8. Jeli klient posiada prywatn poow z pary kluczy prywatny-publiczny, korzysta

z klucza prywatnego do odszyfrowania klucza sesji logowania.


Nastpnie zarwno klient, jak i Centrum dystrybucji kluczy korzystaj z klucza sesji logowania do wymiany dwustronnej informacji. Nie ma innych odchyle od protokou
standardowego.
Dostawca obsugi zabezpiecze Kerberos (Kerberos SSP), dziaajcy na komputerze
klienta, domylnie wysya dane uwierzytelniania wstpnego do Centrum dystrybucji
kluczy w postaci zaszyfrowanego znacznika czasu. W systemach, w ktrych zastosowano
logowanie za pomoc kart inteligentnych, Dostawca obsugi zabezpiecze Kerberos
wysya dane uwierzytelniania wstpnego w postaci klucza publicznego. W rozdziale 6.
znajduje si dokadniejszy opis kluczy publicznych, a w rozdziale 9. opisano szerzej korzystanie z kart inteligentnych.

Uwierzytelnianie przekraczajce granice domeny


Funkcje Centrum dystrybucji kluczy s podzielone na dwie odmienne usugi: usug
uwierzytelniania, ktra wydaje bilety gwarantujce bilet oraz usug przyznawania biletw (Ticket Granting Service TGS), ktra wydaje bilety sesji. Umoliwia to protokoowi Kerberos przekraczanie granic domen. Klient moe otrzyma bilet przyznajcy
bilet od usugi uwierzytelniania w jednej domenie i uy go do uzyskania biletw sesji od
usugi wydawania biletw z innej domeny.
Po pierwsze rozwamy sie, w ktrej istniej dwie domeny systemu Windows 2000,
Wschd i Zachd. Jeli ustanowiono relacj zaufania, uwierzytelnianie przekraczajce
granice domeny zaimplementowano przez wspdzielenie klucza midzydomenowego
(interdomain key). Usuga przyznawania biletw w kadej z domen jest zarejestrowana
jako obiekt typu security principal z centrami dystrybucji kluczy innych domen i usuga
wydawania biletw w kadej domenie moe traktowa t sam usug w innych domenach jako po prostu jeszcze jedn usug, dla ktrej klienci, uzyskawszy poprawne
uwierzytelnienie, mog da i uzyska bilety sesji.

136

Bezpieczestwo w Windows 2000. Czarna ksiga

Kiedy uytkownik, ktrego konto znajduje si w domenie Wschd chce uzyska dostp
do serwera, ktrego konto znajduje si w domenie Zachd, proces uwierzytelniania
przebiega w nastpujcy sposb:
1. Klient Kerberos na stacji roboczej uytkownika wysya danie biletu sesji

do usugi wydawania biletw w domenie Wschd.


2. Usuga wydawania biletw w domenie Wschd widzi, e podany serwer nie

jest obiektem typu security principal w tej domenie i odpowiada, wysyajc


klientowi bilet referencyjny, tzn. bilet przyznajcy bilet, zaszyfrowany za
pomoc klucza midzydomenowego, ktry Centrum dystrybucji kluczy w domenie
Wschd wspdzieli z Centrum dystrybucji kluczy w domenie Zachd.
3. Klient korzysta z biletu referencyjnego do przygotowania drugiego dania

biletu sesji i tym razem wysya danie do usugi wydawania biletw w domenie
Zachd.
4. Usuga wydawania biletw w domenie Zachd uywa swojej kopii klucza

midzydomenowego do odszyfrowania biletu referencyjnego. Jeli bilet


referencyjny zostanie odszyfrowany prawidowo, usuga wydawania biletw
wysya klientowi bilet sesji do danego serwera w tej domenie.
Tam, gdzie istnieje drzewo domen, klient z jednej domeny moe uzyska bilet do serwera w innej domenie, przechodzc ciek referencyjn przez jedn lub kilka domen
porednich. Przykad przedstawiono na rysunku 4.7.
Rysunek 4.7.
Uwierzytelnianie
poprzez granice domeny

W firmie, w ktrej pracuje Bonnie, jest domena nadrzdna helion.com oraz dwie domeny
podrzdne, wschd.helion.com i zachd.helion.com.
Bonnie loguje si na swoje konto w domenie zachd.helion.com i otrzymuje bilet przyznajcy bilet do Centrum dystrybucji kluczy w tej domenie. Bonnie potrzebny jest dostp
do dokumentw zapisanych w udziale publicznym na serwerze w domenie wschd.
helion.com o nazwie Clyde. Poniewa domena, w ktrej Bonnie ma swoje konto jest inna
ni domena serwera plikw, Dostawca obsugi zabezpiecze (SSP) na stacji roboczej
Bonnie musi dosta bilet przyznajcy bilet dla domeny wschd.helion.com i uy go, by
uzyska bilet dla serwera. Proces referencyjny przebiega w nastpujcy sposb:

Rozdzia 4.

Protokoy zabezpiecze

137

1. Stacja robocza Bonnie wysya komunikat KRB_TGS_REQ do Centrum

dystrybucji kluczy w domenie zachd.helion.com, ktry zawiera:


 nazw komputera docelowego, Clyde,
 nazw domeny, w ktrej znajduje si komputer docelowy, wschd.helion.com,
 bilet przyznajcy bilet, ktry daje dostp do Centrum dystrybucji kluczy
w domenie zachd.helion.com,
 warto uwierzytelniajc zaszyfrowan za pomoc klucza sesji, ktry Bonnie
wspdzieli z wyej wymienionym Centrum dystrybucji kluczy.
2. Centrum dystrybucji kluczy w domenie zachd.helion.com wysya komunikat

KRB_TGS_REP. Komunikat ten zawiera:


klucz sesji, ktry Bonnie bdzie wspdzieli z Centrum dystrybucji kluczy
z domeny nadrzdnej helion.com zaszyfrowany za pomoc klucza sesji
logowania Bonnie,
 bilet przyznajcy bilet, ktry daje dostp do Centrum dystrybucji kluczy
w domenie helion.com zaszyfrowany za pomoc klucza tajnego dla relacji
zaufania pomidzy dwoma domenami helion.com i zachd.helion.com.


3. Stacja robocza Bonnie wysya do Centrum dystrybucji kluczy w domenie

helion.com komunikat KRB_TGS_REQ, ktry zawiera:


nazw komputera docelowego, Clyde,
 nazw domeny, w ktrej znajduje si komputer docelowy, wschd.helion.com,
 bilet przyznajcy bilet, ktry daje dostp do Centrum dystrybucji kluczy
w domenie helion.com,
 warto uwierzytelniajc zaszyfrowan za pomoc klucza sesji, ktry Bonnie
wspdzieli z wyej wymienionym Centrum dystrybucji kluczy.


4. Centrum dystrybucji kluczy w domenie helion.com wysya komunikat

KRB_TGS_REP. Komunikat ten zawiera:


 bilet przyznajcy bilet, ktry daje dostp do centrum w domenie
wschd.helion.com, zaszyfrowany za pomoc klucza tajnego dla relacji
zaufania pomidzy dwoma domenami,
 klucz sesji dla Bonnie, ktry bdzie wspdzielony z wymienionym wyej
Centrum dystrybucji kluczy zaszyfrowany za pomoc klucza sesji, ktry Bonnie
wspdzieli z Centrum dystrybucji kluczy w domenie helion.com.
5. Stacja robocza Bonnie wysya do Centrum dystrybucji kluczy w domenie

Wschd.helion.com komunikat KRB_TGS_REQ. Komunikat ten zawiera:


 nazw komputera docelowego, Clyde,
 nazw domeny, w ktrej znajduje si komputer docelowy, wschd.helion.com,
 bilet przyznajcy bilet, ktry daje dostp do Centrum dystrybucji kluczy
w domenie wschd.helion.com,
 warto uwierzytelniajc zaszyfrowan za pomoc klucza sesji, ktry Bonnie
wspdzieli z wymienionym wyej Centrum dystrybucji kluczy.

138

Bezpieczestwo w Windows 2000. Czarna ksiga

6. Centrum dystrybucji kluczy w domenie wschd.helion.com wysya komunikat

KRB_TGS_REP, ktry zawiera:


 klucz sesji dla Bonnie, ktry bdzie wspdzieli z komputerem o nazwie
Clyde, zaszyfrowany za pomoc klucza sesji wspdzielonego przez Bonnie
z Centrum dystrybucji kluczy w domenie wschd.helion.com,
 bilet sesji, ktry daje dostp do komputera o nazwie Clyde, zaszyfrowany za
pomoc klucza tajnego, wspdzielonego przez Clydea z Centrum dystrybucji
kluczy. Bilet sesji zawiera klucz sesji, ktry komputer o nazwie Clyde bdzie
wspdzieli z Bonnie, dane autoryzacji, skopiowane z biletu przyznajcego
bilet Bonnie oraz dane dla domeny lokalnej wschd.helion.com.
Dane autoryzacji zawieraj identyfikator zabezpiecze konta Bonnie,
identyfikatory zabezpiecze dla grup w domenie zachd.helion.com, ktrych
czonkiem jest Bonnie, identyfikatory zabezpiecze grup uniwersalnych,
ktrych czonkiem jest Bonnie lub jedna z grup, w ktrej jest czonkiem,
z domeny zachd.helion.com oraz identyfikatory zabezpiecze dla grup
w domenie wschd.helion.com, ktrych czonkiem jest Bonnie, jedna z jej
grup z domeny zachd.helion.com lub jedna z jej grup uniwersalnych.
7. Stacja robocza Bonnie wysya do komputera Clyde komunikat KRB_AP_REQ.

Komunikat ten zawiera:


 nazw gwn uytkownika, Bonnie,
 bilet do komputera o nazwie Clyde,
 warto uwierzytelniajc zaszyfrowany za pomoc klucza sesji, ktry Bonnie
wspdzieli z komputerem o nazwie Clyde.
8. Komputer Clyde odpowiada komunikatem KRB_AP_REP, ktry zawiera warto

uwierzytelniajc zaszyfrowany za pomoc klucza sesji, ktry Clyde wspdzieli


z Bonnie.

Analiza biletw protokou Kerberos


Co zawieraj bilety protokou Kerberos? W jaki sposb oblicza si czas wyganicia
(expiration time)? Jak du cz zawartoci biletu jest znana klientowi? Odpowiedzi na
te pytania s wane, jeli bierze si pod uwag sposb konfigurowania zasad protokou
Kerberos.

Zawarto+ biletu
W tej czci rozdziau wymieniono pola biletu i opisano krtko, jakie informacje zwieraj. Dokadne struktury danych biletw, jak rwnie komunikatw mona znale
w dokumencie RFC 1510 (The Kerberos Network Authentication Service (V5)) z wrzenia 1993, ktrego autorami s: J. Kohl i C. Neumann. W tabeli 4.1. zamieszczono
pierwsze trzy pola biletu. Nie s one zaszyfrowane; informacje zapisane s w postaci
zwykego tekstu, wic klient moe je wykorzysta do zarzdzania biletami znajdujcymi si w buforze.

Rozdzia 4.

Protokoy zabezpiecze

139

Tabela 4.1. Pola biletu zawierajce dane zapisane zwykym tekstem


Nazwa pola

Opis

Tkt-vno

Numer wersji formatu biletu. W przypadku protokou Kerberos 5 w polu tym zapisana
jest 5

Realm

Nazwa obszaru (realm) domeny, w ktrej wydano dany bilet. Centrum dystrybucji
kluczy moe wydawa bilety tylko dla serwerw we wasnym obszarze, wic jest to
take nazwa obszaru serwera

Sname

Nazwa serwera

Pozostae pola s zaszyfrowane za pomoc klucza tajnego serwera. Pola te przedstawiono


w tabeli 4.2.
Tabela 4.2. Zaszyfrowane pola biletu
Nazwa pola

Opis

Flags

Opcje biletu

Key

Klucz sesji

Crealm

Nazwa obszaru (domeny) klienta

Cname

Nazwa klienta

Transited

Lista obszarw protokou Kerberos biorcych udzia w uwierzytelnianiu klienta,


ktremu wydano dany bilet

Authtime

Czas pierwszego uwierzytelniania przez klienta. Centrum dystrybucji kluczy


umieszcza w tym znacznik czasu, gdy wyda bilet przyznajcy bilet. Kiedy Centrum
dystrybucji kluczy wydaje bilety na podstawie biletu przyznajcego bilet , zapisuje
kopi czasu pierwszego uwierzytelnienia biletu przyznajcego bilet w polu Authtime
w bilecie

Starttime

Czas, po ktrym bilet jest wany

Endtime

Data wanoci biletu

Renew-till

Maksymalny okres wanoci, ktry mona ustawi w bilecie za pomoc znacznika


RENEW-ABLE. (opcjonalnie)

Caddr

Jeden lub kilka adresw, z ktrych danych bilet moe by wykorzystany.


Jeli pole jest wolne, bilet moe by uyty z dowolnego adresu (opcjonalnie)

Authorizationdata

Atrybuty uprawnie dla klienta. Protok Kerberos nie interpretuje zawartoci tego
pola. Interpretacja jest dokonywana przez usug (opcjonalnie)

Pole Flags jest polem bitowym, w ktrym opcje konfiguruje si, ustawiajc lub zerujc
poszczeglne bity. Chocia pole to ma dugo 32 bitw, tylko kilka znacznikw biletu
jest interesujcych. Przedstawiono je w tabeli 4.3.
Klienci powinny zna niektre informacje znajdujce si w biletach i biletach przyznajcych bilet, aby zarzdza swoim buforem danych uwierzytelniajcych. Centrum dystrybucji kluczy, zwracajc bilet i klucz sesji jako wynik wymiany komunikatw usugi
uwierzytelniania lub usugi przyznawania biletw, umieszcza kopi klucza sesji klienta
w strukturze danych, ktra zawiera informacje w polach biletu Flags, Authtime, Starttime,
Endtime i Renew-till. Caa struktura jest zaszyfrowana w kluczu klienta i zwracana za
pomoc komunikatw KRB_AS_REP i KRB_TGS_REP.

140

Bezpieczestwo w Windows 2000. Czarna ksiga

Tabela 4.3. Pole Flags biletu


Nazwa znacznika

Opis

FORWARDABLE

Informuje usug przyznawania biletw, e moe wyda nowy bilet przyznajcy


bilet z innym adresem sieciowym na podstawie przedstawionego biletu
przyznajcego bilet (tylko w przypadku biletu przyznajcego bilet)

FORWARDED

Wskazuje, e bilet przyznajcy bilet zosta przekazany dalej lub, e dany bilet
zosta wydany z przekazanego dalej biletu przyznajcego bilet

PROXIABLE

Informuje usug przyznawania biletw, e moe wydawa bilety z innymi


adresem sieciowym ni ten, ktry znajduje si w danym bilecie przyznajcym bilet
(tylko w przypadku biletu przyznajcego bilet)

PROXY

Wskazuje, e adres sieciowy w bilecie jest inny ni adres w bilecie przyznajcym


bilet uytym do uzyskania danego biletu

RENEWABLE

Uywany w kombinacji z polami Endtime i Renew-till, aby bilety z dugim


okresem wanoci byy odwieane okresowo w Centrum dystrybucji kluczy

INITIAL

Wskazuje, e jest to bilet przyznajcy bilet (tylko w przypadku biletu


przyznajcego bilet)

Ograniczanie czasu .ycia biletu


Bilety protokou Kerberos maj okrelony czas pocztkowy i czas wanoci. W okresie
wanoci biletu klient, ktry otrzyma ten bilet do realizacji pewnej usugi, moe go przedstawi i uzyska dostp do tej usugi, bez wzgldu na to, ile razy korzysta wczeniej
z danego biletu. Aby ograniczy zagroenia dla bezpieczestwa biletu lub odpowiadajcemu mu klucza sesji, administratorzy mog ustawi maksymalny czas ycia biletw.
Kiedy klient da od Centrum dystrybucji kluczy biletu do jakiej usugi, moe da
okrelonego czasu pocztkowego. Jeli danie nie zawiera tego czasu lub on min,
Centrum dystrybucji kluczy wpisuje czas aktualny w polu Starttime biletu.
Niezalenie od tego, czy klienci podaj czasy pocztkowe ich dania musz zawiera
wymagany czas wanoci. Centrum dystrybucji kluczy ustala warto zapisan w polu
Endtime danego biletu, dodajc maksymaln warto okresu wanoci biletu, podan
w zasadach protokou Kerberos, do wartoci zapisanej w polu Starttime tego biletu a nastpnie porwnuje wynik z wymaganym czasem wanoci biletu. Zostanie ten czas, ktry
jest wczeniejszy.
Centrum dystrybucji kluczy nie powiadamia klientw, kiedy koczy si okres wanoci
biletw sesji lub biletw przyznajcych bilet. Jeli klient, dajc poczenia z serwerem, przedstawia bilet sesji, ktry utraci wano, to serwer odsya komunikat o bdzie
i klient musi uzyska nowy bilet sesji z Centrum dystrybucji kluczy. Jednak jeli poczenie zostao uwierzytelnione, to nie ma znaczenia czy bilet sesji traci wano w tej
sesji. Bilety sesji uywane s tylko do uwierzytelniania nowych pocze z serwerem
i operacje w toku nie s przerywane w przypadku utraty wanoci biletu sesji.
W przypadku, gdy klient, dajc od Centrum dystrybucji kluczy biletu sesji, przedstawi
bilet przyznajcy bilet, ktry utraci wano, wwczas centrum (KDC) odpowiada komunikatem o bdzie. Klient musi zada nowego biletu przyznajcego bilet , jak i potrzebny mu bdzie klucz dugoterminowy uytkownika. Jeli podczas wstpnego logowania klient nie zapisa tego klucza w buforze, to moe zada hasa uytkownika.

Rozdzia 4.

Protokoy zabezpiecze

141

Odnawialne bilety protokou Kerberos


Jednym ze sposobw obrony przeciwko atakom na klucze sesji jest takie ustanowienie zasad protokou Kerberos, aby maksymalny okres wanoci biletu by stosunkowo
krtki. Innym ze sposobw obrony jest umoliwienie stosowania biletw odnawialnych.
Gdy bilety s odnawialne, to klucze sesji s odwieane okresowo bez wydawania zupenie nowego biletu. Jeli zasady protokou Kerberos zezwalaj na stosowanie biletw
odnawialnych, to Centrum dystrybucji kluczy ustawia znacznik RENEWABLE w kadym bilecie, ktry wydaje i ustawia w nim dwa czasy wanoci. Pierwszy czas ogranicza okres wanoci biecej postaci danego biletu, a drugi ogranicza czny okres wanoci wszystkich postaci danego biletu.
Czas wanoci biecej postaci danego biletu jest zapisany w polu Endtime. Klient, ktry
ma bilet odnawialny musi wysa go do Centrum dystrybucji kluczy, aby zosta odnowiony, zanim osignity zostanie czas zapisany w polu Endtime, przedstawiajc take
now warto uwierzytelniajc. Kiedy centrum otrzyma bilet do odnowienia, sprawdza
drugi, czny czas wanoci zapisany w polu Renew-till i upewnia si, czy ten czas ju nie
upyn. Nastpnie wydaje now posta biletu z pniejszym czasem wanoci Endtime
i nowym kluczem sesji. Oznacza to, e administrator moe ustali zasady protokou Kerberos, tak aby bilety musiay by odnawiane w stosunkowo krtkich okresach czasu, poniewa w takich sytuacjach wydawany jest nowy klucz sesji, co minimalizuje straty, ktre
mogyby powsta w wyniku zagroe bezpieczestwa klucza. Administratorzy mog
rwnie poda stosunkowo dugi czny czas wanoci biletu, po upywie ktrego bilet
traci ostatecznie wano i nie podlega odnowieniu.

Delegowanie uwierzytelniania
W wielowarstwowych aplikacjach klient-serwer, klient czy si z serwerem, ktry z kolei
musi poczy si z drugim, wewntrznym serwerem. Aby do tego doszo, pierwszy
serwer musi mie bilet do drugiego. Byoby doskonale, gdyby bilet ogranicza prawo
dostpu pierwszego serwera do drugiego w sytuacjach, w ktrych klient, a nie pierwszy
serwer, jest upowaniony.
W protokole Kerberos rozwizano ten problem za pomoc mechanizmu zwanego Delegowaniem uwierzytelniania (Delegation of Authentication), ktry polega na delegowaniu
przez klienta uwierzytelnienia do serwera poprzez poinformowanie Centrum dystrybucji
kluczy, e serwer jest uprawniony do reprezentowania tego klienta. Jest to idea podobna
do personifikacji wystpujcej w systemie Windows 2000.
Delegowania mona dokona na dwa sposoby:


bilety porednie (proxy tickets) klient otrzymuje bilet dla serwera wewntrznego,
a nastpnie przekazuje go do serwera zewntrznego. Trudno stosowania tego
sposobu polega na tym, e klient musi zna nazw serwera wewntrznego,

bilety przekazywane (forwarded tickets) klient daje serwerowi zewntrznemu


bilet przyznajcy bilet, ktry serwer moe w razie potrzeby uywa do dania
biletw.

Zasady protokou Kerberos domeny mog korzysta tylko z jednej z tych metod.

142

Bezpieczestwo w Windows 2000. Czarna ksiga

Bilety po+rednie
Kiedy Centrum dystrybucji kluczy wydaje klientowi bilet przyznajcy bilet, sprawdza,
czy zasady protokou Kerberos dopuszczaj uywanie biletw. Jeli tak jest, Centrum
dystrybucji kluczy ustawia znacznik PROXIABLE w wydanym danemu klientowi bilecie gwarantujcym bilet.
Klient uzyskuje bilet poredni, przedstawiajc bilet przyznajcy bilet usudze przyznawania biletw i dajc biletu do serwera wewntrznego. danie wysane przez klienta
zawiera znacznik, ktry sygnalizuje, e konieczny jest bilet poredni, a take nazw
serwera, ktry bdzie reprezentowa tego klienta. Kiedy centrum (KDC) otrzymuje danie klienta, tworzy bilet dla serwera wewntrznego, ustawia w tym bilecie znacznik
PROXY i wysya z powrotem do klienta. Nastpnie klient wysya bilet do serwera zewntrznego, ktry korzysta z tego biletu, aby uzyska dostp do serwera wewntrznego.

Bilety przekazywane
Jeli klient chce delegowa do serwera zewntrznego zadanie uzyskiwania biletw dla
serwera wewntrznego, to da od Centrum dystrybucji kluczy przekazywalnego biletu
przyznajcego bilet. Klient robi to za pomoc komunikatu dania podprotokou Authentication Service Exchange, wskazujc Centrum dystrybucji kluczy nazw serwera,
ktry bdzie dziaa w jego imieniu. Jeli zasady protokou Kerberos zezwalaj na przekazywanie, to Centrum dystrybucji kluczy tworzy bilet przyznajcy bilet dla serwera
zewntrznego, ktry jest uywany w imieniu klienta, ustawia znacznik FORWARDABLE i wysya bilet przyznajcy bilet z powrotem do klienta. Nastpnie klient przekazuje
ten bilet do serwera zewntrznego.
Serwer zewntrzny, dajc biletu do serwera wewntrznego przedstawia Centrum dystrybucji kluczy bilet przyznajcy bilet klienta. Centrum, wydajc bilet, sprawdza znacznik FORWARDABLE w tym bilecie przyznajcym bilet, ustawia w wydawanym bilecie
znacznik FORWARDED i zwraca bilet do serwera zewntrznego.

Konfigurowanie zasad protokou Kerberos domeny


W systemie Windows 2000 zasady protokou Kerberos s okrelane na poziomie domeny
i wprowadzane w ycie przez Centrum dystrybucji kluczy danej domeny. Zasady protokou Kerberos s zapisane w Active Directory jako podzbir atrybutw zasad zabezpiecze
domeny. Domylnie zasady mog by konfigurowane tylko przez administratorw domeny.
Do ustawie zasad protokou Kerberos mona uzyska dostp: edytujc obiekt zasad grup
Zasady domeny (Domain Policies), rozwijajc gazie Konfiguracja komputera (Computer
Configuration), Ustawienia systemu Windows (Windows Settings), Ustawienia zabezpiecze (Security Settings) i Zasady konta (account policies), a nastpnie wybierajc pozycj
Zasady protokou Kerberos (Kerberos Policies), jak przedstawiono to na rysunku 4.8.
Zasady protokou Kerberos obejmuj nastpujce ustawienia:


Wymuszaj ograniczenia logowania uytkownikw (Enforce user logon restrictions)


jeli ta opcja jest ustawiona, to Centrum dystrybucji kluczy zatwierdza kade
danie biletu sesji sprawdzajc zasady praw uytkownika na komputerze

Rozdzia 4.

Protokoy zabezpiecze

143

Rysunek 4.8.
Ustawienia zasad
protokou Kerberos
domeny

docelowym, aby potwierdzi, e uytkownik ma prawo albo do logowania


lokalnego, albo do dostpu poprzez sie. Weryfikacja jest opcjonalna, poniewa
dodatkowy etap jest czasochonny i moe spowolni dostp sieciowy do usug.
Domylnie ustawione jest Wczony (Enabled),


Maksymalny okres istnienia biletu usugi (Maximum lifetime for service ticket)
okrelenie bilet usugi oznacza bilet sesji. Okres wanoci podany jest
w minutach i musi by duszy ni 10 minut i mniejszy lub rwny wartoci
Maksymalny czas istnienia biletu uytkownika. Domyln wartoci jest 600
minut (10 godzin),
Maksymalny czas istnienia biletu uytkownika (Maximum lifetime for user ticket)
okrelenie bilet uytkownika oznacza bilet przyznajcy bilet. Warto podana
jest w godzinach (domyln wartoci jest 10 godzin),

Maksymalny czas istnienia odnowienia biletu uytkownika (Maximum lifetime


for user ticket renewal) warto podana jest w dniach (domylnie jest to 7 dni),

Maksymalna tolerancja synchronizacji zegara komputerowego (Maximum


tolerance for computer clock synchronization) warto podana jest w minutach
(domylnie 5 minut).

Dostawca obsugi zabezpiecze1 Kerberos


Dostawca obsugi zabezpiecze (Security Support Provider SSP) by wspominany
w niniejszym rozdziale kilkakrotnie, ale bez szczegowych wyjanie. Dostawca obsugi
zabezpiecze jest to biblioteka DLL dostarczana z systemem operacyjnym, ktra jest
implementacj protokou zabezpiecze Kerberos. System Windows 2000 zawiera take
dostawc obsugi zabezpiecze (SSP) dla uwierzytelniania za pomoc protokou NTLM.
Obydwie biblioteki s domylnie pobierane podczas rozruchu systemu przez Lokalne
rdo zabezpiecze (LSA), pracujc na komputerze z systemem Windows 2000. Kady

144

Bezpieczestwo w Windows 2000. Czarna ksiga

z dostawcw moe by uyty do uwierzytelniania logowania sieciowego i pocze


klient-serwer. To, ktry zostanie zastosowany, zaley od moliwoci komputera po drugiej stronie poczenia. Jako pierwszy wybierany jest dostawca zabezpiecze Kerberos.
Po tym, jak Lokalne rdo zabezpiecze ustanowi kontekst zabezpiecze dla uytkownika interaktywnego, proces obsugi podpisywania i piecztowania komunikatw, dziaajcy w kontekcie zabezpiecze uytkownika, moe zaadowa kolejn kopi) Dostawcy
obsugi zabezpiecze Kerberos.
Usugi systemowe i aplikacje warstwy transportowej maj dostp do dostawcw obsugi
zabezpiecze za pomoc Interfejsu Dostawcy obsugi zabezpiecze (Security Support
Provider Interface SSPI). Jest to interfejs Win32, ktry suy do wyliczania dostawcw dostpnych w systemie, wyboru jednego z nich i uycia go w celu uzyskania poczenia uwierzytelnionego. Interfejs SSPI omwiono poniej.

Zastosowanie interfejsu dostawcy obsugi zabezpiecze#


Interfejs Dostawcy obsugi zabezpiecze (SSPI) jest interfejsem Win32 pomidzy aplikacjami warstwy transportowej a dostawcami zabezpiecze sieciowych. Integruje on
uwierzytelnianie, spjno i poufno komunikatw z aplikacjami rozproszonymi. Szkielet aplikacji modelu obiektowego skadnikw rozproszonych (DCOM) i uwierzytelnione,
zdalne wywoania procedur (authenticated Remote Procedure Calls) korzystaj z usug
Interfejsu Dostawcy obsugi zabezpiecze interfejsw wyszego poziomu. Usugi zabezpiecze interfejsu SSPI s rwnie zintegrowane z interfejsami poziomu aplikacji takimi jak WinSock 2.0 i WinInet.
Na rysunku 4.9 przedstawiono miejsce usug zabezpiecze interfejsu SSPI w caej strukturze aplikacji rozproszonej.
Rysunek 4.9.
Interfejs dostawcy
obsugi zabezpiecze
i model bezpieczestwa
systemu Windows

Interfejs Dostawcy obsugi zabezpiecze stanowi warstw abstrakcji pomidzy protokoami poziomu aplikacji a protokoami zabezpiecze. Usugi tego interfejsu SSPI mog
by uywane w rny sposob:

Rozdzia 4.

Protokoy zabezpiecze

145

1. Tradycyjne aplikacje oparte na gniazdach (socket based applications) mog

wywoywa procedury Interfejsu Dostawcy obsugi zabezpiecze bezporednio


i zastosowa protok aplikacji, ktry przekazuje dane dotyczce bezpieczestwa
Interfejsu Dostawcy obsugi zabezpiecze za pomoc komunikatw dania
i odpowiedzi.
2. Aplikacje mog korzysta z modelu DCOM do wywoywania opcji zabezpiecze,

ktre zaimplementowano za pomoc uwierzytelnionych zdalnych wywoa


procedur i Interfejsu Dostawcy obsugi zabezpiecze na niszych poziomach.
Aplikacje nie wywouj bezporednio tego interfejsu.
3. WinSock 2.0 rozszerza interfejs gniazd systemu Windows (Windows Sockets

interface), aby umoliwi usugodawcom transportu ujawnienie funkcji


zabezpiecze. Takie podejcie integruje Interfejs Dostawcy obsugi zabezpiecze
ze stosem sieciowym i stanowi wsplny interfejs dla usug zabezpiecze
i transportowych.
4. WinInet jest interfejsem protokou aplikacji, ktry jest przeznaczony do obsugi

zabezpieczonych protokow internetowych, takich jak Secure Socket Layer (SSL).


Obsuga zabezpiecze WinInet stosuje Interfejs Dostawcy obsugi zabezpiecze
do dostawcy zabezpiecze bezpiecznego kanau.
Jzyki skryptowe, takie jak VBscript czy JScript zezwalaj programistom na dostp do
Interfejsu Dostawcy obsugi zabezpiecze. O ile tworzenie aplikacji wykracza poza zakres niniejszej ksiki, to administrator zabezpiecze powinien mimo wszystko wiedzie
o strukturze interfejsu dostawcy obsugi zabezpiecze i jego miejscu w architekturze
systemu Windows 2000.
Interfejs Dostawcy obsugi zabezpiecze stanowi wsplny interfejs pomidzy aplikacjami
warstwy transportowej, takimi jak Microsoft RPC lub program przeadresowujcy systemu plikw oraz dostawcami zabezpiecze. Dostarcza rwnie mechanizmy, za pomoc
ktrych aplikacje rozproszone mog wywoywa jednego z wielu usugodawcw zabezpiecze, aby uzyska poczenie uwierzytelnione, bez znajomoci szczegw protokou zabezpiecze.
Interfejs Dostawcy obsugi zabezpiecze skada si z czterech rodzajw interfejsw:
1. Interfejsy do zarzdzania danymi uwierzytelniajcymi (Credential management

interfaces) umoliwiaj uzyskanie dostpu do danych uwierzytelniajcych


dane, hasa, bilety, itd. lub zwolnienie tego dostpu. Dostpne s nastpujce
metody:
 AcquireCredentialsHandle uzyskuje uchwyt do wskazanych danych
uwierzytelniajcych,
 FreeCredentialsHandle zwalnia uchwyt do danych uwierzytelniajcych
i zwizane z tym zasoby,
 QueryCredentialsAttributes umoliwiaj wysyanie zapyta dotyczcych
rnych atrybutw danych uwierzytelniajcych, takich jak skojarzona nazwa,
nazwa domeny, itd.

146

Bezpieczestwo w Windows 2000. Czarna ksiga

2. Interfejsy do zarzdzania kontekstem (Context management interfaces)

dostarczaj metody do tworzenia i stosowania kontekstw zabezpiecze.


Konteksty te s tworzone zarwno po stronie klienta, jak i serwera poczenia
komunikacyjnego i mog by uywane pniej z interfejsami obsugi komunikatw.
Dostpne s nastpujce metody:
 InitializeSecurityContext inicjuje kontekst zabezpiecze, generujc
komunikat nieprzejrzysty (opaque message) znacznik zabezpiecze
ktry moe by przekazany do serwera,
 AcceptSecurityContext tworzy kontekst zabezpiecze, za pomoc komunikatu
nieprzejrzystego otrzymanego od klienta,
 DeleteSecurityContext zwalnia kontekst zabezpiecze i zwizane z nim
zasoby,
 QueryContextAttributes pozwala na wysyanie zapyta dotyczcych
rnych atrybutw kontekstu,
 ApplyControlToken wprowadza dodatkowe komunikaty zabezpiecze
do istniejcego kontekstu zabezpiecze,
 CompleteAuthToken uzupenia znacznik uwierzytelnienia. Jest to konieczne,
poniewa w przypadku niektrych protokow, takich jak Distributed
Computing Environment Remote Procedure Call (DCE RPC), konieczne jest
przejrzenie informacji o zabezpieczeniach, gdy tylko transport uaktualni
okrelone pola komunikatu,
 ImpersonateSecurityContext docza kontekst zabezpiecze klienta
do wywoywanego wtku jako znacznik personifikacji,
 RevertSecurityContext przerywa personifikacj i przywraca wywoywanemu
wtkowi znacznik pierwotny.
3. Interfejsy obsugi komunikatw (Message support interfaces) zawieraj usugi

zapewniajce spjno i poufno komunikacji, ktre s oparte na kontekcie


zabezpiecze. Dostpne s nastpujce metody:
 MakeSignature generuje podpis zabezpieczony na podstawie komunikatu
i kontekstu zabezpiecze,
 VerifySignature sprawdza, czy podpis jest zgodny z odebranym komunikatem.
4. Interfejsy do zarzdzania pakietami (Package- management interfaces)

zawieraj usugi dla rnych pakietw zabezpiecze obsugiwanych


przez dostawc zabezpiecze. Dostpne s nastpujce metody:
 EnumerateSecurityPackages przedstawia list dostpnych pakietw
zabezpiecze i ich moliwoci,
 QuerySecurityPackageInfo wysya do pojedynczych pakietw zabezpiecze
zapytania dotyczce ich moliwoci.
Dostawca zabezpiecze to biblioteka DLL, ktra jest implementacj interfejsu dostawcy
obsugi zabezpiecze i udostpnia aplikacjom jeden lub kilka pakietw zabezpiecze.
Pakiet zabezpiecze SSP przyporzdkowuje funkcje interfejsu SSPI implementacji
protokou zabezpiecze, waciwej dla danego pakietu, takiego jak NTLM, Kerberos czy
SSL. Na etapie inicjalizacji identyfikacji okrelonego pakietu uywana jest nazwa pakietu zabezpiecze.

Rozdzia 4.

Protokoy zabezpiecze

147

Interfejs SSPI pozwala aplikacji na uywanie dowolnego, dostpnego w systemie pakietu zabezpiecze, bez zmiany interfejsu do korzystania z usug zabezpiecze. Ponadto
nie ustanawia danych uwierzytelniajcych logowania, poniewa zazwyczaj jest to operacja uprzywilejowana, przeprowadzana przez system operacyjny.
Aplikacja moe uy funkcji zarzdzania pakietami do prezentowania listy dostpnych
pakietw zabezpiecze i wybrania tego, ktry jest potrzebny. Nastpnie aplikacja korzysta
z funkcji do zarzdzania danymi uwierzytelniajcymi, aby uzyska uchwyt do danych
uwierzytelniajcych uytkownika, w ktrego imieniu dziaa. Majc to dojcie, aplikacja
moe skorzysta z funkcji do zarzdzania kontekstem, aby utworzy kontekst zabezpiecze
usugi. Kontekst zabezpiecze jest to struktura danych nieprzejrzystych zawierajca dane
o zabezpieczeniach odpowiednich dla poczenia, takiego jak klucz sesji, czas trwania sesji,
itd. Ostatecznie aplikacja korzysta z kontekstu zabezpiecze z funkcjami obsugi komunikatw dla zapewnienia integralnoci i poufnoci komunikacji podczas trwania poczenia.

Mo.liwo+ci pakietw zabezpiecze1


Moliwoci pakietu zabezpiecze okrelaj, jakie usugi dostarcza on danej aplikacji. Obejmuj one, np. obsug uwierzytelniania klienta uwierzytelnianie wzajemne lub obsug
spjnoci komunikatw oraz ich poufnoci. Dodatkowo niektre pakiety s przeznaczone
do korzystania tylko z niezawodnych protokow transportowych, a nie z transportw
datagramowych.
Moliwoci pakietw zabezpiecze, dostpne w okrelonym pakiecie, mona uzyska
za pomoc funkcji QuerySecurityPackageInfo. Ponisza lista przedstawia moliwoci
pakietw zabezpiecze.
1. Moliwoci zwizane z uwierzytelnianiem:




uwierzytelnianie wycznie klienta,


wymagane uwierzytelnianie wieloetapowe,
obsuga personifikacji w systemie Windows.

2. Moliwoci zwizane z transportem:






transport z wykorzystaniem datagramw,


transporty poczeniowe,
semantyka poczenia strumienia danych.

3. Moliwoci zwizane z komunikatami:





obsuga integralnoci komunikatw,


obsuga poufnoci komunikatw.

W wikszoci przypadkw aplikacje wybieraj pakiety zabezpiecze na podstawie rodzaju dostpnych moliwoci zabezpiecze, ktre zaspokajaj potrzeby danej aplikacji.
Powysze informacje na temat interfejsu SSPI daj jego peny obraz, bez wnikania
w szczegy programowania. Wicej wiadomoci na ten temat mona znale w dokumentacji systemu Windows 2000: Books OnLine oraz Technet. Jeli kto chce sprbowa
samodzielnego programowania, najpierw niech zapozna si z przykadami zamieszczonymi w Windows 2000 Software Development Kit (SDK).

You might also like