Informatika Biztonság Alapjai

Hasonló dokumentumok
Informatika Biztonság Alapjai

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika I.

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Kriptográfiai alapfogalmak

Kriptográfia I. Kriptorendszerek

Webalkalmazás-biztonság. Kriptográfiai alapok

Sapientia Egyetem, Matematika-Informatika Tanszék.

1. Történeti titkosítási módszererek.

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

Data Security: Access Control

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

Prímtesztelés, Nyilvános kulcsú titkosítás

Titkosírás. Biztos, hogy titkos? Szabó István előadása. Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...

2018, Diszkre t matematika. 10. elo ada s

Sapientia Egyetem, Matematika-Informatika Tanszék.

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Informatikai Rendszerek Alapjai

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA

KÓDOLÁSTECHNIKA PZH december 18.

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

RSA algoritmus. Smidla József. Rendszer- és Számítástudományi Tanszék Pannon Egyetem

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Data Security: Public key

Waldhauser Tamás december 1.

Titkosítás NetWare környezetben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X)

Felvételi tematika INFORMATIKA

IP alapú távközlés. Virtuális magánhálózatok (VPN)

Elektronikus aláírás. Gaidosch Tamás. Állami Számvevőszék

Fábián Zoltán Hálózatok elmélet

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

Sapientia Egyetem, Matematika-Informatika Tanszék.

Best of Criptography Slides

Számítógépes Hálózatok. 7. gyakorlat

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

4. Előadás Titkosítás, RSA algoritmus

Adatbiztonság PPZH május 20.

Az Informatika Elméleti Alapjai

Data Security: Access Control

Hálózati biztonság ( ) Kriptográfia ( )

Számítógépes Hálózatok. 4. gyakorlat

Data Security: Protocols Integrity

Nagy Gábor compalg.inf.elte.hu/ nagy

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Információs társadalom alapismeretek

Kvantumkriptográfia II.

2016/11/27 08:42 1/11 Kriptográfia. Titkosítás rejtjelezés és adatrejtés. Rejtjelezés, sifrírozás angolosan: cipher, crypt.

Hibadetektáló és javító kódolások

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Az Informatika Elméleti Alapjai

Adatbiztonság 1. KisZH (2010/11 tavaszi félév)

Számelméleti alapfogalmak

H=0 H=1. Legyen m pozitív egészre {a 1, a 2,, a m } különböző üzenetek halmaza. Ha az a i üzenetet k i -szer fordul elő az adásban,

A Gray-kód Bináris-kóddá alakításának leírása

Az Informatika Elméleti Alapjai

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Sapientia Egyetem, Matematika-Informatika Tanszék.

Hírek kriptográfiai algoritmusok biztonságáról

Számítógépes Hálózatok 2012

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Alkalmazott modul: Programozás

Leképezések. Leképezések tulajdonságai. Számosságok.

Gauss-eliminációval, Cholesky felbontás, QR felbontás

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

PRÍMSZÁMOK ÉS A TITKOSÍRÁS

Követelmény a 7. évfolyamon félévkor matematikából

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Data Security: Concepts

Gyakorló feladatok az 1. nagy zárthelyire

Emlékeztet! matematikából

Informatikai alapismeretek Földtudományi BSC számára

IT hálózat biztonság. A WiFi hálózatok biztonsága

Adatszerkezetek 2. Dr. Iványi Péter

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok

Adatvédelem titkosítással

Adja meg, hogy ebben az esetben mely handshake üzenetek kerülnek átvitelre, és vázlatosan adja meg azok tartalmát! (8p)

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Data Security. 1. Concepts 2. Secret key methods 3. Public key methods 4. Protocols I. 5. Protocols II.

2016, Diszkrét matematika

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

5. feladatsor megoldása

2. Fejezet : Számrendszerek

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Adatszerkezetek II. 10. előadás

2018, Diszkre t matematika. 8. elo ada s

Kriptográfiai protokollok

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

A DOLLÁROS PIZZA TÖRTÉNETE, AVAGY MENNYIT ÉR A BITCOIN?

2017, Diszkrét matematika

