Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Kriptográfia.

Hasonló előadás


Az előadások a következő témára: "Kriptográfia."— Előadás másolata:

1 Kriptográfia

2 Ajánlott irodalom a témához
Ködmön József: Kriptográfia (ComputerBooks, 1999)

3 Kriptográfia A kriptográfia (ógörög eredetű kif., κρυπτός (kryptós) = „rejtett”, γράφειν (gráphein) = „írni”, tehát „titkosírás”) elsősorban informatikai tudományág, mely a rejtjelzéssel, titkosírásokkal, kódolással; azok előállításával és megfejtésével foglalkozik.

4 Titkos üzenet Egy kommunikációs folyamat során továbbított nyilvános üzenetet akkor nevezünk titkos(ított)nak, ha a feladó olyan formá(tum)ban küldi, melyet olvasni vagy fogadni esetleg többen is tudnak, de megérteni csak a fogadók egy megcélzott csoportja.

5 Alapfogalmak nyílt szöveg (plain text): A titkosítandó szöveg vagy üzenet Maga a titkosító eljárás egy algoritmus, amely a nyílt szöveget egy másik szöveggé alakítja. (számsorok---függvény) titkosított szövegnek (cypher text): Az utóbbi szöveg kódolás vagy rejtjelezés: Az algoritmus alkalmazása a nyílt szövegre dekódolás, visszafejtés: A titkosított szöveg visszaállítása eredeti formára. A kulcs a rejtjelző eljárás egy olyan paramétere, amelyet csak a küldő és a megcélzott fogadók, a címzettek ismernek.

6 Támadások osztályozása

7 Helyettesítő rejtjel vagy helyettesítő kód
a kriptográfiában egy eljárás, ahol a szöveg minden elemét egy szabályos rendszer alapján alakítják át rejtjelezett szöveggé; ezek az elemek lehetnek betűk (ez a leggyakoribb), betűpárok, betűtriók, vagy ezek keveréke. A fogadó fél a rejtjelezett szöveget egy előre elkészített inverz (az enkripciós módszerrel ellentétes) helyettesítő eljárással fejti meg. A helyettesítő rejtjelezéstől eltérő módszer a transzpozíció, ahol az eredeti szöveg elemeit összekeverik (nem ritkán igen bonyolult sorrendben), de magának a szövegnek az elemei érintetlenül maradnak. Ezzel ellentétben a helyettesítő módszer az elemeket a helyükön hagyja, de megváltoztatja azokat.

8 A helyettesítő kódok változatai:
ha betűcsoportokat változtat meg, poligrafikus rejtjelről beszélünk Poligrafikus helyettesítés: Ennél a fajtánál egy karaktersort egy másik karaktersorral helyettesítenek. Biztonság: Ez a módszer megnehezíti a gyakoriságanalízises kódfejtést.(Porta-féle kódolás) a monoalfabetikus rejtjel a szöveg teljes egészében ugyanazt a helyettesítést használja A monoalfabetikus helyettesítésnél ugyanaz a karakterek csakis ugyan azzal a karakterrel helyettesítődik. Biztonság: Ezt titkosítási fajtát gyakoriságanalízissel relatív egyszerűen fel lehet törni. (Ceasar-féle kódolási módszer) a polialfabetikus rejtjel ezzel szemben a szöveg különböző részein mást és mást – a homofónok esetében például a gyakoribb elemekre több lehetséges leképezést is lehetővé tettek A polialfabetikus helyettesítésnél ugyanazok a karakterek másféle karakterekkel helyetesítődnek. Biztonság: Ezt a titkosítási fajtát gyakoriságanalízissel nem, de statikus analízissel fel lehet törni. (Vigenère-kódolás)

9 A Caesar-kód vagy Caesar-rejtjel
az egyik legegyszerűbb és legelterjedtebb titkosírási módszer. Ez egy helyettesítő rejtjel, ami azt jelenti, hogy minden egyes betűt az ábécében egy tőle meghatározott távolságra lévő betűvel kell helyettesíteni.

