Bezpieczeństwo systemów komputerowych

Podobne dokumenty
Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

System Kerberos. Użytkownicy i usługi. Usługa. Użytkownik. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

System Kerberos. Patryk Czarnik. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Wykład X. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

SSL (Secure Socket Layer)

Uwierzytelnianie jako element procesu projektowania bezpieczeństwa

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

DESlock+ szybki start

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Bezpieczeństwo systemów komputerowych.

ZiMSK. Konsola, TELNET, SSH 1

11. Autoryzacja użytkowników

Ochrona danych i bezpieczeństwo informacji

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Eduroam - swobodny dostęp do Internetu

VPN Host-LAN IPSec X.509 z wykorzystaniem DrayTek Smart VPN Client

Podstawy Secure Sockets Layer

Synchronizacja czasu - protokół NTP

SET (Secure Electronic Transaction)

Protokoły zdalnego logowania Telnet i SSH

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

4. Podstawowa konfiguracja

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

SMB protokół udostępniania plików i drukarek

FTP przesył plików w sieci

Metody zabezpieczania transmisji w sieci Ethernet

INSTRUKCJA OBSŁUGI DLA SIECI

Połączenie VPN Host-LAN IPSec wykorzystaniem DrayTek Smart VPN Client

Praca w programie dodawanie pisma.

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Bezpieczeństwo systemów komputerowych

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Zdalne logowanie do serwerów

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Połączenie VPN Host-LAN IPSec z wykorzystaniem Windows Vista/7. 1. Konfiguracja routera. 2. Konfiguracja klienta VPN. 3. Zainicjowanie połączenia

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Szczegółowy opis przedmiotu zamówienia:

INSTRUKCJA INSTALACJI SYSTEMU NA SERWERZE KROK PO KROKU

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

Stos TCP/IP. Warstwa aplikacji cz.2

Zastosowania informatyki w gospodarce Wykład 7

Protokół 802.1x. Środowisko IEEE 802.1x określa się za pomocą trzech elementów:

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Nowy klucz jest jedynie tak bezpieczny jak klucz stary. Bezpieczeństwo systemów komputerowych

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Przewodnik użytkownika dla usługi CUI Klient indywidualny (CBP)

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Laboratorium Ericsson HIS NAE SR-16

Outlook Instrukcja podpisywania i szyfrowania wiadomości certyfikatem niekwalifikowanym.

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Środowisko IEEE 802.1X określa się za pomocą trzech elementów:

Bezpieczna poczta i PGP

VPN dla CEPIK 2.0. Józef Gawron. (wirtualna sieć prywatna dla CEPIK 2.0) Radom, 2 lipiec 2016 r.

Zastosowania PKI dla wirtualnych sieci prywatnych

IPSec over WLAN z wykorzystaniem DrayTek Smart VPN Client. 1. Konfiguracja serwera VPN. 2. Konfiguracja klienta VPN. 3. Zainicjowanie połączenia

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer.

Przewodnik użytkownika dla usługi CUI Klient indywidualny (CBP) 2. Rejestracja użytkownika przy użyciu hasła maskowalnego dla klientów

Laboratorium 3. Zaawansowana konfiguracja i zarządzanie zaporami sieciowymi D-Link NetDefend cz.3.

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Konfiguracja serwera FreeRADIUS

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Usługi terminalowe

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Bezpieczeństwo usług oraz informacje o certyfikatach

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

VPN Host-LAN L2TP over IPSec z wykorzystaniem DrayTek Smart VPN Client. 1. Konfiguracja serwera VPN. 2. Konfiguracja klienta VPN

DHCP Copyright : JaRo

ZPKSoft Synchronizator

Optimus ABA IPSec + Windows 2000/XP + Terminal ABAX-2. Instrukcja tworzenia połącze ń szyfrowanych.

WSIZ Copernicus we Wrocławiu

Szczegółowe informacje dotyczące przekazywania do Bankowego Funduszu Gwarancyjnego informacji kanałem teletransmisji

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

