SK W07 security


Sieci komputerowe
Wykład 7.
Bezpieczeństwo w sieci
Paweł Niewiadomski
Katedra Informatyki Stosowanej
Wydział Matematyki UA
niewiap@math.uni.lodz.pl
Zagadnienia związane z
bezpieczeństwem
" Poufność (secrecy) informacja może
zostać odczytana tylko przez
uprawnionych użytkowników
" Uwierzytelnianie (authentication)
upewnienie się, że dany użytkownik jest
tym, za kogo się podaje?
Zagadnienia związane z
bezpieczeństwem
" Niezaprzeczalność (nonrepudiation)
upewnienie się, że dany użytkownik nie
może wyprzeć się pewnych swoich
czynności
" Nienaruszalność (integrity) upewnienie
się, że informacja nie została
zmodyfikowana w drodze od nadawcy do
odbiorcy
Co może stać się z
niezabezpieczoną informacją?
" Przykładowy e-mail:
Zamawiam 1 bilet lotniczy do Londynu
Proszę obciążyć moją kartę kredytową nr. xyz
Jan Kowalski, ul. Akacjowa 5 m. 36 Aódz
" Przykładowe problemy:
 Ktoś może przechwycić numer karty kredytowej
Kowalskiego gdy e-mail będzie w drodze (poufność).
 Kowalski może wysłać swoją wiadomość do kogoś,
kto jedynie podaje się za biuro podróży i ujawnić mu
swoje dane osobowe i numer karty kredytowej
(uwierzytelnianie).
 Kowalski może twierdzić, że wcale nie wysłał takiego
zamówienia (niezaprzeczalność).
 Ktoś po drodze może zmienić  1 na  20 ,  Londynu
na  Honolulu (nienaruszalność)
Kryptografia
" Jak to działa?
 Nadawca szyfruje wiadomość
 Wiadomość jest przesyłana w formie
zaszyfrowanej przez sieć
 Odbiorca odszyfrowuje wiadomość
" Sposoby szyfrowania:
 kody zamiana słów np. rozmowa w
obcym języku
 szyfry zamiana znaków bądz innych
arbitralnie wybranych kwantów informacji
Kryptografia
" Szyfrowanie podstawowe pojęcia:
 niezaszyfrowana wiadomość tekst jawny
plaintext (P)
 zaszyfrowana wiadomośc szyfrogram cipher (C)
 Po stronie nadawcy ma miejsce transformacja
EK1(P) C
 C transportowany jest przez sieć
 Po stronie odbiorcy ma miejsce transformacja
DK2(C) P
 E i D są ogólnie znanymi funkcjami dwóch
zmiennych:
" pierwsza zmienna dane (C lub P)
" druga zmienna klucz znany tylko odbiorcy i/lub nadawcy
(K1, K2)
Kryptografia
" Proste szyfry:
 zamiana znaków łamigłówki z gazet
" przykład: ABCDEFGHI& QWERTYUIOP...
" BABCIA WQWEOQ
" klucze ciąg złożony z zaszyfrowanych kolejnych liter
alfabetu
 zamiana kolejności znaków
" przykład wypisujemy tekst po pięć liter w linijce, a potem
spisujemy kolumny
" alamakotaatomekmapsa
alama
kotaa aktmlooaatmpmaesaaka
tomek
mapsa
" klucz ilość kolumn
 bardzo łatwo odkryć klucz mając do dyspozycji
zaszyfrowany tekst
Kryptografia
" Prosta bezwarunkowo bezpieczna metoda
szyfrowania one-time pad połączona z
algorytmem XOR
 klucz generowany losowo, jednorazowy
oraz długości co najmniej takiej, jak długość
wiadomości
 algorytm szyfrowania (E): P xor K C
 algorytm odszyfrowania (D): C xor K P
 wady wynikają z powyższych cech klucza
Kryptografia
" Inne metody pośrednie
 mniejsza odporność na złamanie szyfru, niż one-time
pad
 większa wygoda użytkowania
" Zabezpieczenie przed aktywnymi atakami:
 nadmiarowość informacji (redundancy) nie każdy
szyfrogram po odszyfrowaniu da prawidłowy tekst
jawny tekst jawny powinien zawierać jakiś rodzaj
sumy kontrolnej
" zabezpiecza przed przesyłaniem losowych informacji przez
intruza
 znaczniki czasu (timestamp) informacja staje się
nieaktualna po pewnym czasie
" zabezpiecza przed ponownym przesyłaniem tej samej
zaszyfrowanej wiadomości (np. zamówienia)
Kryptografia - klucze
" EK1(P) C a" C = E (P,K1)
" DK2(C) P a" P = D (C,K2)
" E, D funkcje dwóch zmiennych
" K1, K2 klucze (druga zmienna)
 tylko znając klucz możemy zaszyfrować/odszyfrować