10 A gyakoriságelemzés azon a tényen alapszik, hogy bármely szövegrészletben bizonyos betűk vagy betűkombinációk különböző gyakorisággal fordulnak elő. Egy adott nyelvben a betűknek rájuk jellemző az eloszlása, amely minden szövegrészletben nagyjából azonos. Így például az angol nyelvben az E betű nagyon gyakori, szemben az igen ritka X-szel (a leggyakoribb betűk az angol nyelvben sorban: E, T, A, O, I, N, S, a legritkább a Z, melyet a Q, a J és az X követ).

11 A gyakoriságelemzés (és egyáltalán a kriptanalízis bármely ágának) első magyarázatát a 9. századi arab polihisztor, Abu Yusuf Yaqub ibn Ishaq al-Sabbah Al-Kindi írta le Egy kézirat a kriptográfiai üzenetek megfejtéséről című munkájában. A Korán szövegének alapos vizsgálata fényt derített arra, hogy az arab nyelvnek jellemző betűgyakorisága van. Homofónok használata: ami azt jelenti, hogy a leggyakoribb betűkre az amúgy monoalfabetikus (egy ábécével dolgozó) helyettesítő rejtjelben több alternatívát is használtak, így például az angol nyelvben az X és az Y is jelenthette az E-t. Polialfabetikus rejtjelek használatával, azaz több helyettesítő ábécével kódoltak, ahol körmönfont módon válogatták meg és variálták az ábécéket. Poligrafikus helyettesítéssel, vagyis betűk helyett a betűpárokat vagy betűhármasokat tekintették a szöveg egységeinek (jó példa rá a Playfair-rejtjel, amelyet Charles Wheatstone az 19. század közepén talált fel)

12 A Playfair-rejtjel vagy Playfair-négyzet
egy szimmetrikus kézi kódolási módszer, amely az első szó szerinti digrafikus helyettesítő rejtjel volt. 1854-ben Charles Wheatstone találta fel, de legfőbb támogatójának, Lord Playfairnek a nevét viseli. Ma már elavult, alkalmazták: II.Búr háborúban, I. és II. világháborúban. A Playfair-rejtjel egy 5×5-ös táblát használ, amely tartalmaz egy kulcsszót vagy -kifejezést. Ennek a kulcsszónak a megjegyzése, valamint négy egyszerű szabály betartása volt minden, amit meg kellett tenni az 5x5-ös tábla elkészítéséhez és a kód használatához.

13 A szöveg kódolásához az eredeti szöveget két betűből álló csoportokba kell rendezni (például a "Playfair-rendszer" "PL AY FA IR RE ND SZ ER" lesz), amelyeket a kulcstáblán kell elosztani, majd egymás után alkalmazni az alábbi 4 szabályt az eredeti szöveg minden betűpárjára: Ha egy pár mindkét eleme ugyanaz a betű, vagy már csak egy betű maradt az utolsó párba, akkor írjunk egy "X"-et az első betű után, és ezt az új párt kódoljuk. Néhány változat "X" helyett "Q"-t használ, de bármely ritka betű megteszi. Ha egy pár mindkét betűje ugyanabban a sorban jelenik meg a kulcstáblán, akkor a tőlük közvetlenül jobbra állóval kell helyettesíteni őket (ha történetesen az egyik betű a sor jobb szélén van, akkor a sor bal szélén álló betűvel kell helyettesíteni). Ha egy pár mindkét betűje ugyanabban az oszlopban jelenik meg a kulcstáblán, akkor közvetlenül az alattuk állóval kell helyettesíteni őket (ha az egyik betű az oszlop alján van, akkor az oszlop tetején álló betűvel kell helyettesíteni). Ha egy pár betűi nincsenek sem egy sorban, sem egy oszlopban, akkor tekintsük azt a kulcstábla mezőiből felépülő téglalapot, amelynek a két betű a két szemközti csúcsa. A betűket a saját sorukban, a téglalap másik csúcsánál lévő betűkkel helyettesítjük. A megfejtéshez az eljárás fordítottját kell végrehajtani (a fölösleges "X"-ek vagy "Q"-k elhagyásával a végső szövegből).