Átírás:

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 X9.17, 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 a b c d 2 e f g h 3 4 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: Például: H A L 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 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 A a b c d e f g h i B b c d e f g h i j C c d e f g h i j k D d e f g h i j k l E e f g h i j k l m F f g h i j k l m n G g h i j k l m n o H h i j k l m n o p I i j k l m n o p q J j k l m n o p q r K 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 t k osítani X (oszlop) k u l c s 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 S z 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 xi 2 (az átlagtól való eltérések mértéke) 1 2 3 4 5 A legnagyobbat kiválasztjuk 6 kulcshossz esetén => 26 6 10 kulcshossz esetén => 26 10 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 z e r e t n é n k titkosítani n hosszúságú K p h o t a a s e q z t t p Y=X xor K A kulcsot, úgy válasszuk meg, hogy az egyenletes eloszlású véletlen karaktersorozat legyen. 26 n lehetőség(ha az angol abc vesszük), 256 n 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? Y 1 = X 1 xor K Y 2 = X 2 xor K Az xor helyett lehet más is. Y 1 Y 2 = X 1 X 2 X 1 = Y 1 Y 2 + X 2 X1 A B C O X2 C B A O K K E Y J L Ilyenkor itt nem lehet azonos betű 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 E M X2 H A D S E 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 A K A R J U K titkosítani n hosszúságú blokkok K 3 4 1 5 2 3 4 1 5 2 Y T A E Z 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 N 1 2 3 N L darab blokk N hosszú 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 * n 2 + max kiválasztás= l * n 2 + n 2 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 C B C Z Z Helyettesítő táblát alkalmazva Nem betűket feleltetünk meg, hanem betű párokat AA BB AA BB CX ZZ 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 AAAB AAAC BBBB BBBC BBBD Csak az eltolás értékét beszélik meg ZZZZ 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.) Rendszerek közötti kommunikáció megvalósítása 2.) Legyen egyszerű és gyors (emiatt cél hardvere törhető) 3.) Áramkörökben megvalósítható legyen 4.) Csak a kulcstól függjön a biztonsága 5.) 64 bites üzenetből 64 bites üzenetet állítson elő 6.) 56 bites kulcsot használjon (igazából 64, de 8 bit speciális dolgokra) 7.) 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 L i-1 R i-1 Keverés 32 32 1. iteráció 5 6 2. iteráció b i t e s 32 K i f 48 16. iteráció 2*32 bites csere k u l c s L i L i Inverz keverés 64 bites output 15

A DES körfüggvénye T 48 E R i-1 32 Kiterjesztés Ki 48 T 48 B1 B2 B8 8* 6 bites blokkok összesen 48 bit S1 s2 s8 Helyettesítés S dobozok 8* 4 bites blokkok 32 32 Keverés SP hálózat 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 K i -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 C A B C A B 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 KA N, KA T =>KA rendelkezik egy titkos és egy nem tikos kulccsal 1. Nyilvános és hiteles kulcstár (A, KA N),(B,KB N ) 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, KB N ) 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 jegyű), ezek lesznek p 1 és p 2. K2. kiszámoljuk a két szám szorzatát. a. m=p 1 *p 2, b. Φ(m)=(p 1-1)*(p2-1) c. Választunk egy e számot, ami Φ(m)-hez relatív prím K3. e*d=1 mod Φ(m) -ból d-t Központi nyilvántartásba betesszük m-t, e-t d, p 1, p 2, Φ(m) titkos marad Rejtjelezés R1. A => B, kikeresi m B -t és e B -t R2. A titkosítandó szöveget számok sorozatává alakítjuk úgy, hogy a nyelvi 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=D B (Y)=Y D 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

Probléma p 1, p2 előállítása (hogyan?, van-e elég hely?) Milyen sűrűn vannak prímek a 10 100 -on tartományban? N M Fermat-tétel b S-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. => Majdnem minden 300-dik szám 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 b 1, b 2,, b k 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: Aszimmetrikus A módszer Fejtéshez, rejtéshez ugyanazt a kulcsot használjuk Kell kulcscsere RSA, Elliptikus görbék Lassabb 2,3 nagyságrenddel Nem kell hozzá kulcscsere 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 Működés: Nagyobb rész 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 Hátrányai: Szerintem rossz 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ó: Ok Nem ok Szerver 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 Küldendő üzenet B 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 X2 X3 E(X1, K) E(X2, K) E(X3, K) Y1 Y2 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 M XOR Yi S Xi titkosítandó Regiszterek 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 Jellemzői Az eredmény Ismétlés a 3 ponttól kezdve 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: Hátrány Üzenettől nem függ a kulcs A bithiba nem gond. Nagy elő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 = K K3 (D K2 (K K1 (Bemenet))) ahol K Kn a K n kulccsal történő DES kódolást, D Kn 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: Y0 Y1 Y2 D( ) D( ) D( ) INIT1 Xor Xor Xor E( ) E( ) E( ) INIT2 Xor Xor Xor D( ) D( ) D( ) INIT3 Xor Xor Xor X0 X1 X2 Képletben megfogalmazva: Kimenet = D K1 (K K2 (D K3 (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 Y=X xor K Egyenletes eloszlású bitsorozat 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 1 8 8 1 1 4 5 8 1 1 2 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: Kimenet: véletlen és titkos 64 bites S n integer k kulcs 3Des ciklus i=1 től n ig ciklus vége x1,x2.xn 40

RSA alapuló (véletlen generátor, asszimetrikus) Inicializálás: Kimenet: 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,, z L 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=x i-1 mod n b. zi=az xi legkisebb helyértékű bitje 3. Kimenet z1,z2,, z L 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 A2 A3 B3 B1 B2 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. Y1 Y2 Y3 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! 70 8 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. Van egy eredeti, és egy módosított képünk. A bit sorozat bitjei 0 és 1. b. Ha 0 akkor nem írok a képbe, ha 1 akkor módosítom kicsit a kép színintenzitást. c. Sorban végigmegyek a kép pixelein, ameddig el nem fogy az üzenet. d. Probléma: Két kép kell: Az eredeti képre szükség van a visszafejtéshez. e. 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ó Vevő Megfejtő Védett csatorna Nyilvános csatorna 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ő 2. Aktív Támadó 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 x Y 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) m 0 : egész szám M 0 -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