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)

Hasonló dokumentumok
Data Security: Protocols Digital Signature (Tk.7.fejezet)

Data Security: Protocols Digital Signature (Tk.7.fejezet)

Data Security: Protocols Digital Signature

KÓDOLÁSTECHNIKA PZH december 18.

Data Security: Protocols Integrity

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

Data Security: Access Control

Diszkrét matematika I.

Kulcsgondozás. Kulcskiosztás

Adatbiztonság PPZH május 20.

Data Security: Access Control

Sapientia Egyetem, Matematika-Informatika Tanszék.

Data Security: Public key

Adatbiztonság a gazdaságinformatikában ZH december 7. Név: Neptun kód:

Sapientia Egyetem, Matematika-Informatika Tanszék.

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

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

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

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

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

Elektronikus aláírás. Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Hitelesít szervezetek.

Kriptográfiai protokollok

Kriptográfiai alapfogalmak

Waldhauser Tamás december 1.

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

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

Sapientia Egyetem, Matematika-Informatika Tanszék.

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,...

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

Adat integritásvédelem

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

Data Security: Concepts

Titkosítás NetWare környezetben

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

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

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

Bevezetés az Információtechnológiába

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

Kvantumkriptográfia II.

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

Információs társadalom alapismeretek

Diszkrét matematika I.

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

Diszkréció diszkrét logaritmussal

Diszkrét matematika 2.

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.

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

ELEKTRONIKUS ALÁÍRÁS E-JOG

Dr. Bakonyi Péter c.docens

Elektronikus hitelesítés a gyakorlatban

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

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

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

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

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Best of Criptography Slides

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

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

Biztonságos kulcscsere-protokollok

Diszkrét matematika 2.C szakirány

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

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

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

Diszkrét matematika 2.C szakirány

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Diszkrét matematika 2. estis képzés

Emlékeztet! matematikából

Kriptográfia Kilencedik előadás A hitelesítésről általában

Diszkrét matematika 2.

Algoritmuselmélet 6. előadás

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

Algoritmuselmélet gyakorlat (MMN111G)

Elektronikus levelek. Az informatikai biztonság alapjai II.

Kriptográfia I. Kriptorendszerek

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

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

EÖTVÖS LORÁND TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR MSC SZAKDOLGOZAT

Hibajavító kódok május 31. Hibajavító kódok 1. 1

ADATBIZTONSÁG: TITKOSÍTÁS, HITELESÍTÉS, DIGITÁLIS ALÁÍRÁS

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

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

Iratérvényességi Nyilvántartás Szolgáltatás (IÉNY)

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

2018, Diszkre t matematika. 10. elo ada s

Párhuzamosítható változó hosszú hash függvény

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

Kriptográai protokollok

Diszkrét matematika gyakorlat 1. ZH október 10. α csoport

Sapientia Egyetem, Matematika-Informatika Tanszék.

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

Informatikai biztonság alapjai

19. Hasításos technikák (hash-elés)

Azt írom alá, amit a képernyőn látok?

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

Bevezetés az algebrába az egész számok 2

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,

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

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:

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

Átírás:

Digitális aláírás és kriptográfiai hash függvények A digitális aláírás protokollok feladatai: 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X) 2. az aláírás ellenőrzése (B címzett által) B: X = E A (D A (X))? 3. hitelességgel kapcsolatos vitás kérdések harmadik személy előtti (pl. bíróság által) tisztázása: - pl. aláíró fél próbál tagadni (pl. kedvezőtlenné vált időközben a tartalom) - a címzett fél módosította az aláírt üzenetet A digitális aláírás és a valódi kézjegy közös tulajdonságai: 1. Az aláírás hiteles: amikor B ellenőrzi az aláírást A publikus kulcsával, meggyőződik, hogy azt csak A küldhette 2. Az aláírás nem hamisítható: csak A ismeri a saját titkos kulcsát 3. Az aláírás nem újrahasználható (nem átemelhető másik dokumentumhoz):az aláírás a dokumentum függvénye is 4. Az aláírt dokumentum nem módosítható: ha módosítják a dokumentumot, az eredeti aláírás nem illeszkedik, s ez detektálható 5. Az aláírás letagadhatatlan: B vagy egy harmadik fél A közreműködése nélkül ellenőrizni képes az aláírást 1