14 Egykulcsos titkosítás
A módszer lényege, hogy az eredeti szöveget egy titkos kulcs segítségével titkosít, és a címzett ugyanazon kulcs segítségével fejti meg az üzenetet. (Kulcs alatt ilyenkor egy tetszőleges hosszúságú karaktersorozatot értünk, pl. 101kisKutya egy jó kulcs, mert van benne szám és betű is, és keveri a kis és nagybetűket is.)

15

16 Nyilvános kulcsú titkosítás
Ez a módszer egy 1976-ban született matematikai megoldás. Legismertebb megvalósítása az RSA, melyet három matematikus (Rivest, Shamir és Adelman) dolgozott ki ben az USA MIT (Massachusetts Institute of Technology) egyetemén. Lényege, hogy minden résztvevő (címzett és feladó egyaránt) rendelkezik két kulccsal: egy titkossal és egy nyilvánossal. A kulcsokat egy erre a célra fejlesztett programmal állítja elő mindenki, saját magának. A két kulcs egyszerre jön létre; a titkosat eltesszük magunknak, a nyilvánost pedig elküldjük mindazoknak, akivel levelezni szeretnénk. A két kulcs egymást kiegészítve működik, a nyilvánossal lezárt szöveget csak a titkos nyitja ki, és fordítva, a titkossal lezártat a nyilvánossal nyithatjuk ki.

17 Nyilvános kulcsú titkosítás
Tehát, ha levelet küldünk valakinek, akkor a levelet megírás után lezárjuk a címzett nyilvános kulcsával. (Ezt persze előzőleg tőle kaptuk meg) Az így lezárt levelet csak és kizárólag az tudja elolvasni, aki rendelkezik a címzett titkos kulcsával, mert az az egyetlen kulcs, ami nyitja. Így hiába is csípi el a levelet bárki útközben, elolvasni nem tudja. A módszer nagy előnye, hogy így azok is tudnak titkosított üzenetet váltani, akik nem is ismerik egymást, elég, ha előzőleg kicserélték nyilvános kulcsaikat. A nyilvános kulcs átadása is rejt magában veszélyeket: ugyan azzal, hogy valaki elcsípi a nyilvános kulcsunkat, nem jut messzire, legfeljebb tud nekünk titkosított levelet írni, de fontos, hogy amiről azt hisszük: XY nyilvános kulcsa, az tényleg XY nyilvános kulcsa legyen. Ezt a tanúsítók biztosítják.

18 Nyilvános kulcsú titkosítás
A módszer egy másik lehetősége, hogy biztosítani tudjuk a levelek hitelességének ellenőrzését, vagyis azt, hogy a levél tényleg attól jött, aki feladónak fel van tüntetve. Ez úgy történik, hogy a levél feladója a levelet először a saját titkos kulcsával, majd a címzett nyilvános kulcsával zárja le. A címzett a kapott levelet először kinyitja saját titkos kulcsával, majd a feladó nyilvános kulcsával ellenőrzi, hogy a levelet valóban a feladóként szereplő személy küldte.

19 Nyilvános kulcsú titkosítás
A nyilvános kulcsos titkosítás feltalálása után közel 15 évig az állami titkosszolgálatok monopóliuma volt. 1991-ben Phil Zimmermann megírta az algoritmust PC-re, és feltette az Internetre, annak érdekében, hogy a nagy tömegek számára ingyenesen biztosítsa a - szerinte minden ember alapvető jogát jelentő - biztonságos kommunikáció lehetőségét. A programot PGP-nek (Pretty Good Privacy) nevezte el. Ma már több millió ember használja, másrészt a megrémült állami bürokráciák fejveszetten próbálnak valamit kitalálni ellene. Voltak, akik egyszerűen betiltották a használatát (pl. Burma vagy Kína), a ravaszabbak jogi megoldással próbálkoznak. (az USÁ-ban Zimmermannt bíróság elé állították a fegyverexportot szabályozó törvény megsértésének vádjával. Azóta felmentették)