wiadomość
 algorytm nie powinien dawać możliwości znalezienia
klucza nawet, gdy mamy do dyspozycji P i
odpowiadający mu C
 klucz jest często sumą kontrolną wygenerowaną na
podstawie jakiegoś hasła
 im większa długość klucza, tym trudniej go odgadnąć
Kryptografia - klucze
" Szyfry symetryczne (metody klucza
tajnego)
 K1=K2
 DES, 3DES, IDEA, AES, RC5
" Szyfry asymetryczne (metody klucza
jawnego)
 K1`"K2 jeden klucz ogólnodostępny, drugi
dostępny tylko konkretnej osobie
wiadomości zaszyfrowane przy pomocy K1
można odczytać tylko znając K2 i odwrotnie
 RSA, DH, DSA
Kerberos
" System korzystający tylko z kluczy prywatnych
" Wykorzystany m.in. w Win 2000/2003 Server
" Oparty na
 założeniu, że jest tylko jeden bezpieczny serwer
 systemie tzw. biletów
" Obsługa:
 uwierzytelniania
 poufności
 nienaruszalności
Kerberos - uwierzytelnianie
" Problem:
 dwa hosty w sieci:
" klient
" serwer
 Skąd serwer wie, że klient jest tym, za kogo się
podaje?
 Skąd klient wie, że serwer jest tym, za kogo się
podaje?
 Rozwiązanie zarówno klient jak i serwer muszą
dysponować hasłem, które po wymieszaniu (hash)
daje klucz odpowiednio serwera (KS) i klienta (KK)
 Oba te hasła zna dodatkowo bezpieczny serwer
uwierzytelniający (SU)
Kerberos - uwierzytelnianie
" Gracze:
 klient (K)
 serwer (S)
 serwer uwierzytelniający (SU)
 serwer przyznający bilety (SPB)
Kerberos - uwierzytelnianie
" Sytuacja 1 - klient K loguje się do systemu
 K SU: proszę o przyznanie biletu do SPB
 SU K: BSPB, EKK (KK/SPB, Czasy, & )
" BSPB = EKSPB(KK/SPB, Czasy, & )
 K podaje hasło generowany jest na jego
podstawie klucz KK
 K odszyfrowuje wiadomość i uzyskuje KK/SPB
 Teraz klient posiada BSPB oraz KK/SPB
Kerberos - uwierzytelnianie
" Sytuacja 2 - klient K chce uzyskać dostęp
do usługi na serwerze S
 K SPB: BSPB, EKK/SPB (ID, TS,& )
" BSPB = EKSPB(KK/SPB, Czasy, & )
 SPB odszyfrowuje BSPB i uzyskuje KK/SPB
 SPB odszyfrowuje wiadomość i ustala
tożsamość K na podstawie ID
 SPB K: BS, EKK/SPB(KK/S, Czasy,& )
" BS = EKS(KK/S, Czasy, & )
Kerberos - uwierzytelnianie
" Sytuacja 3  klient K chce skorzystać z usługi na
serwerze S
 K S: BS, KKK/S(ID, TS,& )
" BS = EKS(KK/S, Czasy, & )
 S odszyfrowuje bilet i uzyskuje KK/S
 S odszyfrowuje wiadomość przy użyciu KK/S i
uzyskuje tożsamość użytkownika
 S sprawdza w swojej bazie danych, czy użytkownik
ma prawo dostępu do usługi
 dodatkowo, w celu uwierzytelnienia serwera może
mieć miejsce:
 S K: KKK/S (IDS, TS, & )
Kerberos  poufność i
nienaruszalność
" Nienaruszalność
 K i S mogą wyliczać sumy kontrolne z
przesyłanych danych i szyfrować je przy
pomocy KK/S  jeśli dane zostaną zmienione,
suma kontrolna nie będzie się zgadzać, bo
nikt oprócz S i K nie jest w stanie jej
poprawnie zaszyfrować
" Poufność
 K i S mogą szyfrować wszystkie przesyłane
dane przy pomocy KK/S
 zapewnia również nienaruszalność
Pretty Good Privacy
" Ochrona poczty elektronicznej:
 poufność
 uwierzytelnianie
 niezaprzeczalność
 nienaruszalność
" Wykorzystane technologie
kryptograficzne:
 szyfrowanie asymetryczne
 szyfrowanie symetryczne
 tworzenie skrótów cyfrowych (hash)
PGP  podstawy
" Gracze:
 nadawca N
 odbiorca O
 wiadomość jawna P, wiadomość
zaszyfrowana C
" Klucze:
 KNPr, KNPu klucze prywatny i publiczny
nadawcy
 KOPr, KOPu klucze prywatny i publiczny
odbiorcy
 KS jednorazowo generowany klucz sesji
PGP  poufność i nienaruszalność
" Najprościej byłoby zaszyfrować całą
wiadomość algorytmem RSA z kluczem
publicznym odbiorcy, ale:
 RSA b. wolny (100 x wolniejszy niż
DES/IDEA)
" Wiadomość generujemy następująco:
 IDEAKS(P), RSAKPuO(Ks)
" Odbiorca odszyfrowuje KS przy pomocy
KPrO, a następnie odszyfrowuje P przy
pomocy KS
PGP  Uwierzytelnianie i
niezaprzeczalność
" Podpis cyfrowy (digital signature) - DS
" Najprościej byłoby zaszyfrować całą wiadomość kluczem
prywatnym nadawcy, ale:
 odszyfrowywanie powolne (algorytm RSA)
" N tworzy z wiadomości skrót cyfrowy (message digest)
przy pomocy algorytmu haszującego (np. MD5) i ten
skrót szyfruje przy pomocy KNPr:
RSAKNPr(MD5(P)) DS
" N dołącza DS do wiadomości
" O odszyfrowuje MD5(P) przy pomocy KNPu, a następnie
sam generuje skrót MD5 z otrzymanej wiadomości
" Jeżeli te dwa skróty są zgodne to:
 N podpisał tą wiadomość
 N podpisał tą wiadomość
PGP  klucze
" Klucze prywatne przechowywane są w
odpowiedniej bazie w postaci
zaszyfrowanej:
IDEAMD5(hasło)(KPr)
" Klucze jawne innych użytkowników
również przechowywane są w
odpowiedniej bazie
PGP  certyfikaty
" Problem ktoś może podszyć się pod inną osobę i
przesłać nam w jej imieniu swój klucz publiczny.
" Certyfikat cyfrowy sposób upewnienia się, że dany
klucz publiczny rzeczywiście pochodzi od tej, a nie innej
osoby
" Rodzaj  dowodu osobistego . Zawiera:
 wersję PGP
 klucz publiczny użytkownika
 jego dane osobowe
 okres ważności
 typ algorytmu asymetrycznego (RSA, DH, DHA)
 preferowany algorytm symetryczny (IDEA, 3DES, CAST)
 podpis cyfrowy właściciela klucza
 jeden lub więcej podpisów cyfrowych osób trzecich
Certyfikaty X.509
" Również wykorzystywane w PGP
" Główne zastosowanie strony WWW
" Zawierają:
 wersję X.509
 klucz publiczny użytkownika
 numer seryjny
 unikatowy identyfikator użytkownika
 okres ważności
 unikatowy identyfikator instytucji certyfikującej
 podpis cyfrowy instytucji certyfikującej
 algorytm używany do podpisu
Secure Sockets Layer
" Zabezpiecza komunikację w sieci WWW:
 wzajemne uwierzytelnianie klienta i serwera
 poufna komunikacja
 nienaruszalność danych
" Dodatkowa warstwa między warstwą aplikacji
(najczęściej HTTP) a warstwą transportu (TCP)
" Wykorzystane technologie kryptograficzne:
 szyfrowanie asymetryczne
 szyfrowanie symetryczne
 tworzenie skrótów cyfrowych (hash)
SSL  etapy
" Etap I nawiązanie połączenia
 K S: wersja SSL, preferencje, LA
" LA  informacja jednorazowa (nonce)
 S K: Wersja SSL, wybór, LB
 S K: Aańcuch certyfikatów X.509
" przeglądarki rozpoznają ok. 100 najważniejszych instytucji
certyfikujących
 K S: EKSPu (PS)
" PS  premaster secret wstępna tajna informacja
 K i S znają LA, LB oraz PS generują na ich
podstawie klucz sesji (KSES) dalej używany do
szyfrowania danych
 uwierzytelnianie K następuje już po nawiązaniu
bezpiecznego połączenia w ramach drugiego etapu
(standardowe formularze HTTP)
SSL  etapy
" Etap II wymiana danych
 podział danych na segmenty
 kompresja segmentów
 dodanie MAC (message authentication code)
MAC = Hash (segment, KSES) (algorytmy
MD5, SHA-1)
 szyfrowanie przy użyciu KSES (algorytmy
symetryczne RC4, 3DES)
 dodanie nagłówka


Wyszukiwarka

Podobne podstrony:
0708z sk zlm w07
security howto 7 bif7pmbdlmrob6tcblpvwkf37huqfjqc5eeufry bif7pmbdlmrob6tcblpvwkf37huqfjqc5eeufry
security errors
W07 W08 SCR
Klasyfikacje jÄ…kania
Slow start up when using Norton Internet Security 2002 (3)
W07 08 WYKLADY TIORB 2007 MECHANIZACJA CALOSC z rysunkami
security errors
Współczynnik sk
CHRAPEK,podstawy robotyki, elementy sk?owe i struktura robotów
sk
security tips
java security acl NotOwnerException
SHSpec 153 6205C29 Security Check Prepchecking
java security NoSuchProviderException

więcej podobnych podstron