Zastosowania informatyki w gospodarce Wykład 5

Transkrypt

Zastosowania informatyki w gospodarce Wykład 5
Instytut Informatyki, Automatyki i Robotyki
Zastosowania informatyki w gospodarce
Wykład 5
Podstawowe mechanizmy bezpieczeństwa transakcji
dr inż. Dariusz Caban
dr inż. Jacek Jarnicki
dr inż. Tomasz Walkowiak
Bezpieczeństwo
Komputer jest bezpieczny, jeśli jego użytkownik
może na nim polegać, a zainstalowane
oprogramowanie działa zgodnie ze stawianymi mu
oczekiwaniami – S. Garfinkel, G. Spafford
• Bezpieczeństwo jest wypadkową zachowań ludzkich i
technicznych środków zabezpieczających
– Nakłady na bezpieczeństwo głównie w środki techniczne
– Większość naruszeń bezpieczeństwa wykorzystuje błędy ludzkie
• Bezpieczeństwo transakcji w Internecie
– Bezpieczeństwo komputerów (serwera i stacji klienckich)
– Bezpieczeństwo oprogramowania
– Zabezpieczenia komunikacji i transakcji
2
Zagrożenia
• Podstawowe (niekoniecznie związane z Internetem)
– Zniszczenie / utrata danych (kopie zapasowe)
– Naruszenie poufności informacji
– Nieuprawnione operacje
• Komputer / sieć lokalna z dostępem do Internetu
–
–
–
–
Zwiększone ryzyko ataków zewnętrznych
Możliwość ataków anonimowych
Ograniczone środki prawne ścigania włamywaczy
Dodatkowe zagrożenia
• Realizacja transakcji przez Internet
– Wiarygodność zlecenia
– Niezaprzeczalność zlecenia
– Ochrona dóbr powierzonych przez użytkownika
3
Rodzaje szyfrów kryptograficznych
Szyfry z kluczem tajnym
•Jeden klucz do szyfrowania i
odkodowania
Szyfry z kluczem publicznym
•Klucz szyfrujący i klucz
odkodowujący
•Brak algorytmu wyznaczania
jednego klucza na podstawie
drugiego
•Złożoność numeryczna:
•Algorytmy kodowania i
rozkodowania numerycznie złożone
•można stosować w czasie
rzeczywistym
•Znajomość tekstu jawnego oraz zaszyfrowanego nie wystarcza do
złamania szyfru (poznania klucza)
•Klucz to nie hasło, jest znacznie dłuższy
64 – 256 bitów
1024 – 2048 bitów
4
Moc szyfru
• Złamanie szyfru
– Ujawnienie klucza
• Przegląd zupełny (brute-force attack)
– Polega na łamaniu szyfru metodą prób dla kolejnych możliwych
kluczy
– Skuteczność zależy od długości klucza
• Czas potrzebny na złamanie szyfru
t = τ × 2l
– l – długość klucza (symetrycznego/prywatnego)
– τ - czas testowania jednej wartości klucza
• Podaje się w „latach” koniecznych na złamanie
– np. dla l=128 bitów 2128≈1028 τ lat (gdy τ w ms)
5
Kryptoanaliza
• Celem kryptoanalizy jest wyszukiwanie słabości szyfrów
• Czy da się skrócić czas konieczny do złamania szyfru
• Rodzaje ataków:
– bez znajomości tekstu jawnego
– ze znanym tekstem jawnym
–
–
–
–
z możliwością wyboru tekstu jawnego
z możliwością dynamicznego modyfikowania tekstu
z wyborem tekstu zaszyfrowanego
z dynamicznie modyfikowanym wyborem tekstu
zaszyfrowanego
6
Szyfry symetryczne (bulk cipher)
• Szyfry strumieniowe
–
–
–
–
Dane XOR’owane z pseudolosowym strumieniem bitów
Szyfr jednorazowy Vernam’a
Praktyczny przykład – szyfr RC4
Niedoskonałość generatorów pseudolosowych
• Szyfry blokowe
–
–
–
–
Dane dzielone na bloki stałej wielkości
Szyfrowane osobno bloki
Ten sam klucz do szyfrowania
AES – obecnie obowiązujący standard US (od grudnia 2002)
7
Podstawowy problem szyfrów blokowych
Oryginał
Szyfrowany ECB
Szyfrowany CBC
8
Tryby szyfrowanie strumienia danych
ElectronicC
CodeB
Book
CipherB
BlockC
Chaining
CipherF
FeedB
Back
OutputF
FeedB
Back
9
Nowy tryb szyfrowania – CTR (licznikowy)
10
Tryb szyfrowania z uwierzytelnieniem OCB
(Offset Codebook Mode)
11
Szyfry z kluczem publicznym
• Bazują na problemach numerycznie „trudnych”
• Kryptosystem RSA
– liczba odwrotna, rozkład liczb na czynniki
• Kryptosystem Diffie-Hellman, ElGamal
– logarytmowanie dyskretne
• Podpis cyfrowy DSA
– logarytmowanie dyskretne
• Klucze publiczny i prywatny
– W RSA kluczem publicznym może być szyfrujący lub
rozszyfrowujący
– W pozostałych tak nie jest!
12
Zastosowania szyfrów
• Do szyfrowania danych i komunikatów
– Szyfr symetryczny
– Wymaga wspólnego klucza tajnego
• Do uzgodnienia wspólnej tajemnicy
– Szyfr publiczny
– W szczególności do uzgodnienia klucza
sesyjnego (tajnego)
13
Wiadomość „w kopercie” (enveloping)
• Tworzenie listu w kopercie
– Treść listu szyfrowana jest algorytmem z kluczem tajnym, przy
czym klucz generowany jest losowo (niepowtarzalnie) przez
nadawcę
– Klucz tajny szyfrowany jest algorytmem z kluczem publicznym,
wykorzystując klucz publiczny odbiorcy
– Wiadomość składa się z zaszyfrowanego listu i zaszyfrowanego
klucza losowego
• Odbiorca
– rozszyfrowuje klucz tajny wykorzystując swój klucz prywatny,
– rozszyfrowuje wiadomość wykorzystując otrzymany klucz
• Odbiorca nie ma gwarancji autorstwa listu
14
Skrót kryptograficzny (digest)
• Funkcja haszująca – przekształca dowolny ciąg oktetów
(bajtów lub tekstu) na liczbę stałej długości (skrót)
skrót = # ( „tekst zmiennej długości”)
– Przestrzeń skrótów musi być statystycznie równomiernie
wykorzystana
– Niewielkie zmiany ciągu kodowanego muszą powodować
dowolnie duże zmiany skrótu
• Skrót kryptograficzny ma dodatkowe właściwości
– Numerycznie nierealne jest wygenerowanie jakiegokolwiek
tekstu, mającego zadany skrót (funkcja odwrotna do #)
– Znajomość skrótu nie ujawnia żadnych fragmentów tekstu
pierwotnego
– Skróty kryptograficzne muszą być stosunkowo długie, aby
wykluczyć ataki siłowe
– Algorytmy: MD2, MD5, SHA (secure hash alg.)
15
Podpis elektroniczny
• Wprowadzony w celu uwiarygodnienia poczty
elektronicznej (wykluczenia fałszowania autorstwa)
– Nie wyklucza podsłuchania treści listu
• Podpis elektroniczny wiadomości to:
– Skrót kryptograficzny tej wiadomości
– Zaszyfrowany wykorzystując prywatny klucz szyfrujący nadawcy
(algorytmem z kluczem publicznym)
– Klucz rozszyfrowujący publikuje się w sposób zapewniający
powiązanie z autorem wiadomości
• Odbiorca
– Rozszyfrowuje skrót używając klucza publicznego (poprawne
rozszyfrowanie potwierdza autorstwo listu)
– Ponownie wyznacza skrót kryptograficzny wiadomości – jego
zgodność ze skrótem rozszyfrowanym gwarantuje, że wiadomość
nie została zmieniona
16
Sumy kontrolne MAC
• Uniemożliwiają zmiany w transmitowanych danych
• Message Authentication Code
– Obliczany skrót kryptograficzny i szyfrowany kluczem sesyjnym
• Np. SHA1/RC4, MD5/RC2
• HMAC
– Do wiadomości dołączany klucz sesyjny i skrót liczony łącznie
• Nie wymaga dodatkowego etapu szyfrowania/deszyfrowania
• Wyższe wymagania na odporność skrótu kryptograficznego (aby nie
można zgadnąć klucza sesyjnego)
• Stosowane w prostych aplikacjach, aby uniknąć implementacji
algorytmów szyfrujących
• MAC czy podpis elektroniczny
– Podpisy stosują szyfrowanie z kluczem publicznym
– MAC’i stosują szyfrowanie kluczem symetrycznym
17