20 Nyilvános kulcsú titkosítás
Ma már a Zimmermann által fejlesztett PGP-t lényegesen egyszerűbben kezelhető és több szolgáltatást nyújtó programok váltották fel, és ezek a funkciók beépítésre kerültek a legelterjedtebb internetes programokba is. Nyilvános kulcsos titkosítással dolgozik a Netscape és az Internet Explorer is, ezzel a módszerrel érik el a WEB titkosított oldalait (ilyenkor pl. a Netscape képernyő jobb alsó sarkában állandóan látható törött kulcsocska összeáll), illetve ezzel végzik a titkosított levelezést. Még azért léteznek megkötések, az USA pl. korlátozza az ott előállított, 40 bitnél hosszabb kulcsot használó rendszerek exportját, így például 128 bites kulcsokat az amerikai Netscape csak az USÁ-n belüli használatra eladott változatában enged meg.

21

22

23

24 Gyakorlati megvalósítás
Mivel az egykulcsos rendszer sokkal gyorsabb, mint a kétkulcsos, ezért a gyakorlati esetekben a kétkulcsos titkosítást nem használják az egész szöveg kódolására. A követett módszer az,hogy kiválasztanak egy egykulcsos titkosítási módszert, például RC4-et, és az elküldendő üzenethez generálnak véletlenszerűen egy kulcsot, amelyet felhasználva kódolják az üzenetet. A felhasznált kulcsot a kétkulcsos rendszer nyilvános kulcsával titkosítják és az üzenettel együtt elküldik.

25 Gyakorlati megvalósítás
A fogadó oldalon először az egykulcsos rendszer kulcsát fejtik meg a kétkulcsos titkosítási algoritmus felhasználva a csak a fogadó oldalon rendelkezésre álló titkos kulccsal, majd az így megszerzett kulccsal felhasználva az egykulcsos algoritmust dekódolják magát az üzenetet. Itt először az egykulcsos algoritmus titkos kulcsát kell megfejteni, és csak ezután lehet magát az üzenetet elolvasni. Ez hasonlít ahhoz, amikor valaki a levelet egy borítékba teszi: először a borítékot kell felnyitni. Ezzel a hasonlattal élve ezt az eljárást elektronikus borítéknak hívják. Eközben természetesen alkalmazható az elektronikus aláírás is.

26

27 Home-banking A home-banking megoldásoknál a felhasználó kiadja a tranzakciós utasításokat, azt a rendszer átveszi, majd egy későbbi időpontban, pár perccel vagy órával az átvétel után feldolgozza és visszaigazolja. A tranzakciók feladása is általában két fő lépésben valósul meg. Az első lépésben a felhasználó a PC-n futó banki szoftver segítségével megadja a tranzakció mezőit, “aláírásokat“ gyűjt a tranzakcióhoz kulcsszót kérve az aláírásra jogosult felhasználóktól, és végül a rendszer a PC diszkjén egy fájlt hoz létre, amely tartalmazza a tranzakció kódolt leírását. Ezalatt a PC nincs kapcsolatban a banki rendszerrel. A második lépésben az elkészített tranzakciós csomagot a felhasználó a telefonos kapcsolatfelvétel után egy kommunikációs program segítségével felküldi a banki rendszerbe

28 Home-banking Ez a megoldás sok szempontból olyan, mintha a tranzakciós utasítást levélen keresztül adnánk fel, és a bank egy levélben igazolná vissza a tranzakció végrehajtását. Mivel a visszaigazolás nem papíron pecsételve és aláírva jelenik meg, ezért nem tekinthető hitelesnek, de a napi ügymenet számára megfelel, amennyiben heti vagy inkább havi összesítésben a bank a tranzakciós listát hagyományos úton az ügyfélnek eljuttatja.

29 Home-banking Jogilag a bank és az ügyfél egy olyan szerződést köt, amely az ilyen módon megadott tranzakciókat szerződésre utaló magatartásnak tekinti, és a bank elfogadja megbízásként. Megoldást az elektronikus aláírás adhatja.