E-DOWÓD FUNKCJE I KONSTRUKCJA. Maciej Marciniak

Bezpieczeństwo informacji w zarządzaniu Pomocnicze materiały szkoleniowe. Podstawy uwierzytelnienia. dr Tomasz Barbaszewski Kraków, 2012

Serwery autentykacji w sieciach komputerowych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

PODRĘCZNIK UŻYTKOWNIKA PROGRAMU LBD <-> TBD

Protokół 802.1x. Rys. Przykład wspólnego dla sieci przewodowej i bezprzewodowej systemu uwierzytelniania.

Akademia Techniczno-Humanistyczna w Bielsku-Białej

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Bezpieczeństwo systemów komputerowych. Opis działania PGP. Poczta elektroniczna. System PGP (pretty good privacy) Sygnatura cyfrowa MD5

Internetowy serwis Era mail Aplikacja sieci Web

Połączenie VPN SSL Web Proxy. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile SSL Web Proxy 1.3. Konto SSL 1.4. Grupa użytkowników

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Transkrypt:

Bezpieczeństwo systemów komputerowych Kerberos Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 10 stycznia 2017

Co to jest Kerberos? System uwierzytelniania z zaufaną trzecią stroną Zaufany arbiter, uwierzytelniający użytkowników i udostępniający im dostęp do różnych usług sieciowych Jedno uwierzytelnienie umożliwia komunikację z wieloma serwerami Oparty na szyfrowaniu symetrycznym Oparty na protokole Needhama Schroedera Opracowany w MIT w ramach projektu Athena Kerberos (Cerber) to w mitologii greckiej trójgłowy pies strzegący wejścia do Hadesu

Jak wygląda środowisko, w którym działa Kerberos? Otwarte rozproszone środowisko sieciowe Wiele stacji roboczych Wiele serwerów usług Wielu użytkowników, korzystających z różnych stacji roboczych i różnych usług

Jakie niebezpieczeństwa są związane z tym środowiskiem? Użytkownik może uzyskać dostęp do stacji roboczej i podszyć się pod innego użytkownika pracującego na tej stacji. Użytkownik może zmienić adres sieciowy stacji roboczej i udawać, że korzysta z innej stacji roboczej. Użytkownik może podsłuchiwać wymianę danych w sieci. Nie można polegać na kontroli tożsamosci użytkownika przeprowadzanej przez stację roboczą. Nie można polegać na kontroli tożsamosci użytkownika przeprowadzanej przez klienta usługi. Uwierzytelnianie się użytkownika wobec każdego serwera jest niepraktyczne, każdy serwer musiałby przechowywać bazę tajnych danych identyfikacyjnych dla wszystkich użytkowników.

Jakie są role i artefakty w modelu Kerberosa? Każde dwie strony posiadają wspólny, tajny, znany tylko im, klucz. W przypadku użytkownika rolę klucza pełni kryptograficzny skrót hasła. Centralny serwer utrzymuje bazę klientów i ich kluczy. Centralny serwer zna tajne klucze wszystkich serwerów usługowych. Każdy serwer usługowy zna tylko swój tajny klucz. Centralny serwer wydaje użytkownikom bilety, umożliwiające dostęp do serwerów usługowych.

Jak wygląda model interakcji w systemie Kerberos? Raz na sesję użytkownika: użytkownik U rozpoczyna pracę na stacji roboczej, używając klienta C; C wysyła do serwera uwierzytelniającego AS (Authentication Server) żądanie biletu do usługi przyznawania biletów; AS weryfikuje prawa dostępu U w bazie danych; AS wysyła do C bilet do usługi przyznawania biletów TGT (Ticket Granting Ticket); C prosi U o hasło, w celu weryfikacji. Raz na typ usługi: C wysyła do serwera przyznającego bilety TGS (Ticket Granting Server) bilet TGT i żądanie przyznania biletu do serwera usługowego S; TGS weryfikuje żądanie i tworzy bilet B; TGS wysyła do C bilet B. Raz na sesję usługi: C wysyła do S bilet B; S weryfikuje poprawność B; opcjonalnie S wysyła dane uwierzytelniające go wobec C.

