66
Bezpieczne usługi sieciowe

Bezpieczne usługi sieciowe

  • Upload
    chico

  • View
    57

  • Download
    1

Embed Size (px)

DESCRIPTION

Bezpieczne usługi sieciowe. Plan wykładu. Wprowadzenie IPSec VPN PGP PEM TLS/SSL SSH Podpis cyfrowy Podsumowanie. Plan wykładu. Wprowadzenie IPSec VPN PGP PEM TLS/SSL SSH Podpis cyfrowy Podsumowanie. Wprowadzenie. - PowerPoint PPT Presentation

Citation preview

Page 1: Bezpieczne usługi sieciowe

Bezpieczne usługi sieciowe

Page 2: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 3: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 4: Bezpieczne usługi sieciowe

Wprowadzenie

• Wiele protokołów sieciowych rodziny TCP/IP została opracowana kilkadziesiąt lat temu, kiedy nie istniała potrzeba bezpieczeństwa

• Dlatego te protokoły nie zawierają praktycznie żadnych mechanizmów zabezpieczających transmisję

• W związku z wykorzystywaniem różnych protokołów TCP/IP do celów finansowych i innych usług wymagających bezpieczeństwa opracowano nowe, bezpieczne wersje protokołów

Page 5: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 6: Bezpieczne usługi sieciowe

IPSec

• IPsec to zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy kodowych pomiędzy komputerami

• Protokoły tej grupy mogą być wykorzystywane do tworzenia VPN (Vritual Private Network), czyli wirtualnej sieci prywatnej

• IPSec jest standaryzowany przez IETF• IPSec służy do zapewnienia autoryzacji nadawcy,

integralność danych, poufność transmisji, sterowanie dostępem w sieciach z IPv4 (opcjonalnie) oraz IPv6 (obowiązkowo)

Page 7: Bezpieczne usługi sieciowe

Protokoły IPSec

• Protokół AH (Authentication Header, RFC 2402) przenosi wartość jednokierunkowej funkcji skrótu treści datagramu oraz stałych pól nagłówka. W tym celu wykorzystywane są funkcje haszujące. Niezaprzeczalność osiągana jest poprzez silne algorytmy kryptograficzne, np. RSA

• Protokół ESP (Encapsulating Security Payload, RFC 2406) umożliwia podpisywanie datagramu (jak w AH) oraz zaszyfrowanie datagramu – wykorzystuje szyfry blokowe w trybie CBC, np. TripleDES (z 3-ma kluczami), Blowfish, AES

Page 8: Bezpieczne usługi sieciowe

IPSec – tryb transportowy

Szyfrowane

Nagłówek pakietu

Inne nagłówki

DaneNagłówek

pakietuInne

nagłówki Dane

Nagłówek szyfrowania

Inne nagłówki

DaneNagłówek

pakietu

• W trybie transportowym (ang. transport mode) do datagramu dodany jest nagłówek AH / ESP i dane datagramu (ramka TCP, UDP) zostają zaszyfrowane

Page 9: Bezpieczne usługi sieciowe

IPSec – tryb tunelowy

• W trybie tunelowym (ang. tunnel mode) oryginalny datagram IP zostanie zabezpieczony (podpisany / zaszyfrowany) w całości, a następnie umieszczony w niezabezpieczonym datagramie IP

LAN LAN

Szyfrowane

Nagłówek pakietu

Inne nagłówki

DaneNagłówek

pakietuInne

nagłówki Dane

Nagłówek szyfrowania

Inne nagłówki

DaneNagłówek

pakietuNagłówek

pakietu

Page 10: Bezpieczne usługi sieciowe

Asocjacja bezpieczeństwa SA

• Asocjacja bezpieczeństwa SA jest to zbiór parametrów charakteryzujących bezpieczną komunikację między nadawcą a odbiorcą (kontekst), utrzymywany przez nadawcę i unikalnie identyfikowany przez SPI (Security Parameters Index)

• W sieci przesyłany jest tylko numer SPI, a nie wszystkie parametry

