Usługi szyfrowania i multimedialne w sieci Internet Wykład dla Studium Podyplomowego „Informatyka w Szkole” Dr inż. Piotr Gronek Zakład Informatyki Stosowanej Pawilon D-10, p. 233 Tel. 617 23 18
Program wykładu Technologie szyfrowania połączeń internetowych Algorytmy szyfrujące Podpisy cyfrowe Tunele i wirtualne sieci prywatne Szyfrowanie poczty elektronicznej Multimedia w Internecie Transmisja strumieniowa
Rozwój sieci Internet Wzrost liczby węzłów. Wzrost liczby witryn WWW. Wzrost penetracji usług dostępu szerokopasmowego; duża prędkość transmisji danych. Zastosowania wymagające poufności i uwierzytelniania.
Wymagania bezpieczeństwa dla technik zdalnego dostępu Poufność – transmitowane dane muszą być nieczytelne dla nieupoważnionych stron. Cel ten jest osiągany za pomocą szyfrowania. Nienaruszalność – strona nieupoważniona nie może być w stanie dokonać jakiejkolwiek modyfikacji przesyłanych danych w sposób niezauważalny. Cel ten jest osiągany za pomocą sum kontrolnych. Uwierzytelnienie – obie strony komunikacji muszą być w stanie niezawodnie zidentyfikować tożsamość partnera, aby wyeliminować możliwość podszycia się strony trzeciej. Cel ten można osiągnąć za pomocą wymiany haseł, lecz najbardziej niezawodnym sposobem identyfikacji jest podpis cyfrowy, szczególnie w oparciu infrastrukturę klucza publicznego (Public Key Infrastructure – PKI).
Bezpieczne połączenia w sieci Internet Sieci VPN (Virtual Private Networks): protokół SSH plus tunelowanie, protokół PPTP, protokół IPSec (Secure IP). Szyfrowanie transmisji stron WWW: połączenia SSL (Secure Socket Layer). Zastosowania: tele-praca, e-bank, e-commerce, e-podpis. Bezpieczeństwo poczty elektronicznej.
Technologie szyfrowania połączeń internetowych Warianty szyfrowanych połączeń TCP/IP w odniesieniu do modelu warstwowego OSI. / SSL
Systemy autoryzacji i szyfrowania
Algorytmy szyfrujące symetryczne asymetryczne Algorytmy symetryczne wykorzystują do szyfrowania i deszyfrowania informacji ten sam klucz. Klucz taki nie może zostać ujawniony. Popularne algorytmy symetryczne - DES, AES, IDEA, Blowfish. Problem – dystrybucja klucza z zachowaniem tajności. asymetryczne Algorytm wykorzystuje parę kluczy. Jeden z kluczy jest kluczem jawnym, drugi tajnym. Klucz jawny udostępniamy w Internecie. Szyfrowanie informacji następuje przy pomocy klucza tajnego (prywatnego nadawcy). Deszyfrowanie informacji nastąpi poprzez użycie klucza jawnego (publicznego nadawcy). Przykłady –RSA, DSS (DSA), Diffie-Hellman’a
Algorytmy szyfrowania Symetryczne (z tajnym kluczem), np. AES, IDEA, A5 Asymetryczne (z parą kluczy: prywatny/publiczny), np. RSA, Diffie-Hellman’a
Algorytm RSA 1. Weź dwie duże liczby pierwsze, p i q. 2. Wylicz n = pq. 3. Weź liczbę, e, e<n względnie pierwszą do (p-1)(q-1) tzn. że e i (p-1)(q-1) nie mają wspólnego podzielnika innego niż 1. 4. Odwrotność e mod (p-1)(q-1) oznacz d tj. ed = 1 mod (p-1)(q-1). e i d to publiczny i prywatny wykładnik. kluczem publicznym jest para (n,e), a kluczem prywatnym d. parametry p i q muszą pozostać ukryte lub zniszczone.
Algorytm Diffie-Hellman'a 1. Alicja i Bob uzgadniają jawnie dwie liczby: g i p (duża liczba pierwsza). 2. Alicja generuje dużą liczbę losową a i oblicza X = ga mod m. 3. Bob generuje dużą liczbę losową b i oblicza Y = gb mod m. 4. Alicja wysyła X do Boba, a Bob Y do Alicji. 5. Bob oblicza K1 = Xb mod m a Alicja K2 = Ya mod m. - K1 =K2 = gab mod m stanowi wspólny sekretny klucz. - nie można go odtworzyć bez znajomości a i b.
Przesłanie zaszyfrowanej wiadomości z wykorzystaniem RSA Alicja chce wysłać bezpiecznie komunikat m do Boba. Alicja tworzy szyfrogram c: c = me mod n gdzie e i n to klucz publiczny Boba. Alicja wysyła c do Boba. Aby odszyfrować komunikat, Bob oblicza: cd mod n = m i odzyskuje oryginalny komunikat m (tylko on zna swój klucz prywatny d)
Podpis cyfrowy Pozwala zweryfikować autentyczność i nienaruszalność przesyłki. Gwarantuje także niemożność wyparcia się autorstwa przesyłki
Podpisy cyfrowe Funkcje hash – jednokierunkowe Funkcja taka generuje wyciąg (digest) o stałej długości (podpis), z ciągu danych o dowolnej długości, w sposób wysoce nie powtarzalny. Ponadto, funkcja musi być jednokierunkowa, czyli bardzo trudno odwracalna (w sensie nakładu rachunkowego). Przykłady: MD5, SHA-1.
Podpis cyfrowy W wypadku użycia klucza prywatnego wytworzony MAC to tzw. podpis cyfrowy. Zakodowany w ten sposób klucz sekretny to tzw. cyfrowa koperta (digital envelope).
Weryfikacja integralności i autentyczności
Uwierzytelnianie wiadomości za pomocą podpisu kluczem RSA Alicja chce wysłać podpisany komunikat m do Boba. Alicja tworzy podpis s: s = m d mod n gdzie d i n należą do Alicji (d – klucz prywatny). Alicja wysyła s i m do Boba. Aby zweryfikować podpis, Bob oblicza: s e mod n = m1 i porównuje m1 z m (e i n to klucz publiczny Alicji).
Przykład Wykonanie skrótu za pomocą funkcji SHA-1. Podpisanie skrótu kluczem asymetrycznym DSA.
Wykorzystanie infrastruktury klucza publicznego (PKI) PKI – Public Key Infrastructure Instytucje certyfikujące (Certification Authority - CA): uwierzytelniają strony transakcji, wydają certyfikaty będące gwarantowanymi (podpisanymi kluczem prywatnym CA) kluczami publicznymi ich klientów. certyfikaty zawierają m.in. datę wydania, termin ważności, nr seryjny, CA mogą wydawać sobie certyfikaty tworząc strukturę hierarchiczną, norma ISO X.509 definiuje standard certyfikatów cyfrowych.
Protokół Secure Shell (SSH) Opracowany w celu realizacji bezpiecznego połączenia terminala znakowego: alternatywa dla sesji Telnet. Dodatkowo umożliwia: przesyłanie plików (usługa SCP / SFTP), tunelowanie połączenia dowolnej aplikacji lokalnej do zdanego serwera, pozwala to działanie takiej aplikacji jak w sieci lokalnej – realizacja idei VPN.
Tunel SSH Przykład tunelowania transmisji poczty elektronicznej: program poczty komunikuje się z serwerem pocztowym tak jak w sieci lokalnej. sieć lokalna firmy
Oprogramowanie SSH Systemy Unix/Linux: System Windows: OpenSSH – bezpłatna realizacja usług serwera i klienta SSH, istnieją realizacje komercyjne. System Windows: kilka realizacji komercyjnych klienta i serwera, PuTTY – bezpłatna realizacja klienta (terminal plus tunelowanie), WinSCP – bezpłatny klient SCP/SFTP.
Negocjacja połączenia SSH
SSH Wymiana kluczy publicznych; weryfikacja autentyczności złożona na użytkownika (najprostsza wersja).
Atak „Man-in-the-Middle”
Protokół SSL (Secure Socket Layers) Protokół aplikacyjny do szyfrowania i autoryzacji danych, zapewnia bezpieczny transfer informacji w kanale komunikacyjnym pomiędzy serwerem a klientem. Protokół jest niezależny od innych protokołów, takich jak HTTP, FTP czy Telnet. Długość stosowanych kluczy szyfrujących: 40-bitowy, 56-bitowy, 128-bitowy. Poufność danych kodowane przy pomocy kluczy znanych jedynie na serwerowi i klientowi. Integralność danych – mechanizm SSL sprawdza, nienaruszalność przesłanych danych. Dostęp do danych jest weryfikowany na podstawie kontroli autentyczności certyfikatu serwera. Autoryzacja serwera polega na sprawdzeniu, czy jest on faktycznie zarejestrowany we wskazanym urzędzie certyfikującym.
Mechanizm transportu SSL SSL Record Protocol
Negocjacja parametrów sesji SSL SSL Handshake Protocol
Sesja SSL w przeglądarce Protokół HTTPS Ikona wskazuje czy dana sesja jest szyfrowana
Ustawienia szyfrowania w programie Netscape (menu: Edycja > Preferencje)
Certyfikat VISA w przeglądarce Netscape
Ustawienia szyfrowania w programie Internet Explorer (Menu: Narzędzia > Opcje internetowe > Zaawansowane)
Sieci VPN (Virtual Private Networks) Technologia wirtualnych sieci umożliwia użytkownikom wykorzystanie Internetu jako medium dostępu do sieci lokalnych ich przedsiębiorstw. Transmisja danych odbywa się z wykorzystaniem specjalnego, bezpiecznego kanału: użytkownicy zdalni łączą się najpierw z Internetem poprzez dostawcę usług internetowych, następnie ustawiają sesję VPN, aby połączyć się z swoją siecią lokalną, dzięki temu mają dostęp do wszystkich zasobów sieci tak, jak gdyby byli do niej przyłączeni bezpośrednio. Technologia wykorzystuje następujące protokoły: PPTP (Point-to-Point Tunneling Protocol), L2TP (Layer-2 Tunneling Protocol), IPSec (Secure IP).
VPN
Ustawienia sieci VPN w systemie Windows 2000 Professional
Szyfrowanie poczty elektronicznej S/MIME (Secure / Multipurpose Internet Mail Extensions) - usługa bazująca na standardzie internetowym MIME i X.509, udostępniająca usługi kryptograficzne do obsługi poczty elektronicznej. Możliwe jest również przesyłanie stron zapisanych w standardzie HTTP. PGP (Pretty Good Privacy) – system szyfrujący, którego autorem jest Phil Zimmermann. Oparty jest na idei klucza publicznego. System oprócz szyfrowania, umożliwia również sygnowanie wiadomości (uwierzytelnienie). http://www.openpgp.org/ http://www.pgpi.org/ GNU Privacy Guard (GnuPG) – całkowicie bezpłatny system zastępujący i kompatybilny z PGP. http://www.gnupg.org/
Ustawienia S/MIME w Outlook Express
Ustawienia S/MIME w Netscape Mail tester Ustawienia S/MIME w Netscape Mail
Certyfikat GlogalSign
Windows Privacy Tools / GPGoe WinPT – oprogramowanie zarządzające kluczami asymetrycznymi współpracujące z narzędziami GnuPG. GPGoe – GPG plug-in for the Outlook Express – zawiera moduł GPGOEInit / GPGRelay zapewniające szyfrowanie i podpisywanie wiadomości przesyłanych przez program Outlook Express.
WinPT
GPGoe + Outlook Express
QDGPG „Wtyczka” programowa umożliwiająca wykorzystanie narzędzi GnuPG we współpracy z programem Pegasus Mail.
Pegasus Mail + GnuPG
Pegasus Mail + GnuPG
Podstawowe rodzaje kompresji danych Bezstratna Wielokrotna kompresja i dekompresja pliku nie powoduje utraty żadnej części danych. Stosowana do kompresji dokumentów, oprogramowania, baz danych i zasobów, dla których nie może dojść do zmiany nawet pojedynczego bitu. Stratna Metoda ta podczas kompresji traci bezpowrotnie część danych. Stosowane algorytmy powodują, że tracone są najmniej istotne szczegóły, na korzyść dużego stopnia upakowania danych. Usuwane są dane, reprezentujące informację, której zmysły ludzkie nie są w stanie zarejestrować. Kompresję stratną stosuje się do przechowywania grafiki, obrazów wideo i dźwięku.
Przykładowe formaty kompresji danych Kompresja dokumentów (bezstratna): np. ZIP, RAR, ARJ, gzip, bzip2. Grafika: GIF (Graphic Interxchange Format) obsługuje paletę 256 kolorów, umożliwia tworzenie przeźroczystości; PNG (Portable Network Graphics) następca GIF; JPEG (Joint Photographic Expert Group) obsługuje tryby CMYK, RGB i skalę szarości, nie umożliwia tworzenia przeźroczystości. Dźwięk: WAV, MP3 (MPEG-1 Audio Layer 3), WMA, RealAudio (RAM), G.711 Wideo i dźwięk: MPEG (Motion Picture Expert Group) MPEG-1 (rozdzielczość 352x240 NTSC, 30 fps, VCD) MPEG-2 (rozdzielczość 640x480 NTSC, 60 fps, DVD) MPEG-4 (rozdzielczość 640x480 NTSC ,DiVX) H.261 / H.262 – wideotelefonia
Odtwarzanie plików multimedialnych w Internecie Standardowe - zanim plik zostanie odtworzony, musi być najpierw pobrany z sieci przez przeglądarkę użytkownika, dopiero później zostanie odtworzony. Multimedia strumieniowe - dane są odtwarzane na bieżąco, w miarę napływania pakietów z Internetu bez potrzeby pobrania pliku w całości. Dzięki temu możliwa jest transmisja dźwięku, obrazu w „czasie rzeczywistym”.
Protokoły strumieniowe RTP – Real Time Protocol – odpowiedzialny za przesyłanie danych multimedialnych i synchronizację. RTCP – Real Time Control Protocol – odpowiedzialny za negocjowanie parametrów łączności między nadawcą i odbiorcą. RTSP – Real Time Streaming Protocol – odpowiedzialny za zaawansowane zarządzanie sesjami transmisyjnymi, multipleksowanie strumieni danych różnego typu.
Aplikacje umożliwiające odbiór danych strumieniowych Multimedia: Windows Media Player – Microsoft RealPlayer (RealONE) – RealNetworks QuickTime – Apple WinAMP Telekonferencje: NetMeeting – Microsoft CU-seeMe
RealOne Player Format .rm - Real Media Elementy składowe systemu: RealProducer – przekształca dane medialne w format .rm RealServer – realizuje strumieniowe przesyłanie danych RealPlayer – odtwarza prezentację multimedialną u końcowego użytkownika Pełna wersja komercyjna RealOnePass
Apple QuickTime Player Format .mov Wersja komercyjna QuickTime Pro Serwer Klient (Player) Uproszczony system wirtualnej rzeczywistości (VR)
Windows Media Player Standardowy element środowiska Windows Format .asf – Advanced Streaming Format .wma / .wmv – Windows Media Audio / Video
WinAMP Popularny program do odtwarzania plików audio w formacie MP3: MPEG-1 Audio Layer 3 Działa na różnych platformach systemowych: Windows, Linux Umożliwia obiór w trybie symulującym strumieniowy: wykorzystanie do transmisji protokołu HTTP
Strumieniowanie danych audio Przykład Program strumieniujący: JetCast – strumieniowa transmisja danych audio w formacie MP3. Program odbierający: WinAMP – umożliwia odtwarzanie strumienia danych pobieranego z serwera.
uruchomienie strumienia 1. Wybór źródła danych uruchomienie strumienia dodawanie ścieżek
2. Ustawienia serwera
3. Odbiór – WinAMP adres i nr portu serwera
Strumieniowane danych wideo Przykład Program strumieniujący: VideoLAN Client – strumieniowa transmisja danych wideo w formacie MPEG4/DiVX. Program odbierający: Windows Media Player – umożliwia pobieranie strumienia wideo, odtwarzanie możliwe pod warunkiem zainstalowania kodeka (modułu dekodującego) obsługującego dany format wideo.
1. Wybór źródła danych
2. Konfiguracja strumienia protokół przesyłania format strumienia opcje kodowania
3. Rozpoczęcie strumieniowania odbiór w Windows Media Player
Usługa serwera strumieniowego Przykład Serwer mediów strumieniowych: Microsoft Media Services, element systemu Windows 2003 Server, dystrybucja danych na żądanie, niezależnie do wielu odbiorców. Integracja klienta z przeglądarką WWW.
1. Konsola Windows Media Services
2. Odtwarzanie w przeglądarce
Telefonia IP Oparta o protokoły zarządzające transmisją: H.323 (ITU), SIP (Session Initiation Protocol), MGCP (Media Gateway Control Protocol).
Transmisja VoIP (Voice over IP)
Modularne rozszerzenia funkcjonalności przeglądarek Wtyczki (ang. plugin) - są zewnętrznymi bibliotekami lub programami, które umożliwiają przeglądarce obsługę innych, niż standardowe pliki HTML dokumentów. Najpopularniejsze wtyczki: Multimedialne: QuickTime, itp. Macromedia Flash – obsługa treści multimedialnych, Acrobat – wyświetlanie dokumentów PDF (wymaga instalacji Adobe Acrobat Reader), Net2Phone– rozmowy telefoniczne via Internet.
Adresy WWW OpenSSH: http://www.openssh.org/ PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/ WinSCP: http://winscp.sourceforge.net/ JetCast: http://www.jetaudio.com/ VideoLAN: http://www.videolan.org/ GnuPG: http://www.gnupg.org/ WinPT: http://wald.intevation.org/projects/winpt/ GPGoe: http://wald.intevation.org/projects/gpgoe/ GlobalSign: http://www.globalsign.com/
Transparencje Strona WWW: http://www.ftj.agh.edu.pl/~gronek pozycja: Studia Podyplomowe, odnośnik: SPN - Usługi szyfrowania i multimedialne. Adres e-mail: gronek<at>novell.ftj.agh.edu.pl
Koniec