Bilet Służy do bezpiecznej identyfikacji klienta wobec serwera. Jest ważny tylko dla jednego klienta i jednego serwera. Klient może używać go wielokrotnie, aż do wygaśnięcia jego ważności. Klient ani strona trzecia nie mogą zdeszyfrować zawartości biletu. T C,S = K S (C S TS 1 TS 2 K C,S ), gdzie: K S szyfrowanie tajnym kluczem serwera, C identyfikator klienta (adres sieciowy, identyfikator użytkownika), S identyfikator serwera, TS 1 czas początku ważności biletu, TS 2 czas końca ważności biletu, K C,S klucz sesji.

Poświadczenie Służy do uzyskania dostępu przez klienta do usługi serwera. Może być użyte tylko raz. Klient może wygenerować tyle poświadczeń, ile potrzebuje. A C,S = K C,S (C TS), gdzie: K C,S szyfrowanie kluczem sesji, C identyfikator klienta, TS znacznik czasu.

Wymiana z serwerem uwierzytelniającym Komunikat 1. klient C prosi serwer uwierzytelniający AS o bilet do usługi przyznawania biletów C TGS N 1, gdzie: C identyfikator klienta, TGS identyfikator serwera przyznającego bilety, N 1 identyfikator jednorazowy. Komunikat 2. AS zwraca bilet do usługi przyznawania biletów K C (K C,TGS TGS N 1 ) T C,TGS.

Otrzymanie biletu do serwera usługi Komunikat 3. klient C prosi serwer TGS o bilet do serwera S A C,TGS T C,TGS S N 2, gdzie: S identyfikator serwera, N 2 identyfikator jednorazowy. Komunikat 4. TGS, po poprawnej weryfikacji, zwraca żądany bilet K C,TGS (K C,S S N 2 ) T C,S.

Żądanie dostępu do usługi Komunikat 5. klient C uwierzytelnia się wobec serwera S A C,S T C,S. Komunikat 6. serwer opcjonalnie uwierzytelnia się wobec klienta K C,S (TS + 1), gdzie TS znacznik czasowy z poświadczenia wysłanego przez klienta.

Uwagi Powyższy opis jest uproszczony. Komunikaty zawierają dodatkowe pola z opcjami. Istnieją dwie wersje: 4 i 5, różniące się formatami komunikatów. Dla poprawnego działania konieczna jest synchronizacja zegarów z dokładnością do kilku minut.

Królestwo Pełne środowisko składające się z serwera uwierzytelniającego i wielu klientów. Serwer uwierzytelniający posiada identyfikatory i zaszyfrowane hasła wszystkich użytkowników. Wszyscy użytkownicy są zarejestrowani w serwerze uwierzytelniającym. Serwer uwierzytelniający ma wspólny tajny klucz z każdym serwerem. Wszystkie serwery są zarejestrowane w serwerze uwierzytelniającym.

Uwierzytelnianie pomiędzy królestwami Serwery uwierzytelniające w każdym królestwie muszą dzielić tajne klucze z serwerami uwierzytelniającymi w innych królestwach. Serwery uwierzytelniające muszą być nawzajem zarejestrowane. Użytkownicy jednego królestwa mogą uzyskiwać dostęp do serwerów z innego królestwa. Klient, uzyskawszy bilet do lokalnej usługi przyznawania biletów, prosi o przyznanie biletu do usługi przyznawania biletów w innym królestwie.

Różnice między wersjami Wersja 4 stosuje DES. W wersji 5 szyfrogram jest oznaczany identyfikatorem algorytmu szyfrowania. W wersji 5 klucze szyfrujące mają oznaczenie typu i pole długość. Wersja 4 wymaga stosowania adresów IP. W wersji 5 adresy sieciowe mają oznaczenie typu i pole długość, co pozwala na stosowanie dowolnych adresów sieciowych. W wersji 4 nadawca komunikatu decyduje o kolejności bajtów. W wersji 5 wszystkie komunikaty zdefiniowano za pomocą ASN.1 i BER. W wersji 4 czas ważności biletu jest kodowany na 8 bitach z kwantem 5 minut, co ogranicza maksymalny czas ważności do 1280 minut. W wersji 5 koduje się dokładny czas początku i końca ważności biletu. W wersji 5 możliwe jest przekazywanie uprawnień przyznanych dla jednego klienta innemu klientowi z innego komputera.