• Asocjacja bezpieczeństwa jest jednokierunkowa – w łączności obukierunkowej wymagane są dwie asocjacje

• Szczegóły SA są ustalane za pomocą specjalnych protokołów, np. ISAKMP

Page 11: Bezpieczne usługi sieciowe

Podsumowanie IPSec

• Skalowalność – istnieje wiele wzdrożeń• Bezpieczeństwo – IPSec zapewnia dość wysoki poziom

bezpieczeństwa, błędy mogą się pojawić w konkretnych implementacjach

• Dostępność – IPSec jest znany od wielu lat i dostępny na wielu platformach sprzętowych i programowych

• W protokole IPv4 IPSec jest dodatkową opcją• W protokole IPv6 IPSec jest integralnym elementem

Page 12: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 13: Bezpieczne usługi sieciowe

VPN

• VPN (wirtualna sieć prywatna) jest siecią przekazu danych korzystającą z publicznej infrastruktury telekomunikacyjnej

• Dzięki stosowaniu protokołów tunelowania i procedur bezpieczeństwa w sieci VPN zachowana jest poufność danych

• Kolejna zaleta sieci VPN to obniżenie kosztów zdalnego dostępu do sieci firmowych w stosunku do rozwiązań opartych na liniach wdzwanianych (dial-up) lub dzierżawionych

• Sieci VPN budowane są w oparciu o protokół IPSec oraz SSL

Page 14: Bezpieczne usługi sieciowe

Rodzaje VPN

• Remote access. Zdalny dostęp - sieć łączy zdalnego użytkownika z siecią lokalną. Ten typ sieci jest szczególnie użyteczny dla przedsiębiorstw, które mają zdalnych, często przemieszczających się pracowników

• Site-to-site. Za pomocą technik szyfrowania oraz dedykowanego sprzęt, firma może połączyć wiele swoich rozproszonych sieci lokalnych za pośrednictwem sieci publicznej

Page 15: Bezpieczne usługi sieciowe

Składniki VPN

• Oprogramowanie zainstalowane na komputerze zdalnego użytkownika

• Dedykowane urządzenia, jak np. zapora ogniowa• Dedykowany serwer VPN dla usług dial-up• NAS (Network Access Server), używany przez dostawcę

do zapewnienia dostępu do VPN przez zdalnego użytkownika

Page 16: Bezpieczne usługi sieciowe

IPSec VPN

• W momencie zestawienia połączenia IPSec VPN komputer zdalny staje się częścią sieci prywatnej

• Dlatego należy zapewnić sprawny przydział adresów (np. DHCP) i ruting, z uwzględnieniem zdalnych maszyn

• W połączeniach IPSec są wykorzystywane dwa adresy IP: zewnętrzny - funkcjonujący w sieci operatora oraz wewnętrzny - funkcjonujący wewnątrz sieci prywatnej

• Konieczne są: wyznaczenie uprawnień dla określonych grup zdalnych użytkowników oraz przyporządkowanie im dostępnych zasobów: katalogów, serwerów, portów

Page 17: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 18: Bezpieczne usługi sieciowe

PGP

• System PGP (ang. Pretty Good Privacy) jest w dużym stopniu dziełem Phila Zimmermanna

• PGP zapewnia poufność i uwierzytelnienie w poczcie elektronicznej i przy przechowywaniu plików

• Pierwsza wersja PGP powstała w 1991 roku • Aby obejść ograniczenia dotyczące eksportu broni (w

tym narzędzi informatycznych) z USA, kod PGP został opublikowany na papierze w ten sposób wysłany za granicę

Page 19: Bezpieczne usługi sieciowe

Najważniejsze cechy PGP

• Wybór najlepszych i bezpiecznych algorytmów: konwencjonalnych, asymetrycznych i haszowania jako części składowych

• Zintegrowanie tych algorytmów w jeden program ogólnego zastosowania, niezależnego od systemu operacyjnego i procesora

• Możliwość zintegrowania PGP z większością programów pocztowych

