• Nem Talált Eredményt

Data Security: Secret key

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Data Security: Secret key"

Copied!
31
0
0

Teljes szövegt

(1)

Data Security: Secret key

Kulcsfolyamatos rejtjelezést tekintünk, azaz a kulcsbiteket mod 2 hozzáadjuk a nyílt szöveg bitekhez.

A kulcsot első 5 bitjéből periódikus ismétléssel nyerjük, az első 5 bitet jelölje k1,…,k5.

A nyílt szöveg egymás utáni bitjei, x1,x2,… képződési szabálya, x

i

+x

i+1

= x

i+2

, i=1,4,7…

Az első 15 megfigyelt rejtett szöveg bit a következő: 010101111100001.

Fejtsük meg a kulcsot!

(2)

Data Security: Secret key

x3=x1+x2=y1+y2+k1+k2=k1+k2+1 x3=k3 (y3=x3+k3=0)

x6=x4+x5=k4+k5+1

x6=k1+1 (kulcsperiódus=5) x9=x7+x8=k2+k3

x9=k4+1

x12=x10+x11=k5+k1+1 x12=k2

x15=x13+x14=k3+k4 x15=k5+1

alapján

k1+k2+k3=1 k1+k4+k5=0 k2+k3+k4=1 k1+k2+k5=1 k3+k4+k5=1

→ K=(1,0,0,1,0).

010 101 111 100 001

(3)

Data Security: Secret key

SPC (Substitution Permutation Cipher) (Tk.2.fejezet bevezető)

x

...

y 1.

2.

r.

k1

k2

kr

S réteg

P réteg

1. 2. s.

Shannon-i elv: Erős invertálható transzformáció előállítható

egyszerű, könnyen analizálható és implementálható, de

önmagában gyenge

transzformációk sokszori egymás utáni alkalmazásával.

Példa: szimmetrikus kulcsú

rejtjelezők (pl. DES, IDEA, AES)

(4)

Data Security: Secret key

SPC

SPC tervezési kritériumok

•Invertálhatóság

•Balansz tulajdonság (Tk.36.o.)

•Teljesség (T.38.o.)

•Nemlinearitás (T.38-39.o.)

•Lavinahatás (T.26.o, 40.o.)

•Lineáris dimenzió (T.38.o.)

•Differenciális egyenletesség (T.38.o., 40.o)

:{0,1}

m

{0,1}

f

n

f : { 0 , 1 }

m

→ { 0 , 1 } 1 < nm

[

1 2

]

( ) ( ), ( ),... ( )

n

f x = f x f x f x f i : { 0 , 1 } m → { 0 , 1 } Boole-függvény:

S-box:

(5)

Data Security: Secret key

SPC

:{0,1}

m

{0,1} ,

n

fm n

{0,1}

n

∀ ∈ y

#{ {0,1} : ( ) x

m

f x = = y } 2

m n

b x x

f ( ) = A ⋅ + x ∈ {0,1} ,

m

b ∈ {0,1}

n

n

f : { 0 , 1 } n → { 0 , 1 }

Balansz tulajdonság

A transzformáció nem torzítsa el egy egyenletes eloszlású bemenet gyakoriság-statisztikáját.

Példák

A nxm-es bináris mátrix, rang=n invertálható

1.

2.

Invertálhatóság

F=F

1

F

2

...F

r

, Fi az i-edik rétegbeli transzformáció

F

-1

=F

r-1

F

r-1-1

...F

1-1

(6)

Data Security: Secret key

SPC

, :{0,1}

m

{0,1}

f g

( , ) #{ {0,1} : ( )

m

( )} ( ) d f g = xf xg x = w f + g

Nemlinearitás

Boole-függvények távolsága:

,

( )

L

u v

x = ⋅ + u x v u x , ∈ {0,1}

m

v {0,1}

Lineáris Boole-függvény:

Boole-függvény nemlinearitása

{0,1} , {0,1} ,

( ) min ( , )

m u v

u v

N f d f L

∈ ∈

=

S-box nemlinearitása

{0,1} , 0

( ) min ( )

w n w

N f N w f

∈ ≠

= ⋅ f :{0,1}

m

→ {0,1}

n

(7)

