Bezpieczeństwo systemów komputerowych Protokół Kerberos Złożone systemy kryptograficzne mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 50 Protokół Kerberos Zagrożenia Usługa uwierzytelniania Projekt Atena Problem Podszywanie się za innego użytkownika Zmiana adresu sieciowego stacji roboczej Atak typu powtórka Cechy Centralny serwer uwierzytelniający Korzysta wyłącznie z szyfrowania konwencjonalnego (symetrycznego) Metody zapewniania bezpieczeństwa Architektura rozproszona składająca się ze stacji użytkowników i rozproszonych lub scentralizowanych serwerów W sprawie zapewnienia właściwej tożsamości użytkownika lub użytkowników polegać na poszczególnych stacjach roboczych i powierzyć serwerom realizację kontroli dostępu na podstawie identyfikacji użytkownika (ID). Wymagać od klientów uwierzytelniania się wobec serwerów, a w sprawie identyfikacji użytkownika polegać na klientach. Wymagać od użytkownika udowodnienia swojej tożsamości przy wywoływaniu każdej usługi. Wymagać również by serwer udowadniał swoją tożsamość klientom.
Wymagania Proste uwierzytelnienie Bezpieczny Pewny Przezroczysty Elastyczny System uwierzytelniania z zaufaną stroną trzecią (Needham i Schroeder) C (klient) AS (serwer uwierzytelniający) V (serwer) () C -> AS: ID C, P C, ID V (2) AS -> C: Bilet () C -> V: ID C, Bilet Bilet = E kv [ID C, AD C, ID V ] Problemy Nowe bilety na każdą usługę. Zminimalizowanie liczby sytuacji, gdy użytkownik musi podać hasło. Przesył hasła w formie jawnej. Bezpieczne uwierzytelnianie Bezpieczne uwierzytelnianie C (klient) AS (serwer uwierzytelniający) TGS (serwer przyznawania biletów) Raz na sesję użytkownika: () C -> AS: ID C, ID tgs (2) AS -> C: E kc [Bilet tgs ] Raz na rodzaj usługi: () C -> TGS: ID C, ID V, Bilet tgs () TGS -> C: Bilet V Raz na sesję usługi: (5) C -> V: ID C, Bilet V V (serwer) Bilet tgs = E ktgs [ID C, AD C, ID tgs, TS, Czas-życia ] Bilet V = E kv [ID C, AD C, ID V, TS 2, Czas-życia 2 ] Problemy Uwierzytelnienie Czas ważności biletu na przyznanie biletu Potrzeba uwierzytelniania serwerów wobec użytkowników Wymiana z serwerem uwierzytelniającym: uzyskanie biletu na przyznanie biletu () C -> AS: Opcje ID C Królestwo C ID tgs Czasy Identyfikator-jednorazowy (2) AS -> C: Królestwo C ID C Bilet tgs E kc [K C,tgs Czasy Identyfikator-jednorazowy Królestwo tgs ID tgs ] Bilet tgs = E ktgs [Flagi K C,tgs Królestwo C ID C AD C Czasy ] 2
Uwierzytelnienie Wymiana z TGS: uzyskanie biletu na usługę () C -> TGS: Opcje ID V Czasy Identyfikator-jednorazowy 2 Bilet tgs Wartość-wierzytelniająca C () TGS -> C: Królestwo C ID C Bilet V E kc,tgs [K C,V Czasy Identyfikator-jednorazowy 2 Królestwo V ID V ] Bilet tgs = E ktgs [Flagi K C,tgs Królestwo C ID C AD C Czasy] Bilet V = E kv [Flagi K C,V Królestwo C ID C AD C Czasy] Wartość-uwierzytelniająca C = E kc,v [ID C Królestwo C TS ] Uwierzytelnienie Uwierzytelnienie klient/serwer: uzyskanie usługi (5) C -> TGS: Opcje Bilet V Wartość-uwierzytelniająca C (6) K -> C: E kc,v [TS 2 Podklucz # Kolejny] Bilet V = E kv [Flagi K C,V Królestwo C ID C AD C Czasy] Wartość-uwierzytelniająca C = = E kc,v [ID C Królestwo C TS 2 Podklucz #Kolejny] Królestwa Kerberosa & Kerberosy wielokrotne Żądanie biletu na przyznanie biletu Bilet + klucz sesji Żądanie biletu na usługę Bilet + klucz sesji Żądanie usługi KERBEROS Serwer uwierzytelniający (AS) Serwer przyznający bilety TGS Raz na sesję użytkownika Raz na typ usługi Raz na sesję usługi Serwer Kerberosa musi mieć identyfikatory i zaszyfrowane hasła wszystkich użytkowników w jego bazie danych. Wszyscy użytkownicy są zarejestrowani w serwerze Kerberosa. Serwer Kerberosa musi mieć wspólny tajny klucz z każdym serwerem. Wszystkie serwery są zarejestrowane w serwerze Kerberosa. Serwery Kerberosa w każdym królestwie muszą dzielić tajny klucz z serwerem drugiego królestwa. Oba serwery Kerberosa są u siebie nawzajem zarejestrowane. Dostarcza wartość uwierzytelniającą serwera Królestwo A Żądanie usługi w innym królestwie 7. Żądanie odległej usługi Klient Klient. Żądanie biletu do lokalnego TGS KERBEROS 2. Bilet do lokalnego TGS AS. Żądanie biletu do odległego TGS TGS. Biletu do odległego TGS 5. Żądanie bilet do odległego serwera KERBEROS AS () C -> AS: ID C ID tgs TS (2) AS -> C: E kc [K C,tgs ID tgs TS 2 Czas_życia 2 Bilet tgs ] () C -> TGS: ID tgsrem Bilet tgs Wartość-uwierzytelniająca C () TGS -> C: E kc,tgs [K C,tgsrem ID tgsrem TS Bilet tgsrem ] (5) C -> TGS rem : ID Vrem Bilet tgsrem Wartość-uwierzytelniająca C (6) TGS -> C: E kc,tgsrem [K C,Vrem ID Vrem TS 6 Bilet Vrem ] (7) C -> V rem : Bilet Vrem Wartość-uwierzytelniająca C 6. Bilet do odległego serwera TGS Królestwo B
SSL Secure Soket Layer Realizacja szyfrowania Uwierzytelnienie serwera (ew. użytkownika) Zapewnienie integralności i poufności przesyłanych danych Połączenie kryptografii symetrycznej (transmisja) i niesymetrycznej (zestawienie połączenia) SSL - Secure Soket Layer Klient Przeglądarka WWW nawiązanie połączenia https:// Serwer WWW klucz publiczny serwera 2 weryfikacja serwera generacja klucza sesji 5 zaszyfrowany kluczsesji Płatności cyfrowe Płatności internetowe Bank klienta Internetowa sieć płatnicza 8 9 Bank beneficjanta 5 0 2 7 2 0000 000 9876 Klient 6 Sprzedawca Sprawdzanie numeru karty Sprawdzanie numeru karty ISO 289 Sprawdzamy z ilu cyfr składa się numer karty. Jeżeli z parzystej liczby cyfr to pierwsza cyfra ma wagę 2, w przeciwnym wypadku. Wagi kolejnych cyfr zmieniają się cyklicznie (, 2,, 2...) Jeśli ważona wartość cyfry jest większa od 9, odejmij 9 Wszystkie ważone sumujemy i dzielimy mod 0 Wynik operacji powinien być równy 0 (x2),(x),(0x2),(2x), (x2),(0x),(0x2),(0x), (7x2),(x),(9x2),(8x), (x2),(0x),(0x2),(x), 02 000 798 00 (8),(),(0),(2), (2),(0),(0),(0), (),(),(8),(8), (8),(0),(0),(), Pamiętaj: 8++2+2+5++9+8+8+=50 nie używaj numeru tej karty to 50 przestępstwo! mod 0 = 0
Kwit transakcji Karty kredytowe w Internecie Nazwisko klienta Numer karty płatniczej klienta Adres klienta Data transakcji Kwota transakcji Opis zakupionego produktu lub usługi Numer identyfikacyjny Kod autoryzacji Nazwa sprzedawcy Bez połączenia (offline) Połączenia szyfrowane Połączenia nieszyfrowane Internetowe systemy płatnicze Rodzaje systemów płatniczych Niższy koszt transakcji Anonimowość Szerszy rynek Anonimowe Prywatne Identyfikujące DigiCash DigiCash Rejestracja Zakupy Konto depozytowe w instytucji finansowej Sklep internetowy 5 Mennica 2 Generacja cyfrowych monet Elektroniczna portmonetka Cyfrowo podpisane monety Elektroniczna portmonetka Sprzedawca 5
DigiCash Virtual PIN Bezpieczeństwo i prywatność Rejestracja Wypełnić formularz rejestracyjny 2 Wirtualny PIN First Virtual Virtual PIN Virtual PIN Zakupy Sprzedawca Bezpieczeństwo i prywatność Wirtualny PIN 2 5 First Virtual CyberCash & CyberCoin CyberCash & CyberCoin Rejestracja Zakupy Sprzedawca Ściągnąć CyberCash wallet 2 Klucze publiczny/prywatny Formularz rejestracyjny Wybór karty i zatwierdzenie transakcji 6 2 5 CyberCash Bank sprzedawcy First Virtual 6
CyberCash & CyberCoin SET Bezpieczeństwo i prywatność Zagwarantowanie poufności transakcji Potwierdzenie tożsamości podmiotu transakcji Zapewnienie integralności danych dotyczących opłat za towar i usługi Wzajemne potwierdzenie tożsamości klientów i sprzedawców http://www.mastercard.com/set http://www.visa.com SET Mondex Szyfrowana kluczem sprzedawcy Szyfrowana kluczem banku Wiadomość klienta dla sprzedawcy Wiadomość klienta dla banku Skrót wiadomości M Skrót wiadomości M2 Podwójny podpis użytkownika M = skrót (M + M2) Systemy płatnicze - ocena E-banki Simson Garfinkel WWW Bezpieczeństwo i handel Wydawnictwo Helion, Gliwice 999 7
E-banki Identyfikator i hasło (Citibank, LG Petro Bank) Hasła maskowane i klucz prywatny (Bank BPH, Bank Śląski) Lista haseł jednorazowych (mbank, Multibank, Inteligo, Nordea) Token (Lukas Bank, Volkwagen Bank, Nordea, BGŻ, BZ WBK, Pekao SA, PKO BP) Token autoryzacja metodą synchronizacji czasu Generacja hasła na bazie czasu i kluczu użytkownika 2 Logowanie na bazie PIN u i hasła 5 Porównanie PIN Generacja klucza na bazie czasu i kluczu użytkownika Token autoryzacja metodą pytanie odpowiedź Dziękuję za uwagę PIN użytkownika Użytkownik szyfruje liczbę swoim tajnym kluczem 2 Generacja liczby losowej Serwer deszyfruje wiadomość 5 Porównanie 8