• Dostępne darmowe wersje oprogramowania

Page 20: Bezpieczne usługi sieciowe

Najważniejsze cechy PGP

• Dostępne również płatne wersje PGP zapewniające wsparcie producenta

• Szeroki zakres zastosowań: szyfrowanie plików, komunikatów, poczty elektronicznej, dla firm i pojedynczych użytkowników

• Nie jest kontrolowany przez żadną instytucję rządową ani standaryzacyjną, co utrudnia służbom wywiadowczym kontrolę poczty elektronicznej

Page 21: Bezpieczne usługi sieciowe

Podstawowe działania PGP

• Nadawca szyfruje wiadomość za pomocą algorytmu konwencjonalnego z użyciem stworzonego przez siebie jednorazowego klucza sesji

• Klucz sesji jest szyfrowany algorytmem asymetrycznym z użyciem klucza jawnego odbiorcy i dołączany do zaszyfrowanego komunikatu

MW ia d o m o ś ć

G e n e ro w a n iek lu c z a s e s ji K

EZ a sz y f ro w a n a

w ia d o m o ś ć

E

K J b

Z a sz y f ro w a n y k lu c z s e s ji

Page 22: Bezpieczne usługi sieciowe

Podstawowe działania PGP

• Odbiorca z odebranej wiadomości wyciąga zaszyfrowany klucz sesji i odszyfrowuje go za pomocą algorytmu asymetrycznego z użyciem własnego klucza prywatnego

• Następnie odszyfrowuje komunikat za pomocą algorytmu symetrycznego z użyciem otrzymanego klucza sesji

D

Z a sz y f ro w a n aw ia d o m o ś ć

Z a sz y f ro w a n y k lu c z s e s ji

K P b

K

D M W ia d o m o ś ć

Page 23: Bezpieczne usługi sieciowe

Uwierzytelnianie w PGP

• Wyciąg szyfrowany jest za pomocą RSA, przy użyciu klucza prywatnego nadawcy i dołączany do komunikatu

• Odbiorca używając RSA i klucza jawnego nadawcy do odszyfrowania wyciągu

• Odbiorca generuje nowy wyciąg z komunikatu i porównuje z otrzymanym wyciągiem. Jeśli obie liczby są takie same, komunikat zostaje uznany za autentyczny

H (M )

MP o ró w n a n ie

K P a K J a

E D

M ||E [H (M )]K P a

MZ Z

-1

M

Ź ró d ło A M ie js c e p rz e z n a c z e n ia B

Page 24: Bezpieczne usługi sieciowe

Poufność w PGP

• Skompresowany komunikat szyfrowany jest za pomocą IDEA, przy użyciu klucza sesji

• Klucz sesji szyfrowany jest za pomocą RSA, przy użyciu klucza jawnego odbiorcy i dołączany do komunikatu

• Odbiorca używając RSA i swojego klucza prywatnego odszyfrowuje klucz sesji

• Odbiorca odszyfrowuje komunikatu za pomocą klucza sesji

M

K P b

DZ Z -1

K

E

E

K J b

E E [K ]K K Ja[Z (M )] ||

K

D M

Ź ró d ło A M ie js c e p rz e z n a c z e n ia B

Page 25: Bezpieczne usługi sieciowe

Kompresja w PGP

• PGP automatycznie kompresuje komunikat za pomocą algorytmu ZIP po wygenerowaniu sygnatury, lecz przed zaszyfrowaniem

• Umożliwia to znaczne zmniejszenie pliku, co przyspiesza kompresję i redukuje rozmiar wysyłanej

wiadomości

Page 26: Bezpieczne usługi sieciowe

Zgodność poczty elektronicznej

• Wiele systemów przesyłania poczty elektronicznej pozwala na stosowanie jedynie drukowalnych znaków kodu ASCII

• W celu dostosowania przesyłanych komunikatów, które częściowo lub w całości są szyfrowane i kompresowane PGP stosuje system konwersji radix-64

• Każda grupa trzech oktetów danych w postaci binarnej przekształca się na cztery kody ASCII