Data Security: Secret key

SPC (Tk.2.2-9. feladatok)

1

, :

2 2n 21

f f VV

Legyen n=2, továbbá

jelölje az első illetve második output bitre vonatkozó transzformáció-komponenst Ha f1nemlinearitása N1, mekkora f nemlinearitása, ha

1.) f2= f1⊕1 2.) f2= 1

1.) 0, mivel az outputok w={1,1} súlyú lineáris kombinációja (bináris összege) konstans 1 2.) 0, mivel az outputok w={0,1} súlyú lineáris kombinációja (a 2. kimenet) konstans 1.

(8)

Data Security: Secret key

1 ≤ ≤ i m

Lavinahatás kritérium

1 ( )

2 {0,1}

( ( ) ( ))

2

m

m

i m x

w f x f x e n

+ + =

f : { 0 , 1 } m { 0 , 1 } n

Szigorú lavinahatás kritérium

1 ≤ ≤ i m

2 ) ,... 1 2 , 1 2 ( 1 )) (

) ( (

} 1 , 0 {

) ( 2

1

∑ + + =

m

m x

mi

e x f x

f f : { 0 , 1 } m → { 0 , 1 } n

(9)

Data Security: Secret key

( , ) |{ {0,1} : ( )

m

( ) }|

DDT a b

f

= xf x + f x + a = b

{0,1} ,

m

{0,1}

n

ab

(0, ) 2

m

( ).

DDT

f

b = δ b

Differenciális egyenletesség

Példa:

Ha f=ux+v lineáris, akkor DDT a b

f

( , ) 2 =

m

, ha b=ua, egyébként 0

(10)

Data Security: Secret key

SPC (Tk. 2.1. fejezet)

F

F

L1 R1

L2 R2

L

i+1

= R

i

R

i+1

= L

i

+ F(R

i

, K

i

)

Invertálható, függetlenül attól, hogy F invertálható, vagy sem!

L

i

= R

i+1

+ F(L

i+1

, K

i

)

R

i

= L

i+1

(11)

Data Security: Secret key

SPC

F

F

F

Ku lc s üt me ze õ IP

FP

L1 R1

L2 R2

L16 R16

K1

K2

K16

64 56

64 48

48

48 32 32

32 32

32 32

Nyílt blokk Kulcs

Rejtett blokk

(12)

Data Security: Secret key

SPC

S1 S 2 S 3 S 4 S5 S6 S7 S8

E

P

32

48

48

32

32

X

K

Y

i

i

i

S1 box

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 5 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

(13)

Data Security: Secret key

SPC

S-doboz tervezési kritériumok: DES

•Minden S-doboz bemenete 6, kimenete 4 bites legyen. (DES egyetlen chip-be integrálásához)

•Egyetlen S-doboz egyetlen kimeneti bitje se legyen közel a bemeneti bitek valamely lineáris függvényéhez.

(Tehát a nemlinearitás legyen nagy.)

•Ha rögzítjük a két szélsőbit értékét, és csak a bemenet középsőnégy bitjét változtatjuk folyamatosan, akkor a kimeneten minden 4 bites vektor pontosan egyszer jelenjen meg. (Azaz az S-dobozban található 4 darab 4 bitet 4 bitbe helyettesítő tábla mindegyike legyen balansz. Ekkor persze maga az S-doboz is balansz, vagyis minden 4 bites kimeneti vektor pontosan négyszer jelenik meg, ha a bemeneten minden lehetséges értéket végigpörgetünk.)

•Ha az S-doboz bemenetén egyetlen bitet megváltoztatunk, akkor a kimeneten legalább két bit értéke változzon meg. (lavinahatás)

•Ha az S-doboz bemenetén a két középső bitet megváltoztatjuk, akkor a kimeneten legalább két bit értéke változzon meg.

•Ha két bemeneti vektor elsőkét bitje különböző, utolsó két bitje azonos, akkor a megfelelőkimeneti vektorok nem lehetnek azonosak.

•Tetszőleges, nem nulla bemeneti differencia esetén, az adott differenciával rendelkező32 bemeneti vektor pár közül legfeljebb nyolchoz tartozhat azonos kimeneti differencia. (nagy differenciális egyenletesség)

(14)

Data Security: Secret key

P-doboz tervezési kritériumok: DES

•A P-doboz legyen olyan, hogy minden S-doboz négy kimeneti bitje közül kettőt a következő réteg S-dobozainak középső bitjeihez, kettőt pedig szélső

(táblázat választó) bitekhez továbbítson.

•Minden S-doboz négy kimeneti bitje a következő rétegben hat különböző S- dobozra legyen hatással.

•Ha egy S-doboz valamely kimeneti bitje egy másik S-doboz valamely középső

bitjéhez van vezetve, akkor ez utóbbi S-doboz egyetlen kimenete sem lehet az

előző S-doboz középső bemeneteihez vezetve.

(15)

Data Security: Secret key

Tegyük fel, hogy DES rejtjelezést használunk 64 bites üzenetblokkon és belül a blokk végén 4 bites hibadetekciós ellenőrzőösszeget alkalmazunk.

Egy támadó már megismerte a kulcs első két bitjét, ezután kimerítő kulcskereséses támadást végez. 13 rejtjeles blokk megfigyelése elegendő-e a támadó számára a gyakorlatilag

egyértelmű kulcsazonosításhoz?

(Tekintsük gyakorlatilag egyértelműnek a kulcsazonosítást, ha végül csak néhány kulcs közül kell a támadónak választania!)

Igen:

Annak a valószínűsége, hogy téves kulccsal helyes paritásúra dekódolunk egy rejtett szöveg blokkot, 2

-4

.

Annak a valószínűsége, hogy 13 rejtjeles blokk mindegyikét helyes paritásúra dekódoljuk téves kulcs mellett (2

-4

)

13

=2

-52

.

Mivel a kulcstér mérete az előzetesen kiszivárgott két kulcsbit miatt már csak 2

54

, a nem kiszűrt téves kulcsok átlagos száma a kulcstér teljes végigkeresése után 2

54

2

-52

= 22 = 4 lenne.

(Tk.2.11.feladat)

(16)

Data Security: Secret key

Birthday paradox

Π E

} ,

:

;

{ E k E k X Y k K

E = → ∈

i K k k

k E k E

E 1 ⋅ 2 = 3 , ∈

Algebrailag zárt blokk rejtjelező

T = {E, *}.

T zárt, ha EE = E,

Tétel : A T zárt algebrai struktúra csoport.

(17)

Data Security: Secret key

Birthday paradox

( )( ) ( ) ( )

= −

− =

= 1

1 1 1 1

1 2

1 1 r

i m

i m

r m

r m p

e x

x

1 −

⎜ ⎜

= − + − ⋅ ⋅ ⋅

! 3

!

1 x 2

2

x

3

x

e

x

( ) r e r r m

i

m i e r

i m

i 2

) 1 1 (

1 1

1 1

∏ − =

=

∏ − ≈

= −

1 − p r ≈ − 1 exp( − r 2 /(2 )) m

Születésnapi paradoxon-1

Pl.

m = 365

r = m

1/2

≈19 , p

r

≈ 1 - exp(-0.5) ≈ 0.4.

(18)

Data Security: Secret key

Birthday paradox

U V

W

Születésnapi paradoxon-2

) 2 /

3 exp(

2 1

! )!

2 2 (

1 ) 0

( r m

r r m

r r m W

V

P ∩ ≠ = − ≈ − −

⎟ ⎠

⎜ ⎞

⎛ ⎟

⎜ ⎞

⎟ ⎠

⎜ ⎞

Pl.

r = m

1/2

, p

r

≈ 1 - exp(-3) ≈ 0.95

(19)

Data Security: Secret key

Birthday paradox

Ek

Dk .

.

. .

v1 v2

vr

w1 w2

wr E11

E1r E12

D21 D22

D2r

x y

Középen találkozás támadás zárt struktúrájú rejtjelező ellen

Támadó ismerete: ismert nyílt szövegű támadás Q = {(x

1

, y

1

), (x

2

, y

2

), ... (x

s

, y

s

)},

y

l

= E

k

(x

l

), k az ismeretlen kulcs

U = E

V = {E

11

, E

12

, ... E

1r

}

W = {D

21

E

k

, D

22

E

k

, ... D

2r

E

k

}, ahol V,W U .

Ha V∩W≠0 , pl. E

1j

= D

2i

E

k

E

k

= E

2i

E

1j

r ≈ |E|

1/2

!

(20)

Data Security: Secret key

Birthday paradox

Két DES transzformációt egymás után használunk:

)) ( (

1

2

E x

E

y =

k k

ahol k1, k2 két véletlen titkos kulcs.

Azt reméljük, hogy ezzel a DES 56 bites kulsméretének megfelelő kulcstér kimerítő keresés 2

56

nagyságrendű számításigényét 2

112

nagyságrendűre tudjuk emelni.

a.) Igazunk van-e? Milyen módszerrel támadna a támadó helyében, milyen adatok alapján.

b.) Mekkorára becsli a támadás komplexitását (számításigény, tárkapacitás). (Számításigény a kódoló/dekódoló transzformációk számában. Tárkapacitás tárolandó blokkok számában.).

