You are on page 1of 8

Informacijski sustavi po važnosti

SIGURNOST ♦ vojni informacijski sustavi,


♦ bankovni informacijski sustavi,
RAČUNALNIH SUSTAVA ♦ zdravstveni i bolnički informacijski sustavi,
Osnove kriptografije ♦ informacijski sustavi državnih institucija,
♦ informacijski sustavi osiguravajućih društava,
Sigurnosni protokoli
♦ poslovni informacijski sustavi gospodarskih subjekata.
Potpora sigurnosti u operacijskim sustavima
Infrastruktura javnih ključeva Podjela sigurnosnih mehanizama
♦ zaštita od vanjskih utjecaja,
♦ zaštita ostvarena sučeljem prema korisniku,
♦ unutarnji zaštitni mehanizmi,
http://sigurnost.zemris.fer.hr ♦ komunikacijski zaštitni mehanizmi.
1 2

Prijetnje i napadi na sigurnost


Osnovni pojmovi
1. prisluškivanje
2. prekidanje
3. lažno predstavljanje
4. ponovno odašiljanje
identifikacija = predstavljanje snimljenih starih paketa
autentifikacija = identifikacija + verifikacija 5. modifikacija paketa
autorizacija = autentifikacija + provjera ovlasti tj. 6. poricanje
provjera prava pristupa

3 4

Sigurnosni zahtjevi Osnove kriptografije


1. autentičnost Napadi:
1. prisluškivanje
2. integritet korisnik A korisnik B
2. prekidanje
(podaci su potpuni i nepromijenjeni)
3. lažno predstavljanje kriptiranje nesigurni kanal dekriptiranje
3. tajnost c=E(m,e) c-kriptirani tekst m=D(c,d)
4. ponovno odašiljanje
4. neporecivost snimljenih starih paketa
5. modifikacija paketa m -jasni tekst m-jasni tekst
5. kontrola pristupa 6. poricanje izvor odredište
neovlašteni
6. raspoloživost korisnik

5 6

♦1
Tipovi kriptografskih algoritama Simetrični kriptosustavi
♦ simetrični ♦ Kerckhoffov princip:
e = d = K (simetrični, sjednički ili tajni ključ) Kriptosustav mora biti siguran i onda kada su
sve informacije o kriptosustavu javno poznate,
(DES, 3-DES, IDEA, AES, Blowfish, RC6, osim tajnog ključa.
GOST, Mars, Serpent, Loki, CAST...)
♦ asimetrični (algoritmi s javnim ključem)
♦ temelje se na jednostavnoj logičkoj operaciji
e ≠ d (P - javni i S - privatni ključ) isključivo ILI (XOR):
(RSA, Diffie-Hellman, RPK, ECES, C=P⊕K P=C⊕K
ElGamal, LUC, Blum Goldwaser...) P=(P⊕K)⊕K
7 8

Klasična kriptografija Naprave za šifriranje

♦ supstitucijske šifre: najpoznatija Cezarova šifra


(pomak za 3 slova) – monoalfabetska šifra
♦ Vigenereova šifra: polialfabetska šifra, svako
slovo se preslikava u jedno od m mogućih
slova u ovisnosti o svom položaju
♦ Playfairova šifra: šifriraju se parovi slova
♦ Hillova šifra: grupira tekst po m slova
♦ ONE TIME PAD – jednokratna bilježnica
♦ transpozicijske šifre (zamjena položaja slova)
9 10

DES (Data Encryption Standard) DES – postupak kriptiranja


♦ 1977. razvijen u IBM-u ♦ kriptiraju se blokove duljine 64 bita (8 bajtova)
♦ najpoznatiji simetrični algoritam i još uvijek se ♦ iz K (56 bitova) se određuje 16 podključeva Ki
koristi unatoč njegovoj nesigurnosti duljine 48 bita
♦ Postupak kriptiranja poruke P duljine 8 bajtova:
♦ veličina ključa: 56 – bita
• L0 R0 = IP ( P ).
♦ smatra se nesigurnim: 1998: "DES Challenge II“
♦ 16 koraka: Li = Ri-1
ostvareno računalo za $250.000 koje za manje od
Ri = Li-1 ⊕ f ( Ri-1, Ki ),
3 dana razbija DES poruku (nagrada je bila
♦ f(Ri-1, Ki) obavlja "preslagivanje” bitova u Ri-1
$10.000)
ovisno o parametru Ki
♦ mala veličina ključa je najveći nedostatak koji se
♦ na kraju se obavlja inverzna permutacija od IP
otklanja višestrukim kriptiranjem (triple DES s C = IP-1 ( R16 L16 ).
ključem veličine 112 ili 168 bita) 11 12