• Dołącza się także sumę kontrolną CRC do wykrywania błędów w czasie transmisji

• Konwersja radix-64 jest dokonywana niezależnie od formatu komunikatu, nawet gdy komunikat nie jest szyfrowany i jest w postaci tekstu ASCII

Page 27: Bezpieczne usługi sieciowe

Baza kluczy prywatnych

• Baza kluczy prywatnych może być indeksowana przez ID użytkownika lub ID klucza

• Klucz prywatny jest zaszyfrowany za pomocą wartości H(Pi) - hasła użytkownika (Pi) przekształconego operacją haszowania

• Każdy dostęp do klucza prywatnego wymaga podania hasła, dlatego bezpieczeństwo całego systemu PGP zależy od bezpieczeństwa hasła

Datownik ID Klucza Klucz jawny Zaszyfrowany

klucz prywatny ID

użytkownika . . .

.

.

.

.

.

.

.

.

.

.

.

. Ti KJi mod 264 KJi EH(Pi)[KPi] Użyt i . . .

.

.

.

.

.

.

.

.

.

.

.

.

Page 28: Bezpieczne usługi sieciowe

Baza kluczy jawnych

• Każda pozycja w bazie kluczy jawnych to certyfikat klucza jawnego

• Pole zaufania sygnatury wskazuje stopień zaufania użytkownika do osoby/firmy sygnującej certyfikat

Datownik ID Klucza Klucz jawny

Zaufanie do

właściciela

ID użytko-wnika

Legalność klucza

Sygnatura Zaufanie

do sygnatury

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Ti KJi mod 264 KJi flagai

zaufania Użyt i

flagai zaufania

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Page 29: Bezpieczne usługi sieciowe

Generowanie komunikatu PGP

Oznaczenia: H – haszowanie; SzK – szyfrowanie konwencjonalne; DK – deszyfrowanie konwencjonalne; SzA – szyfrowanie asymetryczne; DA – deszyfrowanie asymetryczne

ID K A E [K P A ]

B aza k luczypryw a tn ych

M

H H (M )

H

H asło

S z A

D K

K P A M

S y g n a tu ra

ID K A

S z K M

S y g n a tu ra

ID K A

K lucz ses jiK S S z A

ID K B K J B

B aza k luczyjaw n ych

M

S y g n a tu ra

ID K A

E [K S]

W yb ór

ID K B

W yb ór

Page 30: Bezpieczne usługi sieciowe

Generowanie komunikatu PGP

Sygnowanie komunikatu: • PGP odszukuje swój klucz prywatny o podanym ID w

bazie klucz prywatnych• PGP prosi o podanie hasła w celu uzyskania

niezaszyfrowanego klucza prywatnego, hasło po haszowaniu służy do odszyfrowania klucza prywatnego.

Szyfrowanie komunikatu:• PGP generuje klucz sesji i szyfruje komunikat

algorytmem konwencjonalnym z użyciem klucza sesji• PGP szyfruje klucz sesji za pomocą klucza jawnego

odbiorcy z bazy kluczy jawnych

Page 31: Bezpieczne usługi sieciowe

Odbiór komunikatu PGP

M

S y g n a tu ra

ID K A

E [K S ]ID K B

ID K B E [K P B ]

B aza k luczypryw a tn ych

W yb ór

H

H asło

D K

K P B

D A

D KK S

M

S y g n a tu ra

ID K A

B aza k luczyjaw n ych

W yb ór ID K A K J A

D A

H

P orów n an ie

Page 32: Bezpieczne usługi sieciowe

Odbiór komunikatu PGP

Deszyfrowanie komunikatu:• PGP odszukuje klucz prywatny odbiorcy w bazie kluczy

prywatnych posługując się polem ID klucza• PGP prosi o hasło w celu odszyfrowania klucza

prywatnego• PGP odszyfrowuje klucz sesji z użyciem uzyskanego

klucza prywatnego i odszyfrowuje komunikatUwierzytelnienie komunikatu: • PGP odszukuje klucz jawny nadawcy w bazie kluczy