a.) Nem.

Középen találkozás támadás, ismert nyílt-rejtett szöveg párok alapján.

b.) 2*2

56

a számításigény, illetve tárkapacitás nagyságrendje.

(21)

Data Security: Secret key

Birthday paradox

) 2 (

) (

*

* x E

1

x k

E

y =

k

=

k

A számításokat gyorsítandó k=128 kulcsbitünket nem egy biztonságos 128 bit kulcsméretű E* blokk-rejtjelezőhöz használjuk, hanem két félre osztjuk k kulcsot, és

rejtjelezést hajtunk végre, ahol E egy biztonságos 64 bites kulcsméretű blokk- rejtjelező, k1 és k2 64 bites felei a k kulcsnak, x egy 64 bites üzenetblokk.

A támadó megfigyelhet (x,y) nyílt-rejtett szöveg párokat. Az E* és E rejtjelező csak kimerítő kulcskereséssel támadhatók.

a.) Vesztettünk-e a támadhatóság okán vagy sem, hogy E* helyett E** rejtjelezést alkalmazzuk?

b.) Hasonlítsa össze, kulcskereső támadás számításigényét a két esetben!

a.) Igen, sokat vesztettünk, mivel E** két blokk rejtjelező kaszkádja, így középen találkozás támadással támadható.

