Bezpieczeństwo w sieciach komputerowych
(prof. dr. hab. inż. Stokłosa)
Wykład 1
Istnieją trzy podejścia:
Protokoły w warstwie aplikacji - ftp, telnet, http
Warstwa transportowa: SSL - http, SSL, HTTPS
Warstwa sieciowa - (poziom operatora)- IPSec
Bezpieczeństwo w tych protokołach osiąga się przez mechanizmy kryptograficzne
Bezpieczeństwo tych protokołów jest bardzo ważne.
Należy stosować je umiejętnie.
Kryptografia, kryptoanaliza, kryptologia
Kryptografia - Przedmiotem zainteresowań kryptografii są algorytmy umożliwiające przekształcenie wiadomości jawnej w wiadomość tajną (zaszyfrowaną)
Wykorzystuje się zwykle parametr zwany kluczem kryptograficznym.
System kryptograficzny symetryczny (albo z kluczem tajnym)
ke - klucz jawny
kd - klucz tajny
Każdy użytkownik ma parę kluczy
Jeśli klucz będzie tajny to nikt nie ma dostępu oprócz nadawcy i odbiorcy
Systemy kryptograficzne dzielimy na: (ze względu na bezpieczeństwo)
- bezwarunkowo bezpieczne - to taki system który bez względu na rozmiar przechwyconego szyfrogramu nie wystarcza do wyznaczenia wiadomości jawnej.
- obliczeniowo bezpieczne - (korzystamy na co dzień) polega na tym że nie może być złamany z użyciem dostępnych zasobów (sprzęt, pamięć, czas (np. 500 lat)
Przykładem jest wiadomość która ma wartość przez dwa dni a łamanie szyfru zajmuje np. rok.
Kryptoanaliza - przedmiotem kryptoanalizy są metody umożliwiające łamanie szyfrów czyli określenie na podstawie kryptogramu tekstu jawnego albo wyznaczanie wartości klucza.
Metody ataku:
1 podejście - atak na tekst zaszyfrowany
a) podejście statystyczne - wykorzystuje znajomość rozkładu liter, słów w tekstach pisanych w językach naturalnych.
b) wyczerpujące przeszukiwanie klucza
2 podejście - atak na tekst częściowo znany
3 podejście - atak na tekst z wybranym tekstem jawnym - analityk może wykonać eksperyment (wprowadza dane na wejście i oczekuje jakie będą dane na wyjściu.
Wyczerpujące przeszukiwanie
Ciągi o długości n
n=3 n=4 n=128
23 24 2128
Jeżeli przeszukanie kombinacji zajmuje 1 ms czyli 10-3 s to dla 2128 potrzebujemy 3,4*1035s= 1,078*1028 lat
Założenie 10-3 czas generowania ciągu
Czas generowania wszystkich ciągów
n |
w sekundach [s] |
w latach [lata] |
40 |
1100 |
18 min |
64 |
1,8*1010 |
585 |
128 |
3,4*1029 |
1,08*1022 |
Zasada Kerckhoffsa
1. Algorytmów nie utajniamy. Bezpieczeństwo szyfru opiera się na kluczu kryptograficznym
2. Wszystkie algorytmy [szyfrowania] powinny być publicznie znane tylko klucze powinny być utrzymywane w tajemnicy
Kryptologia = kryptografia + kryptoanaliza
Kodowanie- przekształcenie zbioru znaków na inny zbiór znaków np. znaki ASCII klawisz F to jest jakiś ciąg bitów.
UWAGA
Szyfrowania nie mylić z kodowaniem
Szyfrowanie to szczególny rodzaj kodowania, tylko osoby będące w posiadaniu klucza mogą szyfrować.
Ważne:
Wiadomości się szyfruje (nie koduje) w celu bezpieczeństwag
Rozwiązania historyczne - historia szyfrów
Dwa typy szyfrów:
Przedstawieniowe
Podstawieniowe
Każdy szyfr jest to przekształcenie 1:1 czyli jest to permutacja
1) Szyfry przedstawieniowe dokonują przestawienia znaków w tekście (wszytkie znaki znajdą się w szyfrogramie ale przestawione)
K O R A -wartość klucza
W |
Y |
Ż |
S |
Z |
A |
S |
Z |
K |
O |
L |
A |
K |
O |
M |
U |
N |
I |
K |
A |
Elementy klucza :rozmiar tabeli, klucz np. słowo KORA
Kodujemy według kolejności alfabetycznej klucza KORA
SZAUA WZKKNYAOOIŻSLMK
Współcześnie zamiast figury stosuje się operacje na bitach
2. Szyfry podstawieniowe (podstawienie coś za coś)
1. proste - zwane monoalfabetycznymi
2. homofoniczne
3. polialfabetyczne - wieloalfabetyczne
4. wieloliterowe
Szyfry proste - przykładem jest szyfr Cezara, Cezar zamiast A pisał D (przesuwał litery o trzy)
A B C D………….Z
0 1 2 3………….25
Szyfrogram
C = (m+3) mod 26
Dziś c = (m+k) mod n - ogólny szyfr Cezara
Szyfr Cezara jest permutacją
lub m = (c - k) mod n
m = (c + n - k) mod n
Szyfr multiplikatywny (mnożenie)
c = k * m * mod* n - nie zawsze jest przekształceniem jednoznacznym
Musi być że NWD (k, n) = 1
n = 7 k = 2
m |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
c |
0 |
2 |
4 |
6 |
1 |
3 |
5 |
m = c * k -1 --------> k-1 =a
a * k = 1
2-1mod 7
a-2 mod 7 = 1
k-1 mod 7 = 4
c = 9 m mod 26
k= 9 k-1 = mod 26
9-1 mod 26 = 3
Szyfry homoficzne (wyrazy które tak samo brzmią)
|
|
A |
{5, - , ; } |
B |
{G, h} |
C |
{#} |
D |
|
E |
{a, $ , = , : } |
F |
|
Zbiory muszą być rozłączne (Znaki w zbiorach nie mogą się powtarzać.
m = A B B A
c = 5 G h lub ; h h ;
Szyfry polialfabetyczne
Zbiór przekształceń
{E ; : ; = 1, 2….., p}
M = WYŻSZASZKOLAKOMUNIKACJI I ZARZĄDZANIA
Klucz jest okresowy np. słowo NARTY
k = NARTYNARTYNARTY……
W=22 N=13 = 35mod26 =9 czyli J
C= JYQ
Szyfr Vigenere
Ci = E ki (mi +ki) mod n
Dla n = 2
ci = mi +ki
mi = ci +ki
Szczególny przypadek szyfru Vigenera dla n = 2
Przy spełnieniu określonych warunków co do klucza szyfr staje się bezwarunkowo bezpieczny. Oto one:
- klucz może być stosowany 1 raz
- klucz tak długi jak wiadomość szyfrowana
- klucz musi być ciągiem losowym
Ciąg jest losowy jeśli spełnia kryteria statystyczne
Ciągi pseudolosowe podobnie jak losowe spełniają kryteria statystyczne ale są okresowe.
Szyfr wieloliterowy - (stosowany w Wielkiej Brytanii) - szyfr Playfaira - szyfrujemy po dwie litery na raz
R |
P |
H |
M |
D |
B |
S |
Q |
Z |
Y |
U |
F |
E |
T |
A |
I |
N |
C |
V |
K |
O |
L |
X |
G |
W |
Alfabet angielski bez J (w kwadracie przeciwne kąty)
WY ŻS ZA SZ KO LA
DA YQ YT QY IW WF
Gdy para leży w tym samym wierszu bierzemy sąsiednie
Klucz:
Szm |
Szm |
S |
S |
S |
25!
Szyfr strumieniowy
Współczesne szyfry
DES - Data Encryption Standard (standard szyfrowania danych)
W latach 70'tych funkcjonowało Krajowe biuro standardów i zaistniała konieczność utajnienia informacji przesyłanych przez sieć (NBS) ogłosiło konkurs na szyfr
IBM - ogłosił standard DES
Został ogłoszony w grudniu 1977 roku i był stosowany do niedawna a nawet do dziś tylko trochę zmodyfikowany.
DES - przekształca ciągi bitów o jednakowej długości 64 bitów na ciągi o długości 64 bity
(wejście 64 bity - wyjście 64 bity)
DES - operuje na 64 bitowym tekście otwartym , dzielonym na dwie części 32 bitowe
Podstawowy schemat DES nosi nazwę konstrukcji Feistela.
DES obejmuje 16 tur ponumerowanych od 1 do 16 W Desie potrzebnych jest 16 par kluczy z których każdy powstaje poprzez wybór 48 bitów z klucza 56 bitowego. Wybór ten jest inny dla każdego klucza tury
Jest to szyfr blokowy. Klucz jest 56 bitowy w praktyce jest 64 bitowy. W każdym bajcie co ósmy bit jest sumą modulo 2 pozostałych siedmiu czyli z 64 zostaje 56.
W każdym bajcie 8 bit jest bitem parzystości. 8*7=56
Wszystkich możliwych kluczy 256
Szyfr DES jest permutacją sterowaną kluczem kryptograficznym o długości 56 bitów
Podstawową permutacją jest permutacja Feistela (PF)
Przekształcenie Feistela - ciąg dzielimy na 2 po 32 bity
Funkcja F
Bloki podstawień S decyduja o bezpieczeństwie szyfru (jakość)
Tworzenie kluczy nadawczych
DES od 1993 roku nie jest bezpieczny
Zaproponowano dwa rozwiązania
1).
k1 I I k2 k1 jest różne od k2
112 bitów
Gdy c = m i k2 jest różne od k1 - klucz pół słaby
k2 jest równe k1 - klucz słaby
DES posiada oba typy kluczy
Wadą jest dwukrotnie dłuższy czas przetwarzania
W DES ie są 4 klucze słabe i 8 kluczy pół słabych
Kluczem słabym jest klucz 01010101
MIST zaproponował potrójny DES czyli Triple DES - 3DES
Można stosować dwie wersje:
1). (k = k3)=(różny) k2 - efektywny klucz112 bitowy
2). k = k2=k3= k1 - efektywny klucz 168 bitowy
W nowym konkursie ogłoszonym przez Misc wygrał Rijandel oparty na wielomianach.
Rijandel znany jest jako AES - Advanced Encryption Standard
Szyfr blokowy, bloki po 128 bitów
Klucze do wyboru: 128, 192, 256 bitów
Inne algrorymy: IDEA - bloki po 64 bity, klucz 128 bitowy (stosowany w PGP)
Szyfr strumieniowy RC4
Szyfry wykładnicze - operują na liczbach (nie na bitach)
c = me mod n - szyfrowanie
m = cd mod n - deszyfrowanie
(me mod n)d mod n = m
(cdmod n) = c
m,c (należy) {0,1,…..n-1)
Szyfrem wykładniczym jest RSA (opublikowany w 1978 roku) jest szyfrem kryptografii asymetrycznej (czyli zaszyfrować może każdy ale zdeszyfrować tylko ten co ma klucz tajny).
--------------------------------------------------------------------------------------------------------------
Wykład 2
Szyfr RSA (jako przykład szyfru wykładniczego)
m, c ε {0,1,……,n-1}
ke, kd ε {0,1,……,n-1}
ke = (e, n) - klucz szyfrujący (jawny)
kd = (d, n) - klucz deszyfrujący (tajny)
c = me mod n
m= cd mod n
Zaszyfrować może każdy, natomiast odszyfrować może tylko posiadać klucza tajnego
Generowanie kluczy dla RSA (Rivest, Shamir, Adelman - rok 1978)
Algorytm :
1. Wygeneruj dwie, losowe różne liczby pierwsze p oraz q.
2. Oblicz iloczyn tych liczb. n = p*q oraz φ (n) = (p-1) (q-1)
gdzie φ jest funkcją Eulera
3. Wybieramy losowo liczbę e ε {2,3,……,φ (n)-1 taką że NWD (e, φ(n))=1 (są względnie pierwsze.
4. Wyznaczamy liczbę d, 1 <d< φ (h) , taką że e d mod φ (h) = 1
5. Przyjmij :
(e, n) - klucz szyfrujący (jawny)
(d, n) - klucz deszyfrujący (tajny)
Info - na początku wielkośc cyfr około 100 liczy obecnie około 150 czyli n> 300 (bitowo 10024 bity)
c = me mod n
Tego typu szyfr stosuje się do szyfrowania małych plików do 512 bit.
Usługi kryptograficzne:
Poufność
Integralność
Uwierzytelnianie (danych, podmiotów)
Niezaprzeczalność
Kontrola dostępu
Funkcja skrótu -
h: {0,1} --{0,1}h
h= 128, 256, 512
m - ciąg 0,1 o dowolnej długości
h(m) - skrót ciągu m
{h(m) = h -długość skrótu zawsze wynosi h
Funkcja skrótu ma dwie własności:
- własności kompresji - h przekształca wejście m o dowolnie dużej długości liczbowej w bitach na wyjście h(m) o ustalonej długości n
- własność - łatwość obliczeń - dla danej funkcji h i wejścia m wartość h(m) jest łatwo obliczalna
Ponadto żądamy aby funkcja skrótu miała dwie dodatkowe cechy:
- jednokierunkowość - (oznacza że z wyniku bardzo trudno odzyskać obliczeniowo wejście)
- Funkcja mnożenia -
- funkcja potęgowa - (jako funkcja jednokierunkowa)
Y = xa mod n
Np.:
y = x2 mod 13
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
y |
0 |
1 |
4 |
9 |
3 |
12 |
10 |
10 |
12 |
3 |
9 |
4 |
1 |
x = 2√y mod n
Funkcja wykładnicza
y = ax mod n
przykład:
y = 2x mod 13
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
y |
1 |
2 |
4 |
8 |
3 |
6 |
12 |
11 |
9 |
5 |
10 |
7 |
1 |
y = 2x x = log2 y
Funkcja jednokierunkowa , gdy spełnione są dwa warunki:
- dla każdego x ε X wartość x=f(x) jest łatwo obliczalna
- dla dostatecznie dużego y ε Y jest obliczeniowo trudno znalezienie takiego x ε X, że f(x)= y
Odporność na kolizję
Kolizja to ta sama wartość funkcji skrótu dla różnych danych wejściowych
Klasyfikacja funkcjonalna
MDC - Manipulation Detection Code - podklasa funkcji skrótu bez klucza
MAC - Massage Authentication Code - podklasa funkcji skrótu z kluczem
Model ogólny funkcji skrótu
Formatowanie wiadomości
m1 m2
|
|
m |
uzupełnienie |
ImI |
MDC - trzy klasy:
- z wykorzystaniem szyfrów blokowych
- zaprojektowane wyłącznie do wyznaczenia skrótu
- w konstrukcji korzysta się z arytmetyki modularnej
Wykorzystanie szyfrów blokowych do budowy funkcji skrótu
a). Davies'a - Meyera
b). Matyasa- Mayera - Oseasa
c). Miyaqucki - Predello
a)
b)
c)
MDC2 (ISO/IEC 10118)
Dedykowane funkcje skrótu:
MD5 (128)
SHA-1 (160)
RIPEMD (160)
Integralność danych
Jak wykorzystać funkcje skrótu do sprawdzenia integralności danych (danych przesyłanych lub przechowywanych na dysku)
Funkcja skrótu z kluczem HMAC (RFC2104)
Najpierw przyjąć funkcję h (np. MD5) oraz klucz k
Funkcja skrótu h:
- przyjmuje jako dane wejściowe B bloków bajtowych (dla MD5 B=64 gdyż wejściem jest blok 512 bitowy)
- produkuje skrót o długości L -bitów (dla MD5 =16, gdyż długość skrótu wynosi 128 bitów)
Klucz k może być dowolnej długości jednak zaleca się aby był nie mniejszy niż L- bajtów.
Dodatkowo definiuje się 2 tablice o rozmiarze B- bajtów.
- opad bajt 5 CH powtórzony B - krotnie
(czyli dla MD5 o długości 512 bitów)
- ipad - bajt 36H powtórzony B- krotnie
(czyli dla MD5 o długości 512 bitów)
Jeśli długość klucz k jest różna od B to:
- gdy jest krótszy niż B bajtów, należy go wydłużyć dodając bajty o wartości zero
- gdy jest dłuższy niż B bajtów, należy obliczyć jego skrót używając funkcji h i uzupełnić zerami do długości B bajtów.
Funkcja skrótu z kluczem HMAC - służy do uwierzytelniania danych
Drugim mechanizmem do uwierzytelniania danych jest podpis cyfrowy.
Podpis cyfrowy
Asymetryczny system kryptograficzny
Poufność
Podpis cyfrowy
c - podpis wiadomości m
Podpis cyfrowy z załącznikiem
Certyfikat klucza publicznego
PKI - Infrastruktura klucz publicznego (Public Key Infrastructure)
X.509 - standard certyfikatu
PKIX - PKI zgodnie z X.509
PKI - to zbiór sprzętu, oprogramowania, ludzi, polityk, procedur koniecznych do utworzenia, zarządzania, przechowywania, dystrybucji i unieważniania certyfikatów klucza publicznego opartych na kryptografii asymetrycznej.
Dokumenty PKIX
Internet X.509
- profile uszczegółowienie
- protokoły operacyjne
- protokoły zarządzania
- zarys polityki
Profile:
TBS - to be signed
wersja certyfikatu,
unikatowy numer seryjny cerytfikatu
identyfikator algorytmu podpisu CA
wystawca certyfikatu
okres ważności (nieważny przed datą, nieważny po dacie)
nazwa przedmiotu otrzymującego certyfikat
informacja o kluczu publicznym i algorytmie podmiotu (algorytm, klucz publiczny)
identyfikator umożliwiający obsługę ponownego użycia nazw podmiotu lub wystawcy
rozszerzenia - rozszerzenie ID, wartość boolowska (domyślnie false)
identyfikator algorytmu podpisu CA (algorytm , parametry algorytmu
podpis pola tbs Certyficate przez wystawcę
Struktura CRL:
-wersja, identyfikator algorytmu podpisu CA, wystawca CRL, data publikacji, data publikacji kolejnej listy (pole opcjonalne), certyfikaty unieważnione (numery seryjne), numer seryjny certyfikatu, data unieważnienia, pola rozszerzeń standardowych, rozszerzone informacje o liście CRL,
Protokół LDAP
RFC 1777, RFC 2559 (druga wersja)
OCSP Online Cert Status Protocol RFC 2560
aplikacja wysyła zapytanie o ważności certyfikatu do serwera OCSP
serwer OCSP odpowiada: poprawny, unieważniony, nieznany, podpisując cyfrowo wiadomość
poprawny certyfikat nie został unieważniony
unieważniony - chwilowe wstrzymanie ważności certyfikatu lub jego całkowite wycofanie
nieznany - serwer OCSP nie posiada żadnych informacji o certyfikacie
CMP - Certyficate Managment Protocol RFC 2510
Polityka certyfikacji oraz normy praktyki certyfikacyjnej RFC 3667
Wykład 3
Ustawa o podpisie cyfrowym
Urzędy certyfikacyjne w Polsce (jest ich 5)
Uwierzytelnianie podmiotów
Identyfikacja - polega na stwierdzeniu tożsamości podmiotu lub obiektu
Identyfikator - niepowtarzalna nazwa lub numer przypisany podmiotowi lub obiektowi
Identyfikator podaje tylko niepotwierdzoną tożsamość
Identyfikatory są konieczne dla rozliczeń i autoryzacji ale nie mogą być używane bez dodatkowego uwierzytelniania podmiotów, jeśli w systemach pożądany jest jakikolwiek stopień bezpieczeństwa. Uwierzytelnianie podmiotów ma bezpośredni wpływ na bezpieczeństwo systemu.
Uwierzytelnianie jednostki - służy sprawdzeniu czy jednostka jest tym za kogo się podaje. Gdy jednostka A zostanie uwierzytelniona wobec jednostki B, to mówimy także że nastąpiła identyfikacja jednostki A przez jednostkę B.
Uwierzytelnianie danych - polega na potwierdzeniu autentyczności pochodzenia danych ze względu na określone źródło danych i ich integralności. Dane uwierzytelnia się za pomocą podpisu cyfrowego i funkcji skrótu.
Weryfikacja - uwierzytelnianie jednostki poprzez porównanie jej charakterystyki z wzorcami przechowywanymi w bazie danych, przeprowadzone jest porównanie jeden do jeden w celu określenia czy deklarowana identyczność jest prawdziwa.
Identyfikacja - uwierzytelnienie jednostki poprzez przeszukiwanie całej bazy danych wzorców , przeprowadza się porównanie typu jeden do wielu. System identyfikacji określa identyczność.
Autoryzacja - pozwolenie wydawane przez instytucję nadrzędną (autorytet)
Polega na otrzymaniu dostępu do obiektów systemu informatycznego w oparciu o identyfikator.
Autoryzacja jest czymś innym niż uwierzytelnianie. W procesie uwierzytelniania sprawdza się jedynie tożsamość jednostki ale nie mówi się nic o jej uprawnieniach dostępu do obiektu. Jednostkę można identyfikować za pomocą protokołu uwierzytelniania a w najprostszym przypadku przez sprawdzenie jej identyfikatora.
Czynniki umożliwiające uwierzytelnianie podmiotów:
Uwierzytelnianie w oparciu o:
- coś co znasz- hasła, klucz
- coś co masz - certyfikat, znacznik
- coś czym jesteś - czynniki biometryczne
Biometria - nauka o mierzalnych cechach biologicznych
Zajmuje się badaniem organizmów pod kątem znalezienia w nich cech unikalnych
Techniki biometryczne - do identyfikacji wykorzystują niepowtarzalne cechy organizmów człowieka.
Np. uwierzytelnianie w oparciu o:
- linie papilarne,
- geometrię dłoni
- geometrię twarzy
Typy protokołów uwierzytelniania:
- słabe uwierzytelnianie (hasła, PIN)
- silne uwierzytelnianie (protokoły typu wyzwanie - odpowiedź, liczby sekwencyjne, datowniki)
----------------------------------------------------------------------------------------------------------
wobec
tokenAB =tekst1||Ekab (TaINa||B||tekst2)
na żądanie
tokenAB =tekst2||Ekab (RB||B||tekst3)
wzajemne
tokenAB=tekst2||Ekab(RA||RB||B||tekst3)
tokenBA=tekst4||Ekab(RB||RA||A||tekst5)
Uwierzytelnienia z pomocą zaufanej strony trzeciej (TTP)
tokenTA=tekst2||EKAT(TVPA||kAB||B||tekst3)||EkBTTTPINTP||kAB||A||tekst4)
tokenAB=tekst5||EKBT(TTPINTP||kAB||A||tekst4)
tokenBA=tekst6||EkAB(TBINB||A||tekst7)
Protokoły wykorzystujące techniki asymetryczne ISO/IEC 9798
Oznaczenia:
CertX - certyfikat wystawiony jednostce X przez zaufaną stronę trzecią
Sx (m) - podpis wykonany przez jednostkę X dla danych m
Uwierzytelnianie jednokrotne
Token AB = TA / NA II B II Tekst 1 II SA (TA // NA II B II Tekst 1)
W kontekście uwierzytelniania w warstwie dostępowej stosuje się protokoły: PAP, CHAM, MS- CHAP, EAP
PAP - Password Authentication Protocol
CHAP - Challenge Handshake Authentication Protocol
MS-CHAP - (Microsoft CHAP) - wersja microsoftu z MD4 - zamiast MD5 stosuje się MD4
EAP - Extensible Authentication Protocol - urządzenie uwierzytelniające wysyła do użytkownika jedno lub więcej zapytań w celu uwierzytelnienia go.
Niezaprzeczalność - usługi niezaprzeczalności (T-token)
-pochodzenia (NRO) NROT
-dostarczenia (NRD) NRDT
-przedłużenia (NRS) NRST
-transportu (NRT) NRTT
Kontrola dostępu do systemu za pomocą haseł:
Hasła powinny być przechowywane w postaci zaszyfrowanej
Hasła nie powinny być wyświetlane na ekranie
Im dłużej używane hasło, tym większe prawdopodobieństwo złamania go
System nigdy nie powinien podawać użytkownikowi nowego hasła przy końcu sesji
Użytkownik nie powinien stosować haseł trywialnych i łatwych
Długość haseł i czas bezpiecznego stosowania
Średni czas łamania hasła:
T = ½ * liczba możliwych haseł * czas potrzebny do wypróbowania każdego z nich.
A - ilość znaków na klawiaturze, r - długość hasła
IAI - liczność alfabetu
Ar - liczba możliwych haseł
z - liczba znaków
T = ½ IAIr * z/r
Przykład:
IAI = 105
r = 6,
z= 20
v= 36,600 b/s = 4m575 znaków na sekunde
średni czas złamania hasła = T = ½ *1056 *20/4575 = 2.929170799 = 93 LAT
Protokół uwierzytelniania S/Key za pomocą hasła zmiennego (RFC 1760)
h ε {MD4, MD5}
Wykład 4
Zarządzanie kluczami kryptograficznymi
Protokoły wymiany kluczy wykorzystujące techniki symetryczne
Użytkownik A uwierzytelnia się wobec użytkownika B
Token AB = Tekst2 II EKab (RB II B II Tekst3) - uwierzytelnianie
Token AB = Tekst2 II EKab (RB II B II F II Tekst3) - wymiana klucza
Protokoły ustanawiania klucza (Diffiego Hellmana) wykorzystujące techniki asymetryczne - ISO/IEC 1170-3
Oznaczenie:
p - pierwsza
q - element pierwotny = FP*
q1 - mod p
q2 mod p
qp-1 mod p
p= 7
F* = {1,2,3,4,5,6}
31 mod 7 = 3
32mod 7 = 2
33mod 7 = 6 - mamy wszystkie elementy więc 3 jest generatorem
34mod 7 = 4
35mod 7 = 5
36mod 7 = 1
Obie strony uzgadniają p i q publicznie
Bezpieczeństwo opiera się na trudności obliczeniowej logarytmowania dyskretnego
Jest to dynamiczna wersja algorytmu Diffiego Hellmana (interaktywna, online)
W wersji statycznej bezpieczeństwo oparte jest na wielkości liczby p - rzędu 150 cyfr
Ważne - na egzaminie trzeba znać obie wersje Diffiego Hellmana
Protokół SSH
SSH umożliwia połączenie ze zdalnym komputerem poprzez nie zabezpieczoną sieć komputerową
- dokonanie zdalnej rejestracji
- bezpieczne wykonywanie poleceń
Protokół SSH zapewnia
-szyfrowanie przesyłanych danych
-uwierzytelnienie na serwerze
Proces SSH
1 uwierzytelnienie wobec klienta
2 ustanowienie bezpiecznego połączenia pomiędzy serwerem a klientem
3 uwierzytelnienie klienta wobec serwera
4 logowanie klienta w systemie operacyjnym serwera
5 praca użytkownika na serwerze zdalnym
SSH jest w dwóch wersjach SHA - 1 i SHA - 2
SSH1 SSH2
DES |
+ |
- |
3DES |
+ |
+ |
IDEA |
+ |
- |
Blowfish |
+ |
+ |
two Fish |
- |
+ |
Cast 128 |
- |
+ |
Acrfour(RC4) |
- |
+ |
Uwierzytelnienie
Szyfr |
SSH1 |
SSH2 |
RSA |
+ |
- |
DSA |
- |
+ |
SSH1 - uwierzytelnianie serwera i ustanawianie połączeń szyfrowanych
1 Klient łączy się z serwerem
2 serwer przesyła dane do klienta klucze publiczne komputera i serwera
3 klient porównuje klucz publiczny komputera z kluczem przechowywanym w swojej bazie
4 klient generuje 256 bitowa liczbę losową, szyfruje ją używając obydwu otrzymanych kluczy i tak zaszyfrowaną liczbę wysyła do serwera
w dalszej części sesji liczba ta jest kluczem używanym do szyfrowania wszystkich danych wymienianych
SSH2
Serwer posiada tylko jeden klucz algorytmu DSA identyfikuje komputer, na którym się znajduje. Nie jest generowany klucz identyfikujący serwer.
Podczas połączenia klienta z serwerem ustalany jest klucz sesyjny ( z wykorzystaniem protokołu Diffiego-Hellmana)
pozostała część sesji szyfrowana jest z użyciem jednego z następujących szyfrów pracujących w trybie CBC (Blowfish, Twofish, 3DES, CAST-128, Arcfour)
Dodatkowo zapewniana jest integralność danych wymienianych podczas sesji poprzez wykorzystanie algorytmu HMAC z funkcją skrótu SHA-1 lub MD5
Protokoły poczty elektronicznej
SMTP(1982) (Simple Mail Transfer Protocol)- widomość tekstowa
->PEM(1985-1993) (Privacy Ethanced Mail)
->MIME(1993 , S/MIME - trzy kierunki rozwoju poczty
^ wysyłanie multimediów
- >PGP
MIME - Multipurpouse Internet ,zapewnia przesyłanie - tekst, obraz, dźwięk, sekwencje wideo, pliki wykonywalne
S/MIME Secure Multipropouse Internet
- może być wykorzystywany przez tradycyjne programy agentów pocztowych użytkownika w celu:
1. zabezpieczenia przesyłanej wiadomości przez jej nadawcę
2. do identyfikacji zabezpieczeń kryptograficznych
Składnia wiadomości w S/MIME:
-dane
-dane zaszyfrowane
-dane skrócone
-dane podpisane
-dane uwierzytelnione
-dane w kopercie - dodatkowo wraz z kluczami
Algorytmy kryptograficzne S/MIME:
1 funkcja skrótu : SHA-1, MD5
2 podpisy cyfrowe: DSA, RSA
3 Algorytmy zarządzania kluczami kryptograficznymi:
- algorytm ustalenia kluczy Diffiego-Hellmana
- algorytm przesyłania kluczy RSA
- symetryczne algorytmy szyfrowania kluczy : 3DES, RC2
4 algorytmy szyfrowania treści wiadomości
3DES, RC2, IDEA, SkipJack, CAST-128, AES, Camelia, .. -CBC
5 Algorytmy uwierzytelniania (MAC): HMAC z SHA-1
PGP - wykonuje cztery mechanizmy przetwarzania danych
-szyfrowanie
-podpis cyfrowy
-kompresja
-kodowanie (RADIX 64) - aby umożliwić transport przez SMTP
nadawca -sender (kse,ksd)
odbiorca -reciver (kre,krd)
Kodowanie
Dekodowanie
Radix-64
base 64
ASCII Amor
SSL -netscape
SSL
SSL- zapewnia
-szyfrowanie danych
-uwierzytelnienie serwera
-integralność wiadomości
-uwierzytelnienie klienta w połączeniu TCP/IP
SSL- dzieli się na dwa pod protokoły
warstwa komunikatów |
SSL |
warstwa rekordów |
|
TCP |
Warstwa rekordów- do przesyłania pomiędzy klientem a serwerem bloków danych zwanych rekordami
warstwa komunikacji -używa warstwy rekordów do przesyłania danych
wymiana komunikatów ma na celu :
-uwierzytelnienie serwera wobec klienta
-uzgodnienie przez serwer i klienta algorytmów kryptograficznych
-zastosowanie mechanizmów kryptografii
asymetrycznej do wygenerowania wspólnych kluczy (D-H)
-utworzenie szyfrowanego polączenia SSL
TLS
TLS - Transport Layer Security
-powstał w oparciu o protokół SSL 3.0
VPN -(Virtual Private Network) tunel -ścieżka logiczna
żeby ustanowić tunel należy ustawić szyfrowanie
VPN - jest sieca utworzoną za pomocą wydzielonych logicznych kanałów transmisji danych w ramach sieci rozległej.
VPN realizuje:
- tunelowanie pakietów
- szyfrowanie danych
- kontrola dostępu do węzłów sieci wirtualnej
Ogólnie dostępne połączenia fizyczne: kabel, światłowody, kable miedziane, połączenia satelitarne. Wykorzystywane w sieci rozległej (np. Internet) mogą służyć do zbudowania sieci korzystającej z połączeń wirtualnych.
Połączenia wirtualne - połączenia dokonywane czasowo, nie mające charakteru fizycznego.
Tunelowanie - sposób przesyłania danych z jednej sieci do innej np. sieci lokalnej do innej sieci lokalnej przez sieci publicznej.
Umożliwia przesyłanie pakietów utworzonych w jednej sieci za pomocą pakietów innej sieci przy czym to sieci mają ale nie muszą przesyłać dane w pakietach tego samego typu.
Protokół IPSec
kapsułkowanie
N |
Dane |
-tryb transportowy
N |
EkDane |
-tryb tunelowy
NN |
Dane |
IPSec
jest zbiorem protokołów rozszerzającym komunikacje IP o możliwość użycia mechanizmów
-poufności
-uwierzytelnienia, danych i podmiotów
-zarządzanie kluczami i ustanowienie bezpiecznego połączenia
Dodaje do nagłówka IP dodatkowe pola umożliwiające:
- szyfrowanie przesyłanych danych,
- uwierzytelnianie wiadomości
ESP -protokół kapsułkowania
AH - protokół nagłówków uwierzytelnienia
ISKAMP -protokół zarządzania kluczami
ESP - Encapsulating Security Payload - obejmuje dwa tryby:
-transportowy
-tunelowy
Format pakietu IPv4 w trybie transportowym:
nagłówek IP | nagłówek ESP | Dane | ogon ESP | integralność |
| | |
| | Szyfrowanie |
| uwierzytelnienie |
Format pakietu IPv4 w trybie tunelowym
Nowy nagłówek IP | ESP | Oryginalny nagłówek IP|Dane | ogon ESP | integralność |
| | |
| | | Szyfrowanie |
| uwierzytelnienie |
ISAKMP - Internet Security Assocation and Key Managment Protocol - zapewnia:
- uwierzytelnienie komunikujących się równych sobie jednostek (peer)
- tworzenie bezpiecznych połączeń i zarządzania nimi
- technik generowania kluczy
Śluzy bezpieczeństwa - firewall
Jest to zbiór komponentów umieszczonych pomiędzy dwiema sieciami, które traktowane całościowo mają następujące własności:
-cały ruch na zewnątrz i wewnątrz musi przechodzić przez śluzę
-tylko ruch autoryzowany
-śluza jest nie podatna na penetracje
Grupy komponentów śluzy
-bezpieczny system operacyjny
-filtr pakietów
-brama aplikacyjna
- serwer usług nazw domenowych
- serwer poczty elektronicznej
Dwa podejścia do konfiguracji śluzy
-musi nastąpić kompromis
-co nie jest zabronione jest dozwolone
-co nie jest wyraźnie dozwolone jest zabronione
Brama aplikacyjna
filtrowanie po adresach portów
System wykrywania włamań
Wykrywanie włamań jest to proces identyfikacji i reagowania na szkodliwą działalność skierowaną przeciw zasobom informatycznym infrastruktury komputerowej.
Działające poprzez:
- wykrywanie anomalii - jest oparty na profilu normalnego zachowania użytkownika systemu
- wykrywanie sygnatur- jest oparty na nienormalnych zachowaniach i sygnaturach ataków
Systemy prewencyjne IPS (Intrusion Prevention System)
IPS - proaktywne mechanizmy ochrony zaprojektowane do wykrywania złośliwych pakietów wewnątrz normalnego ruchu sieciowego i zatrzymania działania intruza poprzez automatyczne blokowanie ruchu zanim powstanie szkoda.
Materialy:
Kryptografia
Kryptoanaliza
Szyfry: historyczne, blokowe, tryby pracy alg. Blokowych, wykładnicze RSA
Integralność - f. skrótu, szyfr blokowy jako funkcja skrótu HMAC
Podpis cyfrowy, koncepcja, PKI, X509
Uwierzytelnianie podmiotów
Jednokierunkowy DES, niezaprzeczalność
Klucz 1- razowy S-KEY
16
m
Eke
Ekd
ke
Kd
m
Figura geometryczna
m
c
1 0 1 0
0 1 1 0
mi
ki
ci
1001
mi
0100
c
56
64
64
DES
k
m
64
c
56
64
IP
k16
m
PF 1
PF 16
k1
IP-1
64
c
F
32
32
k1
48
F
k2
48
R1
R2
K16
F
IP-1
64
c
R16
F (Ri, Ki)
Ext
Ri
Ki
32
48
48
48
S1
S2
S8
6
6
6
32
P
32
Cykliczna rotacja w lewo
PS 1
28
28
28
PS 2
PS 2
k2
k1
k1
k2
DES k1
DES k2
c
DES k1
DES -1k3
DES k3
deszyfrowanie
szyfrowanie
szyfrowanie
k1
k3
k2
m
c
Iteracyjna funkcja kompresji
Opcjonalne przekształcenie wy.
Wyjście (skrót)
Wiadomość oryginalna
uzupełnienie
Dodanie bloku z długością
φ
red
h(m)= red (Hr)
Iteracyjna funkcja kompresji
mj
E
mj - n
mj - n
mj
E
mj - 1
mj - 1
u
u
mj - n
mj
E
E
E
V
Hr-1
V
mi
Hi
Hi
64
64
128
mi
h
h(m)
m
nadawca
odbiorca
m
h(m)
h
=?
Eke
Dkd
m
c
m
ke
kd
Dkd
Eke
c
h(m)
h(m)
0)
kd
ke
s(h(m))
S=h(m)d mod h
h
m
s
h(m)
=?
s
m
h
Se mod n
NIE
TAK
h(m)
h(m)
Repozytorium certyfikatów CRL
Jednostka końcowa
RA
CA
CA
Publikacja certyfikatu
Publikacja CRL
Transakcje operacyjne
i zarządzające
Użytkownicy PKI
Jednostka zarządzania PKI
Centrust
NCC - Narodowe Centrum Certyfikacji
Centrum
(Unizeto)
Sigillum
Sygnet
TP Internet
Krajowa Izba rozliczeniowa
router ekranujący
Internet
Internet
T / N
||
m||s
krd
C
RADIX 64
||
Z||B
Z
RSA /DSA
IDEA (CFB)
k
kse
||
h(m)
PKZIP
RSA /DSA
SHA-1
/MD5
m
m||s
Poufność
kre
C
RADIX 64
||
Z||B
IDEA
k(a)
Z
RSA /DSA
a
IDEA (CFB)
k
ksd
=
Podpis
s
h(m)
PKZIP
RSA /DSA
SHA-1
/MD5
m
(SMTP)
A
B
Cert A II Token AB
A
B
Identyfikator , hasło
tajne
RB II Tekst1
Token AB
A
B
A
B
a ε FP*
8
b ε FP*
8
XA = ga mod p
8
XB = gb mod p
8
Oblicza się potęge (XB)a mod p= gba mod p
Oblicza się potęge (XA)b mod p= gab mod p= kAB