jawnych posługując się polem ID klucza• PGP odszyfrowuje otrzymany wyciąg• PGP oblicza wyciąg z otrzymanego komunikatu i

porównuje go z przesłanym wyciągiem

Page 33: Bezpieczne usługi sieciowe

Zarządzanie kluczami jawnymi

• Jedną z metod zarządzania kluczami jawnymi w PGP jest sieć zaufania (ang. Web of Trust)

• W bazie kluczy jawnych w polu zaufania wpisywane jest zaufanie użytkownika do właściciela danego klucza

• Można ufać całkowicie (w pełni) lub częściowo• Wszystkie klucze, których właścicielom ufamy w pełni lub

częściowo są sygnowane przez nas• Dwie częściowo zaufane sygnatury poświadczają klucz• Właściciel wiarygodnego klucz sygnowanego przez

dwóch częściowo zaufanych użytkowników nie musi być obdarzony pełnym zaufaniem

• Odcisk palca (ang. fingerprint) ułatwia sprawdzanie kluczy

Page 34: Bezpieczne usługi sieciowe

Sieć zaufania

A B C D E F

G H I J K L M N O

P R S

T

Z

?

?

??

??

K lucz uznaw any za w iary god ny

P e łn e zau fan ie

C zęściow e zau fan ie

BA B jes t sy gno w ane p rzez A

?

? N ieznany sy gna ta riu sz

Page 35: Bezpieczne usługi sieciowe

Ogólny format komunikatu PGP Elementy

ID klucza jawnego odbiorcy (KJB)

klucza sesji Klucz sesji (KS)

E(KJB)

Datownik

Sygnatura

ID klucza jawnego nadawcy (KJA)

Pierwsze dwa oktety wyciągu

Wyciąg

E(KPA) R64

Nazwa pliku

ZIP E(KS)

Datownik

Komunikat

Dane

Page 36: Bezpieczne usługi sieciowe

Dodatkowe formaty PGP

• Specyfikacja PGP definiuje klika formatów stosowanych do tworzenia pozycji w bazie kluczy, certyfikatów oraz komunikatów

Pakiet zaszyfrowany z

kluczem jawnym Certyfikat klucza jawnego

Oktet Oktet 1 Typ szyfru 1 Typ szyfru 2 Długość 2 Długość 1 Wersja 1 Wersja

4 Datownik 8 2 Okres ważności

ID klucza

1 Alg. konwencjonalny 1 Alg. asymetryczny ? Publiczny dzielnik n ? Zaszyfrowany klucz ? Publiczny wykładnik e

Page 37: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 38: Bezpieczne usługi sieciowe

System PEM

• System PEM (ang. Privacy Enhanced Mail) to prowizoryczny system internetowy służący do zapewnienia bezpieczeństwa poczty elektronicznej

• Zazwyczaj jest stosowany w połączeniu protokołem SMTP

• RFC 1421, cześć I: Szyfrowanie komunikatów i procedury uwierzytelniania

• RFC 1422, cześć II: Zarządzanie kluczami na podstawie certyfikatów

• RFC 1423, cześć III: Algorytmy, tryby i identyfikatory• RFC 1424, cześć IV: Poświadczenie kluczy i usługi z tym

związane

Page 39: Bezpieczne usługi sieciowe

Najważniejsze cechy PEM

• Wymienność: PEM jest niezależny od protokoły sieciowego, systemu operacyjnego, sprzętu

• Zgodność z innymi elementami: PEM jest przeźroczysty dla wszystkich elementów systemu przesyłania poczty

• Zgodność z różnymi narzędziami do przesyłania poczty

• Zgodność z różnymi interfejsami użytkownika: PEM może działać jako oddzielny moduł zintegrowany z programem pocztowym

• Usługi dla list dyskusyjnych• Zgodność z wieloma metodami zarządzania kluczami

Page 40: Bezpieczne usługi sieciowe

Zastosowanie kluczy w PEM