b.) Számításigény mérleg: (E*)≅2

128

, (E**)≅2⋅2

64

(22)

Data Security: Secret key

ECB (Tk.5.fejezet)

(23)

Data Security: Secret key

CBC

(24)

Data Security: Secret key

CBC

(25)

Data Security: Secret key

CBC

1 1

k k i i

xy

= ⊕ x y

x k ⊕ = x i y k 1 ⊕ y i 1

128 bites nyílt szöveg blokkok sorozatát AES rejtjelezővel CBC módban rejtjelezzük:

Mennyi blokkot kell rejtjelezni ahhoz, hogy >0.5 valószínűséggel előforduljon két azonos rejtett szöveg blokk?

128 bites rejtett szöveg blokkok összes száma m=2128. CBC módban a rejtett szöveg blokkokat modellezhetjük véletlenül választottaknak függetlenül a nyílt szöveg tulajdonságoktól. Így a

születésnapi paradoxon alapján p ~ 1-exp(-r2/2m) összefüggésből, p=0.5 esetén 1.17·264eredmény adódik.

Ha két azonos rejtett szöveg blokkot detektáltunk, mit tudunk mondani a hozzájuk tartozó nyílt szöveg blokkról?

Meg tudjuk határozni a két nyílt szöveg differenciáját!

(26)

Data Security: Secret key

CFB

(27)

Data Security: Secret key

OFB , CTR

(28)

Data Security: Secret key

OFB

Véletlen bithibázású csatornán rejtjelezetten továbbítjuk az üzenetünket CBC blokk rejtjelező módban. A véletlen hibázás ellen hibajavító kódolást alkalmazunk. Végezzük a hibajavító kódolást a rejtjelezést megelőzően:

forrás → hibajavító kódolás → rejtjelezés, rejtjelfejtés →hibajavító dekódolás → nyelő.

a.) Helyesen járunk-e el a fenti módon a hibák javításával kapcsolatosan?

