Systemy uwierzytelniania w serwisach internetowych praca inynierska Autor

  • Slides: 19
Download presentation
Systemy uwierzytelniania w serwisach internetowych praca inżynierska Autor: Łukasz Chmielarski Opiekun: prof. dr hab.

Systemy uwierzytelniania w serwisach internetowych praca inżynierska Autor: Łukasz Chmielarski Opiekun: prof. dr hab. inż. Zbigniew Kotulski

Plan prezentacji • Uwierzytelnianie • Rodzaje ataków • Mechanizmy uwierzytelniania – gotowe rozwiązania –

Plan prezentacji • Uwierzytelnianie • Rodzaje ataków • Mechanizmy uwierzytelniania – gotowe rozwiązania – własne rozwiązania • Projekt

Uwierzytelnianie • Uwierzytelnianie (ang. authentication) – proces polegający na zweryfikowaniu zadeklarowanej tożsamości osoby (urządzenia,

Uwierzytelnianie • Uwierzytelnianie (ang. authentication) – proces polegający na zweryfikowaniu zadeklarowanej tożsamości osoby (urządzenia, usługi) biorącej udział w wymianie danych. • Uwierzytelnianie vs. autoryzacja, Uwierzytelnianie vs. identyfikacja • Uwierzytelnianie jest oparte na informacji którą: – Użytkownik zna - tj. hasło, login – Użytkownik posiada - tj. token, klucz – Użytkownik jest - tj. dane biometryczne • Wykorzystanie uwierzytelniania

Uwierzytelnianie po stronie klienta • Uwierzytelnianie po stronie klienta jest powszechnym wymaganiem • Wiele

Uwierzytelnianie po stronie klienta • Uwierzytelnianie po stronie klienta jest powszechnym wymaganiem • Wiele serwisów nie korzysta z gotowych rozwiązań • Nieostrożne składowanie authenticators po stronie klienta • Odczucia użytkowników • Ograniczenia i limity: – Akceptacja użytkownika – Zużycie zasobów – Uniwersalność

Rodzaje ataków i atakujących • Existential forgery – atakujący może sfałszować authenticator dla co

Rodzaje ataków i atakujących • Existential forgery – atakujący może sfałszować authenticator dla co najmniej jednego użytkownika (losowego). • Selective forgery – atakujący może sfałszować authenticator dla konkretnego użytkownika. • Total break – polega na zdobyciu klucza służącego do generacji authenticators • Interrogative adversary – tylko generuje zapytania do serwera • Eavesdropping adversary – widzi ruch pomiędzy użytkownikiem a serwerem, ale nie może modyfikować • Active adversary – widzi ruch i może modyfikować

Protokoły uwierzytelniające • Bardzo wiele rozwiązań: (CHAP, EAP, PAP, SPAP, DES, RADIUS, S/KEY, TACACS,

Protokoły uwierzytelniające • Bardzo wiele rozwiązań: (CHAP, EAP, PAP, SPAP, DES, RADIUS, S/KEY, TACACS, MS-CHAP, SKID) • Systemy stosowane w http: – Public key (zazwyczaj w połączeniu z https/ssl) – Kerberos/SPNEGO – HTTP Digest access authentication – HTTP Basic access authentication – HTTP+HTML form based authentication

Public key authentication • Wykorzystanie PKI • PKI – szeroko pojęty kryptosystem, w skład

Public key authentication • Wykorzystanie PKI • PKI – szeroko pojęty kryptosystem, w skład którego wchodzą urzędy certyfikacji (CA), urzędy rejestracyjne (RA) oraz subskrybenci certyfikatów • Każdy użytkownik musi posiadać swój certyfikat • Wykorzystywany w połączeniu z SSL • Tylko niektóre serwisy mogą sobie pozwolić na koszt • Używany przez nielicznych

Kerberos/SPNEGO • Simple and Protected GSSAPI Negotiation Mechanism (RFC 4178) • Zasada działania podobna

Kerberos/SPNEGO • Simple and Protected GSSAPI Negotiation Mechanism (RFC 4178) • Zasada działania podobna do protokołu Kerberos • Uwierzytelnianie oparte na wspólnym sekrecie • Wykorzystanie KDC (Key Distribution Centre) • SPNEGO to część Integrated Windows Authentication • Początkowo obsługiwane tylko przez przeglądarki IE, obecnie przez wszystkie • Potrzeba dużo zasobów

HTTP Digest Access authentication • Opracowany w dokumencie RFC 2617 • Umożliwia identyfikacje użytkownika

HTTP Digest Access authentication • Opracowany w dokumencie RFC 2617 • Umożliwia identyfikacje użytkownika bez konieczności wysyłania hasła w plaintext • Wykorzystanie funkcji MD 5 z chwilowymi wartościami • Zasada obliczania odpowiedzi:

HTTP Digest Access authentication • Zasada działania: • Zalety: – – Hasło wysyłane w

HTTP Digest Access authentication • Zasada działania: • Zalety: – – Hasło wysyłane w hashu, przechowywane też w hashu Pole nonce po stronie klienta zapobiega chosen plaintext attacks Pole nonce po stronie serwera zapobiega replay attacks Bardziej bezpieczny niż Http Basic Access Authentication • Wady: – – Nie jest tak silny aby zastąpić PKI lub Kerberos Pole qop jest opcjonalne Nieodporny na ataki Mit. M IE 5 może być niekompatybilny z implementacją

HTTP Basic Access authentication • • Opracowany w dokumencie RFC 1945, później RFC 2617

HTTP Basic Access authentication • • Opracowany w dokumencie RFC 1945, później RFC 2617 Wykorzystuje kodowanie Base 64 Zasad działania Zalety: – Wspierany przez wszystkie przeglądarki – Prostota i łatwość implementacji • Wady: – – Rzadko używany w sieci Internet Opiera się na założeniu bezpiecznego połączenia Brak możliwości log out (serwer nie ma wpływu) Nieodporny na ataki

HTTP+HTML form based authentication • Uwierzytelnianie oparte na formularzu HTML i Cookie • Zasada

HTTP+HTML form based authentication • Uwierzytelnianie oparte na formularzu HTML i Cookie • Zasada działania:

Cookie • Przechowywanie danych po stronie klienta • Pierwsze użycie Netscape Communications (1994) •

Cookie • Przechowywanie danych po stronie klienta • Pierwsze użycie Netscape Communications (1994) • Zastosowanie: – – • • Zachowanie sesji Uwierzytelnianie Personalizacja Budowanie profili Obsługiwane przez wszystkie przeglądarki Niewidoczny dla użytkownika Tylko dane, bez żadnych skryptów Ograniczenia

Składnia Cookie • Przesyłany w nagłówku http (Set cookie) • Składnia: – – –

Składnia Cookie • Przesyłany w nagłówku http (Set cookie) • Składnia: – – – Nazwa Wartość Expires Domain Path Secure (Http. Only)

Alternatywa dla cookie • Adres URL – – Stosowane gdy obsługa cookie jest wyłączona

Alternatywa dla cookie • Adres URL – – Stosowane gdy obsługa cookie jest wyłączona Trzeba dodawać parametry do wewnętrznych linków Niebezpieczeństwo podczas zapisywania stron Głównie stosowanie metody GET • Ukryte pola formularzy – – – Bardzo podobny mechanizm Dane przesyłane metodą POST Niewidoczne dane dla zwykłego użytkownika Dane nie są kopiowane podczas zapisu strony Dane zawarte są w kodzie HTML, każda strona musi być generowana dynamicznie

Alternatywa dla cookie • Window. name: – – – Dane przechowywane w polu Window.

Alternatywa dla cookie • Window. name: – – – Dane przechowywane w polu Window. name Wykorzystanie Document Object Model i JSON/Java. Script Możliwość przechowywania dużych danych <32 MB Nieużyteczne jeśli otwieramy w nowych oknach/kartach Włączona obsługa Java. Script • Local Stored Object: – – Wykorzystanie Adobe Flash Player Większość użytkowników ma zainstalowany plugin Ograniczenia danych <100 k. B Ograniczenie dostępu (zmuszenie użytkownika do instalacji)

Projekt • Założenia: – – – Analiza ruchu podczas logowania się na stronach internetowych

Projekt • Założenia: – – – Analiza ruchu podczas logowania się na stronach internetowych Witryny mniej popularne, wręcz niszowe Wielokrotne logowanie dla różnych użytkowników Implementacja sniffera http jako aplikacji lokalnej Zwrócenie uwagi na uwierzytelnianie wykorzystujące cookie Próba wychwycenia niewiarygodnych metod logowania • Zadania: – – Odczyt zawartości wysyłanej na serwer podczas uwierzytelniania Odczyt zawartości otrzymanej z serwera (authenticators) Filtracja danych Zapis odczytanych wartości do pliku (bazy danych)

Projekt • Technologie: – – Windows Java + Jpcap Filtry w XML JDBC, My.

Projekt • Technologie: – – Windows Java + Jpcap Filtry w XML JDBC, My. Sql • Pierwsze obserwacje

Koniec Dziękuję za uwagę Pytania ?

Koniec Dziękuję za uwagę Pytania ?