• IK (ang. Interchange Key) służące do wymiany kluczy. IK może być kluczem symetrycznym znanym tylko dwóm komunikującym się osobom, lub parą kluczy jawny/prywatny

• DEK (ang. Data Encryption Key) służący do szyfrowania danych. DEK to jednorazowy klucz sesji. Klucz DEK jest dołączany do komunikatu i szyfrowany kluczem IK

Page 41: Bezpieczne usługi sieciowe

Zarządzanie kluczami jawnymi

• Zarządzanie kluczami jawnymi w PEM jest oparte na systemie certyfikatów X.509

• W specyfikacji PEM hierarchia instytucji certyfikacyjnych składa się z poziomów:– Internet Policy Registration Authority (IPRA):

rejestruje PCA, zapewnia niepowtarzalność i poprawność nazw, zarządza listami unieważnień certyfikatów

– Policy Certification Authority (PCA): ustala i publikuje swoje zasady rejestracji użytkowników

– Certification Authority (CA): odpowiadają za wydawanie certyfikatów dla użytkowników oraz innych CA

Page 42: Bezpieczne usługi sieciowe

Zarządzanie kluczami jawnymi

P C A

C A

IP R A

P C A P C A

C A. .. C A. ..

. ..

C A. .. C A C A. ..

u ż y tk o w n ik u ż y tk o w n ik u ż y tk o w n ik u ż y tk o w n ik

C A

. .. . .. . ..

u ż y tk o w n ik u ż y tk o w n ik

Page 43: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 44: Bezpieczne usługi sieciowe

TLS

• SSL (Secure Socket Layer) jest protokołem sieciowym używanym do bezpiecznych połączeń internetowych stworzonym w 1994 roku przez firmę Netscape

• Pozwala na zestawianie szyfrowanych połączeń internetowych wykorzystujących takie protokoły jak: http, ftp, smtp, nntp czy telnet

• TLS (Transport Layer Security) przyjęte jako standard w Internecie to rozwinięcie protokołu SSL

• TLS 1.1 – wersja obecnie rozwijana, opisana jest w RFC4346

• TLS (SSL) jest podstawowym protokołem zapewniającym bezpieczeństwo w handlu elektronicznym i bankowości elektronicznej

Page 45: Bezpieczne usługi sieciowe

Szyfrowanie WWW z użyciem TLS

• Normalnie strony WWW z serwerów oraz formularze do serwera są przesyłane przez sieć otwartym tekstem

• Jeśli serwer używa protokołu TLS, wówczas informacja w obie strony (między serwerem www i przeglądarką) jest przesyłana przez sieć w sposób zaszyfrowany

• W momencie nawiązania połączenia z bezpieczną (stosującą protokół TLS) stroną WWW następuje ustalenie algorytmów oraz kluczy szyfrujących, stosowanych następnie przy przekazywaniu danych między przeglądarką a serwerem WWW

• Połączenie się ze stroną WWW poprzez TLS jest oznaczane w przeglądarkach https://

Page 46: Bezpieczne usługi sieciowe

Algorytmy w SSL

• Algorytm asymetryczny używany w czasie inicjacji połączenia SSL: przeglądarka generuje losowo klucz sesji, szyfruje go z użyciem klucza publicznego serwera i przesyła go do serwera, serwer za pomocą swojego klucza prywatnego odczytuje klucz sesji

• Algorytm symetryczny. Cała transmisja danych między serwerem i przeglądarką jest szyfrowana za pomocą klucza sesji

• Funkcja skrótu używana do generowania podpisów cyfrowych

Page 47: Bezpieczne usługi sieciowe

Wymiana informacji między klientem i serwerem

Page 48: Bezpieczne usługi sieciowe

Certyfikat TLS

• Ze względu na sposób dokonywania autoryzacji TLS jest protokołem scentralizowanym

• Jest on oparty o grupę instytucji certyfikujących CA (ang. Certyfing Authorities), które opatrują swoim podpisem certyfikaty poszczególnych serwerów

