kerberos.mit.edu).

Transkrypt

kerberos.mit.edu).
Wykład 4
135
Uwierzytelnianie jako element procesu
projektowania bezpieczeństwa
• Microsoft w Windows 2003 Server położył szczególny
nacisk na bezpieczeństwo, które w najnowszej wersji
Windows było najważniejszym celem, jaki przyświecał
projektantom i programistom tego systemu;
• Wysoki stopień bezpieczeństwa został osiągnięty na
wiele sposobów. Oprócz zmian w samej konstrukcji
systemu (przebudowanych zostało wiele składników w
Windows), zmieniono np:„domyślny” poziom
bezpieczeństwa, ustawiany w momencie instalowania
systemu operacyjnego.
136
Uwierzytelnianie jako element procesu
projektowania bezpieczeństwa
Autoryzacja jest procesem weryfikacji obiektu – czy
rzeczywiście jest tym, za kogo się podaje.
Najpowszechniejszym przykładem autoryzacji jest
logowanie się użytkownika do systemu. W najprostszym
przypadku – podaje swój identyfikator oraz hasło.
Windows 2003/2008/8 Server obsługują mechanizmy
smart card oraz inne mechanizmy przekazywania
informacji do autoryzacji.
137
Uwierzytelnianie jako element procesu
projektowania bezpieczeństwa
• W Windows 2000+ dostępnych jest wiele
różnych protokołów uwierzytelniających;
• Niektóre z nich przeznaczone są np. tylko dla
aplikacji WWW i służą np. ochronie poufności
informacji umieszczanych na stronach interlub intranetowych;
• Istnieją równie takie służą do logowania się
do Windows 2003 Server i np. pozwalają
przeglądać zasoby sieciowe Active Directory.
138
Uwierzytelnianie jednokierunkowe
139
Praca dyplomowa pt: „Centralne systemy zarządzania zasobami i uwierzytelniania”, Przemysław Jagieła, 2010
Uwierzytelnianie dwukierunkowe
140
Praca dyplomowa pt: „Centralne systemy zarządzania zasobami i uwierzytelniania”, Przemysław Jagieła, 2010
Uwierzytelnianie z pośrednikiem
141
Praca dyplomowa pt: „Centralne systemy zarządzania zasobami i uwierzytelniania”, Przemysław Jagieła, 2010
Typy uwierzytelniania w OS MS
Typ uwierzytelniania
Anonimowe
Przeznaczenie
Lokalne i w domenie
Lokalne logowanie
Kerberos
Lokalne
W domenie, interaktywne, w
sieci
LM, NTLM, NTLMv2
W domenie, interaktywne, w
sieci (starsze wersje klientów)
Podstawowe, zintegrowane
Windows, szyfrowane, usługi
Passport.NET
Uwierzytelnianie na serwerze
WWW
142
Typy uwierzytelniania
Typ uwierzytelniania
SST/TLS
Przeznaczenie
Uwierzytelnianie na serwerze
WWW
PAP, CHAP, MS-CHAP i MSCHAPv2
802.1x, PEAP, WPA
Zdalny dostęp, VPN
Certyfikaty
Karty inteligentne
Sieci bezprzewodowe oraz
tradycyjne
IPSec, uwierzytelnianie
klientów i komputerów,
SSL/TLS i karty inteligentne
W domenie przy protokole
Kerberos i certyfikatach
143
Kiedy stosowany jest dany protokół?
• Windows 2000+ w domenie – Kerberos
• Windows 2000+ poza domeną – NTLM
• Windows 9x w domenie – LM
• Windows NT 4.0 w domenie – NTLM
• przy dostępie do zasobu gdy adres serwera
jest podany jako nr IP – NTLM
• przy dostępie do zasobu gdy adres serwera
jest podany za pomocą nazwy - Kerberos
144
Typy logowania do sieci
•Interaktywne
•Sieciowe
•Anonimowe
•Inne typy np. zdalne, wsadowe
145
Logowanie interaktywne
• Zainicjowanie logowania – np. Ctrl-Alt-Del.
• Usługa Winlogon wywołuje bibliotekę DLL GINA
(Graphical Identyfication and Authentication) lub inną
w zależności od sposobu uwierzytelniania.
• Użytkownik wprowadza dane uwierzytelniające.
• Centrum (Urząd) Zabezpieczeń Lokalnych – LSA (Local
Security Auhtority) przetwarza dane uwierzytelniające.
• Sprawdzane są ograniczenia zdefiniowane dla konta.
• Sprawdzane są prawa logowania.
• Weryfikowane są dane uwierzytelniające.
146
Protokoły LM, NTLM, NTLMv2
• LM został stworzony do obsługi w
systemach MS-DOS, Windows 3.1,
Windows 9x, Windows ME.
• NTLM zastosowano w Windows NT,
wyeliminował słabe punkty LM.
• NTLMv2 dołączono do SP3 dla Windows
NT 4.0, wyeliminował słabe punkty NTLM i
zwiększył poziom ochrony przesyłanych
danych.
147
Uwierzytelnianie z LM, NTLM i NTLMv2
148
Praca dyplomowa pt: „Centralne systemy zarządzania zasobami i uwierzytelniania”, Przemysław Jagieła, 2010
Protokół Kerberos
• Otwarty standard organizacji IETF
• Opisany w RFC 1510 (1980r, MIT)
• Funkcje zabezpieczeń:
• Bezpieczna transmisja – szyfrowane
komunikaty.
• Wzajemne uwierzytelnianie – klient - serwer, i
serwer - klient.
• Ochrona przed atakiem ponawianym –
identyfikator uwierzytelniania, którym jest
zaszyfrowany znacznik czasu.
149
Protokół Kerberos
• W systemie Kerberos używa się jednego
komputera wyposażonego w niezwykle sprawne
zabezpieczenia, który może być umieszczony w
pokoju chronionym przez 24 godziny na dobę;
• Na komputerze tym znajdują się informacje o
hasłach i prawach dostępu każdego
użytkownika w systemie (w MIT komputer ten
nosi nazwę kerberos.mit.edu).
• Wszystkie komputery i użytkownicy sieci
działają na podstawie danych dostarczanych
przez ten serwer;
150
Protokół Kerberos
• W systemie Kerberos ten zabezpieczony
serwer, zwany bezpiecznym serwerem, jest
jedynym serwerem w sieci, który może
dostarczać programom sieciowym informacje
związane z dostępem;
• Dla serwerów działających w systemie Kerberos
oraz pracujących w nim użytkowników wszystkie
pozostałe elementy sieci są niepewne. Innymi
słowy, system Kerberos działa na podstawie
zasady upraszczania — łatwo jest w niej
utrzymać jeden całkowicie bezpieczny serwer,
co jest sytuacją odwrotną do zabezpieczania
wszystkich serwerów w sieci;
151
Elementy protokołu Kerberos
• Centrum dystrybucji kluczy KDC
(ang. Key Distribution Center)
• znajduje się na każdym kontrolerze
domeny
• zarządza kluczami udostępnionymi
klientom i serwerów
• wydaje TGT (ang. Ticket GranTing
Service) -> bilety
152
Elementy protokołu Kerberos
• Bilety:
• Bilet przyznający przekazywany uwierzytelnionemu
użytkownikowi przy pierwszym logowaniu. Służy do
uzyskania następnego biletu dla usługi.
• Bilet usługi wymagany jest rzy dostępie do usługi lub
zasobu.
• Bilet odwołania -> jeśli usługa znajduje się w domenie w
której użytkownik się nie logował KDC wygeneruje ten
bilet i przekaże do innej domeny.
• Identyfikator uwierzytelniania
• znacznik czasu -> bezpieczeństwo systemu Kereberos
153
Kerberos – ogólne funkcjonowanie
• Jeśli użytkownik sieci obsługiwanej przez system
Kerberos chce uzyskać dostęp do pliku lub
innego serwera sieciowego udostępniającego
zasoby, to musi najpierw uzyskać pozwolenie od
bezpiecznego serwera.
Przykład
Użytkownik (komputer-klient) chce uzyskać dostęp
do pliku faktury_2011 na serwerze plików
(serwerze niepewnym). Zakładając, że użytkownik
już się zalogował w sieci, oprogramowanie
sieciowe wykona kolejno kilka operacji.
154
Kerberos - funkcjonowanie
1. Użytkownik żąda dostępu do pliku
faktury_2011 za pośrednictwem
wiadomości z podpisem cyfrowym,
utworzonej za pomocą swojego
klucza prywatnego, i szyfruje ją za
pomocą klucza publicznego
serwera.
155
Kerberos - funkcjonowanie
Są dwa powody, dla których żądanie dostępu jest
realizowane za pomocą zaszyfrowanej wiadomości
opatrzonej podpisem cyfrowym:
1. szyfrowanie z użyciem klucza sesji gwarantuje
(w większym stopniu), że tylko bezpieczny
serwer będzie mógł odczytać żądanie;
2. bezpieczny serwer za pomocą podpisu
cyfrowego określa, czy wiadomość została
wysłana przez uprawnionego użytkownika (a
nie hakera …).
156
Kerberos - funkcjonowanie
• Oprogramowanie sieciowe wysyła zaszyfrowaną
wiadomość do bezpiecznego serwera:
Klucz prywatny klienta
Klucz publiczny serwera
Żądanie z podpisem
uwiarygodniającym
klient
Serwer uwiarygadniający
Kerberos
157
Kerberos - funkcjonowanie
• Bezpieczny serwer z kolei analizuje
wiadomość z żądaniem komputera-klienta.
• Serwer używa podpisu cyfrowego
użytkownika do zweryfikowania jego
tożsamości oraz sprawdzenia, czy
użytkownik znajduje się na liście
użytkowników uprawnionych do uzyskania
dostępu do pliku faktury_2011.
Kerberos - funkcjonowanie
Jeśli użytkownik ma prawa dostępu do pliku
faktury_2011 na serwerze plików, to
bezpieczny serwer Kerberos połączy
użytkownika z serwerem plików i wyśle do
tego serwera wiadomość, że użytkownik ma
prawo dostępu do pliku.
Kerberos - komunikacja
Aby rozpocząć komunikowanie się
użytkownika i serwera plików serwer Kerberos
wykonuje kilka operacji:
• Serwer Kerberos wysyła do użytkownika unikatowy
klucz zwany biletem (TGT). Aby zagwarantować
bezpieczeństwo, kopia tego biletu jest szyfrowana
przez bezpieczny serwer za pomocą klucza
publicznego użytkownika.
• Bilet zawiera informacje o dostępie oraz klucz sesji.
Klucz sesji jest to nieskomplikowany klucz do
szyfrowania służący do połączenia się z serwerem
plików.
160
Kerberos - komunikacja
Klucz publiczny klienta
klient
Bilet
Klucz sesji
Serwer uwiarygadniający
Kerberos
Serwer szyfruje, a następnie wysyła bilet do komputera-klienta
161161
Kerberos - komunikacja
Bezpieczny serwer wysyła także kopię biletu komputera-klienta do serwera
plików. Aby zagwarantować bezpieczeństwo, druga kopia biletu jest
szyfrowana przez bezpieczny serwer za pomocą publicznego klucza serwera
plików (druga kopia biletu zawiera te same informacje, co kopia pierwsza,
czyli informacje o bilecie oraz klucz sesji).
Bilet
Serwer uwiarygadniający
Kerberos
Klucz publiczny
serwera plików
Klucz sesji
Serwer plików
162162
Kerberos – ścieżka zaufania
Komputer użytkownika i serwer zawierający plik
faktury_2011 łączą się i porównują kopie biletów, aby
potwierdzić swoją tożsamość:
• Oprogramowanie sieciowe na komputerze klienta
szyfruje kopię swojego biletu za pomocą publicznego
klucza serwera plików, po czym wysyła go do
serwera plików;
• Serwer plików odszyfrowuje bilet za pomocą
prywatnego klucza. Jeśli przesłana przez klienta
kopia klucza sesji jest taka sama, jak kopia wysłana
przez serwer, to serwer plików uwiarygodnia bilet.
• W przeciwnym wypadku serwer plików nie
połączy się z użytkownikiem.
163
Kerberos – delegacja
Jeśli bilety są jednakowe, to bezpieczny serwer
kończy działanie, a użytkownik komunikuje się
odtąd z serwerem plików za pośrednictwem
bezpiecznego kanału i uzyskuje dostęp do pliku
faktury_2011.
Serwer plików, w zależności od swoich
ustawień, wyśle ten plik zaszyfrowany:
1. za pomocą klucza publicznego użytkownika
(przechowywanego na bezpiecznym
serwerze) (SFTP);
2. klucza sesji (SFTP);
3. w postaci zwykłego pliku tekstowego (FTP).
164
Kerberos – zakończenie
• Po zakończeniu przesyłania pliku do
użytkownika serwer plików wysyła do serwera
Kerberos wiadomość z informacją o
zakończeniu połączenia będącą dla
bezpiecznego serwera sygnałem, aby
zlikwidować bilet dostępu.
• Jeśli komputer-klient spróbuje użyć tego
samego biletu dostępu, aby znowu uzyskać
dostęp do tego pliku, to bezpieczny serwer
uniemożliwi komputerowi-klientowi uzyskanie
ponownego nieautoryzowanego dostępu.
165
Kerberos – słabe punkty
• Uwiarygodnienie na podstawie identyfikatora
logowania użytkownika i wspólnego klucza
tajnego. Z takim rozwiązaniem wiąże się
niebezpieczeństwo oszukania serwera przez
hakera -> włamywacz może sprawić, że
bezpieczny serwer będzie go traktował jak
uprawnionego użytkownika
166
Kerberos – słabe punkty
Na przykład:
• Można wysłać do bezpiecznego serwera
wiadomość z prośbą o przyznanie prawa
dostępu do serwera plików.
• Haker może przechwycić taką wiadomość i
przesłać ją następnie do bezpiecznego serwera,
który uzna, że to uprawniony użytkownik
zażądał uwiarygodnienia.
167
Kerberos – słabe punkty 1
• Aby wyeliminować taką możliwość, programiści
projektu Athena wprowadzili do niego
mechanizm znaczników czasu;
• Mechanizm ten gwarantuje, że wszystkie
wiadomości otrzymywane przez bezpieczny
serwer zawierają datę i bezpieczny serwer
odrzuca wszystkie te wiadomości, które są
przestarzałe o co najmniej 5 minut;
• Mechanizm znaczników czasu pomaga
zapobiec działaniom osób nieuprawnionych.
168
Kerberos – słabe punkty 2
System Kerberos nie oferuje możliwości
obrony przed atakami ze strony usług.
W systemie tym włamywacz może z łatwością
uniemożliwić aplikacji wzięcie udziału we
właściwym przeprowadzeniu operacji
uwiarygodniania. Wykrywanie ataków tego typu (z
których kilka może się wydawać normalnymi
sytuacjami awaryjnymi w systemie) i zapobieganie
im należy do obowiązków administratorów i
użytkowników.
169
Kerberos – słabe punkty 3
• Ponieważ serwer Kerberos zakłada, że wspólny
klucz tajny jest rzeczywiście tajny, użytkownicy
w tym systemie muszą bezwzględnie chronić
ten klucz;
• W wypadku kradzieży klucza użytkownika może
on posłużyć do podszycia się pod użytkownika
lub dowolny serwer;
170
Kerberos – słabe punkty 4
• System Kerberos nie chroni przed atakami
polegającymi na odgadywaniu hasła;
• Jeśli użytkownik wybierze sobie łatwe hasło, to
haker może z łatwością zastosować metodę
poza sieciowego ataku przy użyciu słownika i
wypróbowywać kolejne zawarte w nim słowa;
• W tej metodzie skopiowane przez hakera
wiadomości są poddawane kolejnym próbom
odszyfrowania;
171
Protokoły uwierzytelniające zdalny dostęp
• PAP (Password Authentication Protocol)
• Przesyłane jest niezaszyfrowane hasło.
• SPAP (Shiva Password Authentication
Protocol)
• Korzysta z niestandardowego algorytmu
szyfrowania odwrotnego, obsługiwane
przez serwery zdalnego dostępu firmy
Shiva. Nie można zastosować MPPE
(Microsoft Point-to-Point Encryption).
172
Protokoły uwierzytelniające zdalny dostęp
• CHAP (Challenge Handshake
Authentication Protocol)
• Szyfruje sekwencję wezwania używając
funkcji MD5. Serwer musi przechowywać
hasło w postaci niezaszyfrowanej.
173
Protokoły uwierzytelniające zdalny dostęp
• MS-CHAP
• Szyfruje sekwencję wezwania używając funkcji
MD4. Serwer może przechowywać hash hasła.
Obsługuje bardziej zaawansowane komunikaty o
błędach.
• MS-CHAPv2
• Występuje wzajemne uwierzytelnianie. Zawiera
dodatkowe ulepszenia względem MS-CHAP.
174
Protokoły uwierzytelniające zdalny dostęp
• EAP – (Extensible Auhtentication Protocol)
• Jest rozszerzeniem protokołu PPP i posiada
budowę modularną. Obecnie dostępne w
systemach Windows:
• EAP-TLS – Wykorzystuje wzajemne uwierzytelnianie i
certyfikaty (certyfikat klienta jest opcjonalny). Może
być stosowany z PPTP i L2TP/IPSec
• EAP-MD5 – Mniej bezpieczny od EAP-TLS. Używa
MD5 oraz szyfrowania odwracalnego przy
przechowywaniu hasła w bazie. Nie obsługuje
bezprzewodowych połączeń VPN oraz protokołu
PPTP.
175
RADIUS
• Remote Authentication Dial In User Service;
• Protokół zapewniający uwierzytelnianie,
autoryzację oraz monitorowanie (AAA);
• Pracuje w architekturze klient-serwer;
• RADIUS Server – NAS/RAS (Network/Remote
Access Server);
• Serwer może działać jako PROXY;
• Przy przesyłaniu hasła wykorzystuje algorytm
MD5;
• Opisany w RFC 2865 i RFC 2866;
176
RADIUS – Authorization & Authentication
177
RADIUS - Accounting
178
Uwierzytelniane z użyciem certyfikatów
179
Praca dyplomowa pt: „Centralne systemy zarządzania zasobami i uwierzytelniania”, Przemysław Jagieła, 2010
Koniec Wykładu 4
180

Podobne dokumenty