Różnice między wersjami, cd. W wersji 4 bilety są szyfrowane podwójnie. W wersji 5 zrezygnowano z tego. Wersja 4 korzysta z niestandardowego trybu PCBC pracy algorytmu DES. Tryb PCBC miał zapewniać kontrolę nienaruszalności danych. Wersja 5 stosuje standardowy tryb CBC i osobny mechanizm kontroli nienaruszalności. W wersji 4 klucz sesji z biletu może być używany wielokrotnie w kolejnych połączeniach z serwerem, co może narazić komunikację na atak powtórzeniowy. W wersji 5 klient i serwer mogą negocjować klucz podsesji, który będzie używany tylko w jednym połączeniu. W wersji 5 przy uwierzytelnianiu serwera wobec klienta znacznik czasu nie jest zwiększany stosowany jest bardziej skomplikowany format komunikatu, uniemożliwiający jego podrobienie.

Znaczniki biletów (1) W wersji 5 wprowadzono znaczniki w biletach, znacznie rozszerzające funkcjonalność protokołu. INITIAL Bilet został wydany bezpośrednio przez AS, a nie przez TGS na podstawie biletu na przyznanie biletu. PRE-AUTHENT Zastosowano wstępne uwierzytelnianie, która ma utrudniać ataki na hasło. HW-AUTHENT Wstępne uwierzytelnianie wymagało zastosowania sprzętu, który miał posiadać wyłącznie dany użytkownik.

Znaczniki biletów (2) RENEWABLE Bilet odnawialny może zostać użyty do uzyskania zastępczego biletu, którego okres kończy się później. Długie okresy ważności biletów powodują większe ryzyko przy ich kradzieży. Krótkie okresy ważności biletów zwiększają obciążenie systemu i powodują częstsze prośby do użytkownika o podanie hasła. Kompromisem są bilety odnawialne z dwoma czasami ważności: jeden dla tego biletu, drugi będący najpóźniejszym czasem zakończenia ważności. Klient może odnowić bilet. TGS może odmówić odnowienia biletu. MAY-POSTDATE, POSTDATED, INVALID Klient może uzyskać wiele biletów na sesje, z odpowiednio rozłożonymi wartościami czasu. Wszystkie bilety oprócz pierwszego są od początku nieważne. Gdy jest wymagany nowy bilet, odpowiedni bilet może zostać uaktualniony, bez konieczności przedstawiania biletu na przyznanie biletu.

Znaczniki biletów (3) PROXIABLE, PROXY Umożliwia serwerowi działanie jako pełnomocnik w imieniu klienta. FORWARDABLE, FORWARDED Umożliwia przekazywanie biletów między królestwami. W wersji 4 współpraca n królestw wymaga wzajemnego uwierzytelniania każdego z każdym, czyli n(n 1)/2 tajnych kluczy. W wersji 5 królestwa mogą tworzyć strukturę drzewiastą. Klient może poruszać się w górę drzewa do wspólnego wierzchołka, a następnie w dół do królestwa docelowego.

Problemy Serwer uwierzytelniający stanowi pojedynczy punkt awarii (ang. single point of failure). Można zastosować rozwiązanie z serwerem awaryjnym. Atak na centralny serwer kompromituje cały system. Domyślna konfiguracji Kerberosa wymaga synchronizacji zegarów z dokładnością 5 minut. W praktyce wystarczy zastosowanie protokołu synchronizacji czasu (ang. Network Time Protocol). Administracja serwerem nie jest ustandaryzowana.

Rozszerzenia Użycie kryptografii z kluczem publicznym