♦2
Supstitucijske tablice
DES: funkcija F

♦ Ulaz u S tablicu je veličine 6 bita, a izlaz 4 bita.


♦ Supstitucijska tablica S1:

♦ Prvi i zadnji bit svakog dijela ulaza predstavlja adresu retka.


♦ Srednja četiri bita određuju adresu stupca u tablici selekcije.
♦ Od ulaznih 48 bita dobivamo 32 bita nakon supstitucije.
13 14

Pregled simetričnih algoritama kriptiranja


DES AES (15.3.2000.) jednostavni višenamjenski
Utrostručeni DES, 3DES
finalisti, ožujak 1999:
Lucifer 3-Way Panama
MARS 3DES (P, K1, K2, K3 ) =
DESX Enigma Sapphire
RC6 DES (DES-1(DES ( P, K1 ), K2 ), K3 )
3-DES Solitaire
Serpent
Blowfish TEA
Twofish
FEAL 15 odabranih 20.8.1998.
LOKI97
3DES-1 (C, K1, K2, K3 ) =
ICE kriptiranje ostali
FROG toka podataka CAST
DES -1(DES (DES -1( C, K3 ), K2 ), K1 )
IDEA
DEAL, HPC A5 GOST
Khufu
CAST 256 Pike Misty
NewDES
E2, DFC RC4 Square
RC2 CRYPTON SEAL Turtle
RC5 MAGENTA SOBER
SHARK SAFER+ WAKE 15 16

Izbijeljeni DES, DESX IDEA (Internatonal Data Encription Algorithm)


DESX (P, K1, K2, K3 ) = ♦ dovršen 1992., siguran
DES (P ⊕ K2, K1 ) ⊕ K3 ♦ ključ je duljine 128 bita
♦ blokovi duljine 64 bita dijele se na 4
DESX-1(C, K1, K2, K3 ) = podbloka (16 b)
DES -1 (C ⊕ K3, K1) ⊕ K2 ♦ postupak kriptiranja se provodi u 9 koraka
♦ u svakom od prvih 8 koraka sudjeluju:
• 4 podbloka i 6 podključeva duljine 16 bita
♦ u devetom koraku se koriste 4 podključa
♦ dakle, iz ključa K je potrebno generirati
8x6+4=52 podključeva
17 18

♦3
Napredni kriptosustav (AES)
Konačno polje GF(28)
♦ natječaj za napredni kriptosustav (AES –
Advanced Encryption Standard) je raspisao NIST ♦ elementi polja su polinomi oblika:
(National Institute of Standards and Technology) a7x7 + a6x6 + ... + a1x + a0, ai {0, 1}
12.9.1997. godine
♦ svaki bajt a7a6a5a4a3a2a1a0 (niz od 8 bitova)
♦ 3DES je proglašen kao privremeni standard
je predstavljen odgovarajućim polinomom
♦ na natječaj su se mogli prijaviti samo algoritmi sa
sljedećim svojstvima:
– simetrični blok algoritmi s javnim izvornim tekstom ♦ zbrajanje - isključivo ILI
programa
♦ množenje - binarno množenje polinoma
– blok podataka koji se kriptira je minimalne veličine 128
bita modulo fiksni ireducibilni polinom
– veličina ključa od 128, 192 i 256 bita g(x) = x8 + x4 + x3 + x + 1 ≡ 11BH
19 20

AES blok AES – broj koraka


♦ moguće veličine ključa: 128, 192 ili 256 bita
♦ veličina bloka: 128 bita (AES, izvorni algoritam Rijndael ♦ kriptiranje i dekriptiranje se obavlja u koracima
dopušta veličine bloka od 128, 192 ili 256 bita nezavisno od
veličine ključa) ♦ broj koraka ovisi o veličini bloka podataka i
♦ blok koji se kriptira smješten je u pravokutni niz bajtova u veličini bloka ključa:
četiri retka, dok broj stupaca ovisi o njegovoj duljini:
Nb = 4, 6, ili 8
Rijndael AES
♦ na isti način se tretira i ključ: Nk - broj stupaca bloka ključa
Nr Nb=4 Nb=6 Nb=8 Nr Nb=4
♦ 128 bitni blok izgleda ovako:
Nk=4 10 12 14 Nk=4 10
a00 a01 a02 a03 ♦ redoslijed
Nk=6 12 12 14 Nk=6 12
a10 a11 a12 a13 punjenja bloka
a20 a21 a22 a23 Nk=8 14 14 14 Nk=8 14

