Bezpieczeństwo i ochrona danych
1
dr Andrzej Bobyk
BEZPIECZEŃSTWO I OCHRONA DANYCH
LITERATURA:
1. Edward Amorozo „Sieci: wykrywanie intruzów”, RM, W-wa 1999
2. „Elementarz kryptologii”,
http://www.enigma.com.pl/publikacjie/EL.ARJ
3. Kutyłowski, Strothman „Kryptologia”, ReadMe, W-wa 1999
4. Garfinkel, Spafford „Bezpieczeństwo w Unixie i Internecie”, RM, W-wa 1997
5. W. Stallings „Ochrona danych w sieci”, WNT, W-wa 19997
6. D. Ferbacle „Patologia wirusów komputerowych”, WNT, W-wa 1999
BEZPIECZEŃSTWO KOMPUTEROWE
1. Komputer jest bezpieczny, jeżeli użytkownik może na nim polegać, a zainstalowane oprogramowanie
działa zgodnie ze stawianymi mu oczekiwaniami.
2. Zbiór technicznych rozwiązań nietechnicznych problemów.
Żeby móc powiedzieć, że nasz system jest bezpieczny należy stworzyć struktury bezpieczeństwa, który
tworzy się w etapach:
1. planowanie
2. ocena ryzyka
3. analiza kosztów i zysków
4. tworzenie strategii odpowiadającej konkretnym potrzebom
5. implementacja (wdrażanie)
6. audyt i reagowanie na incydenty.
Praktyczne stworzenie struktur bezpieczeństwa to kwestia zarządzania i administracji, co powinno być
priorytetowe dla zarządzających.
Zasady efektywnej strategii planowania bezpieczeństwa:
1. Świadomość strategii i bezpieczeństwa musi spływać z góry na dół w hierarchii organizacji tzn. zarząd
organizacji powinien traktować bezpieczeństwo jako coś ważnego.
2. Efektywne bezpieczeństwo komputerowe oznacza ochronę danych tzn. wszelkie informacje powinny być
chronione bez względu, na jakim nośniku są zgromadzone.
Kategorie bezpieczeństwa (usługi związane z ochroną informacji):
1. Poufność – ochrona informacji przed odczytem przez osoby nie upoważnione.
Formy
złamania tej kategorii:
•
drukowanie
•
wyświetlanie
•
ujawnienie istnienia jakiegoś obiektu
2. Uwierzytelnianie – poprawne określenie pochodzenia informacji z zapewnieniem autentyczności źródła.
3. Spójność (nienaruszalność) – ochrona informacji przed nieautoryzowanymi zmianami.
Formy ataku:
•
pisanie
•
zmiany stanu
•
kasowanie
•
tworzenie
•
opóźnianie
4. Dostępność (dyspozycyjność) – ochrona świadczonych usług przed zniekształceniem i uszkodzeniem.
Usługa ta polega na zapewnieniu uprawnionym osobom możliwości korzystania z systemu w dowolnej
chwili.
Bezpieczeństwo i ochrona danych
2
5. Niezaprzeczalność – uniemożliwienie nadawcy i odbiorcy informacji zaprzeczenia faktowi jej
przysłania.
6. Prawidłowość – zapewnienie pracy systemu zgodnie z oczekiwaniami.
7. Kontrola dostępu (sterowanie) – regulowanie dostępu do systemu określonym osobo, w określonym
czasie i do określonych zasobów.
8. Audyt – zapewnienie niepodatnego na zniszczenia i uszkodzenie zapisu zdarzeń systemu. Może on
przyjąć formę np. pliku, wydruku itp.
W różnych środowiskach są różne priorytety korzystania z kategorii bezpieczeństwa. W wojsku na
pierwszym miejscu będzie poufność, a potem dostępność. Natomiast na wyższej uczelni ważniejsza jest
spójność (integralność) danych oraz dostępność, mniej ważne jest sterowanie lub audyt. W bankach na
pierwszym miejscu będzie audyt, poufność, ale mniej ważna jest dostępność.
Usługi:
1. Integralność zawartości – usługa ta zapewnia możliwość sprawdzenia czy przesyłane dane nie uległy
zmodyfikowaniu w czasie transmisji.
2. Integralność sekwencji – chroni przed przechwyceniem i opóźnionym przesłaniem wiadomości, zmianą
kolejności wiadomości oraz przed powieleniem, dodaniem lub usunięciem wiadomości.
3. Uwierzytelnienie nadawcy – możliwość sprawdzenia czy nadawca wiadomości jest tym użytkownikiem
systemu, za którego się podaje.
4. Poufność zawartości – uniemożliwienie odczytania przesyłanych danych przez inną osobę niż właściwy
odbiorca informacji.
5. Niezaprzeczalność nadania wiadomości – ochrona odbiorcy komunikatu przez nadawcę faktu wysłania
wiadomości.
6. Niezaprzeczalność nadania wiadomości - ochrona nadawcy komunikatu przez odbiorcę faktu wysłania
wiadomości.
Istnieją usługi, które zawierają w sobie inne usługi np.:
NIEZAPRZECZALNOŚĆ NADANIA
↓
UWIERZYTELNIANIE NADAWCY
↓
INTEGRALNOŚĆ ZAWARTOŚCI
KATEGORIE ZAGROŻEŃ
Ocena ryzyka (szacowanie ryzyka):
1. Określanie zasobów – odpowiedź na pytanie: „Co chronić?”
Należy sporządzić listę elementów chronionych tzn. zarówno środków materialnych (np. dyski), jak i
niematerialnych (np. wizerunek firmy).
MATERIALNE:
•
komputery
•
dane o charakterze strategicznym
•
kopie zapasowe i archiwa
•
podręczniki i książki
•
wydruki
•
nośniki z komercyjnym oprogramowaniem
•
urządzenia i okablowanie komunikacyjne
•
dane osobowe
•
dane audytu
Bezpieczeństwo i ochrona danych
3
NIEMATERIALNE:
•
bezpieczeństwo i zdrowie pracowników
•
prywatność użytkowników
•
hasła pracowników
•
wizerunek publiczny i reputacja firny
•
dobre imię klientów
•
zdolności produkcyjne lub do prowadzenia usług tzn. zdolność funkcjonowania firmy
•
dane konfiguracyjne
2. Identyfikowanie zagrożeń - odpowiedź na pytanie: „Przed czym chronić?”
•
O charakterze środowiskowym tzn. powódź, pożar, wyładowania atmosferyczne i inne, ale też np.
kurz, dym, szkodniki (np. szczury)
•
Zagrożenia związane z pracownikami lub osobami z zewnątrz.
•
Awarie systemów, programowe, sieciowe.
•
Celowe lub bezmyślne zniszczenie.
Również:
•
Choroby ważnych osób np. administratora
•
Choroba wielu pracowników
•
Utrata mediów np. telefoniczna sieć
•
Zwolnienie się pracowników
•
Błędy w programach
•
Złośliwość rzeczy martwych
•
Przypadkowi włamywacze
•
Próby anarchistów itp.
3. Wyznaczanie wymiaru zagrożeń (wyliczanie ryzyka) - odpowiedź na pytanie: „Ile czasu, wysiłku i
pieniędzy można i trzeba poświęcić, aby zapewnić sobie należną ochronę?”.
Wymiar ryzyka określa się w wymiarze rocznym, Dane takie można uzyskać np. od firm
ubezpieczeniowych, na podstawie własnych danych itp. Informacje takie należy regularnie weryfikować.
4. Analiza kosztów i zysków.
Analizujemy koszty strat oraz koszty prewencji. Każdemu zagrożeniu przypisujemy koszty strat. Ważne
jest do jakiej kategorii te zagrożenia przypiszemy np. 500 – 1000 zł lub nienaprawialne.
Należy również analizować w kategorii płynnej tzn. np. niedostępność przez długi lub krótki czas. Koszty
te odpowiednio przemnażamy przez prawdopodobieństwo wystąpienia ich w stosunku rocznym.
Z drugiej strony należy przeanalizować koszty prewencji i na podstawie takiego bilansu analizujemy
zyski i straty.
Przykład 1.
Chcemy obronić się przed wyłączeniem zasilania dłuższego niż kilka sekund. Szacujemy
prawdopodobieństwo w skali rocznej.
Straty:
p=0,5% prawdopodobieństwo wyłączenia
25000,- straty wynikające z niemożności wykonywania pracy.
10000,- koszty pracy personelu sprawdzającego
poprawność działania systemu
(25000+10000)*0,5%=175 zł
Koszty prewencji:
15000,- zakup UPS
1500,- koszt roczny działania UPS (jeżeli będzie działał 10 lat: 15000/10)
Bezpieczeństwo i ochrona danych
4
Odpowiedź:
Koszty prewencji są większe niż strat (1500>175)
Przykład 2.
Zagrożeniem jest utrata (wyjawienie) haseł pracowników.
Straty:
1.000.000,- koszt
50 ilość osób pracujących
p
1
=2% jedna osoba w ciągu roku zdradza hasło
p’
1
=987% prawdopodobieństwo, że 1 osoba nie wyjawi hasła
p’=(0,98)
50
prawdopodobieństwo, że żadna osoba nie wyjawi hasła
p=1-(0,98)
50
=63,6% prawdopodobieństwo wyjawienia hasła przez którąkolwiek
osobę w ciągu roku
63,6%*1.000.000 = 636.000,-
Prewencja:
75,- instalacja programu na jednorazowe hasło na osobę
20.000,- zakup oprogramowania, które będzie działało 5 lat
75*50=3.750,-
3.750+20.000=23.750,-
23.750:5 = 4.750,-
Odpowiedź:
Bardziej opłaca się prewencja (4.750<636.000).
5. Strategia bezpieczeństwa.
Strategia pomaga określić to co jest wartościowe i jakie kroki należy podjąć w celu ochrony tych
wartości.
Zadania strategii bezpieczeństwa:
a. Wyjaśnia co ma być chronione i dlaczego.
b. Wyznacza odpowiedzialność za ochronę.
c. Zapewnia grunt do interpretacji sporów i analizy zdarzeń.
Strategia powinna być ogólna i zwięzła tzn. nie powinno się zamieszczać np. list osób, komputerów itp.
Mówi się np., że: „za przechowywaną informację jest odpowiedzialny główny szef informacji” –
wymienia się stanowisko, ale nie ma nazwiska.
6. Normy bezpieczeństwa.
Mają kodyfikować, służyć do określania kryteriów jakie muszą być spełnione przez mechanizmy, których
dotyczą. Mówi się np., że: „kopie zapasowe całego systemu będą sporządzane regularnie, każdego
tygodnia”. Norma nie wskazuje mechanizmów, ale jest bardziej szczegółowa niż strategia.
7. Procedury.
Służą do interpretacji norm dla konkretnego środowiska. Mogą być łamane o ile celem tego złamania jest
spełnienie normy, która jest nadrzędna. Mówi się np., że: „kopie zapasowe całego systemu UNIX powinny
być wykonywane za pomocą programu DUMP”; „Dane zapisane na nośnikach powinny zostać odczytane
w celu ich weryfikacji”.
Bezpieczeństwo i ochrona danych
5
Reguły:
1. Przypisywanie
właściciela – wszelkie informacje, urządzenia, aby były właściwie chronione muszą mieć
właściciela.
2. Pozytywne nastawienie – wszelkie normy itp. Formułować należy w sposób pozytywny.
3. Pracownicy to też ludzie – w wypadku popełnienia błędu nie należy „palić go na stosie” – tylko
wytłumaczyć skutki.
4. Nacisk na edukację – regularne szkolenia oraz doraźne, gdy pojawia się nowe oprogramowanie.
5. Władza proporcjonalna do odpowiedzialności.
6. Wybór prostej filozofii:
a. liberalnej – wszystko co nie jest zabronione jest dozwolone
b. konserwatywnej – wszystko co jest niedozwolone – jest zabronione.
7. Zasada ochrony w głąb – wielopoziomowe zabezpieczenia.
Problem bezpieczeństwa przez ukrywanie
Każdy użytkownik posiada swą część wiedzy, która potrzebna jest mu do pracy (np. w wojsku). Ukrywanie
informacji nie jest dobrym sposobem ochrony, gdyż zawsze znajdzie się osoba, która metodą analizy
znajdzie te informacje i ich słabe strony.
Ataki na przepływającą informację:
•
Pasywne
PASYWNE
PRZECHWYCENIE
(POUFNOŚĆ)
ODKRYCIE TREŚCI ANALIZA PRZESYŁU
KOMUNIKATU tzn. ODKRYCIE SAMEGO
FAKTU PRZESYŁU
•
Aktywne:
a. Przerwanie
(dyspozycyjność)
b. Modyfikacja
(nienaruszalność)
c. Podrobienie
(autentyczność)
A – nadawca
B – odbiorca
C – osoba niepowołana
Normalny przepływ informacji.
Przerwanie.
A
B
A
B
Bezpieczeństwo i ochrona danych
6
Przechwycenie.
Modyfikacja
Podrobienie (np. wirusy, konie trojańskie).
ZAGROŻENIA SYSTEMU
„Orange book” wydana przez Amerykański Departament Stanu.
Poziomy bezpieczeństwa systemów komputerowych:
1. D1 – określa całkowity brak wiarygodności systemu. Do klasy tej należą systemy pozornie bezpieczne
np. Windows (hasło).
2. C1 – najniższy poziom bezpieczeństwa, gdzie jest zapewniony odpowiedni poziom autoryzacji
użytkowników (odczyt, zapis plików).
System taki nie ma zazwyczaj administratora. Cechą tego poziomu jest również brak mechanizmów
rejestracji zdarzeń.
3. C2 – automatyczna rejestracja zdarzeń.
4. B1 – obsługuje bezpieczeństwo na różnych poziomach, zawiera mechanizmy uznaniowej kontroli
zasobów tzn., że np. właściciel zasobów może nie mieć praw udostępniania ich innym.
5. B2 – wprowadzono „etykiety bezpieczeństwa” przypisane każdemu obiektowi systemu (ludzie, drukarki,
itp.). Etykiety te mogą zmieniać się dynamicznie.
6. B3 – bezwzględna ochrona przesyłanej i przechowywanej informacji (np. tak, aby nikt nie mógł
podsłuchać klawiatury, odczytać ekranu,…).
7. A1 – najwyższy poziom. Wprowadzono certyfikację – cała konfiguracja sprzętowo – systemowa
wymaga matematycznej weryfikacji. Sprzęt i oprogramowanie wymaga specjalnej ochrony w czasie
transportu.
A
B
C
A
B
C
A
B
C
Bezpieczeństwo i ochrona danych
7
POUFNOŚĆ INFORMACJI
Szyfrowanie – ukrycie treści komunikatu tak, by nie był zrozumiały dla osób postronnych.
)
X
(
E
Y
Ks
=
X – teks jawny
Y – tekst zaszyfrowany (kryptogram, szyfrogram)
E – algorytm szyfrujący
Ks – klucz (parametr mówiący o sposobie przeprowadzenia szyfrowania), jego tajność oznacza
bezpieczeństwo.
Tworzeniem algorytmów szyfrowania zajmuje się kryptografia.
Nauka, o tym, jak z tekstu zaszyfrowanego uzyskać tekst jawny nazywa się kryptoanalizą.
Deszyfrowanie.
)
Y
(
D
X
Kd
=
D – algorytm deszyfrujący
Kd – klucz deszyfrujący (nie musi być taki sam jak klucz szyfrujący)
Jeżeli nie mamy klucza deszyfrującego pozostaje tylko kryptoanaliza.
Kryteria podziału systemów kryptograficznych.
1. Liczba
używanych kluczy:
•
szyfrowanie symetryczne – klucze szyfrowania i deszyfrowania są identyczne
•
szyfrowanie asymetryczne – klucze szyfrowania i deszyfrowania są różne
2. Rodzaj operacji używanych do przekształcenia tekstu:
•
szyfry podstawieniowe – zamieniają symbole tekstu jawnego na inne symbole
•
szyfry przestawieniowe – przestawienia symboli w obrębie tekstu jawnego
•
szyfry podstawieniowo – przestawieniowe – (kaskadowe, produktowe, iloczynowe) – na przemian
dokonują podstawień i przestawień
3. Sposób
przekształcania tekstu jawnego:
•
może przekształcać bloki informacji
•
może przekształcać informacje na bieżąco – szyfr strumieniowy
A
B
E
E
X
X
Y
K
S
K
D
Bezpieczeństwo i ochrona danych
8
I.
SCHEMAT BEZWARUNKOWO BEZPIECZNY
Algorytm jest bezwarunkowo bezpieczny, jeżeli generowany przez niego tekst zaszyfrowany nie zawiera
informacji w ilości wystarczającej do tego, aby jednoznacznie określić odpowiadający mu tekst jawny,
niezależnie od ilości dostępnego tekstu zaszyfrowanego.
Istnieje tylko jeden algorytm bezwarunkowo bezpieczny – algorytm bloczka jednorazowego (ang. one – time
pad). Wadą tego algorytmu jest, że klucz jest takiej samej długości jak szyfrowany tekst.
Działa na zasadzie różnicy symetrycznej:
k
x
y
a
symetryczn
róznica
...
1111001
y
klucz
1001101...
k
0110101...
x
klucz
-
y
jawny;
tekst
-
x
x
y
)
y
x
(
ny
zaszyfrowa
tekst
⊕
=
=
=
=
=
⊕
⊕
4
4 3
4
4 2
1
II.
SCHEMAT OBLICZENIOWO BEZPIECZNY
Kryteria bezpieczeństwa:
1.
Czas potrzebny na złamanie szyfru (powinien być dużo większy niż czas „życia” informacji).
2. Koszt
złamania szyfru (powinien być dużo większy niż koszt informacji).
****
Metoda brutalnego ataku polega na zastosowaniu wszystkich możliwych kluczy. Można ją zastosować,
gdy jest sensowność tekstu.
****
Rozmiar klucza
Liczba możliwych kluczy Czas (1/µs) Czas (
s
/
10
6
µ
)
32 bity
9
32
10
3
,
4
2
×
=
36 min.
2 ms
56 bitów
16
56
10
2
,
7
2
×
=
1142 lata
10 godz.
128 bitów
38
128
10
4
,
3
2
×
=
lat
10
4
,
5
24
×
lat
10
4
,
5
18
×
26 znaków (permutacja)
26
10
4
1
!
26
×
=
−
lat
10
4
,
6
12
×
lat
10
4
,
6
6
×
Bezpieczeństwo i ochrona danych
9
Analiza częstości jest podstawową metodą łamania szyfrów podstawieniowych (np. szyfr Cezara).
Tworzy się histogram częstości:
litera
Pr
oc
en
t w
ys
tę
po
w
an
ia
d
an
ej
li
te
ry
A
B
C
D
E
F
18%
17%
10%
15%
7%
2%
................
Możemy wiedzieć lub przypuszczać, w jakim języku został napisany tekst i jakiej dotyczy dziedziny.
Bezpieczeństwo i ochrona danych
10
SYSTEMY SZYFROWANIA
I.
Klasyczne techniki szyfrowania.
1.
STEGANOGRAFIA – ukrywana jest nie tyle treść tekstu, lecz sam fakt istnienia tego tekstu (np.
pisanie atramentem sympatycznym; nakłucia szpilką pod literami w książce; znaki napisane za
pomocą taśmy korekcyjnej).
2. TECHNIKI PODSTAWIENIOWE – symbolom tekstu jawnego przypisujemy symbole tekstu
szyfrowanego.
)
x
(
E
y
x
)
X
(
E
Y
a
szyfrowani
oces
Pr
k
y
j
x
nego
zaszyfrowa
tekstu
znaków
ciąg
-
}
y
,...,
y
,
y
,
y
{
Y
jawnego
tekstu
znaków
ciąg
-
}
x
,...,
x
,
x
,
x
{
X
nego
zaszyfrowa
kstu
alfabet te
-
k
jawnego
kstu
alfabet te
-
j
i
k
i
i
k
i
i
n
3
2
1
n
3
2
1
=
→
=
∈
∈
=
=
∑
∑
∑
∑
3.
SZYFRY JEDNOALFABETOWE (monoalfabetyczne) – ilość symboli tekstu jawnego jest taka sama
jak ilość znaków alfabetu zaszyfrowanego.
Np. szyfr Cezara:
26
mod
)
k
x
(
y
x
:
Cezara
szyfr typu
:
czyli
3)mod26
-
(y
D(y)
ca
deszyfrują
funkcja
-
)
Y
(
D
X
szyfrująca
funkcja
-
26
mod
)
3
x
(
)
X
(
E
26
mod
)
3
x
(
y
x
i
i
i
k
i
i
i
+
=
→
=
=
+
=
+
=
→
SZYFR PODSTAWIENIOWY:
)
X
(
E
y
x
i
i
Π
=
=
→
Π
Π(X) – permutacja zbioru 26 – cio elementowego
Kluczem podstawienia jest „Π”
pierwotna
permutacja
-
)
y
(
)
y
(
D
x
-1
i
1
i
i
Π
Π
=
=
−
Π
Bezpieczeństwo i ochrona danych
11
Ażeby uniemożliwić analizę częstości liter stosuje się szyfry:
1. Homofoniczne – stosuje się różne podstawienia dla jednej litery, np:
A → 13, 26, 18, 7, 15, 3
Q → 9
Symbole te (cyfry) to homofony tzn. jednej literze tekstu jawnego odpowiada zbiór znaków.
Jeżeli liczba homofonów będzie proporcjonalna do częstości liter wówczas rozkład częstości będzie
„płaski”, np.:
A → 13, 26, 18, 7, 15, 3
M → 12, 8
K → 9
C → 11
L → 5
Tekst jawny: ALA MA KACA
Tekst zaszyfrowany: 13, 5, 26, 12, 18, 9, 7, 11, 15
Szyfry homofoniczne wyższych stopni – każdej literze przypisuje się więcej niż jeden zbiór homofonów.
2. Wieloalfabetowe
(polialfabetyczne)
- szyfr
Cezara
26
mod
)
k
x
(
y
i
i
i
+
=
- szyfr Vigenere’a – polega na tym, że pod tekstem jawnym podpisuje się klucz i oblicza przesunięcie
pozycji
T E K S T J A W N Y
K L U C Z K L U C Z
- Inny szyfr wykorzystano w maszynie ENIGMA
A
B
C
D
Y
Z
A
B
C
D
Y
Z
żarówki
styki (26)
klawisze
Po każdym naciśnięciu litery następuje obrót walca o 1/26, co powodowało, że powstało
3
26
alfabetów.
3. Poligramowe (wieloalfabetowe) – szyfrujemy nie pojedyncze litery, lecz ich grupy.
- szyfr Playfair’a – szyfruje pary liter
Tworzymy tabelę 5 na 5 i wpisujemy słowo (pomijając litery powtarzające się), które będzie kluczem
i uzupełniamy pozostałymi literami alfabetu.
Bezpieczeństwo i ochrona danych
12
KAKOFONIA
K
A
O
F
N
I/J B C D E
G H L M P
Q R S T U
V W X Y Z
TE|KS|TX|TA|JN|YX
jeżeli liczba znaków jest nieparzysta, wstawiamy na koniec X
UD|OQ|SY|RF|EK|FO
Bezpieczeństwo i ochrona danych
13
Algorytm DES
DES (Data Encryption Standard) – jest to standard szyfrowania w USA, zaakceptowany w 1977 r.,
zaproponowany przez NBS (obecnie NIST).
Pod koniec lat 60 – tych IBM stworzył projekt badawczy, który w 1971 roku zaowocował szyfrem
LUCIFER (działał na 64 bitowych blokach danych i 128 bitowy klucz). Klucz był zbyt długi by zamieścić
go na ówczesnych układach scalonych i zmniejszono go do 52 bitów. W 1973 roku szyfr ten wygrał konkurs
w USA i został zaakceptowany. Jest to szyfr kaskadowy (podstawienia i przestawienia na przemian).
Szyfr ten jest użytkowany od 1973 roku:
1. zmniejszenie
długości klucza (128 → 52) osłabia jego moc
2. jest osiem tzw. „S – BOX” – ów, a szczegóły ich konstrukcji są tajne, co nasuwa podejrzenie, że NBS
pozostawiło sobie furtkę do łamania szyfru bez konieczności użycia klucza.
Szczegóły konstrukcji „S – BOX”- ów.
1. Jest osiem „S – BOX” – ów, są to macierze o 4 wierszach i 16 kolumnach.
2. Każdy wiersz zawiera liczby od 0 do 15.
3. Żaden z wierszy nie jest podobny do pozostałych i nie jest liniową kombinacją.
S
1
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
0
14 4 13
1 2 15
11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13
1
10 6 12
11 9 5 3 8
2 4 1
14 8 13 6 2 11
15
12
9 7 3 10 5 0
3
15
12 8 2 4 9 1 7 5 11 3 14
10 0 6 13
S – BOX jest funkcją, która pobiera 6 bitów i wydaje 4 bity.
S(6 bitów) → 4 bity
Przykład.
Mamy liczbę 110010. Bity skrajne dają numer wiersza; bity środkowe dają numer kolumny.
}
10
2
S
2
10
||
9
12
1100
0
1001
1
1
10
2
=
→
=
3
2
1
Funkcja ta jest jednokierunkowa, tzn. nie ma dla niej funkcji odwrotnej.
Szyfrowanie DES składa się z 16 rund (operacji) oraz funkcji końcowej.
Efektywna długość klucza wynosi 56 bitów, zaś na wejściu wymaga 64 bity, z których co ósmy jest
zerowany.
Bezpieczeństwo i ochrona danych
14
Schemat działania algorytmu
Na wejściu mamy 64 bitowy tekst jawny.
x = 64 bitowy tekst jawny
0
1
63
0
1
63
y = 64 bitowy tekst zaszyfrowany
k = 64 bitowy klucz
0
1
63
PC2
K
48
16
PC2
PC2
K
48
2
K
48
1
64
64
56
56
56
cykliczne przesunięcie w lewo
cykliczne przesunięcie w lewo
cykliczne przesunięcie w lewo
PC1
IP
iteracja 16
iteracja 2
iteracja 1
zamiana bloków 32 bitowych
IP - 1
Bezpieczeństwo i ochrona danych
15
Pojedyncza iteracja DES – a.
Działa na 32 bitowych połówkach bloków:
- lewa
L
i – 1
– dane wyjściowe poprzedniej iteracji
- prawa
R
i – 1
– dane, które są jednocześnie wejściowymi dla następnej
- E – permutacja z rozszerzeniem
- XOR – różnica symetryczna
- k
i
– klucz
- S – S – BOX – y
- PC2 – permutacja z wyborem
L
i-1
R
i-1
P
R
i
L
i
D
i
C
i
C
i-1
D
i-1
XOR
XOR
S
E
32
48
48
32
32
32
32 bity
PC2
28 bity
28 bity
28
28
28
28
48
32
32
f(R , k )
i-1
i
k
i
…
S
1
S
2
S
3
S
8
6 * 8 = 48
4 * 8 = 32
Bezpieczeństwo i ochrona danych
16
SZYFROWANIE
⊕
=
=
−
−
−
)
k
,
R
(
f
L
:
R
R
:
L
i
1
i
1
i
i
1
i
i
DESZYFROWANIE
1
-
i
1
-
i
i
i
R
,
L
:
Szukane
R
,
L
:
Dane
RÓŻNICA SYMETRYCZNA XOR
z)
(y
x
z
y)
(x
3.
x
0
x
2.
0
y
x
.
1
⊕
⊕
=
⊕
⊕
=
⊕
=
⊕
ZATEM
1
i
i
L
0
1
i
i
1
i
i
i
1
i
1
i
i
L
f
R
)
f
f
(
L
f
R
3
z
c
korzystają
f
)
f
L
(
f
R
f
|
)
k
,
R
(
f
L
R
1
i
−
−
−
−
−
=
⊕
⊕
⊕
=
⊕
⊕
⊕
=
⊕
⊕
+
=
−
4
4 3
4
4 2
1
3
2
1
WIĘC DESZYFRUJĄC
)
k
,
L
(
f
R
:
L
L
:
R
i
1
i
i
1
i
1
i
1
i
−
−
−
−
⊕
=
=
Cechy algorytmu DES
EFEKT LAWINOWY
Zmiana jednego bitu na wejściu powoduje zmianę >1 na wyjściu
W 1993 roku opracowano koszt budowy maszyny, która znajdzie 52 bitowy klucz
Koszt ($)
Czas
100.000 35
godzin
1.000.000 3,5
godziny
10.000.000 21 minut
Dlatego zaproponowano proste udoskonalenie DES → 3DES (potrójny DES)
Z
z
y
x
k
k
bitów
112
bitów
56
2
k
1
k
2
k
1
k
E
D
E
2
1
→
→
→
≠
=
×
=
k – klucz
E – szyfrowanie
D – deszyfrowanie
Bezpieczeństwo i ochrona danych
17
Szyfrowanie blokowe
1. Tryb ECB (Electronic Code Book) – tekst jest dzielony na 64 bitowe bloki i niezależnie szyfrowany
kluczem k.
Szyfrowanie
Deszyfrowanie
Wady:
- brak
odporności na atak typu powtórka, zamiana, podmiana bloków → trzeba stosować dodatkowe
zabezpieczenia
- powtarzający się tekst jest tak samo szyfrowany
2. Tryb CBC – jeżeli pojawia się taki sam blok danych, wówczas jest on szyfrowany inaczej.
Szyfrowanie
IV – wektor początkowy
DES
x
1
y
1
64
64
x
2
y
2
64
64
x
3
y
3
64
64
…
…
…
64
64
64
64
64
64
X
k
Y
DES
DES
DES
x
1
y
1
64
64
x
2
y
2
64
64
x
3
y
3
64
64
…
…
…
64
64
64
64
64
64
X
k
Y
-1
DES
-1
DES
-1
DES
x
1
y
1
64
64
x
2
y
2
64
64
x
3
y
3
64
64
…
…
…
64
64
64
64
64
X
k
Y
DES
DES
XOR
XOR
XOR
…
IV
64
64
64
64
64
Bezpieczeństwo i ochrona danych
18
Deszyfrowanie
Wadą jest, że zmiana jednego bloku wymusza potrzebę ponownego szyfrowania reszty bloków.
ALGORYTMY STRUMIENIOWE
3. Tryb CFB (Clipher Feed Back) – tryb ze sprzężeniem zwrotnym
Szyfrowanie
RP – rejestr przesuwający
n – n bitów
Deszyfrowanie (odwracamy tylko kierunek strzałek na dole)
Algorytm ten nie jest odporny na zniszczenie pierwszego bloku danych (dlatego stosuje się 4 tryb OFB).
DES
x
1
y
1
64
64
x
2
y
2
64
64
x
3
y
3
64
64
…
…
…
64
64
64
64
64
64
X
k
Y
-1
DES
-1
DES
-1
XOR
XOR
XOR
…
IV
64
IV
64
RP
64
64
DES
k
64 - n
n
kosz
n
XOR
n
x
1
n
RP
64
DES
kosz
64 - n
n
kosz
n
XOR
n
x
2
n
64
n
y
1
n
y
2
n
n
n
n
n
64
…
XOR
x
1
n
y
1
n
n
n
Bezpieczeństwo i ochrona danych
19
4. Tryb OFB – tryb ze sprzężeniem zwrotnym wyjściowym
****
IDEA (International Data Encrypcion Algoritm)
Algorytm ten stworzona na początku lat 90 – tych, w Europie. Stosuje 128 bitowy klucz, co podnosi
niezawodność tego algorytmu.
64 bitowe bloki danych dzielone są na 4 bloki 16 bitowe podczas 8 rund.
IV
64
RP
64
64
DES
k
64 - n
n
kosz
n
XOR
n
x
1
n
RP
64
DES
kosz
64 - n
n
kosz
n
XOR
n
x
2
n
64
n
y
1
n
y
2
n
n
n
n
n
64
…
…