A kriptográfia kialakulása és alkalmazása A kezdetektől napjainkig… Készítette: Erdei Attila
Ókori kriptográfia Az üzenetek kódolása alapvetően arra szolgál, hogy az információt elrejtsük az illetételenek elől Az idők során egyre komolyabb kódolási eljárások jelentek meg, melyek egyre inkább megnehezítették az alap információ értelmezését
ABCDEFGHIJKLMNOPQRSTUVWXYZ ZYXWVUTSRQPONMLKJIHGFEDCBA Kezdeti megoldások Héber titkosítás A Bibliában néhol megtalálható Héber titkosítási módszer a betűk felcserélésén alapult. Ez az „atbash”-ként ismert módszer az ABC első betűjét az utolsóval, a következőt az utolsó előttivel, stb. cserélte fel. ABCDEFGHIJKLMNOPQRSTUVWXYZ ZYXWVUTSRQPONMLKJIHGFEDCBA
Kezdeti módszerek A Spártaiak fejlesztették ki az úgynevezett hengertitkosítást. Ennél egy vékony (1 két betű széles) hosszú papírlapot egy megfelelő átmérőjű hengerre csavartak, ráírták a titkosítani kívánt szöveget, majd a papírt lecsavarták. A szöveget csak egy azonos átmérőjű rúdra csavarva lehetett megfejteni. E módszert kisebb változtatásokkal még i.sz. 5 században is használták, mivel az akkori technikákkal megfejtése igen hosszadalmasnak bizonyulhatott.
Kezdeti módszerek Polibuos mátrix A betűket egy mátrixba rendezték, így ezeket egy számpárral tudták jellemezni, azaz az i. sor j.-edik oszlopában lévő elem kódja ij volt. Természetesen a betűket a táblázatba nem mindig ABC sorrendbe írták. A módszer előnye volt, hogy az egyes betűket kézjelekkel, illetve fáklyajelekkel is közvetíteni tudták.
Kezdeti módszerek Polibuos mátrix
Kezdeti módszerek Polibuos mátrix Minden egyes betű a rácsban elfoglalt helyének koordinátáival jellemezhető, pl. a "BAT" betűhalmaz "12 11 44" alakban írható fel. Mivel az angol ábécé 26 betűje nem fér el hézagmentesen egyetlen négyzetben sem, 5×5-ös négyzetet szokás használni, általában az I és J betűket egyesítve (Polübiosz nem szembesült hasonló problémával, hiszen a görög ábécé 24 betűből áll, amely mindössze egy üres rubrikával elfér egy hasonló négyzetben). Hozzá lehet venni azonban az ábécéhez a számjegyeket is, ekkor pontosan kitöltene egy 6×6-os négyzetet, melyben a 33 betűs cirill ábécé, valamint a kettős és hármas betűk nélkül 35 betűs magyar ábécé is elfér.
Kezdeti módszerek A rómaiaknál jelent meg először az ún. monoalfabetikus helyettesítésű titkosítás, melyet leghíresebb „felhasználója” után Caesar titkosításnak is neveznek. Ennél a titkosítandó szöveg minden egyes karakterét behelyettesítjük az ABC-ben tőle egy fix távolsággal arrébb lévő betűvel. Például ha az eltolás nagysága +2, akkor minden A betű helyett C-t írunk, C helyett E-t, stb.
A kriptoanalízis kialakulása A kriptoanalízis gyökerei az i.sz. 750-es évekre nyúlnak vissza, egy Qalqashandi nevű tudós nevéhez fűződnek, aki egy ma is használható módszert dolgozott ki bármely monoalfabetikusan kódolt szöveg megfejtésére. A módszer - a frekvenciaanalízis - megszámolja a kódolt szövegben található különböző szimbólumok gyakoriságát, majd -ha ismert, hogy a szöveg milyen nyelven volt írva - ezt összeveti az adott nyelvben található betűk (írásjelek) gyakorisági sorrendjével. Így a kódolt szövegből egyes szavakat meg lehet fejteni, melyek segítségével újabb szimbólumokat tudunk dekódolni. Így végül a teljes szöveget lehetséges visszafejteni.
A kriptográfia alaptételei 1883-ban Auguste Kerckhoffs kidolgozta a kriptográfia 6 -Kerckhoffs követelményként is ismert - követelményeit, melyek többsége ma is aktuális.
1. Tétel Ha egy rendszer elméletileg nem feltörhetetlen, akkor a gyakorlatban legyen az. A legtöbb modern titkosító módszer olyan algoritmusokat használ, melyek elméletileg feltörhetőek ugyan, de a támadásnak a gyakorlatban nem kivitelezhető idő- és/vagy tárigénye van.
2. Tétel A rendszer részleteinek kompromittálódása ne okozza a rendszer egészének kompromittálódását. Ha a támadó részinformációkat szerez egy rendszerről, ne veszélyeztesse a rendszer egészét. Ez egyfelől azt jelenti, hogy az egyes biztonsági szinteken megszerzett információk a támadót ne segítsék a további szintek áttörésében. Másfelől a ma használt algoritmusok teljesen nyíltak illetve ismertek.
3. Tétel Az alkalmazott kulcsnak - feljegyzések nélkül is - könnyen megjegyezhetőnek kell lennie és könnyen megváltoztathatónak. A modern kriptográfiai módszerek alkalmazásával a könnyű megjegyezhetőség kritériuma a háttérbe szorult.
A rejtjeles szöveg táviratban is továbbítható legyen. 4. Tétel A rejtjeles szöveg táviratban is továbbítható legyen. Ennek a feltételnek ma már nincs nagy jelentősége, hiszen a digitális számítógépek bitjei gond nélkül átválthatók ASCII jelekké - vagy bármi mássá, végső esetben hexadecimális karaktersorozattá. Ez a követelmény igazából azt jelenti, hogy a rejtjeles szöveget a nyílt szöveggel megegyezően kell tudni továbbítani, nem igényelhet semmilyen különleges bánásmódot vagy speciális - a nyílt szövegétől eltérő – átviteli közeget az átvitel során.
A modern szoftvereszközök ideálisan teljesítik ezt a feltételt. A titkosító rendszer legyen hordozható és egy személy által is üzemeltethető. A modern szoftvereszközök ideálisan teljesítik ezt a feltételt.
6. Tétel A rendszer legyen egyszerű, és ne igényelje listányi szabályok betartását. A jól elkészített eszközök biztosíthatják ezt a feltételt: az esetleges listányi szabályok figyelését átvállalják a felhasználótól - gyakran rejtett módon, ritkábban a felhasználó felügyelete mellett.
A XX. Századi titkosítás tudománya A rádió 1895-ös felfedezése újabb lökést adott a kriptográfiának. A rádión keresztüli kommunikáció mindenki számára lehallgatható volt, ettől kezdve a kommunikációs csatornát fizikailag képtelenség volt védeni. A hangsúly így a megfelelő protokollok felhasználásával a biztonság növelésén volt. A huszadik század elején elterjedt kriptográfiai gépek drámaian átalakították a kriptográfiát. Ettől kezdve a kriptográfiai algoritmusokat már eleve az azokat működtető gépekhez tervezték. Az alapvető rendszerek ugyanazok maradtak, de a titkosítás elektromechanikus módon történt, mely nagyobb megbízhatóságot és gyorsaságot eredményezett.
A XX. Századi titkosítás tudománya A második világháború alatt a kriptoanalízis kritikus fontosságú volt a hadviselő felek információszerzésében. Az Egyesült Államok sikeresen törte fel a Japán titkosító algoritmusokat, mely döntő jelentőségű volt több ütközetben, így a Midway-i anyahajó csatánál is. A német titkosítás főleg a híres Enigma gépen alapult, melynek 5, majd később 7 tárcsája igen erős polialfabetikus titkosítást tett lehetővé. Az angol titkosítás elemzők csak a háború vége felé voltak képesek feltörni a németek által használt algoritmust, nem utolsósorban azért, mert nem volt birtokukban a kódolást végző gép, így a használt algoritmusról is csupán sejtéseik voltak.
A XX. Századi titkosítás tudománya A kriptográfia fejődése a háború után sem lassult. 1948-ban Shannon publikálta kutatásait Shannon, melyek első ízben használtak fejlett matematikai technikákat a kriptográfia tudományához. Munkásságának talán legfontosabb eredménye a kriptográfiai erősség definíciójának kidolgozása. A kriptográfiai erősség mérőszáma megmutatja a kódolatlan szöveg feltöréséhez elméletileg minimálisan szükséges kódolt szöveg hosszát. A szükséges hossz a titkosításhoz használt kulcs hosszának függvénye. Ha egy kódolt szöveg kriptográfiai erősség mérőszáma 1, akkor matematikailag garantált, hogy feltörhető. Természetesen a feltöréshez szükséges idő akár csillagászati hosszúságú is lehet, így egy szöveg elméleti feltörhetőségét még nem jelenti a feltörés gyakorlati megvalósíthatósága. Shannon alapján kimutatható, hogy ha végtelen hosszúságú véletlen számot használunk, a „unicity távolság” a végtelenhez közelít.
A modern kriptográfia A modern titkosítás tudomány már nem tűzi ki célul, hogy egy adott rejtjelezett szöveg elméletileg feltörhetetlen legyen. A hangsúly ehelyett a gyakorlati feltörhetetlenségre helyeződött. Általánosan elmondható, hogy olyan nehézségű titkosítást kell választanunk, hogy egy esetleges feltörési kísérlet erőforrás igénye (pénz, idő, emberi erőforrás) nagyobb legyen, mint a feltört információból elérhető haszon. Megfelelően robosztus rejtjelező algoritmus választása esetén a feltörés annál több időt, illetve egyéb erőforrást vehet igénybe, minél hosszabb kulcsot választunk a rejtjelezéshez. Másképp kifejezve, ha nem ismerjük a titkosító kulcsot, akkor a szöveg megfejtéséhez szükséges erőforrások (jellemzően idő) arányosak (sőt exponenciálisan arányosak!) a lehetséges kulcsok számával. Ha az algoritmus megfelelően lett megírva, az egyetlen lehetséges feltörési mód a kulcsok próbálgatása, melyet angolul brute-force-nak nevezünk.
A modern kriptográfia Az Interneten és általában az üzleti életben létrejövő információk értékessége, érzékenysége közötti különbözőség miatt nincs egyetlen üdvözítő titkosító algoritmus. Mint később kifejtjük, a különböző típusú algoritmusok különböző területen erősek, így felhasználási területük is különböző. Vannak olyan rejtjelező megoldások, melyeket egy erősebb géppel (rövid kulcs esetén) akár pár nap alatt feltörhetünk, viszont kis erőforrás igényűek, és nem igényelnek nagy infrastruktúrát, így jól használhatóak egy olyan kommunikáció esetén, melynél a küldött információ ennél kevesebb idő alatt elévül. Ha a cél például egy szerződés adat sérthetetlenségének, illetve bizalmasságának hosszútávú (a jelenlegi matematikai tudásunk szerint akár több évezredre garantált) védelme, használhatunk olyan titkosításokat is melyek szolgáltatásainak köre szélesebb, hosszabb kulcsot használnak, viszont jellemzően lassabbak társaiknál. A tranzakciók biztonságosságának elérésére az Interneten alapvetően kétféle titkosítási módszer van használatban.
A kriptográfia felhasználása: Digitális aláírás
Digitális aláírás A digitális aláírásokat jellemzően nyíltkulcsos kripto-rendszerekben valósítják meg, mert csak ezekben a rendszerekben van az aláírónak titkos kulcsa. Ez garantálja az aláíró számára, hogy más nem tud az ő nevében aláírni, valamint ez biztosítja a címzett vagy egy harmadik fél számára a letagadhatatlanságot is: ha más nem ismeri a titkos kulcsot, akkor más nem írhat vele alá. A titkos kulcs jelenti az iméntiekre az egyetlen biztosítékot, így a titkos kulcs elvesztése nem csak azt eredményezi, hogy a címzettnek szánt üzeneteket illetéktelenek is olvashatják, hanem azt is, hogy a kulcs (volt) tulajdonosának nevében bárki alá tud írni. Ez pedig nem más, mint az okirat-hamisítás elektronikus megfelelője. Emiatt a nyilvános kulcsú rendszereknek lehetőséget kell biztosítani a kulcs-párok érvénytelenné nyilvánítására.
Digitálsi aláírás A digitális aláírás a titkos kulcson és az aláírt dokumentum üzenetpecsétjén kívül rendszerint tartalmaz egy számlálót is, illetve tartalmazza az aláírás idejét. Ha az aláírás dátuma a visszavonás dátumát követő, akkor az aláírás biztosan hamis. Ha a támadónak tudomása van a kulcs visszavonásáról, akkor saját órájának vagy naptárának az átállításával - a dokumentum tartalmától függően - elhitetheti, hogy az aláírás még a visszavonás előtt történt. Egy zárt, védett, kellően felkészített rendszer ez ellen úgy tud védekezni, hogy naplózza a használati időpontokat, és ha a pillanatnyi idő vagy dátum a legutolsó használathoz képest a múltba mutat, akkor nem engedélyezi vagy korlátozza az egész rendszer használatát. Azonban a nyilvános kulcsos rendszerek azon sajátossága, miszerint van egy közösen használt erőforrás - a kulcs-szerver - lehetővé teszi a védekezést ez ellen is. Az aláíró algoritmus lekérheti az időt a szervertől is. Ha ez nem sikerül, akkor egy jelzőbit segítségével jelezheti, hogy az aláírás időpontja nem megbízható. A szerver nem a saját órájához hasonlítja az ellenőrizendő bélyeget, hanem kialakít egy „kollektív órát”: minden olyan műveletnél, ami a kulcs-szerver aktivitását kéri, minden felhasználó küld egy időbélyeget a saját rendszeréről. A szerver feltétel nélkül elfogadja a bejegyzést és felülírja a naplózott időpontot. A felhasználók rendszerei e bejegyzést használva dönthetik el, hogy mi a múlt és mi a jelen. Ha mindenki a saját helyi idejét küldi fel a szerverre, akkor a „kollektív óra” bizonytalansága ± 12 óra, ha mindenki GMT-t küld, akkor sokkal pontosabb.
A digitális aláírás jogi háttere A jogi háttér fontos a kereskedelemben is, de a digitális aláírás kapcsán szokták emlegetni az elektronikus kormányzat, elektronikus önkormányzat fogalmát is, aminek megteremtéséhez szintén szükséges volt a megfelelő szabályozás. Elektronikus adatszolgáltatásra már korábban is volt példa: a TB bevallásokat lehetett mágneses adathordozón beadni, de a mágneses adathordozók tárolása hatalmas problémát okozott.
A digitálsi aláírás jogi hátter A Magyar Köztársaság Parlamentje 2001. május 29-én fogadta el a 2001/XXXV. számú törvényt az elektronikus aláírásról. Ez volt a világ harmadik elektronikus aláírás törvénye. Jelentősége abban áll, hogy egyenrangúvá teszi a digitálisan aláírt elektronikus okiratokat a hagyományos, papír alapú iratokkal. Mindez elősegíti az előző pontban vázolt felhasználási területek elterjedését, az infokommunikációs társadalom kifejlődését.
Első eset Az elsőnek, ami pl. egy szkennelt aláírás, semmilyen jogkövetkezménye nincs. A fokozott biztonságú aláírás a nyilvános kulcsú titkosításon alapul, de azt nem bevizsgált infrastruktúrával kínálja a szolgáltató. A bíróság mérlegelheti bizonyítékként való elfogadását. A minősített aláírás teljesen egyenrangú a hagyományos kézírással. Bizonyos törvényileg meghatározott kivételeken (pl. örökösödési jog, házasság) kívül az élet minden területén lehet használni.
Második eset A minősített elektronikus aláírás hitelességét védelmezni kell egészen addig, amíg ennek ellenkezője ki nem derül. Igaz ez akkor is, ha az aláírást külföldi cég bocsátotta ki, de azt egy magyar minősített hitelesítés szolgáltató is elfogadja. A Minősített Hitelesítés-szolgáltatókat és az általuk használt eszközöket a Hírközlési Felügyelet vizsgálja, felügyeli. Fokozott Biztonságú Szolgáltatóknak csak bejelentési kötelezettségük van.
Harmadik eset Az elektronikus aláírás szolgáltatás három területből áll össze: elektronikus aláírás hitelesítés szolgáltatás, időbélyegzés, aláírás-létrehozó adat (titkos kulcs) elhelyezése az aláírás-létrehozó eszközön (pl. smart card). A hitelesítés szolgáltatás a tanúsítvány kibocsátást jelenti, az időbélyegzés az aláírás létrehozásának hiteles idejét bizonyító szolgáltatás. A szolgáltatók kötelesek betartani bizonyos adatvédelmi szabályokat, mivel személyes adatokkal dolgoznak, pl.: a tanúsítvány kiállításánál szükséges bemutatni a személyi igazolványt.
Felhasznált irodalom: Köszönöm a figyelmet! Felhasznált irodalom: Szép László ELTE Progterv. Mat. II. tanulmánya vizsgazz.hu – A hálózatok védelme 3. http://www.krasznay.hu/presentation/tdk_krasznay.pdf