a30 a31 a32 a33


21 22

AES Funkcije koje koristi AES


♦ podključevi su po veličini jednaki veličini bloka podataka i
dobivaju se iz izvornog ključa zamijeni znakove
♦ svi podključevi čine jedan prošireni ključ koji ukupno ima znak = Sbox[znak]
(Nr + 1)⋅Nb bitova dodaj podključ
ponavljaj Nr – 1 puta
blok = blok ⊕ podključ[i]
podključ[0] jedan korak podključ[i]
posmakni redove
blok
jasnog Zamijeni Posmakni Pomiješaj ♦ rotira (kružno posmiče) znakove ulijevo i to u drugom,
teksta
znakove redove stupce trećem i četvrtom redu bloka (C1, C2 i C3) za unaprijed
poznati broj mjesta koji ovisi o Nb

posljednji korak
podključ[Nr]
pomiješaj stupce
♦ množi se stupac po stupac bloka (tako da se svaki stupac
kriptirani
Zamijeni
znakove
Posmakni
redove blok
promatra kao četveročlani polinom) s fiksnim polinomom
a(x) = 03Hx3 + 01Hx2 + 01Hx + 02H modulo x4+1
23 24

♦4
Načini kriptiranja: ECB - Electronic Codebook Načini kriptiranja: Cipher Block Chaining (CBC)

25 26

Načini kriptiranja: Cipher Block Chaining (CBC)


Cipher Feedback (CFB) i Output Feedback (OFB)

♦ koriste se za kriptiranje toka podataka

27 28

Napadi na kriptosustave
Counter (CTR)
– uvod u kriptoanalizu
♦ IV je rastuća vrijednost ili neka druga funkcija
♦ cilj: doznati tajni ključ K

Vrste napada prema onome što je napadaču dostupno:


♦ napad s odabranim čistim tekstom (chosen-plaintext
attack) - napadač posjeduje neograničene količine parova
lakše prikupiti podatke

(M,C), primjer s pametnim karticama


teže izvesti napad

♦ napad s odabranim kriptiranim tekstom (chosen-ciphertext


attack) - napadač posjeduje po svojoj volji odabrani C i
pripadni M (također neograničene količine parova)
♦ napad s poznatim čistim tekstom (known-plaintext attack)
- napadač posjeduje neke parove (M,C) - odgovaraju mu
svi parovi, ali treba mu za napad određena količina parova
♦ napad s poznatim kriptiranim tekstom (only-ciphertext
attack) - napadač posjeduje samo C a pokušava saznati K i
M – napadaču je ovaj napad najteže uspješno provesti
29 30

♦5
Pretraživanje cijelog prostora rješenja Pretraživanje pola prostora rješenja