Digitális aláírás sajátossága: az üzenet anyagi hordozójához (pl. papír) tartozik, hanem szerves része az aktuális üzenetnek, azaz üzenetfüggő. Technikai kiegészítések: formátum, lenyomat, időpecsét Formátumozott rövid üzenet: D A (X) Nem formátumozott rövid üzenet: X, D A (X) Hosszú (> 1 blokk) méretű üzenetek esete: [X, D A (H(X))], H: Kriptográfiai hash függvény Kriptográfiai hash függvény és az aláírás: - egyirányúság - ütközésmentesség Egyirányú: egy y hash érték (lenyomat) ismeretében nehéz feladat olyan X' üzenetet (ősképet) kiszámítani, amelyre h=h(x') (címzett oldali támadás, csatornabeli támadás: [X', D A (h)], később pontosítjuk) Ütközésmentes: nehéz feladat olyan X, X' (X X') üzenetpárt megadni, amelyeknek azonos a lenyomata, azaz amelyekre H(X)=H(X') D A (H(X))= D A (H(X')) (aláíró oldali támadás: [X, D A (H(X))], [X', D A (H(X))] ) 2

Születésnapi paradoxon alapú támadás példa pl. 64 bites hash lenyomat - C támadó ráveszi A felet, hogy adjon aláírást általa benyújtott dokumentum. - C előállít 2 32 ártatlan és ugyanennyi csalásra felhasználható dokumentumot - Születésnapi paradoxon: nagy a valószínűsége annak, hogy a két halmazban van legalább egy pár azonos hash értékkel - C a pár ártatlan tagjára kér aláírást, s ezzel már lesz aláírása a csaló párjára is. Nehéz feladat a szükséges ges 2 33 ( 8 milliárd) dokumentumot (értelmes szöveget) előállítani (tárolni)?nem! "Tisztelt... Úr! Ezen levelemmel bemutatom Önnek... urat, aki... naptól... napig megbízottam... ügyletekben. Jogosult... összeghatárig... illetve... vásárlására. Az összegeket... pénznemben bocsássa rendelkezésére... címletekben. A kettőnk közti elszámolás... ütemezéssel történik stb. " Ha n kipontozott helyet hagyunk, s mindegyikre csak két lehetőség szerint választunk, 2 n levélváltozatunk van. - Aláíró: bebiztosítja a csalás lehetőségét. - Védekezés, ha a támadást nem az aláíró végzi: aláírás előtt az aláírandó dokumentumhoz illesszünk egy véletlenül sorsolt bináris sorozatot. C támadó predikálni nem képes a véletlenített dokumentumot, így a fenti támadást sikerrel nem tudja elvégezni. [(X,R), D A (H(X,R))] 3

Időpecsét az aláírásban és a letagadásvédelem: Aláíró fél tagad (repudiation): Elhíreszteli, hogy már előzőleg kompromittálódott a titkos kulcsa, ezért nem vállal felelősséget a nevében aláírt szerződésért. 1.(naív) verzió: 1. A B: [X,T,L, D A ( [Hash(X),T,L] ) ] T a dátum és időpont információ, L az aláírás élettartama. Aláíró továbbra is képes tagadni (csalhat az időpecséttel) 2.verzió: Harmadik megbízható személy részvételével megoldható a feladat G: megbízható személy S A (X): A által digitálisan aláírt X dokumentumot, V A (Y): Y=S A (X) dokumentum ellenőrzése: I: azonosító fejléc ( A küldi B-nek ) 1. A G: U=S A (u) (u=[ I, v], v=s A (X)) 2. G: V A (U) 3. G A: W=S G (w) (w=[ T, L, I, S A (X) ]) G B: W=S G (w) 4. A: V G (W)! 5. B: V G (W), (I), V A (v) 4

Digitális aláírás konvencionális kódolás felhasználásával? Megbízható harmadik személyt (G) A, B egy-egy szimmetrikus kulcsot oszt meg G-vel Alapváltozat: 1. A G: v=e A (x) 2. G: D A (v) 3. G B: w=e B ([A, x]) 4. B: D B (w) Megízható harmadik személy jelenléte már az alapváltozatban is szükséges. finomítás: hash, időpecsét 5

Az iterált kriptográfiai hash függvény iterált hash függvény: H(X)=h X=[X 1, X 2,..., X r ], azaz X i üzenetblokkok r hosszúságú sorozata. F: {0,1} 2n {0,1} n iterációs (kompressziós) függvény H i = F(H i-1, X i ), i=1,2,...,r, H 0 = inic. h=h r : lenyomat vagy hash érték H 0 : publikus inicializáló érték 6

Tulajdonságai: egyirányú hash függvény (1.őskép-ellenálló, OWHF) adott h ----> X nehéz feladat 2.őskép-ellenálló: adott h=hash(.,m) ----> m m, h=hash(.,m ) nehéz feladat ütközés-ellenálló (CRHF): m m, Hash(.,m )=Hash(.,m ) nehéz feladat pszeudo- vagy free-start: a támadó, pl. egy ütközés elõállításához, szabadon választhatja meg az iteráció H 0 kezdőértéket. Feladatok és megoldások 1. Feladat: Az iterációs függvény erejénél nem nagyobb a hash függvény ereje, azaz az előbbire végrehajtható hatékony támadás kiterjeszthető a hash függvény elleni hatékony támadássá. Mutassuk meg ezt a CRHF tulajdonságra! Megoldás: Az iterációs függvény nem CRHF tulajdonságú ---> M 1,M 1 párra h(h 0, M 1 )= h(h 0, M 1 ) ---> iterációs eljárás miatt Hash(H 0, [M 1,m])= Hash(H 0, [M 1,m]) tetszőleges m üzenet esetén ---> [M 1,m], [M 1,m] ütköző üzenetpár H hash függvényhez. 2. Feladat: Iterációs hash függvény esetén mutassuk meg, hogy m,m, H 0 H 0 : Hash(H 0,m)=Hash(H 0,m ) pszeudo ütközés előállítása nem nehéz feladat. (hf) 7

Damgard-Merkle padding (ütközésmenetesség kiterjesztése) Tegyük fel hogy van egy F kompressziós függvényünk ütközésellenálló tulajdonsággal. Ha az X=[X 1, X 2,..., X r-1 ] üzenetet kiegészítjük egy X r blokkal, amely tartalmazza az X üzenet bithosszát (nulla bitekkel kiegészítve egész blokkhosszra), az F kompressziós függvényre épülő iterációs hash függvény CRHF lesz Bizonyítás: Indirekt: 1. eset: X=[X 1, X 2,..., X r ], X =[X 1, X 2,..., X r ] párra azonos output: iteráció outputtól visszafelé görgetése a visszafelé legelső eltérő üzenetblokkig, ellentmondásra jutunk az iterációs fv. feltételezett ütközés ellenálló tulajdonságával. 2.eset: X=[X 1, X 2,..., X r1 ], X =[X 1, X 2,..., X r2 ] párra azonos output: az utolsó blokkok különböznek, s már itt ellentmondásra jutunk az iterációs fv. feltételezett ütközés ellenálló tulajdonságával. 8

A hash függvények két osztálya: a titkos kulcs nélküli hash függvények: pl. MDC (Manipulation DetectionCode) titkos kulcsos hash függvények: pl. MAC (Message Authentication Code). hash függvények kulcsnélküli kulcsos MDC egyéb egyéb MAC alkalmazások alkalmazások OWHF CRHF 9

A diszkrét hatványozás GF(p), p prim α primitív elem: α, α 2,... α p -1 különbözők Egy elvi rejtjelező: A (p,α) pár képezze a rendszer (titkos) kulcsát, s az x, 1 x p 1 rejtjeles képe: y = f(x) = α x (mod p) A primitív elem definíciója miatt f(x) kölcsönösen egyértelmű leképezés. Az inverz a diszkrét logaritmus: x = logα (y) (Általánosítható prím modulus helyett q prím hatványra. ) Nem alkalmazható rejtjelező, mivel a logaritmusképzést hatékonyan nem tudjuk elvégezni. 10

Az El-Gamal aszimmetrikus kulcsú rejtjelező: Tekintsünk egy q elemű G csoportot g generátorral. Kulcs pár: ( pk = X, sk = x), x ahol X = g, továbbá x véletlenszerűen kerül kiválasztásra a S={1,2,...,q} halmazból. Kódolás: Egy m G üzenet rejtjelezettje E pk ( m) = ( Y, b), ahol y Y = g, y S, b = Km, r y K = X. Dekódolás: Az ( Y, α) rejtett üzenet dekódolása D sk ( Y, b) = m: m = b / K, x K = Y. 11