b.) Mi a válasz a kérdésre, ha CBC mód helyett OFB módban rejtjelezünk?

a.) Nem.

A CBC mód hibaterjedés tulajdonsága szerint egy véletlen hiba esetén, hibázás utáni első blokk bitjeinek átlagosan fele hibás lesz, s még a rákövetkezőblokk egy bitje. Ezt a

nagymértékűmeghibásodást csak igen költséges, komplex javító kóddal tudnánk eliminálni. A helyes megoldás a rejtjelezés utáni hibajavító kódolás alkalmazása.

b.) Igen.

Nincs hibaterjedés a kulcsfolyamatos típusú rejtjelezés mód miatt. Ez esetben alkalmazhatjuk a hibajavítást a rejtjelezést megelőzően.

(29)

Data Security: Secret key

Block cipher modes

Ha egy csatorna 10-9 bithibaaránnyal működik, akkor hogyan alakul a bithibaarány rejtjelezett esetben?

a.)128 bites kódolás ECB rejtjelező módban b.)128 bites kódolás CBC rejtjelező módban

c.)64 bites kódolás CFB byte alapú folyamrejtjelezésnél d.)64 bites kódolás OFB byte alapú folyamrejtjelezésnél

a.) b.) c.) d.)

64 E-9 65 E-9 33 E-9 E-9

(30)

Data Security: Secret key

Block cipher modes

Javasolható-e RSA blokk kódolás alkalmazása 1.) ECB módban?

2.) OFB módban?

1.) Igen, de csak korlátozottan.

Kulcs küldésre alkalmazható, csak véletlen, illetve nagy információtartalmú üzenet kódolható így.

Nyílt szöveg alapú próbálgatás ellen nem véd.

2.) Sohasem alkalmazható.

Az OFB módban az RSA mindkét oldalon kódoló üzemmódban működne, azaz a nyilvános kulcs kellene a dekódoláshoz is.

(31)

Data Security: Secret key

Melyiket blokk rejtjelezőmódot nem tanácsolná a következő alkalmazási feltételek esetén és miért?

1.) fennáll a kezdővektor (IV) átírásának veszélye 2.) bitkieséses szinkronhibás csatornán továbbítás 3.) nyílt szöveg 3 különbözőértéket vehet csak fel

1.) CBC: IV átírással elsőüzenetblokk támadható

2.) OFB: szinkroncsúszás esetén a kulcsfolyam elcsúszik és véletlen bitfolyamot dekódolunk vagy CBC: egy bit elvesztése eseten a blokkhatárok az üzenet végéig elcsúsznak

3.) eredeti formában egyiket sem; üzenetteret randomizálással növelni kell

(Tk. 5.1-3 feladatok)

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Például a PADDUSW utasítás-mnemonik esetében a művelet 4 dimenziós vektor- összeadás, 16 bites előjel nélküli egész komponensekkel, telítéses üzemmódú

Pontosan azt mondja ki, hogy a két szélső (Extreme), Nárcisz és a tó, azért esik egybe, mert bár azt hiszi a megismerő, hogy a kettő között (Nárcisz / forrás) van

- Két vektor által bezárt szög, illetve a szög koszinusza - Két vektor skaláris szorzata1. - Két vektor vektoriális szorzata - Három vektor

Az olyan tartalmak, amelyek ugyan számos vita tárgyát képezik, de a multikulturális pedagógia alapvető alkotóelemei, mint például a kölcsönösség, az interakció, a

A „bárhol bármikor” munkavégzésben kulcsfontosságú lehet, hogy a szervezet hogyan kezeli tudását, miként zajlik a kollé- gák közötti tudásmegosztás és a

Azonban ha a bemenet hosszát és a lépések számát rögzítjük, akkor alkalmas Boole-hálózattal már minden olyan Turing-gép működését utánozni tudjuk, mely egyetlen bitet

Mutassa meg, hogy nincs olyan természetes számokból álló szomszédos számhármas, ahol a középső szám reciprokának kétszerese egyenlő a két szélső szám

Tehát a két szélső pont között kell lennie, de rajtuk kívül a két szélső között is stb, tehát páratlan pont esetén a középsőn, páros esetén a középső kettő