♦ napadač pokušava dekriptirati kriptirani tekst sa svim ♦ može se ostvariti kod mnogih kriptosustava za koje vrijedi
mogućim ključevima simetrija:
♦ najjednostavnija i najsporija vrsta napada C = DES (M, K) i C' = DES (M', K')
♦ nije moguće spriječiti ovaj napad (X' oznaka za bitovni komplement vrijednosti X)
♦ uspješnost svih napada na kriptosustave mjeri se
♦ fiksno se postavi jedan bit ključa u '0'
usporedbom s pretraživanjem cijelog prostora
♦ napad koji ima veću složenost od složenosti pretraživanja ♦ za svaki K se uspoređuje dobiveni kriptirani tekst C'' sa C i
cijelog prostora smatra se neuspješnim C' i ukoliko vrijedi jednakost, radi se o K odnosno K'
♦ Pretpostavka: napadač ili već ima na raspolaganju čisti ♦ ušteda je vrlo blizu 50%
tekst ili pretpostavlja da čisti tekst ima neku standardnu ♦ vrijedi i za DES!
strukturu koju je moguće prepoznati. Inače, u slučaju
♦ zaštita od napada pretraživanjem pola prostora: koristiti
dekriptiranja poruke bez prepoznatljive strukture, napadač
nema nikakve šanse da pretraživanjem cijelog prostora kriptosustav za koji ne vrijedi navedeni tip simetrije ☺
sazna koji je pravi ključ.
31 32

Napadi na DES Diferencijalna kriptoanaliza


♦ Eli Biham, Adi Shamir, knjiga Differential analysis of DES-
♦ bilo kakvim linearnim promjenama u postupku like cryptosystems, 1990.
generiranja ključeva i u funkciji F, DES ne postaje
otporniji na napade ♦ tehnika kojom se analizira učinak razlike između dva čista
teksta na razliku između dva rezultirajuća kriptirana teksta
♦ promjena u nelinearnom dijelu algoritma (S
♦ razlike služe za određivanje vjerojatnosti mogućih ključeva
tablice) utječe na ranjivost algoritma
♦ DES bitno oslabljuje: ♦ napad s odabranim/poznatim čistim tekstom

- promjena redosljeda S tablica


- slučajno odabrane S tablice
- umjesto XOR neka složenija funkcija
♦ pristup: analiza pojednostavljenog kriptosustava (s
manje iteracija ili rundi, za primjerice DES sa
samo tri runde).
33 34

Linearna kriptoanaliza Linearna kriptoanaliza


♦ Cilj: pronaći linearnu aproksimaciju danog algoritma ♦ aproksimacija nikada nema vjerojatnost ni blizu 100%
P [i1, i2, ... , ia] ⊕ C [j1, j2, ... , jb] = K [k1, k2, ... , kc] ♦ taj nedostatak nadoknađuje se uzimanjem veće količine
parova čisti/kriptirani tekst
Primjer ♦ obično postoji više lineanih aproksimacija za neki algoritam.

♦ neka je aproksimacija nekog algoritma dana izrazom: ♦ ukoliko izrazi nemaju ovisnosti o bitovima čistog teksta P,
već samo o kriptiranom tekstu C i ključu K => napad s
P [1, 4, 13] ⊕ C [1, 2, 3, 4, 6, 9, 11] = K [5, 6, 8] poznatim kriptiranim tekstom.
♦ neka aproksimacija ima vjerojatnost p = 100% ♦ učinkovitost algoritma raste s │p – 0.5│ i s rastom broja
♦ paritet 5., 6. i 8. bita ključa jednoznačno je određen poznatih tekstova
paritetom pojednih bitova čistog i kriptiranog teksta ♦ najbolja linearna aproksimacija DES-a reduciranog na 3
runde:
♦ duljina ključa se efektivno smanjila za 1 bit
PR [15] ⊕ PL [7, 18, 24, 29] ⊕ CR [15] ⊕ CL [7, 18, 24, 29] = K1 [22] ⊕ K3 [22]

35 36

♦6
Asimetrični kriptosustavi Prosti ili prim brojevi
ili sustavi s javnim ključem a >1 koji nema faktora (ima samo djelitelje 1 i a )

Neke činjenice i algoritmi iz teorije brojeva


Teorem dijeljenja
Djeljivost ∀ cijeli broj a i bilo koji cijeli broj n > 0 ∃ q i r :
Broj a djeljiv je s brojem d kada je a višekratnik od d .  kvocijent, količnik q i
da d dijeli a , d je djelitelj od a ;  reziduum, ostatak r (uz 0 ≤ r < n ),
a = k × d a je višekratnik od d .
tako da vrijedi: a=q ×n+r.
Najmanji djelitelj od a je d = 1, a najveći djelitelj je d = a.
To su trivijalni djelitelji. Netrivijalni djelitelji zovu se faktori.
q =  a/n  r = a mod n
Primjer 11.1.
Broj a = 24 ima sljedeće djelitelje: 1, 2, 3, 4, 6, 8, 12, 24.
a =  a/n  × n + (a mod n)

Trivijalni djelitelji su 1 i 24 , a faktori 2, 3, 4, 6, 8, 12.  ⇒ a mod n = a -  a/n  × n


37 38

Eulerova phi ili totient funkcija


Ekvivalentnost po modulu, kongruentnost
Zn = {0, 1, 2, …, n - 1 } - prsten u kojem su definirane
a ≡ b (mod n ) ⇒ a mod n = b mod n . operacije zbrajanja, oduzimanja i množenja po modulu n
a i b kongruentni po modulu n , odnosno je ekvivalentan Zn* podskup koji se sastoji od elemenata skupa Zn koju su
broju b po modulu n . relativno prosti u odnosu na n :
Zn* = { a ∈ Zn , nzd (a,n) = 1 }

Relativno prosti brojevi


ϕ(n) =Zn*  - Eulerova phi ili totient funkcija
nzd (a,b) = 1
Brojevi a i b su relativno prosti ako je najveći zajednički Ako je n = p prosti broj onda je ϕ(p) = p - 1 .
djelitelj brojeva a i b jednak 1 , tj. brojevi a i b nemaju
zajedničkih faktora. Ako n nije prost, tj. n = p1e1p2e2…pkek onda je
1 1 1
ϕ (n ) = n (1 − )(1 − ) L (1 − ).
p1 p2 pk
39 40

Ako je n = p × q , gdje su p i q prosti brojevi onda je

1 1
ϕ (n ) = n (1 − )(1 − ) = ( p − 1)(q − 1).
p q Primjer 11.2.
Dokaz za n = p je trivijalan: Neka je n = 15 = 3 × 5 ⇒ p = 3 i q = 5.
Zp = {0, 1, 2, …, p - 1 } ⇒ Zp* = { 1, 2, …, p - 1 }  Z15 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }
Z15* = { 1, 2, 4, 7, 8, 11, 13, 14 }
Dokaz za n = p × q
Z15* = 8 , jer je ϕ (15 ) = (5 - 1)(3 - 1) = 8 .
Zn = {0, 1, 2, …, p × q - 1 } ima ukupno p × q elemenata:

{0 } s 1 elementom,
{p, 2 ×p , …, (q-1) × p } s q -1 elemenata,
{q, 2 ×q , …, (p-1) × q } s p -1 elemenata,
Zn * s Zn*  elemenata.

p ×q = 1 +(q-1) + (p -1) + Zn*  ⇒ Zn*=(p - 1)(q - 1)


 41 42

♦7
Primjer 11.3. Modularno potenciranje Primjer 11.4.
Potenciranje s velikim eksponentima prikladno je obaviti Neka su:
uzastopnim kvadriranjem. a = 635 ⇒ a = 1001111011(2)
Želimo izračunati d = b a mod n . n = 734
d = 1;
Neka je am , am-1 , am-2 ,…, a1 , a0 binarni prikaz od a . b=5 i = m;
dok je (i >=
> 0) {
d = (d * d) mod n;
ako je (a[i] == 1) {
d = 1; d = (d*b) mod n;
i = m; }
dok je (i >=
> 0) { i --;
d = (d * d) mod n; }
ako je (a[i] == 1) {
d = (d*b) mod n;
} Postupak izračunavanja b a mod n :
i --; i 9 8 7 6 5 4 3 2 1 0
}
a[i] 1 0 0 1 1 1 1 0 1 1
d 5 25 625 685 261 29 535 699 253 21
43 44

Fermatov teorem

Posebno za proste brojeve p vrijedi

a p-1 ≡ 1 (mod p ) za sve a ∈ Zp*


Eulerov teorem
*
S obzirom da je Zp = { 1, 2, …, p -1 }, Fermatov teorem
∀ prirodni broj n > 1 vrijedi vrijedi za sve brojeve iz Zp s izuzetkom broja 0 .

aϕ(n) ≡ 1 (mod n ) za sve a ∈ Zn* Posljedica:

a p ≡ a (mod p ) za sve a ∈ Zp*

Postoje i neki složeni brojevi (Charmicleovi brojevi) kod


kojih za mnoge različite vrijednosti od a vrijedi gornji
izraz, primjerice 561, 1105.
45 46

Primjer 11.5. a p-1 ≡ 1 (mod p ) Ako Zn* ima osnovni korijen onda Zn* čini cikličku grupu.
Neka je p = 11 . a ≡ a (mod p )
p
Dokazano je da je Zn* ciklička grupa za:
i 0 1 2 3 4 5 6 7 8 9 10 11 n = 2, 4, p e, 2p e ,
gdje su p prosti brojevi i e prirodni brojevi.
2 i mod 11 1 2 4 8 5 10 9 7 3 6 1 2
5 i mod 11 1 5 3 4 9 1 5 3 4 9 1 5
Diskretni logaritam ili indeks
7 i mod 11 1 7 5 2 3 10 4 6 9 8 1 7
Kod nekih nizova potencija ne pojavljuju svi elementi Zp* . Neka je a osnovni korijen od Zn* i b ∈Zn* . Broj x je
diskretni logaritam ili indeks broja b (mod n ) u
Za a = 5 potencije generiraju podskup {1, 3, 4, 5, 9 }.
odnosu na bazu a, ako vrijedi:
Taj podskup ima 5 članova: ord11(5) = 5. 
a x ≡ b (mod n )

Osnovni korijen ili generator od Zn* : ili drugačije zapisano:


ordn(a) = Zn *
x = ind n, a (b).
47 48

♦8

You might also like