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



Podobne dokumenty
Wykład 9. Bezpieczeństwo systemów komputerowych. Protokoły SSL i TLS. Scentralizowane systemy uwierzytelniania. 5 listopada 2013

Bezpieczeństwo systemów informatycznych

SSL (Secure Socket Layer)

Podstawy Secure Sockets Layer

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

ZiMSK. Konsola, TELNET, SSH 1

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

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

Zastosowania informatyki w gospodarce Wykład 8

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Protokół IPsec. Patryk Czarnik

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

BEZPIECZEOSTWO SYSTEMU OPERO

Bezpieczna poczta i PGP

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

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

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

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

Technologie zapewniajace bezpieczeństwo w systemach operacyjnych (PKI, Smart Cards, SSL, SSH)

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

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

Bezpieczne protokoły Materiały pomocnicze do wykładu

WHEEL LYNX SSL/TLS DECRYPTOR. najszybszy deszyfrator ruchu SSL/TLS

Protokół SSH. Patryk Czarnik

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

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Zastosowania informatyki w gospodarce Wykład 5

Protokół HTTPS. Adam Danecki Informatyka gr. 1.4

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Laboratorium nr 6 VPN i PKI

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

Zdalne logowanie do serwerów

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Autor: Piotr Ignał Opiekun: prof. dr hab. inż. Zbigniew Kotulski

Bezpieczeństwo systemów komputerowych

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

SET (Secure Electronic Transaction)

UNIWERSYTET EKONOMICZNY WE WROCŁAWIU. Sprawozdanie. Analizator sieciowy WIRESHARK. Paweł Jarosz Grupa 20 IiE

Uwierzytelnianie w sieci x Zabezpieczenie krawędzi sieci - dokument techniczny

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Bazy danych i usługi sieciowe

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

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Ochrona systemów informacyjnych. SSL (Secure Socket Layer) - protokół bezpiecznych połączeń sieciowych

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Problemy z bezpieczeństwem w sieci lokalnej

Bezpieczna poczta i PGP

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

Protokół SSH. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Klient-Serwer Komunikacja przy pomocy gniazd

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

5. Metody uwierzytelniania i bezpiecznej komunikacji Certyfikat klucza publicznego oparty o standard X.509

Bezpieczeństwo usług oraz informacje o certyfikatach

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Laboratorium nr 4 Sieci VPN

BeamYourScreen Bezpieczeństwo

ERserver. iseries. Protokół SSL (Secure Sockets Layer)

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

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Ochrona danych i bezpieczeństwo informacji

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

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

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

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

5. Metody uwierzytelniania i bezpiecznej komunikacji Certyfikat klucza publicznego oparty o standard X.509

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Przewodnik użytkownika

Gatesms.eu Mobilne Rozwiązania dla biznesu

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Marcin Szeliga Sieć

Protokoły zdalnego logowania Telnet i SSH

Laboratorium nr 5 Sieci VPN

Protokoły internetowe

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Laboratorium Protokoły sieci teleinformatycznych

Wykład 1. komputerowych Identyfikacja główne slajdy. 12 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Bezpieczeństwo systemów komputerowych

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

Sieci VPN SSL czy IPSec?

Problemy z bezpieczeństwem w sieci lokalnej

Problematyka bezpieczeństwa usług Web Services. Witold Andrzejewski

Bezpieczeństwo poczty elektronicznej

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

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

WSIZ Copernicus we Wrocławiu

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

Bezpieczeństwo w sieci lokalnej - prezentacja na potrzeby Systemów operacyjnych

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

Zastosowania informatyki w gospodarce Wykład 7

Opis efektów kształcenia dla modułu zajęć

2 Kryptografia: algorytmy symetryczne

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

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

Transkrypt:

Wykład 4 Protokoły SSL i TLS główne slajdy 26 października 2011 Instytut Informatyki Uniwersytet Jagielloński 4.1

Secure Sockets Layer i Transport Layer Security SSL zaproponowany przez Netscape w 1994 roku wersja 1.0 miała tak wiele błędów, że nigdy nie została udostępniona Netscape współpracował ze społecznościa Internetu kryptolodzy natychmiast zauważyli mnóstwo dziur pierwsza udostępniona była wersja v2.0 ok. lutego 1995 TLS poprawił wiele błędów SSL ma zapewniać bezpieczeństwo połaczeń w sieci jest protokołem pomiędzy warstwa TCP a warstwa aplikacji TLS jest "przeźroczysty" i działa w warstwie prezentacji OSI całkowicie opiera się na protokołach połaczeniowych zapewniajacych kompletność transmisji istnieje rozszerzenie Datagram TLS (DTLS) dla UDP 4.2

Weryfikacja TLS zapewnia uwierzytelnianie (authentication) oparte na certyfikatach komunikaty sa podpisywane i przesyłane wraz z certyfikatem strony certyfikat zawiera informację identyfikujac a i klucz publicznym, podpisane przez instytucję, do której odbiorca ma zaufanie instytucja zapewnia możliwość weryfikacji certyfikatu czasem serwer wykorzystuje certyfikat podpisany przez samego siebie jest protokołem typu klient serwer w HTTPS, POP3S, IMAP4S zwykle weryfikowany jest tylko serwer serwer może zażadać weryfikacji klienta możliwa jest anonimowa wymiana kluczy w takiej sytuacji weryfikacja nie jest wykonywana możliwość ustawienia fałszywego serwera 4.3