• CA z założenia są godni zaufania, a uzyskanie podpisu wymaga przedstawienia szeregu dowodów tożsamości

• W ten sposób wchodząc na serwer legitymujący się certyfikatem jednego ze znanych CA mamy pewność, że serwer rzeczywiście jest tym za który się podaje

Page 49: Bezpieczne usługi sieciowe

Weryfikacja certyfikatu serwera przez klienta

Page 50: Bezpieczne usługi sieciowe

SSL VPN

• W oparciu o protokół SSL można realizować sieci VPN w warstwie 7 modelu ISO/OSI

• Porównując z VPN opartym o IPSec, ta koncepcja jest prostsza w realizacji, gdyż po stronie użytkownika do korzystania z VPN wystarczy zwykła przeglądarka internetowa

• Portale aplikacyjne SSL VPN oferują wysoki poziom ochrony danych przesyłanych w sieci korzystając z mechanizmów wbudowanych w SSL

• Technologia SSL VPN najlepiej stosować w implementacjach sieci VPN typu client-to-site

Page 51: Bezpieczne usługi sieciowe

SSL VPN

Przeglądarka WEB

Klient poczty

Klient bazy danych

Aplikacje internetowe

Tunel SSL

Brama SSL (portal

aplikacyjny)

SMTP

SQL

HTTP

Inne protokoły

Page 52: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 53: Bezpieczne usługi sieciowe

Protokół SSH

• Protokół SSH (Secure Shell) zapewnia mechanizm szyfrowania danych w warstwie transportowej protokołu sieciowego

• Program został napisany przez Tatu Ylonena z Uniwersytetu w Helsinkach

• SSH to bezpieczna wersja usługi telnet• Protokół SSH jest opisany w dokumentach RFC4250,

RFC4251, RFC4252, RFC4253, RFC4254

Page 54: Bezpieczne usługi sieciowe

Funkcje SSH

• Uwierzytelnienie pomiędzy dwoma komputerami w sieci• Uwierzytelnienie pomiędzy użytkownikami• Poufność przesyłanych danych• Integralność danych

Page 55: Bezpieczne usługi sieciowe

Zasada działania SSH

• Każdy z komputerów, na których jest zainstalowany pakiet SSH posiada parę 1024 bitowych kluczy: klucz prywatny, i klucz jawny tzw. Public Host Key

• Podczas uruchamiania demona sshd generowana jest dodatkowa para 768 bitowych kluczy serwera. Klucz publiczny nazywa się Server Key. Klucze są zmieniane co godzinę

• Użytkownik generuje dodatkowo parę 1024 bitowych kluczy User Authentication Key

• Klucz prywatny jest szyfrowany z użyciem algorytmu IDEA

Page 56: Bezpieczne usługi sieciowe

Zasada działania SSH

• Kiedy użytkownik A chce się zalogować na serwer B, to B przesyła do A dwa klucze publiczne Server Key i Public Host Key

• A sprawdza czy Public Host Key jest poprawny (zgadza się z zapisanym kluczem w pliku lokalnym)

• Jeśli wszystko się zgadza, A generuje losowy klucz sesji, szyfruje go po kolei obydwoma kluczami jawnymi komputera B i przesyła całość do B

• Od tego momentu całość transmisji jest szyfrowana kluczem sesji

• Dla SSH-2 używany jest protokół Diffiego-Hellmana do dystrybucji klucza

• Serwer wysyła do klienta potwierdzenie zaszyfrowane ustalonym kluczem sesji

Page 57: Bezpieczne usługi sieciowe

Uwierzytelnienie w SSH-1

• Protokół Kerberos• Rhosts - uwierzytelnienie komputera• RhostsRSA - uwierzytelnienie komputera z użyciem RSA• Public-Key - uwierzytelnienie na podstawie kluczy

asymetrycznych użytkowników• User password - uwierzytelnienie na podstawie hasła

przesyłanego w formie zaszyfrowanej

Page 58: Bezpieczne usługi sieciowe

SSH-2

• Opracowany w 1996 roku protokół SSH2 jest bezpieczniejszy niż SSH-1

