Content extract
Informatika Biztonság Alapjai Tételek 1. Történeti titkosítási módszerek 2. Szimmetrikus titkosítási módszerek Vigenere módszer és törése 3. Véletlen átkulcsolás módszere 4. Transzpozíciós módszer és törése 5. Shannon keverő transzformációja Lavinahatás 6. DES módszer és törése 7. Shamir módszer 8. Diffie-Hellman módszer 9. Nyilvános kulcsú titkosítási módszerek Az RSA módszer működése 10. PGP módszer és működése 11. Hasító függvények Működés, alkalmazási területek 12. Blokkos rejtjelezés Hibák ECB, CBC módszer 13. CFB, OFB, CTR módszerek 14. Többfokozatú kódolók TripleDES 15. Folyamattitkosítás 16. PRNG 17. CSPRNG (ANSI X917, RSA án alapuló) 18. Hitelesítési módszerek 19. Titokmegosztási módszerek 20. A jó jelszó tulajdonságai Jelszókezelés Jelszó feltörési módszerek 21. Szteganográfia 22. Támadás fajtái Kódfeltörés eredményessége 23. Rejtjelbiztonság, egyértelműségi pont A tételsort
mindenki csak saját felelősségére használhatja. Garantáltan vannak benne hibák, amit igyekszem majd kijavítani. A kidolgozás során felhasználtam saját jegyzeteimet és levlistára felrakott tételsort(amit ez úton is köszönök), valamit Tóth Ákos által ajánlott kötelező irodalmat. A felsorolásban kékkel jelennek meg azok a témák amik szerintem hiányosak. Sok sikert mindenkinek a tanuláshoz: Koletár Dávid 1 Tartalomjegyzék Tételek . 1 Tartalomjegyzék . 2 1. Történeti titkosítási módszerek. 3 2. Szimmetrikus titkosítási módszerek. 6 3. Véletlen átkulcsolás módszere, Verman 1920 . 9 4. Transzpozíciós módszer és törése. 11 5. Shannon keverő transzformációja. Lavinahatás 13 6. DES módszer és törése IBM 1977. 15 7. Shamir módszer . 18 8. Diffie-Hellman módszer 1976 . 20 9. Nyilvános kulcsú titkosítási módszerek. Az RSA módszer működése 22 10. PGP módszer és működése . 25 11. Hasító
függvények. Működés, alkalmazási területek 27 12. Blokkos rejtjelezés. Hibák ECB, CBC módszer 29 13. CFB, OFB, CTR módszerek . 32 14. XIV. Többfokozatú kódolók: TripleDES 35 15. Folyamattitkosítás. 37 16. PRNG. 39 17. CSPRNG (ANSI X9.17, RSA án alapuló) 40 18. Hitelesítési módszerek . 42 19. Titokmegosztási módszerek. 44 20. A jó jelszó tulajdonságai. Jelszókezelés Jelszó feltörési módszerek 46 21. Szteganográfia. 47 22. Támadás fajtái. Kódfeltörés eredményessége 49 23. Rejtjelbiztonság, egyértelműségi pont. 51 2 1. Történeti titkosítási módszerek Kinek mikor milyen szintű biztonságra van szüksége? Katonaság Állam Egyház Bank Tudomány Nagyvállalatok Internet széles körű használata, megjelenik rajta a pénz Mindenki Informatikusok Átlagember o 70 % olvas o 30 % nem Ókor Ma Cracker vs. Hacker Hacker: Egy rendszer feltörésével próbálkozik (jó szándékú). A védelem
növelése a cél A Hackerek egy részének ez a „szakmája”, ők a professzionális hackerek, ők a tudásukból élnek, mint biztonságtechnikai tanácsadók. Kracker: Hasonló a hackerhez, ős is a rendszer feltörésével próbálkozik, de a lényeges különbség az, hogy szándéka a rombolás, pénzszerzés. Script Kiddie: Nem célja hogy hekkeljen vagy crackeljen hanem csak ész nélkül kárt okoz. Tudásuk gyakran nagyon csekély, ezért gyakran nem is tudják, hogy kárt okoznak. Történelmi módszerek: Demaratusz, Xerxész - Karcoljuk bele Titkosítás - Fessük le Csatorna Fejtés - Lakkoldó lak, festék leszedése bármilyen módszerrel Tudás kell hozzá, hogy megfejtsük az üzenetet A hordozó birtoklása 3 Fejbőr algoritmus A módszer: végy egy rabszolgát, borotváld le a fejét, írd rá az üzenetet, várd meg, amíg kinő a haja és küldd el az üzenettel! Kell hozzá: borotva, rabszolga, haj, toll Átviteli közeg: az út Visszafejtés: borotva
Adathordozó: rabszolga Titkosítás erőssége: a módszer ismerete kell a visszafejtéshez. Az I világháborúig használták Probléma: kiismerhető módszer A módszer tovább fejlesztése: a csatorna telítése. Nem egy, hanem egyszerre több rabszolgát küldünk el. Az adathordozót nem különböztetjük meg => az információ elrejtése Lüszandrosz A módszer: Adott egy definiált átmérőjű bot. Szalagot csavarunk rá és tengelyirányban felírjuk rá a szöveget, majd lecsavarás után az üresen maradt helyeket véletlenszerű karakterekkel töltjük fel. Kell hozzá: két azonos átmérőjű bot. Egy a bot a küldőnél, egy a fogadónál Polibiusz (Pülobiusz) A módszer: Egymástól távol őrtornyokat építenek, és sötétben lehetőség van arra, hogy kommunikáljanak egymással, fény segítségével. A küldő elküldi egy kódtábla sorának és oszlopának sorszámát, ami így meghatároz egy betűt. Őrtornyok Kódtábla 1 2 3 4 1 2 3 4 a b c d e f g
h A módszer problémája: a tikosítás a kódtáblán múlik. Ha valaki egyszer hozzájutott a tálához a nélkül lehallgathatja a beszélgetést, hogy arról bárki tudomást szerezzen. 4 Caesar-módszer Betűeltolásos módszer: a nyílt üzenet minden karakterét k karakterrel toljuk odébb az ábécében Probléma: gyakoriságvizsgálattal törhető Törése: Megnézzük a titkosított szövegben a leggyakoribb karaktert, ekkor a gyakorisági statisztika alapján megkapjuk az eltolás mértékét, a k-t. Ha ezzel a k-val visszafejtve az üzenetet, nem kapunk értelmes szöveget, akkor megnézzük a titkosított üzenet második leggyakoribb karakterét és azzal próbálkozunk tovább. Ezt addig csináljuk, amíg nem kapunk értelmes üzenetet Brute force: A teljes kulcsteret szisztematikusan végig próbáljuk és az eredmények közül kiválasztjuk a megoldást. Probléma: kicsi a kulcsméret, kicsi az eredményhalmaz, ezért nem valószínű, hogy egy titkosított
üzenetből két értelmes nyílt üzenetet is elő lehet állítani Például: H A L I B M Egy karakteres eltolása esetén. k=1 5 2. Szimmetrikus titkosítási módszerek Szimmetrikus titkosítás Szimmetrikus titkosítási módszerek: az üzenetet váltó felek ugyanazt a kulcsot birtokolják, a titkosításhoz és a fejtéshez ugyanarra a kulcsra van szükség. Probléma: 1.) üzenetcsere előtt egyeztetni kell a kulcsot 2.) n résztvevő esetén n*(n-1)/2 kulcsra van szükség Ezekre a problémákra az aszimmetrikus titkosítási módszerek nyújtottak megoldást. Vigenere módszer és törése (1523-1596) A módszer lényege: Egy mátrixot tartalmaz, melynek minden oszlopát és sorát az ábécé egy-egy karaktere jelöli, illetve minden sorban és oszlopban egy karakter csak egyszer szerepelhet. K/X A B C D E F G H I J K A a b c d e f g h i j k B b c d e f g h i j k l C c d e f g h i j k l m D d e f g h i j k l m n E e f g h i j k l m n o F f g h i j k l m n
o p G g h i j k l m n o p q H h i j k l m n o p q r I i j k l m n o p q r s A négyzet kitöltése sokféleképpen történhet! e z t a k a r j u k t i c s k u l t k osítani X (oszlop) k u l c s k u l c s Y (sor) o k E*K ( a többi betű épp nem szerepel a táblázatban) A módszer ereje a kulcs megválasztásától függ. A feltöréséhez nem is szükséges a táblázat csupán a kulcs ismerete kell. X xor K xor K => az eredeti szöveg 6 Törése Brute Force-al: Betűgyakoriság: Egy adott betű sokkal gyakrabban szerepel magyarban, mint az angol nyelvben. Például: 1.) „ „ 2.) e 3.) a A nyelv rendelkezik redundanciával. Lehetőség van kb 50% eltávolítására Ezeket figyelembe véve: Gyakoriságot vizsgáljuk: Nyelvre jellemző gyakoriság Rejtett szöveg „k”-adik elemének gyakorisága „ „10% P 11% E 7% Q 6,72% A 6,5% S 6,71% Feladat a kulcs meghatározása A módszer: Az előbb bemutatott statisztikai módszer segítségével
lehetséges Csak a kulcshosszadig elem ad „jó” statisztikát, ezért elkezdjük a kulcs méretét változtatni, és megnézzük milyen eredményt ad. Minden 1 -re => nagyjából egyenletest ad, minden 2 -ra is, minden 3.-ra is, Egyszer csak nem lesz egyenletes (legnagyobb eltérés az egyenletestől => annyi betűből áll akkor a kulcs A módszer részletezése: Ha nem jó a kulcs, akkor egyenletes a statisztika Sa Sd Sz Sa: A „b” betűk darabszáma Sb: A „b” betűk darabszáma Jó kulcs esetén az egyenletestől eltérő (nagy eltérések vannak) 7 Kiszámoljuk az átlagtól való eltérések mértékét i: hányadik elemre számoltuk ki Sa: A „b” betűk darabszáma Sb: A „b” betűk darabszáma N: a megszámolt betűk száma 26: angol nyelv karaktereinek száma (magyar esetén 43) K xi2 (az átlagtól való eltérések mértéke) 1 2 3 4 5 A legnagyobbat kiválasztjuk 6 kulcshossz esetén => 266 10 kulcshossz esetén => 2610 8 3.
Véletlen átkulcsolás módszere, Verman 1920 Véletlen átkulcsolás = One Time Pad= OTP =Verman módszer Elméleti alapok Elméleti titkosság: Egy módszer elméletileg fejthetetlen, ha tetszőlegesen nagy számítógépes kapacitás birtokában sem fejthető. Gyakorlati tikosság: Egy módszer gyakorlatilag fejthetetlen, ha irreálisan nagy számítógépes kapacitás birtokában fejthető meg csak. Valószínű szövegrészek keresése: adott szó, adott pillanatban, elhangzásának valószínűsége. adott nyelven való Nyelvi redundancia: Egy értelmes szöveg hány százalékát hagyhatom hogy a szöveg továbbra is értelmezhető maradjon. figyelme kívül úgy, A módszer lényege X E z t s K p h o t z e r e t n é a a s e q z t n k t titkosítani n hosszúságú p Y=X xor K A kulcsot, úgy válasszuk meg, hogy az egyenletes eloszlású véletlen karaktersorozat legyen. 26n lehetőség(ha az angol abc vesszük), 256n ha az összes karaktert Y Az eredmény
véletlen eloszlású karaktersorozat. Elméletileg fejthetetlen: Az eredményhalmazból nem tudjuk kiválasztani a megfelelőt. A módszer problémája 1. A kulcs kezelése nehéz 2. A kulcs eljuttatása ugyanolyan problémás feladat, mint maga az elküldendő adat Megoldásai lehetőség, az hogy egy DVD cserélünk, amin a kulcsok vannak, vagy megegyezünk egy honlapon található képekben. Lényeg, hogy a kulcs biztosan titkos legyen Mi történik, ha egy kulcsot többször használunk? X1 + K = Y1 X2 + K = Y2 X1- X2 = Y1-Y2 Nincs is szükség a kulcs ismeretére. 9 Brute Force megoldás: Végig megyünk a megoldás halmazon és megnézzük, hogyha találunk egy értelmes megoldást, akkor a másik ugyanazon a helyen értelmes megoldást ad. Erre azért van szükség, mert elméletileg fejthetetlen, tehát az összes lehetséges megoldás szöveg olvasható, evvel a megoldással ki lehet keresni melyik a jó. A jó megoldás: 1. Hogy lehet rájönni, hogy ugyanazt a kulcsot
használjuk? Y1 = X1 xor K Y2 = X2 xor K Az xor helyett lehet más is. Y1 – Y2 = X1 – X2 X1 = Y1 – Y2 + X2 X1 A B C O Ilyenkor itt nem lehet azonos betű X2 C B A O K K E Y J L Y1 X A H K Z Y2 Z A T K S Ha ugyanaz a kulcs és a betűk egymásalattiságát vizsgáljuk a rejtett üzenetben akkor, azonos alatt azonos, különböző alatt különböző. 2. A megfejtés Ha tudjuk, hogy azonos a kulcs és tudjuk, hogy milyen nyelven írt tudjuk, hogy kb. miről írt vannak ismétlődő szavak. pl hogy X1 J E L E N T X2 H A D S E E M R E G E M K Y1 Y2 Előállítjuk a végét és kétirányú kiterjesztéssel (próbálkozások árán) oda vissza megfejtjük. 10 4. Transzpozíciós módszer és törése A módszer Betű-betű megfeleltetés módszere, majd permutálás. X E Z T K 3 Y 4 1 A K A R J 5 2 3 4 1 5 T A E Z U K titkosítani n hosszúságú blokkok 2 R U K A J Az eredmény véletlen eloszlású karaktersorozat. X és Y betűgyakorisága
megegyezik Ha |K|=5, akkor blokkonként 5! lehetséges elrendezés van, n hosszú kulcsnál n! Mennyiségű elrendezés van. Ezt lehetetlen végig próbálni, tehát a módszer gyakorlatilag törhetetlen Gyakorlati titkosságot biztosít. A törése: 1. A töréshez szükséges tudás: Nem csak a betűgyakorisága adott egy nyelvnek, hanem a betűátmenet gyakorisága is. Ennél a módszernél a betűgyakoriság csak a nyelv meghatározására szolgál. A B C . . . ZZ „ ” =space Ez az adott nyelvre jól definiálható folyamat. Sz=> az „s” után sűrűn lesz „z” Ly => Az „L” után sűrűn lesz „y”. 2. Feladat az inverz permutáció előalítása Rendezett párok. (1,3) (3,1) (1,3) (2,4) (4,2) (2,5) (3,1) (1,3) (3,1) (4,5) (5,4) (4,2) (5,2) (2,5) (5,4) Rendezem 11 3. Készítek egy átmenet mátrixot, melyet a főátlóba felöltök végtelennel 1 2 3 1 2 3 ∞ ∞ ∞ N L darab blokk N hosszú ∞ N ∞ Kiszámolom a mátrix minden
egyes elemét. i=sor j=oszlop Megnézzük a valószínűség táblázatban. Példa a számolásra: A tényleges betű pozícióba lévő betűátmeneteket összeadjuk=> így kitöltjük a táblázatot. Példa: 1sor 2 oszlop az jelenti, hogyha a titkosított szöveg a „Taez „akkor a „t” vajon az „a” követi, és ez az összes blokkra kiterjesztve. 4. Végül Minden sorban lesz egy elem, amit kiugróan magas lesz, legalább 15-20% magasabb. Az így megkapott átmenetek megadják a permutáció inverzét. Szükséges idő: l * n2 + max kiválasztás= l n2 + n2 művelet (l: a blokkok száma) 5. Összefoglalva: A permutált üzenetünkben egy adott pozícióban levő betűt mekkora valószínűséggel követhetnek az adott kulcshosszúságú szakaszon belül levő karakterek? Ezt megnézem minden kulcshosszúságú szakaszon és karakterenként összeadom a valószínűségeket, majd a legnagyobb valószínűségű - látható különbség lesz - permutációkat
kiválasztjuk. Létrehozunk egy átmenetmátrixot, főátlóját végtelenekkel kitöltjük. Kiszámoljuk a nyelvi statisztikát, az átmenetmátrix i-dik elemét konkrét értékekkel kiszámoljuk, ezután a sorokból a szignifikánsan különböző (min vagy max. eltérésértékek) fogják nagy valószínűséggel a permutáció inverzét adni Törés megakadályozása Ha a kulcs mérete megegyezik az üzenetével, vagy legalább fele akkora, akkor már fejthetetlen, de a kulcskezelés és - tárolás problémát vet fel. 12 5. Shannon keverő transzformációja Lavinahatás Shannon keverő transzformációja Bevezetés Betűhelyettesítés A A B B C C Z Z Helyettesítő táblát alkalmazva Nem betűket feleltetünk meg, hanem betű párokat AA BB AA BB ZZ CX ZZ Probléma, hogy nagy a táblázat, nehéz a kulcs átjuttatása, tárolása Feltörése statisztikával lehetséges. Ha 7 betűt helyettesítünk, akkor már a nyelvi inhomogenitás megszűnik Eben az
esetben már nagyon hosszú adat kell, hogy feltörhető legyen A kulcs átküldése viszont még nehezebb A kulcstárolást megoldja az eltolása, eben AAA AAB AAC AAB AAC AAD Csak az eltolás értékét beszélik meg Probléma viszont, hogy a támadónak irányultságot adok, hogy merre keressen. Ezáltal a kulcstár drasztikusan lerövidül. => Az erősség is gyengül Permutációs megoldás Vezessünk be egy permutációt P1 * Sk P2 (x) Kulcsfüggő helyettesítés 13 Példa: AAB => ABA vagy BAA lesz . A közel levő szavak távolra kerülnek Előző esetben: Ha a permutációt használjuk: Shannon transzformáció A keverő transzformáció felhasználja ezt az ötletet Rövid blokkok helyettesítése Permutációk használatával Kulcsfüggő helyettesítés Nem függnek a kulcstól, csak elő permutációk Példa: AAAA BBBB AAAB BBBC AAAC BBBD ZZZZ Csak az eltolás értékét beszélik meg BBBA 1. Megkeverem AAAC-t, lesz belőle AACA (előpermutáció), 2.
Ehhez tartozik a fenti tábla alapján a BBBD (kulcsfüggő helyettesítés) 3. Majd megkeverem megint (utópermutáció), így mondjuk pl kapom azt, hogy: DBBB Egymás után alkalmazott permutációk és helyettesítések segítségével a közeli üzenetből távoli üzenetet képzek. Lavinahatás A bemenet 1 bitjének megváltoztatása a kimenet bitjeinek közel a felét változtassa meg. Kis változások nagy hatást eredményezzenek. 14 6. DES módszer és törése IBM 1977 A módszer NSA: National Security Agency dolgozta ki A módszer kidolgozásakor a kulcs 128 bit, majd ezt leszűkítették 64bitre, végül az 56 bites kulcsot fogadták el. A módszer kidolgozásakor figyelembe vett célok: 1.) 2.) 3.) 4.) 5.) 6.) 7.) Rendszerek közötti kommunikáció megvalósítása Legyen egyszerű és gyors (emiatt cél hardvere törhető) Áramkörökben megvalósítható legyen Csak a kulcstól függjön a biztonsága 64 bites üzenetből 64 bites üzenetet állítson elő 56
bites kulcsot használjon (igazából 64, de 8 bit speciális dolgokra) Nagy gépkapacitás birtokában törhető legyen, de szokványos gépkapacitás birtokában ne. Ezért szűkítették le valószínű a kulcsméretet A DES vázlatos felépítése és az iteráció egy lépése 64 bites input Keverés 1. iteráció 2. iteráció 16. iteráció R i-1 L i-1 32 32 5 6 Ki b i t e s 48 32 k u l c s Li 2*32 bites csere Inverz keverés 64 bites output 15 f Li A DES körfüggvénye R i-1 32 Kiterjesztés E T 48 Ki 48 T 48 B1 1 2 1 S1 1 B2 B8 s2 s8 8* 6 bites blokkok összesen 48 bit Helyettesítés S dobozok 8* 4 bites blokkok 32 SP hálózat Keverés 32 A 6 bit kiterjesztésnél nem bántja a sorrendiséget ezáltal globálisan megmarad A DES valószínű backdooros méghozzá a „S” dobozoknál Titkosítás lépései 1. Az első lépésben kulcstól függetlenül a 64 bites bemenet bitjeit összekeveri, az utolsó ennek pontosan az inverz művelete. 2.
Az iterációs lépések mindegyike 2db 32 bites értékként értelmezi a bemenetére kapott adatokat, és ennek megfelelő kimenetet ad. 3. Az utolsó előtti lépésben felcseréli a bal oldali 32 bites rész a jobb oldalival 4. A maradék 16 lépés működése egységes és mindegyik paramétere egy Körkulcs a. A Körkulcsot két 28 bites részre osztja az algoritmus, mindegyiket a körkulcs sorszámának megfelelő bittel jobbra forgatva. b. A Ki -t ezekből a darabokból egy újabb leképezéssel képzi A körfüggvény négy lépése: 1. 48 bites számot képez Ri ből (bitkeveréssel és duplázással) Ennek a résznek nagy szerepe van a lavinahatás eléréséhez. 2. A 48 bites szám és a körhöz tartozó Ki kulcs között XOR műveletet végez 3. A kapott eredményt 8 db 6 bites csoportra osztja (B1-B8) Ezeken helyettesítéseket végez. (S1-S8) Az eredmény 4 biten keletkezik 16 4. Az így kapott 4*8 bitet ismét összekeveri és eredményül kapott 32 bites szám a
függvény kimenete. Törése Törés Brute force-al: megnézzük, hogy a bemenet karakterkészlete (betű- és szógyakoriság) szempontjából hasonlít-e a nyelvre Tömörítéssel nehezíthető ez a törési módszer, de ne szabványos tömörítést használjunk, mert az azokkal tömörített file-ok fejlécében meg van adva a tömörítés típusa. Használata 5-10 éve nem fogadják el banki szintű titkosító rendszernek, mert célhardverrel törhetőnek bizonyult, de a DES alapötletét beépítették a 3DES-be és a TripleDES-be. 17 7. Shamir módszer A módszer A küld üzenetet B-nek: 1. A eltitkosítja a saját módszerével, a saját kulcsával és elküldi B-nek 2. B eltitkosítja a saját módszerével, a saját kulcsával és visszaküldi A-nak 3. A visszafejti a saját módszerével, a saját kulcsával és visszaküldi B-nek 4. B visszafejti a saját módszerével, a saját kulcsával és megvan a nyílt üzenet Megcserélhető kulcsok kellenek A B A B A
B Előny: 1. Nincs kulcscsere, nem kell ismerni egymás módszerét 2. Nem kell ugyanazt a tikosító módszert használni Hátrány: Háromszoros üzenetváltás Veszély lehetőségek A postás eljátssza a fogadót A P A P A P 18 A következmény súlyos, a küldő észre se veszi, hogy nem jó embernek küldte. A megoldás az, hogy egy másik csatornán kell kommunikálni. El kell érni, hogy „A” csak akkor vegye le a lakatját, ha tudja, hogy „B” már rátette a sajátját. A postás felkészül: A postás felkészül és „A”-nak eljátssza „B” szerepét, és „B” -nek meg az „A”. A P P A A P P A A P P A Az első csomag érkezésekor a postás valamit küld a B-nek majd utána már elcsúsztatva a megfelelőt küldi tovább. Nagy veszély, mert így már az előbb ismertet megoldás sem működik. Sem „A” sem „B” nem veszi észre. 19 8. Diffie-Hellman módszer 1976 Probléma: a kulcsot el kell juttatni a nem titkos
csatornán. A módszer Moduláris aritmetika, egész számokkal kell operálni. 0. Előzetes lépés „A” és „B” választ két speciális nagy prím számot n és q { 192- 512 bit méretűt} 1. „A” kiválaszt egy véletlen x értéket és kiszámolja „B” kiválaszt egy véletlen y értéket és kiszámolja 2. „A” elküldi „B”-nek a „k1”-et és „B” elküldi „A”-nak a „k2” 3. „A” kiszámolja a és „B” kiszámolja a k4 4. K3 = K4 => megvan a kulcs Példa 0. q=7 n=11 1. „A” kiválasztja x=3 , „B” meg a y=6 és 2. „A” elküldi „B”-nek a „k1”-et és „B” elküldi „A”-nak a „k2” 3. és 4. Mint lálthatjuk k3=k4 A példánkban a kulcs a 9 Ha több bites kulcs kell, akkor ezt a folyamatot kell ismételni. A támadó feladata A két nagy prím szám nyilvános az x,y az titkos <= ezeket ismeri a támadó „x” -et meghatározni nehéz feladat. Az „x” azt jelenti, hogy a q-t hányadik hatványra kell
emelni, hogy megkapjuk az „k1” et. Kis szám esetén könnyű, nagy számok esetén lehetetlen küldetés Megjegyzés: Az angol titkosszolgálat, már legalább 10 évvel a módszer kidolgozása(publikálása) előtt ismerte. Támadási lehetőség: A „középen levő ember” (man in the middle) támadás: Ha „C” azt állítja „A”-nak, hogy valójában „B”, „B”-nek pedig azt, hogy „A”, akkor megfigyelheti – lehallgathatja – az „A” és „B” közötti kommunikációt. 20 Diffie-Hellman több szereplős megoldása (3 vagy több) 1. Az n és a q megválasztása az előbbiekben megismert módon 2. 3. A kulcsszámolás 3 szereplős esetben A B A B A B C C C Diszkrét logaritmusnak hívják a feladatot. Megértést segítő példa: Tálcás példa (tekila, bor , sör körbe megy) Festékkeverős példa Egy megoldás a feltörésre Előre ki kell számolni X K Majd K szerint rendezni, végül keresésnél a logaritmikus keresést
alkalmazni. (Én sem értem) 21 9. Nyilvános kulcsú titkosítási módszerek Az RSA módszer működése Nyilvános kulcsú titkosítási módszerek Bevezetés Szimmetrikus tikosítás: Ha y=E (X, K ) => x= D ( Y, K ) A kódoláshoz ugyanazt a kulcsot használjuk,m int a fejtéshez. Aszimmetrikus tikosítás: y= E ( X, K) = > x= (D, K*) A K != K A lakatot csak az a személy tudja kinyitni aki a kulcsot birtokolja Ha valaki kommunikálni akar, a személlyel akkor kell egy lakatot szerezni. Ha valaki bezárja, a lakatot akkor ő maga se tudja kinyitni. Nyilvános kulcsú titkosítási KAN , KAT =>KA rendelkezik egy titkos és egy nem tikos kulccsal 1. Nyilvános és hiteles kulcstár (A, KAN),(B,KBN ) A kulcsot nagyon titkos helyen kell tárolni. Ha a kulcs elveszik nincs megoldás 2. A nyilvános kulcsot személyesen átadjuk A => B E(X, KBN ) 3. Ez a séma alkalmas azonosításra hitelesítésre Digitális azonosításra Megkapjuk az X-et => Bizonyítja, hogy az
„A” küldte és ezt küldte Ha nem X akkor nem „A” küldte A Digitális aláírás nem titkos, csak hitelesítésre szolgál A kettőt lehet ötvözni. Legyen titkos és hiteles is „A” küld üzenetet „B”-nek A. Titkosítás Hitelesítés B. (Nem biztos, hogy jó a képlet) Ha van „X” akkor tudjuk ki küldte és titkos 22 RSA – Rivest, Shamir, Adleman Kulcsválasztás K1. véletlenszerűen választunk két NAGY prímszámot (decimális és 100 lesznek p1 és p2. K2. kiszámoljuk a két szám szorzatát a. m=p1*p2, b. Φ(m)=(p1-1)*(p2-1) c. Választunk egy e számot, ami Φ(m)-hez relatív prím jegyű), ezek K3. e*d=1 mod Φ(m) -ból d-t Központi nyilvántartásba betesszük m-t, e-t d, p1, p2, Φ(m) titkos marad Rejtjelezés R1. A => B , kikeresi mB-t és eB-t R2. A titkosítandó szöveget számok sorozatává alakítjuk úgy, hogy a szerkezetet szétziláljuk 0<= . <= (m-1) R3. Ezen a számok sorozatán végezzük el a rejtjelezést R4.
Fejtés D1. „B” kap 0 m -1 közé eső számok sorozatát y1, y2 ,y3 D2. Megkapott számsorozatot X=DB(Y)=YD mod mB D3. Visszakódoljuk R2 inverzével a dekódolt üzenetet Nagy jegyű prím előállítása Egy szám prím, ha 1 és önmagán kívül nincs más osztója Hogyan vizsgáljuk, meg hogy egy szám prím? 1. Megvizsgáljuk 1-től n ig => Felesleges 2. Elég csak - ig megvizsgálni. Ha addig nem tálunk akkor utána sincs A> B> N=A* B = * > N Ellentmondás 23 nyelvi Probléma p1, p2 előállítása (hogyan?, van-e elég hely?) Milyen „sűrűn” vannak prímek a 10100-on tartományban? M N => Majdnem minden 300-dik szám prím Fermat-tétel bS-1 ≡ 1 mod S valószínűleg prím ha s: a vizsgált szám (p1, p2) b jól megválasztott szám Ha ez nem teljesül, akkor biztos nem prím. Ha teljesül, akkor valószínűleg prím. => Valószínűségi prímtesztnek hívjuk Példa: Ha b1-re teljesül, akkor 50%, hogy mégse prím. Ha b2-re teljesül,
akkor 25%, hogy mégse prím. Ha b3-re teljesül, akkor 12,5%, hogy mégse prím. Ha b3-re teljesül, akkor 12,5%, hogy mégse prím. Ha b10-re teljesül, akkor 0,00009%, hogy mégse prím. Tehát ha kellően sokszor elvégezve a próbát tetszőlegesen kicsivé tehető a valószínűsége, hogy a szám mégse prím, Összefoglalva b1, b2, , bk Válasszunk egy másik számot és ha ezt is kiállja, kor (1/2) k-ra csökkenthető annak a valószínűsége, hogy nem prím. Érdekes: Vannak olyan számok, amik kiállják a Fermat próbát, de mégse prím 24 10. PGP módszer és működése Alapismeretek Zimmerman találta ki Szimmetrikus titkosítások: Fejtéshez, rejtéshez ugyanazt a kulcsot használjuk Kell kulcscsere Aszimmetrikus RSA, Elliptikus görbék Lassabb 2,3 nagyságrenddel Nem kell hozzá kulcscsere A módszer A=> B „A” küld „B”-nek valamit. A küldemény két részből áll: 1. Szimmetrikus rész Ksz: Session key Minden egyes üzenethez alkalmi kulcs 2.
Aszimmetrikus rész Nagyobb rész Működés: Kisebb rész 1. Generál egy véletlen kulcsot (session key), ezzel eltitkosítja az üzenetet szimmetrikus titkosítással 2. Eltitkosítja a session key-t B titkos kulcsával 3. Összefűzi a két üzenetet 4. Elküldi K Az aszimmetrikus rész a szimmetrikus rész kulcsa Kibontás 25 Megjegyzés Előnyei: 1. Ötvözi a szimmetrikus és az aszimmetrikus tikosítás előnyeit 2. Lassú módszer csak a kulcshoz kell, a nagyméretűre a szimmetrikus módszer van Szerintem rossz Hátrányai: 1. A rendszer erejét csak az szimmetrikus része biztosítja Viszont lehetőség van minden részt más kulccsal tikosítani. (session Key) Lehetőség van arra, hogy több embernek is küldjük? Igen, ha a session key-t több kulccsal titkosítjuk és mindegyiket az üzenet végéhez toldjuk. A B C Fontos cégek levelezésénél figyelni arra, hogy a főnök kulcs is rajta legyen. ADK ADK – Addition Description Key Létezhet olyan
helyzet, hogy egy vállalatnál minden üzenethez kötelező hozzátoldani egy adott kulccsal is titkosítva a session key-t. Probléma: veszélyes, mert mindent meg lehet vele nézni => nagyon körültekintően kell vele bánni. 26 11. Hasító függvények. Működés, alkalmazási területek Elvárás a hasító függvények felé 1. X => MD(X) könnyen és gyorsan kiszámítható legyen 2. X MD(x) Mb 128bit 160bit Nagy értelmezési tartományból egy sokkal kisebb értékkészletre képezünk le, ezért rendkívül sok ütközést fog előállítani, ennek a számossága az értelmezési tartomány és az értékkészlet számosságától függ. 3. Kívánatos lenne, hogy ha x1 != x2 akkor MD(x1) != MD(x2) Ez nem lehetséges 4. A feltöréskor nem szükséges a passwordot tudni hanem egy hogy x1 kell keresni aminek ugyanojan a hasító értékkel rendelkezik x1=> MD(x1)= MD(x2) Cél az, hogy nehéz legyen ilyen x1-et előállítani Módszer veszélye A hasító
értékek elmentése Szivárvány táblázat: Előre kiszámoljuk a valószínű jelszavak hasító értékét Működés (igazából nem tudom mi ez) X1 X2 X3 INIT Ellenőrző összeg Tudnivalók Rövidítések: MD: Message Digest=Üzenet Pecsét MDC: Modification Detect Code MAC: Message Autatication Code=Integritás és eredetvizsgálat Rivest találta ki: MD2 1989 MD4 1990 Átlagos PC-vel törhető MD5 1992 SHA 160bit,256 bit NSA dolgozta ki 1993 és 1995 szabvány lett belőle Lavinahatás: 1 bit változására legalább a fele bit megváltozik 27 Alkalmazási területek 1. Adatbázis kezelő rendszerekben a keresés felgyorsítása a cél 2. Tikosítás esetén például Password tárolás Név: Jelszó: Szerver Ok Nem ok Enter leütése után a jelszót egyből titkosítani kell és a memóriából is törölni A szerveren nem a passwordot tároljuk, hanem a hasító értékét 3. Hitelesítés CRC Milyen hibákra jó? Véletlen bithibákra készül fel. A baj az,
hogy meg lehet hamisítani A B Küldendő üzenet Vett üzenet x=MD(m) X=MD(m) i X=X1 n Igaz esetén hitelesíti, hogy ezt „A” küldte és tartalmilag is ezt küldte. 4. Aszimmetrikus tikosítás esetén lassú, ezért ha csak hitelesíteni kell akkor csak a pecsétet titkosítjuk és küldjük el 28 12. Blokkos rejtjelezés. Hibák ECB, CBC módszer Pl. DES 64bit => 64bit Egy kis elmélet A blokkos rejtjelezés azt jelenti, hogy az üzenetet rögzített méretű blokkokra bontjuk és a blokkokban külön végezzük a rejtjelezést. Bithiba: A küldött blokk tartalma megváltozik, de a bitek száma nem Bit szinkronhiba: Néhány bit kiesik vagy többszöröződik. Blokk szinkronhiba: Teljes blokk kimarad vagy ismétlődik. Mi tegyünk, ha az üzenetünk nem arányos a blokk méretre? Padding (Kitöltés). Egyértelműen felismerhető és eltávolítható legyen. Fontos szempont a sebesség és a párhuzamosíthatóság Sebesség: A tikosító algoritmus teljes
sebességét kihasználjuk vagy nem. Párhuzamosság: Vizsgálni kell a titkosításnál Vizsgálni kell a fejtésnél. Ez a fontosabb ECB A módszer. Elsőként a Padding szükséges=Kitöltés blokk méretre) X1 E(X1, K) Y1 X2 E(X2, K) Y2 X3 E(X3, K) Y3 29 Fejtése Y1 Y2 Y3 D(Y1, K) D(Y2, K) D(Y3, K) X1 X2 X3 Jellemzői: 1. Lehet szimmetrikus és aszimmetrikus módszer használni 2. Sebesség? Az algoritmus sebesség megegyezik a tikosítás sebességvel 3. Elrejti a szerkezetet? NEM Például Linux pingvin => Hátránya, hogy lehet statisztikával törni 4. Párhuzamosítható? Mind a tikosítás és a fejlés is 5. Bithiba? Egy blokkot elront teljesen 6. Bit szinkronhiba? Nagyon súlyos Az utána levő össze blokk elromlik 7. Blokk szinkronhiba? Egy kiesik, de a többi titkosítható CBC (Chiper, Block Chaining) Rejtjeles blokkok láncolása Kódolás INIT X1 X2 X3 XOR XOR XOR E( , K) E( , K) E( , K) Y1 Y2 Y3 30 Dekódolás INIT Y1 Y2
Y3 D( , K) D( , K) D( , K) XOR XOR XOR X1 X2 X3 Jellemzők INIT vektor lehet: üres, véletlen érték, rögzített kulcs. INIT vektor növeli a tikosítást?: Nem, csak az elsőhöz kell 1. Sebesség? Az algoritmus sebesség megegyezik a tikosítás sebességével 2. Elrejti a szerkezetet? IGEN Üzenet statisztikai jellegét elfedi hiszen x1=x3 akkor y1!= y3 Ugyanaz az üzenet különböző eredménybe megy át ha más az INIT vekor. 3. Párhuzamosítható? a. Kódolás: NEM b. Dekódolás IGEN 4. Bithiba? a. Aktuális blokk teljesen tönkre megy b. Következő blokkban 1 hiba 5. Bit szinkronhiba? Teljesen tönkre megy 6. Blokk szinkronhiba? a. Aktuális blokk teljesen tönkre megy b. Következő blokk teljesen tönkre megy c. Azután már helyre áll 31 13. CFB, OFB, CTR módszerek CFB(Chipherest Feedbuck) A módszer ábrája S G Xi titkosítandó M XOR Regiszterek Yi S Az eredmény Titkosítás lépései 1. S regisztert feltöltjük egy véletlen kezdőértékkel
(64 bit) 2. M regiszterbe rakjuk a titkosítandó szöveget, 64 bitjét 3. G = E(S,K) 4. G regiszter és az M első 8 bitje XOR kapcsolattal adja az Yi-t 5. Elléptetjük 8 bittel balra „S”,”M”- et 6. „S” alsó 8 bitjébe beraktjuk az Yi-t 7. M alsó 8 bitjébe berakjuk Xi következő 8 bitjét Ismétlés a 3 ponttól kezdve Jellemzői 1. Kulcsgenerálás függ a szövegtől => előny 2. Sebessége: Lassabb, mint az eredeti algoritmusnak a blokkok számától függően (64). 3. Előnyös lehet, hogy bájtos egységekben dolgozza föl az adatfolyamot (pl terminál) 4. Aszimmetrikus titkosítás használható? NEM Mivel csak „E” használunk „D” nem 5. Bithiba? 8+1 kisblokkot elront, de utána helyreáll 6. Bit szinkronhiba? Teljesen tönkre megy 7. Blokk szinkronhiba? 8+1 blokk tönkremegy utána helyreáll 8. Párhuzamosítható? a. Kódolás: NEM b. Dekódolás IGEN 32 Fejtés: 1. S regisztert feltöltjük ugyanazzal a 64 bittel 2. G = E(S,K) 3. G első 8
bitje XOR Y első 8 bitje 4. Léptetés után, S alsó 8 bitje az előző művelet eredménye OFB (Output Feedback) S G XOR Regiszterek M Yi S Titkosítás 1. „S” regiszterbe 64 bites véletlen szám generálás 2. „M” be berakjuk „x” első 8*8 bitjét 3. G=E (S,K) 4. „G” első 8 bitjét XOR „M” első 8 bitjével => Y 5. „G” első 8bitje rakjuk „S” alsó 8 bitjére 6. „M” alsó 8 bitjére berakjuk „X” következő 8 bijét Jellemzői 1. Sebessége: Lassabb, mint az eredeti algoritmusnak a blokkok számától függően 2. Bithiba? 1 bitet ront el. Nem nagy gond 3. Bit szinkronhiba? Teljesen tönkre megy 4. Blokk szinkronhiba? Megöli az egészet 5. Párhuzamosítható? Előre kiszámítható a kulcs a. Kódolás: IGEN b. Dekódolás IGEN 6. Zajos csatornához ezt a módszert ajánlják 7. Aszimmetrikus titkosítás használható? NEM 33 Előny: Üzenettől nem függ a kulcs A bithiba nem gond. Nagy előny Hátrány A kulcsot, ha mi nem
változtatjuk, akkor törhető Nem önszinkronizáló CTR (counter) A módszer 1,2,3 Nem felétlen egyesével növekszik, lehet pl. prímszám is Számláló E(,K) S bit XOR Xi Yi Jellemzői 1. Bithiba? 1 bitet ront el. Nem nagy gond 2. Bit szinkronhiba? Teljesen tönkre megy 3. Blokk szinkronhiba? Megöli az egészet 4. Párhuzamosítható? A kulcsot előre ki tudom számolni, a kulcsgenerálás is párhuzamosítható (OFB-nél nem) c. Kódolás: IGEN d. Dekódolás IGEN 34 14. XIV. Többfokozatú kódolók: TripleDES A DES algoritmus egy megerősítése a 3DES algoritmus. Ez tulajdonképpen a DES-nél használt kódoló és dekódoló eljárások háromszori megismétlése. Szintén 64 bites adatblokkon dolgozik, de a titkosításhoz a konkrét felépítéstől függően 64, 128 vagy 192 bites kulcsot használ. Kódolás A 64 bites bemeneti blokkból a következő módon állítjuk elő a szintén 64 bites kimenetet: X0 X1 X2 INIT1 Xor Xor Xor K1 E( ) E( ) E(
) INIT2 Xor Xor Xor K2 D( ) D( ) D( ) INIT3 Xor Xor Xor K1 E( ) E( ) E( ) Y0 Y1 Y2 Képletben megfogalmazva: Kimenet = KK3(DK2(KK1(Bemenet))) ahol KKn a Kn kulccsal történő DES kódolást, DKn a dekódolást jelenti. 35 Dekódolás A dekódolás a kódoláshoz hasonlóan működik, a 64 bites bemeneti blokkból a következő módon állítjuk elő a szintén 64 bites kimenetet: INIT1 INIT2 INIT3 Y0 Y1 Y2 D( ) D( ) D( ) Xor Xor Xor E( ) E( ) E( ) Xor Xor Xor D( ) D( ) D( ) Xor Xor Xor X0 X1 X2 Képletben megfogalmazva: Kimenet = DK1(KK2(DK3(Bemenet))) A kulcsok A kulcsok kiválasztása három módon történhet: 1. K1, K2 és K3 független DES kulcsok (3*56 bit = 168 bites kulcs) 2. K1 és K2 függetlenek, K3 = K1 (2*56 bit = 112 bites kulcs) 3. K1 = K2 = K3 (56 bites kulcs, ez az úgynevezett DES kompatibilis üzemmód) 36 15. Folyamattitkosítás. Bevezetés X1 (64 bit) X2(64 bit) X3(64 bit) E( , K) E( , K) E( , K)
Y1 Y2 Y3 A folyamat titkosításnál nem lehet az, hogy a blokk végéig várjunk. Példa: Két ember kommunikál. Alma a foci eredmény közli Körtével és mivel nem bőbeszédű csak annyit mond, hogy 1:0. Ha 8 bites blokkokról van szó akkor a következő lép fel 1:0 Nem lehet várni a többi szövegre Kérdés? Milyen kicsi legyen a blokkméret? 1 bájt? 1bit? Miért nem alkalmazunk 8 bites titkosítókat? 1. Könnyen törhető(betűstatisztikával), kevés próbálkozás 2. Előnye lenne, hogy kisebb mennyiségekbe kéne feldolgozni => nem lehet ilyet készíteni 3. Ha lehetne akkor, meg könnyen törhető lenne Folyamat tikosítok 1. CFB 2. OFB 3. CTR 4. TripleDes Ezek a témák más tételekben kidolgozva 37 Plusz egy módszer 1 bájt is sok. Mit tegyünk ilyenkor? A megoldás X K Egyenletes eloszlású bitsorozat Y=X xor K Probléma a kulcs kezelése 38 16. PRNG Előzmény PNG (Random Number Generálás) Véletlen szám: 1. Az előállítás módjától
véletlen 2. Akkor érezzük véletlennek, ha az előző szám nem befolyásolja a következőt Miből lehet számolni 1. Órajel 2. Fizikai jelenségek mintavételezése Pszeudó Number Generátor (PRNG) Egyenletes eloszlású eredményt ad, képlettel lehet más eloszlásút készíteni belőle. pl. Normálist Neumann féle négyzetközép módszer 1881145 8112 Lineáris kongruencia módszer R0= véletlen seed Jól megválasztott konstansok A seed et be kell állítani, vagy egy gép egy véletlen jelenségből állítja elő. A módszer hátrány, hogy ismétlődik. Állvéletlen: Véletlennek tűnik, a véletlenekkel szemben támasztott statisztikai próbákat kiállja, de mégse az. A próba: 1. Egyenletes eloszlású: közel ugyanannyi minden számból 2. A számpárok is egyenletes valószínűséggel vannak 3. Miden szám előfordul 39 17. CSPRNG (ANSI X9.17, RSA án alapuló) CSPRNG=Cryptographycally Securd Jellemzők: 1. Léptetőregiszter mentes kulcsgenerátorok 2.
Az hogy a bitsorozat mennyire alkalmas biztonságos alkalmazások készítésére az az előállítás módjától függ, ezért sokszor olyan algoritmust használnak, ami már bizonyította a biztonságát. 3. Jellemzően lassabbak, mint LFSR társaik Biztonsági követelmények 1. Brute Force támadást élőben ne lehessen megvalósítani 2. A kimenet statisztikailag ne különbözzön egy igazi véletlen sorozattól 3. Ha SEED-et nem ismeri a támadó, akkor gyakorlatilag ne lehessen megjósolni a következő bitet. CSPBRNG: Biteket generál Definíció: Ha a PRBG teljesíti a következő bit tesztet, ha nincs polinomiális algoritmus, ami az n bit megismerése után 50% -nál nagyobb valószínűséggel megjósolja a következő bitet ANSI X9.17, (szimmetrikus) Bemenet: véletlen és titkos 64 bites S n integer k kulcs 3Des Kimenet: ciklus i=1 től n ig ciklus vége x1,x2.xn 40 RSA alapuló (véletlen generátor, asszimetrikus) Inicializálás: p,q nagyprímek n=p*q „e”
tetszőleges egész, „e” és „f”relatív prím, valamint e<f L a két bitsorozat hossza L darab ál véletlen bit: z1, z2, , zL Kimenet: 1. Válasszunk egy tetszőleges, de n-nél kisebb x0 kezdőértéket 2. ciklus i=1 től L ig a. xi=xi-1 mod n b. zi=az xi legkisebb helyértékű bitje 3. Kimenet z1,z2,, zL Az algoritmus sebességének sarokköve a moduláris hatványozás melynek sebessége tudatosan választott e kitevővel előre számítható illetve optimalizálható. Például: e=3, e=17, e=65537 esetén rendre 2,5,17 moduláris szorzást kell elvégezni egy bitért cserébe. 41 18. Hitelesítési módszerek Hitelesítés csoportosítása: 1. Tudásalapú 2. Birtokalapú 3. Biometria 4. Ideiglenes azonosítás Párhuzamosan kell őket használni Tudásalapú Jelszó, pin kód. Nem elég, mert ellopható, lemásolható, lehallgatható. Használható a tulajdonosa nélkül Birtokalapú Igazolvány Kártyák (aktív, passzív). Aktív kártyának nagy előnye:
o Nem lehet beszkennelni o A feltöréséhez a primfaktorizácós problémát kéne megoldani Chipkártya=> jó ötlet Hátrányuk összefoglalva: Ellophatók, lemásolhatók. (A tulajdonos tudta nélkül használhatók, máslás után) Biometria Újlenyomat => másolható Hangazonosítás => utánozható Retinaazonosítás = > egyenlőre jó DNS => egyenlőre jó Ideiglenes azonosítás Időalapú azonosítás Például kapok egy kódot smsbe Digitális aláírás Megkapjuk az X-et => Bizonyítja, hogy az „A” küldte és ezt küldte Ha nem X akkor nem „A” küldte A Digitális aláírás nem titkos, csak hitelesítésre szolgál 42 Titkosított és hiteles üzenetváltás „A” küld üzenetet „B”-nek C. Titkosítás Hitelesítés D. (Nem biztos, hogy jó a képlet) Ha van „X” akkor tudjuk ki küldte és titkos Digitális vízjel (erről idén nem volt szó) 43 19. Titokmegosztási módszerek. A cél a „kulcs” biztonságba
helyezése. Ne tudjon senki visszaélni a hatalmával Miért szükség a kulcsot több emberre bízni? 1. Nem lehet egy emberre rábízni, mert visszaélhet a hatalmával => pl meglép a cég vagyonával, megváltoztatja a jelszókat és kilép. 2. Az üzenet hordozóját baleset érheti Ha az valamilyen hordozó eszközön van, akkor az megsemmisülhet. 3. Két ember még nem elég Ha „A” vádolja „B” és fordítva, nem lehet eldönteni ki, a bűnös. I. Kulcs megosztás A B Több részre osztjuk a kulcsot: Az egyik tudja az egyik felét a másik a másik felét. A teles kódot egy páncélszekrényben tároljuk úgy, hogy ne lehessen roncsolás nélkül megnézi. Az ötlet hibája: mi történik akkor ha „A” vagy „B” szabadságra megy? Több „párnak” adjuk ki a kulcsokat (Ez minimum kettő): A1 B1 A2 A3 B2 B3 Azért van, hogy nem ugyanolyan hosszúak, hogy „A1” csak „B1” el legyen elegendő a jelszava=> azonosítani lehet ki lépett be a
rendszerbe. (Bár azonosítnia avval is lehetne, hogy melyik jelszó lett beírva. Saját megjegyzés) Hiba: 1. Minél több embernél van a kulcs, annál több adminisztrációra van szükség 2. Legalább annyi embernek jelen kell lennie ahány részre osztottuk a jelszót 44 II. Kulcs megosztás (polinomos) N részre osztjuk a titkot és elég tetszőleges K ember, hogy a titkot helyreállítsák. Y2 Y3 Y1 Titok X1 (A tudja) X2 (B tudja) X3 (C tudja) Például: egy egyenes egyenletének meghatározásához elég két pont koordinátáit tudni, de N pont koordinátáit oszthatjuk szét. A titok: Hogy X0 van az egyenes milyen értéket vesz fel. Hátrány: N emberből elég, ha két ember szövetkezik és ismét be tud jutni a rendszerbe. Hány ember kell, hogy lebuktassunk egy hamisítót. => Legalább 4 (ezt nem értem, de szerepel a füzetembe) III. Kulcs megosztás (polinomos) Nem csak egy egyenest veszünk, hanem egy n-ed fokú polinomot. Tanuláság: „n”-ed
fokú polinom egyértelmű azonosításához n-1 paraméter kell. Lehetőség van súlyozni a kulcs ismerőit: Valaki több paramétert kap meg. Kérdés: Hogyan lehet ezt hitelesíteni? (csak a kérdés szerepelt az órán) 45 20. A jó jelszó tulajdonságai. Jelszókezelés Jelszó feltörési módszerek A jó jelszó tulajdonságai: 1. Legyen hosszú, 8-14 karakter! Minél hosszabb annál jobb 2. Legyen benne kisbetű, nagybetű, speciális karakter, szám (legalább 3 –mat ezek közül) 3. Ne legyen benne ismert szórészlet és számrészlet 4. Gyakran változtassuk 5. Ismétlés se legyen benne 6. Legyen megjegyezhető! 7. Ne írjuk le elérhető helyre (Páncélszekrénybe lehet) 8. Minden rendszernél különböző passwordot használjunk! 9. Ne használjuk kétszer ugyanazt! 10. Ne legyen ugyanaz az user nevünk és a passwordünk! 11. Ne legyen benne értelmes szó vagy szórészlet! 12. Ne mondjuk el senkinek! 708 A jelszó hossza Használt karakterek száma A
megoldás: Master jelszó használata: Egy titkosított fájlban tárolom a passwordöket, amit a master jelszó véd. Ennek kezelése nem triviális feladat. Egy példány nem elég. => megsérülhet Ha fájlhoz hozzáférnek, akkor minden „bukik”. Jelszókészítési megoldás: Könnyen megjegyezhető szövegrész, ami nem jellemző ránk. pl Egy napon mikor micimackó +1982 (évszám eltolva)=> Enmm + 2093 Jelszó feltörési módszerek: 1. Brute Force 8 hosszúság után nehéz 2. Szótár alapú: az összes jelszó leírva, abból kell keresni A keresés sokkal gyorsabb 3. Szivárványfájl 4. Key logger 5. Bizalmába férkőzünk, megszerezzük a jelszavakat 6. Távoli megfigyelések Password kezelés 1. Ne írd le 2. Ne küld el emailbe 3. Ha az első jelszót emailbe küldik, meg kell változtatni 4. Minden rendszerben mást használjunk 5. Megváltoztatás csak biztonságos csatornán keresztül történjen 46 21. Szteganográfia. El akarjuk felejteni a
jelszókat. Információt elrejtjük úgy, hogy ne gyanakodjanak pl. Demaratusz Van egy értelmes szöveg (vagy kép), úgy rejtsük el az információt ebben a hordozóban, hogy azon ne látszódjon, hogy a rejtett információt is tartalmazza. Ötletek (ma és régen) 1. Semleges szövegben betűk megjelölése (fizikailag meg kell szerezni) 2. Sorszám, egy adott szöveg hányadik sorszámú karakterei érvényesek 3. Speciális helyen van a rejtett üzenet a. Pl: minden sor/szó első betűje b. Pl: Fileban a sor végi spacek Egy db space bevezetésével annyi információt tudunk kódolni, amilyen hosszú a szöveg => A spacek száma egy bináris számnak felel meg. 4. Haj – fejbőr 5. Viasz – palatábla 6. Láthatatlan tinta – mikropont (Bélyeg alá) Adatrejtés képben 24 Biten tároljuk a színt (az ember már nem is lát ennyi színt) 1. a. b. c. d. e. Van egy eredeti, és egy módosított képünk. A bit sorozat bitjei 0 és 1 Ha 0 akkor nem írok a képbe, ha 1
akkor módosítom kicsit a kép színintenzitást. Sorban végigmegyek a kép pixelein, ameddig el nem fogy az üzenet. Probléma: Két kép kell: Az eredeti képre szükség van a visszafejtéshez. Előny. A módosított képen nem tűnnek fel változások 2. Van a képnek egy olyan része, amit nyugodtan lehet módosítani, mert nem befolyásolja a képet. Ha 0, ha 1, a kiszemelt bitbe írunk (Pl: Előre megbeszélve, hogy minden 13. bitbe írunk) Adatrejtés hangban 1. Nem halljuk a kis változtatásokat(Pl: Hallástartományon kívüli részben 0, 1-et kell keresni) 2. (Akár tömörített filmben is lehet adatot rejteni 25 fps {0,1}) Digitális Vízjelek 1. Internetről letöltött jogdíjas anyagok lehet követni így (tudjuk, hogy ki szivárogtatta ki) 2. Fajtái: Promo CD, {0,1} Pl: kihagyunk valakit a stáblistából 47 Teljes spektrumú adás. 1. Egy frekvenciasávot bizonyos részekre osztanak Adó <=> Vevő 2. Értelmes jel az egyik sávon egy darabig, és a
többi véletlenszerű zaj, aztán csatornát váltanak, és így tovább. Aki a teljes sávot figyeli, az nem tudja, hol megy értelmes adás. TCP csomagok „A” és „B” kommunikál. „A” küld egy csomagot „B” úgy tesz mintha eldobná „A” újraküldi, de egy kicsit módosítva. A rejtett információ a csomagok különbségén lesz 48 22. Támadás fajtái. Kódfeltörés eredményessége Shannon modellje Üzenetforrás Rejtjelező Adó Védett csatorna Vevő Nyilvános csatorna Megfejtő Címzett Figyeljünk arra, hogy ne szerezzék meg az adatokat, mert kódolatlanul van a memóriában. Képernyőn lévő információ Bluetooth ,wifi Támadási módok 1. Passzív Rejtjelező Megfejtő Támadó 2. Aktív Rejtjelező Támadó Megfejtő Támadási típusai(mi van a támadó birtokában) 1. Támadás azonos kulccsal rejtjelező üzenetek birtokában (Rejtett szövegű támadás) Ek(X1), Ek(X2),, Ek ( Xl) 2. Támadás rejtett és nyílt szövegű
üzenetek birtokában (Nyílt szövegű támadás) (X1,Ek (x1)), (X2, Ek(X2)) ismert 3. Választható nyílt szövegű támadás Ek(Xi) <= A kulcsot nem ismerjük 4. Választható szövegű támadás x => Ek(x) Ek(x) => x Melyiket feltételezzük a támadóról? A negyediket, ez a legpesszimistább 49 Kódfeltörés eredményessége 1. Teljes feltörés (total break) Támadó megtalálta a kulcsot Összes további üzenetet megtudja fejteni Az előzőket is Tud hamis üzenetek is létrehozni 2. Teljes következtetés (global deduction) Ek(x) x-et előállítja, de nem fejtette meg a kulcsot 3. Egyedi vagy lokális következetés (Instance or local deduction) Általános esetben nem, csak bizonyos típusú üzenetek fejtésére képes 4. Informatív következtetés (Information deduction) Kulcs részleteket tud megfejteni Hf. A kategóriákra módszereket keresni 50 23. Rejtjelbiztonság, egyértelműségi pont. Rejtjelbiztonság |: Elemszám jele y: rejtett
üzenet x: nyílt üzenet k: kulcs K: összes kulcs E: rejtjelező függvény X Y x y K k Mikor lesz megbízható? Akkor jó a titkosítás, ha a legkisebb λ is nagy. Mikor nem? Ha a λ csak egyből keletkezik, akkor nem jó= ha a legnagyobb λ is kicsi. Egyértelműségi pont Elméletben x: lehetséges üzenet leírható jelei (angol: 26) K: kulcshalmaz H: forrás entrópiája (angol: 1,3) : felső egész rész (felfelé kerekítés) m0: egész szám M0-nál rövidebb szöveg biztosan nem fejthető. 51 Példák Caesar: Véletlen betűnkénti helyettesítés: Transzmissziós: 10 es blokkméret esetén 100 es blokkméret esetén Véletlen átkulcsolás (One-Time Pad) n: szöveg hossza Tetszőlegesen hosszú szöveg sem fejthető vissza! 52