TLS IETF uznało SSL v3.0 i przyjęło go za standard TLS 1.0 w 1999 roku teraz mamy wersję TLS 1.2 wykorzystuje SHA-256 istnieje możliwość użycia poprzednich przy połaczeniu z wcześniejsza wersja TLS wykorzystuje funkcję haszujac a z kluczem HMAC jako generator liczb losowych do danych XOR-owany jest łańcuch bloków 0x5C z kluczem i danymi co jest haszowane do wyniku doklejany jest klucz, XOR-owany inny łańcuch i haszowane wielokrotne haszowanie HMAC z ziarnem daje generator liczb losowych o dobrych własnościach 4.4

Komunikaty TLS handshake nawiazanie porozumienia, weryfikacja (serwera, lub obu), wymiana kluczy hello request client hello server hello server certificate server key exchange server hello done client certificate client key exchange certificate verify change ciper spec informuje, że ustalone parametry staja się ważne od tej chwili wysyłane zaraz po ustaleniu, tuż przed przesyłaniem danych obowiazuje tylko stronę odbierajac a musi więc być wysłane w obydwu kierunkach alert wysyłane w dowolnym momencie gdy połaczenie ma być przerwane lub nastapił bład application data dane aplikacji 4.5

Wymiana komunikatów TLS: wymiana klucza poprzez RSA KLIENT SERWER client Hello server hello certificate server hello done client key exchange change cipher spec change cipher spec application data application data klucz na podstawie liczb losowych w komunikatach hello obliczanie klucza wykorzystuje także wstępna tajemnicę tajemnica wysyłana przez klienta zaszyfrowana kluczem publicznym udostępnionym w certyfikacie serwera skróty wszystkich wysłanych komunikatów 4.6

Wymiana komunikatów: client hello połaczenie przychodzace na port 443 zakłada użycie TLS serwer oczekuje komunikatu client hello w definicji protokołu TLS istnieje możliwość przesyłania pustych danych dla zmylenia ewentualnych podsłuchiwaczy klient wysyła client hello z zawartym numerem najwyższej wersji TLS, która obsługuje to sposób na znalezienie najlepszego możliwego połaczenia client hello zawiera także identyfikator sesji client hello ma też 32-bajtowa liczbę losowa (32 bity czasu i 28 bajtów wygenerowanych lokalnie przez generator liczb losowych oparty na HMAC) kryptografia asymetryczna jest kosztowna, więc jeśli klient komunikuje się z tym samym IP czy serwerem, który już zna i ma uwierzytelnienia, to wysyła ten sam identyfikator sesji, co ostatnim razem to połaczenie mogło być bardzo niedawno nie ma żadnej gwarancji, że serwer zaakceptuje ten ID w client hello jest lista obsługiwanych protokołów kryptograficznych i algorytmów kompresji TLS jest łatwo modyfikowalny i można przestać obsługiwać błędne algorytmy a przyjać nowe ewentualna kompresja (rzadko) oczywiście najpierw 4.7

Wymiana komunikatów TLS istnieje możliwość wstecznej kompatybilności jednak nie dalej niż SSL v3.0 na pewno nie wolno użyć np. MD5 serwer wybiera najwyższy poziom kompatybilności, która znaja obie strony generuje własna 32-bajtowa liczbę losowa wyszukuje czy zna już zaproponowany identyfikator sesji ID serwer zwraca w server hello wybrany poziom, liczbę losowa oraz pusty ID zgoda wznowienie sesji a serwer nie robi cache-owania po swojej stronie nowy ID nie zna podanego ID i proponuje nowy podany ID rozpoznaje klienta i sesję i jest zgoda na jej wznowienie skrócony handshake następnie wysyła certyfikat (w server hello lub certificate) certyfikat zawiera cała hierarchię podpisów 4.8

Wymiana TLS: client cipher jeśli wraca do klienta inny ID klient kontroluje otrzymany w certificate certyfikat generuja klucze obie strony wysyłaja change cipher spec i kontroluja hasze w i rozpoczyna się wymiana danych 4.9

Komunikaty TLS: efemeryczny handshake KLIENT client Hello SERWER server hello server key exhange certificate server hello done client key exchange change cipher spec change cipher spec application data application data wykorzystuje wymianę kluczy Diffie Hellmana 4.10

Wymiana TLS: client cipher jeśli wraca ten sam ID, to nie ma więcej negocjacji klient wysyła change cipher spec oznaczajacy koniec negocjacji obie strony generuja nowy klucz sesyjny serwer potwierdza i wysyła swój change cipher spec wtedy wymieniaja hasze wszystkich poprzednich komunikatów i dopiero po ich potwierdzeniu rozpoczyna się wymiana na poziomie aplikacji 4.11

Wymiana komunikatów TLS: skrócony handshake KLIENT client Hello SERWER server hello changed cipher spec change cipher spec application data application data 4.12