• Jako metoda dystrybucji kluczy można stosować algorytm Diffiego-Hellmana

• Protokół jest bardziej elastyczny - możliwe jest użycie dowolnych sposobów szyfrowania danych i 4 różnych sposobów rozpoznawania użytkownika

Page 59: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 60: Bezpieczne usługi sieciowe

Podpis cyfrowy

• Kiedy nie ma pełnego zaufania między komunikującymi się stronami, wymagane jest coś więcej niż uwierzytelnienie

• Dla takich przypadków najlepszym rozwiązaniem jest podpis cyfrowy (sygnatura cyfrowa), będąca elektronicznym odpowiednikiem odręcznego podpisu

• Podpis cyfrowy umożliwia głosowanie przez Internet, elektroniczne składanie rozliczenia podatkowego, itd.

• W Polsce obowiązuje Ustawa o podpisie elektronicznym, z dnia 18 września 2001 r. (Dz.U.01.130.1450) 28 str. (ISIP), na podst. dyrektywy EU 1999/93/EC

Page 61: Bezpieczne usługi sieciowe

Ataki, których obrona wymaga podpisu cyfrowego

• Zaprzeczenie wysłania komunikatu przez adresata lub zaprzeczenie wysłania komunikatu przez źródło

• Maskarada• Modyfikowanie treści• Modyfikowanie kolejności• Modyfikowanie czasu

Page 62: Bezpieczne usługi sieciowe

Podpis cyfrowy musi spełniać następujące warunki

• Musi umożliwiać sprawdzenie autora, daty i czasu sygnatury

• Musi umożliwiać uwierzytelnienie momencie podpisania• Musi umożliwiać weryfikację sygnatury przez osoby

trzecie w razie potrzeby rozstrzygnięcia konfliktu

Page 63: Bezpieczne usługi sieciowe

Podpis cyfrowy

• Tworzenie podpisu cyfrowego

• Szyfrowanie wiadomości

H

M

K P a

ETe k s t ja w n y

S k ró t w ia d o m o śc i

P o d p is c y f ro w y

O b lic z a n iefu n k c ji s k ró tu

S z y f ro w a n iek lu c z e m

p ry w a tn y m

E [H (M )]K P a

MTe k s t ja w n y

P o d p is c y f ro w y

G e n e ro w a n iek lu c z a s y m e try c z n e g o K

E

Z a sz y f ro w a n y te k s t ja w n y

E

K J b

Z a sz y f ro w a n y p o d p is c y fro w yZ a sz y f ro w a n y

k lu c z s y m e try c z n y

Page 64: Bezpieczne usługi sieciowe

Podpis cyfrowy

• Deszyfrowanie wiadomości

• Weryfikacja podpisu cyfrowego

D

Z a sz y f ro w a n y te k s t ja w n y

Z a sz y f ro w a n y p o d p is c y fro w yZ a sz y f ro w a n y

k lu c z s y m e try c z n y

K P b

K

D M Te k s t ja w n y

P o d p is c y f ro w y

MTe k s t ja w n y

P o d p is c y f ro w y

H

S k ró t w ia d o m o ś c i

D

K J a

S k ró t w ia d o m o ś c i

P o ró w n an ie s k ró tó ww ia d o m o ś c i

Page 65: Bezpieczne usługi sieciowe

Plan wykładu

• Wprowadzenie• IPSec• VPN• PGP• PEM• TLS/SSL• SSH• Podpis cyfrowy• Podsumowanie

Page 66: Bezpieczne usługi sieciowe

Podsumowanie

• Informacje przesyłane w sieci komputerowej często mają dużą wartość

• Dlatego należy je odpowiednio zabezpieczyć• Klasyczne protokoły sieciowe zazwyczaj nie mają

wbudowanych żadnych mechanizmów bezpieczeństwa• Dlatego tworzone są bezpieczne protokoły sieciowe

realizujące funkcje bezpieczeństwa• Przykłady takich protokołów to: IPSec, TLS, SSH, PGP