30 Elektronikus aláírás A nyilvános kulcsú titkosítás lehetővé teszi, hogy az információk titkosítása mellett elektronikus aláírásokat is használjunk. Az elektronikus aláírás az üzeneteket nem rejtjelezi, célja a titkosítással szemben mindössze az, hogy a címzett meggyőződhessen arról, hogy a neki küldött információ valóban a feladótól származik, és azt más nem módosíthatta. Az elektronikus aláírás létrehozásához a küldő a saját privát kulcsát használja, hitelességét pedig a címzett ellenőrzi le a küldő nyilvános kulcsával.

31

32 Tanúsítványok A nyilvános kulcsú titkosítási eljárások használatakor fontos, hogy a titkosított üzenet küldése előtt megbizonyosodjunk arról: valóban a címzett nyilvános kulcsát használjuk-e. Ha közvetlenül tőle kaptuk meg, ez nem okoz problémát, ha azonban nyilvános helyről jutunk hozzá, valamilyen módon meg kell győződnünk az eredetiségéről. Erre használható a digitális tanúsítvány (certificate).

33 Ez az elektronikus tanúsítvány a következő információkat kell tartalmazza:
1. Az adott személy/szervezet nyilvános kulcsa 2. Az adott személy/szervezet adatai: pl. neve, lakhelye, munkahelye, vagy más adatai; 3. Egy, vagy több digitális aláírás: azoknak a szervezeteknek és/vagy személyeknek az aláírása, akik igazolják a fentiek valódiságát.

34 Az információk valódiságát, helyességét, eredetiségét, sértetlenségét igazolhatják:
egymás között maguk a felhasználók (web of trust), vagy egy szervezet, melyben a tanúsítványt felhasználók közössége megbízik. Ez a szervezet a Hitelesítési Szolgáltató (vagy Megbízható Harmadik Fél, Hitelesítő Hatóság, Hitelesítő Szervezet; Certification Authority, CA.)

35 X.509 Az X.509 olyan kommunikációs szabvány, mely az elektronikus tanúsítványok szerkezetére, felépítésére, tartalmára ad előírásokat. Tartalmazza a tanúsítvány verziószámát, egyedi sorozatszámát, a Hitelesítő Hatóság által az aláíráshoz használt algoritmus azonosítóját, a kibocsátó Hitelesítő Hatóság azonosítóját, a tanúsítvány érvényességi idejét, a tulajdonos egyedi azonosítóját, a tanúsítványhoz tartozó nyilvános kulcsot és annak algoritmusát, valamint más, a szabványt kiegészítő ún. toldalékokat.

36 személyes hitelesítés
Azt szavatolja, hogy azok vagyunk, akiknek mondjuk magunkat. Ez a hitelesítés olyan személyes adatokat igényel, mint például felhasználónevünk és jelszavunk. Ezekre az adatokra akkor van szükség, amikor az Interneten keresztül személyes információt küldünk egy olyan Web-helyre, amely kilétünket bizonyító hitelesítést igényel. Ezenkívül használhatjuk titkosított kommunikációhoz más formában is (elektronikus levelezés, biztonságos bejelentkezés helyi hálózatba, stb.). Az ilyen személyes hitelesítés kiadója lehet független hitelesítő hatóság (Verisign, Thawte, Netlock, Microsec e-Szignó, stb.) vagy saját cégünk, vagy szervezetünk. Az aláírás ellenőrzésére szolgáló, a levélhez csatolt, vagy a tanúsítványtárból letöltött tanúsítvány ellenőrzésekor össze kell hasonlítanunk az üzenet küldőjének és a tanúsítvány tulajdonosának címét.

37 helyhitelesítés Szervertanúsítvány azt igazolja, hogy az adott Web-hely biztonságos és valódi. Garantálja, hogy más webhely nem élhet vissza az eredeti webhely azonosítóival. A helyhitelesítéseket kiállításukkor dátummal is ellátják. Ha megpróbáljuk megnyitni egy szervezet Web-helyét, a böngészőprogram ellenőrzi, hogy a hitelesítésben tárolt Internet-cím helyes-e, azonos-e az éppen megtekintett oldal címével, és hogy az aktuális dátum nem lépte-e túl a lejárat dátumát.

38 Outlook Express

39 Helyhitelesítés Mozilla

40 programkészítői hitelesítés
A szoftvertanúsítvány azt igazolja, hogy egy az éppen gépünkre telepítendő programhoz gyártója a nevét adja, és az ő személyazonosságát, a program eredetiségét és sértetlenségét egy megbízható harmadik fél tanúsítja.

41 Tanúsítvány osztályok (class)
Tanúsítvány és tanúsítvány között nagy különbségek lehetnek: vannak tanúsítványok, amelyek gyakorlatilag semmit sem érnek, mert a kibocsátó egyáltalán nem kezeskedik azért, hogy a tulajdonos valóban az, aki fel van benne tüntetve, vannak olyanok is, amelyekhez nagyon komoly garanciák kapcsolódnak. A tanúsítványok ugyanazon Hitelesítő Hatóságon belül is különböző osztályokba szerveződnek, mely osztályokat általában betűjelek (A, B, C), vagy számok (1, 2, 3) különböztetik meg. Az osztályba sorolásra sajnos nincs általánosan elfogadott rendszer; a Netlock magyar hitelesítő szolgáltató például (a bizonytalanságot elkerülendő) néven is nevezi az Expressz (C, leggyengébb), Üzleti (B), illetve Közjegyzői (A) tanúsítványait

42 Valósidejű tanúsítványállapot-közzététel (OCSP)
Az Online Certificate Status Protocol (OCSP) a visszavonási listák alternatívája, egy olyan, HTTP-n alapuló protokoll (RFC 2560), amivel egy tanúsítvány státusza (érvényes, érvénytelen vagy ismeretlen) ellenőrizhető. A visszavonási listákkal szembeni előnyei: egy tanúsítvány visszavonása azonnal érvényre jut, szemben a CRL-ek általában napi frissítási gyakoriságával; egy tanúsítvány állapotának ellenőrzésekor nem szükséges a teljes (olykor nagyméretű) lista letöltése, csökken a hálózaton bonyolított forgalom; a visszavonás ellenőrzését végző alkalmazásnak nem kell a lista értelmezését és feldolgozását elvégeznie (egyszerűsödik a programozási feladat, erőforrás-takarékosabb).

43 WLAN Japán kutatóknak sikerült a vezetéknélküli hálózatok titkosítására használt WPA protokoll törésére egy olyan módszert kidolgozniuk, amelynek segítségével kevesebb mint egy perc alatt hozzáférést lehet szerezni a szóban forgó módon védett WLAN-okhoz. A felhasználók a törés ellen a WPA utódját képezı WPA2 titkosítási protokollra váltással tudnak védekezni, amennyiben hálózati eszközeik támogatják annak használatát. Elvileg minden 2006 után gyártott vezeték-nélküli modulnak ismernie kell ezt a titkosítási módszert, a korai implementációk esetében fellépő kompatibilitási problémák azonban akadályozhatják az átállást.

44 iPhone 3GS Egy biztonsági szakértő szerint fabatkát sem ér az iPhone nemrégiben megjelent, legújabb változatának titkosítása. Utóbbit az Apple azért építette be a telefonba, hogy készülékét így tegye vonzóvá az adataik nyers formában történő továbbításától erősen ódzkodó vállalatok számára - a jelek szerint azonban a titkaikat féltő cégek jobban teszik, ha mégis inkább más megoldásoknál maradnak, ha adataikat biztonságban szeretnék tudni. Az éppen forgalmazás alatt lévő élő adatok kifejtéséhez alig két percre van szükség, a telefon teljes memóriáját pedig háromnegyed óra alatt vissza lehet fejteni, melyhez mindössze egy olyan bárki által szabadon letölthető módosított kernelre van szükség.


Letölteni ppt "Kriptográfia."

Hasonló előadás


Google Hirdetések