Content extract
Rejtjelezés∗ Ebben a fejezetben a rejtjelezés tudományával, vagy idegen szóval a kriptológiával foglalkozunk. Röviden áttekintjük a titkosírások fejl®désének több évezredes történetét [8], [14], hogy menet közben a rejtjelezés legfontosabb elveivel és módszereivel megismerkedve elérkezzünk a napjainkban leggyakrabban használatos eljárásokhoz. Az emberekben a legrégebbi id®k óta él a vágy, hogy gondolataikat, üzeneteiket avatatlanok szeme el®l rejtve juttassák el egyik helyr®l a másikra, mégis sokáig inkább csak valahol a játék és a m¶vészet határán helyezkedett el a titkosírás, semmint a tudományok között. Századunkig igazán komoly igény csak a katonai és diplomáciai alkalmazások iránt merült fel, talán éppen ezért tekintik sokan még ma is a kriptológiát kizárólag sz¶k csoportok számára hozzáférhet® és érdekl®désére számot tartó tudománynak. Pedig napjainkban, amikor a számítógépes hálózatok
szolgáltatásainak igénybevétele mindennapjaink természetes részévé válik, észrevétlenül is felhasználói és élvez®i leszünk különböz® rejtjelezési eljárásoknak. Dollármilliók cserélnek gazdát kontinensek között pillanatok alatt elektronikus jelek formájában, vásárlásokat bonyolíthatunk le piciny plasztikkártyákkal, megbízásokat, megrendeléseket adhatunk fel otthonról számítógépünk mell®l, az pedig már közhely, hogy az információ vált a legfontosabb gazdasági er®forrássá. Az új technikai lehet®ségek azonban új veszélyeket is rejtenek magukban, amelyekre számítanunk kell, és éppen ebben, az elektronikus eszközökön tárolt és közvetített információk védelmében jut f®szerep a fejezetben tárgyalt tudománynak. Segítségével megakadályozható, hogy védett adatokat illetéktelenek megszerezzenek vagy módosítsanak, vagy ami legalább ilyen jelent®s kérdés, igazolható-e, hogy egy megbízás valóban arra
jogosult személyt®l származik. A fejezetben leírt ismeretek hiányában aligha lehet képes bárki is megítélni egy bank biztonsági helyzetét, hiszen ahogy hozzátartozik a bankokról kialakult hagyományos képhez a páncélautó és a széf, éppúgy hozzátartoznak a jöv® készpénz nélküli társadalmának bankjához azok a technikai eszközök, amelyek kevésbé látványosan, de remélhet®leg még hatékonyabban védik a pénzintézeteknél kezelt vagyont, s amelyek tervezésénél és értékelésénél nélkülözhetetlenek a kriptológia tudományának eredményei. 1 Történeti áttekintés Az egyik legrégebbi és legismertebb titkosítási módszer Julius Ceasar nevéhez f¶z®dik. Eljárása roppant egyszer¶: a latin ABC minden bet¶je helyett a nála k hellyel kés®bb következ® bet¶t írjuk le, ahol k tetsz®leges 1 és 28 közötti egész ∗ Pál Gábor és Tasnádi Attila (1993) Pénzintézeti információs rendszerek biztonsági kérdései cím¶
szakdolgozatának IV. fejezete, BKE, Pénzügy Tanszék 1 számot jelölhet, és amennyiben az ABC végére érnénk, akkor természetszer¶leg az ABC els® bet¶jére ugrunk a számolás során. Tehát például a BRU T U S szó megfelel®je k = 7 esetén IY BABZ lesz. Nem tudjuk, hogy vajon akkoriban meg®rizte-e a módszer a rábízott titkot, de ma már minden értelmes iskolás gyerek képes lenne megfejteni egy így létrehozott sz®veget annak néhány mondata alapján. Ennek a módszernek az általánosabb változatát tárgyalja a következ® alfejezet. 1.1 Egyszer¶ helyettesítés Az egyszer¶ helyettesítés során a szöveg minden bet¶jét egy másik bet¶vel helyettesítjük úgy, hogy azonos bet¶khöz mindig egyforma, különböz® bet¶khöz pedig mindig különböz® bet¶k tartozzanak. Absztraktabban fogalmazva: az eredeti és az új ABC bet¶i között kölcsönösen egyértelm¶ megfeleltetést létesítünk, s lényegében ez a reláció lesz az eljárás
során a kódolás kulcsa. Természetesen a két halmaz elemei nemcsak az ABC bet¶i lehetnek, hanem sokkal b®vebb halmazok esetén is elkészithet® ilyen hozzárendelés, de err®l a kés®bbiekben még szó lesz. Maradva az ABC bet¶inél vizsgáljuk meg, hogyan fejthet® meg egy így létrehozott rejtjelezett szöveg. Minden egyes nyelvre jellemz®, hogy benne az egyes bet¶k milyen gyakorisággal fordulnak el®. Közismert például, hogy a magyar nyelvben az e a leggyakoribb, s mondjuk a q bet¶ meglehet®sen ritkán bukkan fel. Hosszabb szövegb®l elkészített statisztikák pedig már egészen pontosan kell, hogy tükrözzék a nyelvre jellemz® (ugyancsak statisztikailag meghatározható) adatokat. Ha tehát megállapítjuk, hogy a titkosított szövegben mely bet¶k fordulnak el® leggyakrabban, akkor jó eséllyel feltételezhetjük, hogy ezek lesznek a nyelv leggyakoribb bet¶inek kódolt megfelel®i. Az is érzékelhet®, hogy minél hosszabb a szöveg, annál könnyebb
a dolgunk, hiszen egyre jobban meg fogja közelíteni a kriptogrammban szerepl® jelek statisztikai eloszlása a nyelvre jellemz® és a megfejt® által ismert gyakorisági megoszlást.1 Ezek után a pontos beazonosításhoz további támpontot nyújtanak a nyelvben gyakran el®forduló elemek és bet¶csoportok (például nével®k, igeköt®k), és arra is támaszkodhatunk, hogy a kiadódó szövegrészeknek értelmeseknek kell lenniük. Egy konkrét szöveg megfejtésének menete részletesen leírva megtalálható Edgar Allan Poe Aranybogár cím¶ novellájában, amelyb®l meggy®z®dhetünk, hogy egy viszonylag rövid 100 − 200 bet¶s szöveg már biztosan megfejthet® különösebb el®zetes felkészültség nélkül is [11]. 1.2 Keverés A keverés során az egyes bet¶k illetve jelek változatlanok maradnak, csupán sorrendjük változik meg. Például a szöveget felosztjuk ötbet¶s csoportokra, és a csoportokon belül megfordítjuk az elemek sorendjét, ilyen módon
mondjuk a 1 Ez a jelenség igen általános, és minden elméletileg megfejthet® titkos kulcsú módszerre igaz. Ehhez kapcsolódik az unicitási pont fogalma, amely alatt azt a rejtjelezett szövegmennyiséget értjük, amelyb®l még biztosan nem fejthet® meg a használt kulcs, vagyis ameddig egy módszer biztonságosnak tekinthet® a kulcs megváltoztatása nélkül is. Példának vehetjük, hogy ha csupán egy négybet¶s szót kell titkosítanunk, akkor ezt nyugodtan rábízhatjuk egy helyettesítéses eljárásra, hiszen elegend® információ híján senki sem lesz képes annak eldöntésére, hogy mondjuk a kapott ysrf kriptogramm vajon a liba, a tyúk vagy valami egészen más négybet¶s szó megfelel®je-e. 2 kriptológia szóból a tpirkigóloa sorozathoz jutunk. Egy másik példa lehet keverésre, hogy egy négyzetes táblázatba sorfolytonosan beírt szöveget középr®l kifele haladva csigavonalban olvasunk ki. Az elv kivitelezésére nyilvánvalóan
számtalan más, ezeknél sokkal szellemesebb és kinomultabb lehet®ség kínálkozik, de mindegyikben közös az a cél, hogy a karakterek sorrendjének megváltoztatásával az eredeti szöveg struktúráját elrejtse. Világos, hogy ezek a módszerek önmagukban vajmi kevés biztonságot nyújtanak, de a helyettesítéses módszerekkel együtt alkalmazva alkalmasak a szöveget jellemz® és árulkodó gyakori szavak és bet¶csoportok eltüntetésére, s így mindmáig fontos elemei a kés®bbiekben tárgyalt hatékony védelmet nyújtó bonyolult rendszereknek. 1.3 Periodikus helyettesítés Az egyszer¶ helyettesítéssel létrehozott szövegek, amint ezt már tárgyaltuk, könnyen megfejthet®k annak alapján, hogy az egyes bet¶k jó közelítéssel a rájuk általában jellemz® gyakorisággal fordulnak el® a szövegekben. Ezt felismerve, és ezt elkerülend® fejl®dött ki a középkor végefelé a periodikus helyettesítés módszere, ahol az eredeti ABC -hez nemcsak
egy, hanem több különböz®képpen permutált ABC -t rendelünk hozzá, s ezeket felváltva használjuk a kódoláshoz. Ha például 5 darab ilyen hozzárendelést készítettünk el, akkor az üzenet minden 5n + i-dik bet¶jét az i-dik hozzárendelésnek megfelel®en helyettesítjük (i = 1, 2, 3, 4, 5), vagyis az 1., 6, 11, 16, bet¶ket az els®, a 2, 7, 12, 17, bet¶ket a második hozzárendelés szerint, és így tovább. Ennek az eljárásnak a megfejtése során az egyes bet¶k gyakoriságának számolása már nem kecsegtet sikerrel. Több, mint 300 éven át nem is sikerült a módszerre általános megfejtési eljárást találni, egész addig, amíg meg nem jelent egy porosz katonatiszt, Friedrich Kasiski könyve [4]. A megfejtés során el®ször a periódus hosszát határozzuk meg a következ®képpen: Elkezdünk a szövegben ismétl®d® 3 − 6 bet¶s csoportokat keresni. Vegyük észre, hogy az eredeti szövegben gyakran el®forduló szavaknak illetve
bet¶csoportoknak nem mindig lesz különböz® az átírt megfelel®jük. Ha azok történetesen a periódushoz képest ugyanúgy helyezkednek el, azaz a köztük lev® távolság épp osztható a periódushosszal, akkor a teljes szó azonos módon kerül kódolásra. És erre nem is olyan kicsi az esély, mint ahogy az els® pillantásra t¶nik. Például 5 hosszúságú periódusnál egy szó kétszeri el®fordulása esetén 20%, háromszori el®fordulás esetén 52%, négyszeri el®fordulás esetén pedig több, mint 80% annak a valószín¶sége, hogy közülük legalább kett® azonos rejtjelezett változattal rendelkezik. Tehát megkeressük az ismétl®d® csoportokat, amelyek néhány olyan kivételt®l eltekintve, amelyeket a véletlen szeszélye okozott, az eredeti szövegbeli ismétl®déseknek köszönhet®k, és mindig megszámoljuk, hogy ezek egymáshoz viszonyítva hány karakterrel vannak eltolódva. Ezeknek a távolságoknak a véletlen ismétl®dések esetét
kivéve a kódoláskor alkalmazott periódus többszöröseinek kell lenniük. Vagyis ha meghatározzuk a kapott értékek gyakori közös osztóit, várhatóan a feltételezhet® periódushosszakhoz jutunk eredményül. A feltételezett periódus ismeretében pedig csak külön-külön el kell készítenünk az egyes hozzárendeléseknek megfelel® gyakorisági táblázatokat, s amennyiben az azokban szerepl® értékek hasonlítanak egymáshoz és az üzenet nyelvének sajátosságaihoz, akkor valóban helyes volt a sejtésünk. Ezek után 3 nem marad már más hátra, mint akárcsak azt az egyszer¶ helyettesítésnél tettük, külön-külön meghatározzuk a kulcsokat, vagyis az egyes hozzárendeléseket. Érdekességként jegyezzük meg, hogy noha a megfejtés valóban viszonylag könnyen végrehajtható, ezt a módszert még az els® világháborúban is katonai célokra használták. 1.4 Többszörös helyettesítés Nehezíti a megfejtést, ha az egyszer már
periodikus helyettesítéssel rejtjelezett szöveget egy eltér® periódusú eljárással tovább kódolnak. Ha a két periódus hossza jelölje ®ket p és q egymáshoz relatív prím, akkor a kapott szöveg tulajdonképpen egy pq periódushosszúságú helyettesítésnek felel meg. Ilyen többszörös helyettesítésen alapultak az 1920-as évekt®l megjelen® elektromechanikus rejtjelez® gépek, amelyek sokszoros helyettesítések révén igen hosszú periódushosszakat használtak [4]. Talán a legismertebb közülük a németek által kifejlesztett és használt Enigma gép, amelyet a második világháborúban is széleskör¶en alkalmaztak katonai és diplomáciai üzenetek titkosítására, és amelynek megfejthetetlenségében vakon bíztak. Ezzel szemben az igazság az volt, hogy az angolok rendszeresen fejtették a német üzeneteket, s azt, hogy mennyire értékesek voltak az ezáltal szerzett információk, jól szemlélteti, hogy noha egy megfejtett parancs révén
tudomást szereztek el®re a Coventry ellen készül® bombatámadásról, amely nagyon sok emberáldozatot és igen súlyos veszteségeket követelt, Churchill utasítására mégsem tettek semmiféle ellenintézkedést, nehogy a németek megsejtsenek valamit [18]. S egy további adalék: mind az Egyesült Királyságban, mind az Egyesült Államokban a rejtjelezett üzenetek elkészítéséhez és fejtéséhez szükséges egyre nagyobb mennyiség¶ számítás gyors elvégzése volt az egyik legfontosabb ösztönz®je az elektronikus számítógépek ekkortájt elkezdett, s mindmáig tartó rohamos fejl®désének. 1.5 Futókulcsos rejtjelezés2 A periodikus helyettesítést®l teljesen eltér® ötleten alapul a nem periodikus avagy futókulcsos rejtjelezési eljárás. Az alapgondolat, hogy a titkosított szöveg az eredeti szöveg és egy másik valamilyen módon el®re meghatározott szöveg "összegzésével" keletkezik. Annak viszont, hogy a ciklikusságot
kiküszöböljük ára is van: az üzenet titkosításához az üzenettel megegyez® hosszúságú segédszövegre van szükség. Ez a segédanyag legtöbbször egy könnyen hozzáférhet® könyv egy részlete, amelyet a részlet kezd®bet¶jének helyével szoktak megadni (pl. 123 oldal, 12 sor, 7 bet¶) Nézzük meg, hogyan történik a két szöveg "összeadása"! A titkosítandó üzenet alá leírjuk a segédszöveget, és mindkét szövegben a bet¶ket számokkal helyettesítjük a következ®képpen: legyen A = 0, = 1, B = 2, C = 3, .Z = 34 Adjuk össze páronként az egymás felett álló bet¶knek megfelel® számokat, és ha az összeg 34-nél nagyobb, akkor vonjunk ki bel®le 35-öt. Az így kapott számhoz tartozó bet¶ lesz a titkosított jel Visszafejtéskor a segédszöveget vonjuk ki hasonlóan a rejtjelezett szövegb®l. 2 A többszörös helyettesítés igen nagy periódushosszúságú változatait szokták futókulcsos rejtjelezésnek is tekinteni. A
szóhasználatban azonban nem egységes a szakirodalom A továbbiakban a futókulcsos rejtjelezés elnevezést a nem periodikus eljárásokra használjuk 4 Az eljárásra két különböz® elven alapuló megfejtési lehet®ség létezik. Végs® soron mindkett® azt használja ki, hogy mind a két kiindulási szövegnek értelmesnek kell lennie. A módszer tulajdonképpen szimmetrikus, a két szövegnek egyenrangú a szerepe, és ha az egyiket sikerül megfejteni, akkor ezáltal automatikusan fény derül a másikra is. Tehát az egyik lehet®ség, hogy az üzenet témájától függ®en választunk abban vélhetöen el®forduló szavakat (például katonai parancsokban csapat, támadás, stb.) Ilyenek híján a nyelvben általában gyakran el®forduló szavak is megteszik A feltételezett szót a titkosított szövegb®l minden lehetséges helyen kivonva megnézzük, hol adódik olyan eredmény, amely a segédszöveg része lehet, tehát valami értelmes szó vagy szótöredék.
Ha a feltételezett szó nem szerepelt azon a helyen az eredeti szövegben, akkor nyilván kicsi az esélye annak, hogy véletlenül jöjjön ki értelmes segédszövegrészlet. Ha sikerült olyan helyre bukkannunk, ahol értelmet tudtunk adni a kapott részletnek, akkor innen el®re és hátrafele haladva megpróbáljuk kiterjeszteni az ismert részt. Ha valóban beleakadtunk a helyes megoldásba, akkor ahogy kezd a szövegek tartalma kibontakozni, úgy válik egyre könnyebbé a terjeszkedés, míg végül el®ttünk áll a teljes megoldás. A másik lehetséges eljárás azon a meggyelésen alapszik, hogy ha vesszük a rejtjelezett szöveg egy bet¶jét, legyen ez példaképpen az M , az nem adódhatott akármilyen két bet¶ összegeként, hanem csupán az A − M, Á − L, B − K, C − J, D − Í, E −I, É −H, F −G, Z −N, Y −O, X − Ó, W − Ö, V − , −P, Ü −Q, Ú − R, U − S, T − T bet¶párokat képviselheti, amelyek közül szemmel
láthatólag az E − I a leggyakoribb párosítás, de még az A − M, Á − L, T − T is elég valószín¶, míg az Ü − Q együttállásnak bizony csekély az esélye. Tehát ugyanúgy, ahogy az egyes bet¶knek megvan az el®fordulási gyakoriságuk, a bet¶párok gyakorisága is meghatározható, mégpedig a párt alkotó két bet¶ el®fordulási gyakoriságának szorzataként. Ha a titkosított szöveg minden karakterére elvégezzük ezt az elemzést, és minden egyes helyen kigy¶jtjük a legvalószín¶bben odaill® bet¶párokat, továbbá az így kigy¶jtött bet¶kb®l megpróbálunk értelmes szavakat alkotni, akkor tekintve, hogy a két szöveg kölcsönösen segíti a másik megfejtését, jó esélyünk van arra, hogy birtokába jutunk a rejtjelezett információnak.3 Felmerülhet a kérdés, hogy vajon mit tudunk tenni akkor, ha az eredeti szöveghez nem egy értelmes segédszöveget, hanem egy véletlen karaktersorozatot adunk hozzá. A válasz az, hogy az így
kapott titkos üzenet megfejthetetlen, mint ahogy erre majd még visszatérünk, azonban ekkor a kódolt üzenet hosszával megegyez® mennyiség¶ segédszöveget kell kulcsként biztonságos módon eljuttatni az üzenet címzettjéhez, ami a pénzügyi gyakorlatban megvalósíthatatlan, hiszen naponta tranzakciók milliói bonyolódnak le a bankokat összeköt® hálózatokon. 3 Az a tény, hogy egy szövegb®l két teljes szöveg visszaállítható bizonyítja, hogy a természetes nyelvek igencsak redundánsak, vagyis a hordozott információkat messze nem a lehet® legtömörebb formában tartalmazzák. A becslések 75 − 80%-ra teszik a redundancia mértékét, vagyis egy 4 − 5 szöveg összeadásával keletkezett sorozatból már aligha állíthatók vissza az eredeti szövegek. Ha tehát az egyszer már futókulccsal rejtejelezett szöveget még néhányszor továbbkódoljuk, akkor igencsak biztosak lehetünk abban, hogy a kapott kriptogrammot avatatlan nem fogja megfejteni,
hacsak valahogy tudomására nem jut, hogy milyen szövegeket használtunk fel az elkészítéséhez. 5 1.6 Kódkönyves rejtjelezés Azokat a titkosítási eljárásokat, amelyek nem az egyes bet¶ket, hanem a szöveg nagyobb egységeit tekintik kiindulási alapnak kódoknak nevezzük. Egy kódkönyv tulajdonképpen nem más, mint szavak és kifejezések lajstroma, ahol az egyes címszavak mellett akárcsak egy szótárban megtalálhatók a hozzzájuk tartozó bet¶- illetve számkombinációk. Rendszerint igen nagy terjedelm¶ek, leggyakrabban 10ezer és 100ezer közötti címszót tartalmaznak Tulajdonképpen ez is egy helyettesítéses eljárás, csak jóval nagyobb halmazokon elvégezve. Itt már a kölcsönösen egyértelm¶ megfeleltetés elkészítése is nagy feladat. Tipikus alkalmazási területe a diplomácia, ahol nem túl hosszú üzeneteket kell sokszor kézzel rejtjelezni illetve visszafejteni. Ha a kódot egy bizonyos használati id® után rendszeresen cserélik,
akkor megbízhatónak tekinthet® az eljárás. Hátránya, hogy korántsem olyan hosszú ideig biztonságos, mint ahogy azt a kulcs, azaz a kódkönyv mérete alapján sejtenénk, mivel meglehet®sen rosszul használja ki azt, ugyanis a kulcsnak minden olyan szót tartalmaznia kell, amelyre eseteg szükség lehet, pedig ezeknek csupán töredéke fog el®fordulni a használat során. Másfel®l viszont a gyakran ismétl®d® szavak miatt hamar elhasználódik a kódkönyv. A múlt század végén és a század elején széleskör¶en alkalmaztak kereskedelmi kódokat mégpedig azért, hogy megtakarítsanak az igencsak borsos távíró díjakból. A szokásos, gyakran igen hosszú üzleti kifejezéseknek egy-egy ötbet¶s kódot feleltettek meg, amelyért, mindössze egy szó díját számították fel A legelterjedtebb ilyen rendszer 100ezer kifejezést tartalmazott, amelyek megfelel®i legalább két bet¶ben különböztek egymástól, és amelyekben semmelyik két szomszédos bet¶
felcserélése sem eredményezett értelmes másik kódot [16]. Látjuk, hogy az üzleti célú rendszer megalkotásánál egyaránt törekedtek az adatok tömörítésére és biztonságára. Olyan elvek ezek, amelyek mindmáig alapkövetelményei a legtöbb pénzügyi számítástechnikai rendszernek Ne feledkezzünk el ugyanis arról, hogy noha a b¶nözés komoly fenyegetés minden olyan helyen, ahol pénzr®l, s®t hatalmas pénzekr®l van szó, a leggyakrabban mégis a véletlen tévedések okoznak veszteséget, mint ahogy ezt példákban látni is fogjuk. A véletlen hibák, üzemzavarok pedig egyrészt közvetlen veszteségeket, többletköltségeket okoznak, másrészt és hosszútávon talán ez a súlyosabb következmény kényelmetlenséget, fennakadást eredményeznek az ügyfelek kiszolgálásánál, rombolják a bank arculatát, ami piaci viszonyok között az ügyfelek elpártolásához vezet. 2 Elméleti összefoglalás 2.1 A támadók lehet®ségei Még nem
mondtuk ki, de az eddigi tárgyalás során a megfejtési lehet®ségek felvázolásakor hallgatólagosan mindig feltételeztük a kriptológia azon kiinduló feltevését, amely szerint az ellenség, tehát a kódolt üzenetet megfejteni igyekv® számára a titkosításhoz alkalmazott eljárás minden részlete ismert, s csupán a rejtjelezéshez felhasznált kulcs ismeretlen a számára. Ez úgy is megfogalmazható, hogy a módszer biztonságának kizárólag a kódoláshoz felhasznált kulcs 6 titkosságán kell alapulnia.4 Tekintsük át, milyen lehet®ségei vannak az ellenfél titkosíráselemz®jének [9]. A leggyengébb helyzetben akkor van, ha csupán a rejtjelezett üzenet áll rendelkezésére. Eddigi megfejtési eljárásaink kizárólag ilyen helyzeteket vettek alapul A gyakorlatban azonban néha ennél jóval többre is támaszkodhat az elemz®. Lehet, hogy sikerül hozzájutnia a kriptogramm eredeti, nem rejtjelezett szövegéhez, ami nem is olyan
elképzelhetetlen, mivel lehet, hogy egy id® után ismertté válnak azok az információk, amelyeket az üzenet tartalmazott, másrészt beépített emberek vagy kémek útján is szerezhet®k adatok. Ilyen esetben, tehát amikor mind az eredeti szöveg, mind a kódolt változat rendelkezésre áll, szinte valamennyi eddig leírt hagyományos módszer kulcsa szinte azonnal leleplez®dik. Éppen ezért fontos a gyakorlatban a kulcsok gyakori cseréje, mert így megel®zhet®, hogy egy kulcs bármilyen módon történ® megszerzése révén túl sok információ jusson az ellenség kezére. Végül leger®sebb pozícióban akkor van a kulcsot megfejteni szándékozó, ha céljainak megfelel®en kísérletezni is tud, tehát képes arra, hogy tetsz®leges általa megválasztott szöveg illetve jelsorozat kódolt illetve dekódolt változatához hozzájusson. Ez a számítógépes gyakorlatban a hálózatba történ® bejutással, esetleg vezetékekre való rácsatlakozással
valósítható meg. Napjaink korszer¶ rendszereit tervez®k szándéka szerint még ilyen kiterjedt lehet®ségekkel rendelkez® elemzés számára is megfejthetetleneknek kell maradniuk, noha remélhet®, hogy a gyakorlatban legfeljebb a titkosított üzenet kerül az ellenség kezébe. 2.2 Elméleti biztonság A bevezet®ben említettük, hogy a kriptológia a XX. századig inkább volt tekinthet® m¶vészetnek, semmint modern értelemben vett tudománynak Igazán tudománnyá Shannon 1949-ben megjelen® cikke nyomán vált, amelyben a szerz® információelméleti megalapozottsággal tekinti át a titkosítás és megfejtés kérdéseit [4]. Cikke nyomán kétfajta biztonságfogalmat szoktak megkülönböztetni: elméleti és gyakorlati biztonságot. Az els®, az elméleti biztonság kapcsán a következ® hipotetikus kérdésre keresünk választ: Akkor is megfejthetetlen maradna-e az üzenet, ha az ellenfél elemz®i korlátlan id®mennyiséggel és számítási kapacitással
rendelkeznének? Az ilyen abszolút biztonság kritériuma matematikailag a következ®képpen fogalmazható meg: Az X üzenet statisztikailag független az Y rejtjelezett szövegt®l, azaz P (X = x | Y = y) = P (X = x) minden egyes lehetséges x üzenet és y kriptogramm esetén. 4 A szakirodalomban ez az ún. Kerckho feltétel, amely a dolog természeténél fogva csak a polgári célú nyilvános kriptológiai eljárásokra és kutatásokra érvényes. Üzleti célú felhasználásnál ugyanis márcsak azért is elkerülhetetlen a teljes eljárás nyilvánosságra hozatala, mert máskülönben lehetetlen lenne megítélni, hogy a gyártók és forgalmazók által ajánlott módszerek valóban megfelel® biztonságot nyújtanak-e. Teljesen más, zárt, ismeretlen világ a katonai és nemzetbiztonsági célú kriptológiai kutatás, amelyról jószerivel csak annyi tudható, hogy létezik, és hogy jóval több szakembert foglalkoztat, mint a polgári célú hasonló tárgyú
kutatások. 7 Vagyis az ellenfél szakért®i nem képesek jobb becslést adni X -re Y ismeretében, mint Y ismerete nélkül, bármilyen kimeríthetetlen számolási kapacitással és id®mennyiséggel rendelkezzenek is. Bizonyítható, hogy ezeket a követelményeket kielégít® rendszer létezik, de sajnos az általa igényelt titkos kulcs mennyisége olyan hatalmas, hogy emiatt a gyakorlat legtöbb területén kizárt az alkalmazása.[9] Példa lehet elméletileg is megfejthetetlen eljárásra a futókulcsos rejtjelezés azon változata, ahol a segédszöveg, azaz a tulajdonképpeni kulcs egy egyszer használatos teljesen véletlen karaktersorozat. Jellemz® alkalmazási helye a Moszkva és Washington közötti forró drót, ahol a közvetített információ tökéletes biztonságot igényel, viszont a megvédend® üzenetek mennyisége csekély. Ennél a módszernél azonban a szükséges titkos kulcs hossza megegyezik a rejtjelezend® szöveg hosszával, s rövidebb kulcsra
az elmélet szerint nincs is lehet®ség. 2.3 Biztonság a gyakorlatban Nyilván arra, hogy a titkosító eljárás elméletileg is megfejthetetlen legyen az üzleti életben nincs szükség, b®ven elég, ha az illetéktelenek valamilyen ok miatt képtelenek megtenni azt. Ezért a praktikus biztonság vizsgálatakor a kérdésfeltevésünk a következ®képpen módosul: Az adott módszer mennyire képes ellenállni egy korlátozott id®vel és számítási kapacitással rendelkez® ellenfél támadásának? Érdemes felgyelni arra, hogy milyen fontos szerepet játszik mindkét meghatározásban a rendelkezésre álló id® és számítási kapacitás. Ugyanis a napjainkban használt rejtjelezési eljárások azon alapulnak, hogy a kulcs ismerete nélkül a szöveg megfejtéséhez szükséges id® még a leggyorsabb számítógépeket használva is évezredekben mérhet®. A vizsgálat során minden egyes titkosítási módszernél értelmezhet® egy W (n) karakterisztikus
függvény, amelyet egy ezzel az eljárással kódolt n karakter hosszúságú üzenet megfejtéséhez kell® munkaráfordításként deniálunk, ez utóbbit valamilyen alkalmas mértékegységben mondjuk egy korszer¶ számítógépen való végrehajtásához szükséges id®ben kifejezve. A minket igazán érdekl® adat W (n) határértéke, amennyiben n-nel tartunk a végtelenbe (jelöljük ezt ezentúl W (∞)-nel), amely tulajdonképpen a módszer feltörésének nehézségét jellemzi. Burkoltan benne rejlik a W karakterisztikus függvény deníciójában, hogy a kódtör®k a lehet® legjobb algoritmust alkalmazzák, és egyáltalán nem biztos, hogy azt bárki is ismeri. Sajnos éppen ez a hallgatólagos feltétel akadályozza meg a pénzügyi életben, és általában az élet legtöbb területén széleskör¶en használt módszerek esetén W (n) kiszámítását, de még olyan bizonyított alsó becslés sem ismert W (∞) értékére, amely a gyakorlat szempontjából
igazán érdekes lenne [9]. A használt módszerek min®ségére vonatkozó becsléseket tapasztalati karakterisztikus függvényeknek jelölje Wt (n) tekinthetjük, amely egy adott módszerrel készült n karakter hosszúságú szöveg legjobb ismert algoritmussal való megtöréséhez szükséges munkamennyiséget fejezi ki. Ha azt látjuk valahol, hogy ezt és ezt a módszert legalább százezer évig tartana megtörni, akkor biztosak lehetünk benne, hogy a szerz® Wt (∞)-r®l beszél. Amennyiben a becslést jól felkészült szakért® készítette, ráadásul kell®en nagyvonalú ráhagyásokkal kalkulált, akkor Wt (∞) megbízható mércéje lehet egy rendszer min®ségének. Valahol azonban mindig ott lapul a veszély, hogy W (∞) valójában csupán töredéke 8 Wt (∞)-nek, s a kriptológia története gazdagon szolgál példákat arra, hogy az ellenfél elemz®je rátalált egy váratlanul hatásos módszerre, amely töredékére csökkentette Wt (∞)
értékét. 2.4 Alapkövetelmények Láttuk a történeti áttekintés során, hogy az eredeti szövegek két f® tulajdonsága segítette mindig hatékonyan a megfejtést: nevezetesen a szöveget alkotó egyes bet¶k nyelvre jellemz® el®fordulási gyakorisága, és a nyelvi elemek kapcsolódásának szabályszer¶ségei. Az els® tulajdonság játszott például domináns szerepet az egyszer¶ helyettesítés megfejtésénél, míg a futókulcsos rejtjelezésnek a valószín¶síthet® szavak segítségével történ® megfejtésénél a második tulajdonságra alapoztunk inkább. Ha tehát ezeket a fogódzókat sikerülne valamiképp kiirtanunk, akkor igencsak jó min®ség¶ eljáráshoz juthatnánk Shannon a már említett tanulmányában meg is fogalmazott két olyan kritériumot, amely nélkülözhetetlen jellemz®je a jó titkosító algoritmusoknak, ezek a diúzió és a konfúzió. Diúzió alatt az értend®, hogy az eredeti szöveg minden karaktere a rejtjelezett
szöveg sok-sok karakterét befolyásolja, vagyis egyetlen eredeti karakter megváltoztatásának hatása ne legyen nyomonkövethet® a kódolt szövegben, és ugyanígy fordítva, a kriptogramm egy jelének változtatása követhetetlen módon változtassa meg a visszafejtésével nyert üzenetet. Ha nem így lenne, akkor az ellenfél elemz®inek igencsak könny¶ lenne a dolga, különösen akkor, ha arra is képesek, hogy tetszésük szerint választott szövegnek megszerezzék a kódolt illetve dekódolt megfelel®jét. A konfúzió alatt pedig a rejtjelez® eljárásnak az a kívánatos tulajdonsága értend®, hogy az eredeti szövegre jellemz® statisztikai eloszlások és a rejtjelezett változat statisztikai eloszlásai közötti összefüggés igen áttételes, gyakorlatilag kideríthetetlen legyen. Az utóbbi szemléltetésére nézzünk egy példát az egyszer¶ helyettesítés módszerénél. Emlékezetes, hogy a megfejtés kiindulópontja az volt, hogy a kriptogramm
gyakorisági eloszlása megegyezett a kiindulási szövegével Ezt kell tehát most elkerülnünk. Válasszunk ezért a kriptogramm jelkészletének az eredeti szöveg ABC -jénél nagyobb halmazt Az eljárás kulcsát jelent® hozzárendelést pedig úgy készítsük el, hogy minél nagyobb az átlagos el®fordulási gyakorisága egy az eredeti ABC -beli bet¶nek, arányosan annál több jelet rendeljünk hozzá a b®vebb jelhalmazból. Fontos, hogy a kriptogramm jelkészletének minden egyes tagjához az eredeti ABC -nek csupán egy bet¶je tartozhat, hogy a visszafejtés során egyértelm¶en adódjon a megoldás, viszont a titkosítás során szabadon válogathatunk az egy bet¶höz tartozó kódolt megfelel®k közül. Ezzel elérjük, hogy a kapott kriptogramm gyakorisága viszonylag egyenletes, és az eredeti szöveg eloszlásából keveset visszatükröz® lesz. (Nyilván minél nagyobbra választjuk a rejtjelek halmazát, annál tökéletesebb a hatás.) A két Shannon-i
elvnek legjobban különböz® összetett algoritmusok tudnak megfelelni, amelyek a keverést és a helyettesítést egymás után többször alkalmazva állítják el® a rejtjelezett szöveget. Ilyen elven m¶ködik a mai számítógépes hálózatok legelterjedtebb biztonsági rendszere, a kezd®bet¶i után mindenütt csak DES-ként emlegetett amerikai Adat Titkosítási Szabvány (Data Encryption Standard). 9 3 Napjaink rendszerei 3.1 DES A DES tulajdonképpen egy elektronikus kódkönyves eljárás, ahol a szótár 264 darab címszót tartalmaz. Az üzenetet csupa 0 és 1-es jegyet tartalmazó bináris sorozattá alakítjuk a kiinduláshoz, s ezt feldaraboljuk 64 számjegy hosszúságú szakaszokra, ún. blokkokra A kódkönyv mind a 264 lehet®séget megengedi címszóként, és minden blokkhoz egy ugyancsak 64 hosszúságú bináris sorozatot rendel hozzá Két 264 ≈ 1019 darab elemet tartalmazó halmaz közötti tetsz®leges kölcsönösen egyértelm¶ hozzárendelés
kulcsnak megfeleltetése azonban méreténél fogva nem túl praktikus, ezért a DES egy mindössze 56 bit hosszúságú kulcs és sok-sok egymást követ® m¶velet segítségével állítja el® az egyes bináris sorozatokhoz tartozó rejtjelezett blokkokat, és hasonló módon tudja dekódolni is ®ket. Maga a tulajdonképpeni algoritmus 16 egymást követ® titkosítási fordulót tartalmaz, ahol az egyes körök 4 bit hosszúságú darabokon végzett helyettesítésekb®l és keverésekb®l állnak. Az egyes fordulók szabályozására 48 bit hosszúságú kulcsokat ír el® a szabvány, amelyeket az 56 bites teljes kulcsból állít el® Az eljárás részletesebb leírását magyarázó ábrákkal együtt az 1.sz melléklet tartalmazza. A DES eljárást az IBM készítette el 1974-ben az Amerikai Szabványügyi Hivatal (National Bureau of Standard, NBS) második nyilvános felkérésére, amelyben polgári célú felhasználásra szánt számítógépes titkosító eljárás
tervezését kérte [17]. Alapkövetelmény volt, hogy az eljárást részleteiben is nyilvánosságra lehessen hozni anélkül, hogy ezáltal gyengülne a rábízott információk biztonsága. Az IBM tervezet a cég egy régebbi Lucifer nev¶ titkosító eljárásának volt módosított változata, amely 128 bites kulccsal dolgozott. A DES eredeti változata még 16 · 48 = 768 bitnyi kulcs használatával számolt, vagyis mind a 16 körben egymástól függetlenül megválasztható 48 bites kulcsokkal dolgozott volna. Azonban az Amerikai Nemzetbiztonsági Hivatal (National Security Agency, NSA), akinek a szabványt hozzájárulás végett be kellett mutatni, ragaszkodott ahhoz, hogy a DES titkos kulcsát 56 bitre csökkentsék, és ebb®l a rövidebb sorozatból állítsák el® az egyes fordulók során használt 48 bites kulcsokat.5 Az NSA ezen kívül még néhány a tervezés során felhasznált elvet és elméleti eredményt is titkosnak min®sített. Végül az egész
eljárást teljes részletességgel megjelentette az NBS 1977-ben, hogy az még abban az évben szabványként hatályba is lépjen. Születését®l kezdve viták övezték a DES biztonságát. A kétked®k kórusát W Die és M.E Hellmann titkosírás specialisták vezették, akiknek nevével még találkozni fogunk, és akik els®sorban a kulcs rövidségét tették kifogás tárgyává, mivel szerintük a "mindössze" 256 lehetséges kulcsot végigpróbálgatva (egészen addig, amíg a visszafejtés után értelmes üzenetet nem kapunk) biztosan megfejthet® a módszer, s ehhez az ún. nyers er®vel végrehajtott támadáshoz szükséges id® és m¶veletigény alig haladja meg a kivitelezhet®ség határát [3]. Az ellentábor, amelyet az NBS felkért a DES védelmezésére, vadul optimistának ítélte a kritizálók becsléseit, és végül az az álláspont kristályosodott ki, hogy legalább 5 Érdemes megemlíteni, hogy az NSA az IBM el®z® Lucifer névre
hallgató javaslatát minden indoklás nélkül elutasította; mindmáig megoszlanak a vélemények, hogy vajon azért, mert az túl gyenge volt, vagy éppen ellenkez®leg, annyira jó volt, hogy még ®k sem tudták megfejteni. Mindenesetre az IBM a termékeinek egy részében mindmáig alkalmazza a Lucifer eljárást. 10 10 évig biztonságosnak tekinthet® az algoritmus. A 10 év elteltével újabb 5 évre meger®sítették a szabványt, s noha azóta a számítógépek teljesítménye megsokszorozódott, mindmáig nem ismeretes semmilyen sikeres támadás a DES ellen, és a módszer olyan gyengeségére sem derült fény, amelynek kihasználásával az összes lehetséges kulcs végigpróbálgatásánál lényegesen gyorsabb megtörési algoritmus kínálkozna [1]. A szakért®k között általános az egyetértés, hogy a DES egy kivételesen jól sikerült rejtjelez® algoritmus egy szerencsátlenül rövidre választott kulccsal.6 3.2 Nyilvános kulcsú rejtjelezési
eljárások 3.21 Titkos versus nyilvános kulcsok A titkosítási rendszerek évezredeken át az 1. ábrán látható sémára épültek: üzenet forrása - - visszafejtés - titkosító eljárás 6 ellenség 6 üzenet célja - védett csatorna kulcs generálása Ábra 1: Titkos kulcsú rejtjelzési rendszer. Közös eleme valamennyi titkos kulcsú rejtjelezési rendszernek az a védett csatorna, amelyen át a titkos kulcs generálása után eljut az üzenet címzettjéhez, rejtve az ellenfél kíváncsi szemei el®l. Azt hangsúlyozva, hogy az ilyen típusú rendszereknél a kódoláshoz és a dekódoláshoz ugyanazt a kulcsot használják, szokták ®ket egy-kulcsos vagy szimmetrikus rendszereknek is nevezni. A kulcs teljes biztonságban való eljuttatása azonban a legtöbb esetben nagy gondot okoz, ráadásul megsokszorozódva jelentkezik a probléma a kiterjedt számítógépes hálózatoknál, ahol sokféle összetett hozzáférési lehet®ség és jogosultság él
egymás mellett. Ilyen helyeken, különösen akkor, ha a közvetített nagy mennyiség¶ információ miatt a kulcsokat is viszonylag gyakran kell cserélni, a kulcsok szétosztása és kezelése igen komoly probléma lehet [4]. Erre a problémára kínál roppant elegáns megoldást a nyilvános kulcsú rejtjelezés, amely titkos kulcs átadása nélkül hoz létre gyakorlatilag megfejthetetlen titkosító rendszereket. El®ször Die és Hellmann írták le a rendszer m¶ködésé6 Természetesen nincs semmilyen komoly akadálya annak, hogy szükség esetén a módszer lényeges változtatása nélkül megnöveljék az alkalmazott kulcs méretét, mivel ezen a területen a DES igen b®séges tartalékokkal rendelkezik. 11 nek elvét 1976-ban megjelent cikkükben [5], és javaslatot tettek egy ilyen eljárás konkrét megvalósítására. üzenet - - dekódolás kódolás 6 ellenség nyilvános kulcs - üzenet 6 titkos kulcs Ábra 2: Nyilvános kulcsú rejtjelzési
rendszer. A módszer az egész folyamat során két kulcsot használ. A kulcspár egyikét a fogadóállomás - ami egyben a generálás helye -, mélyen titokban tartva ®rzi, míg a másik kulcsot - akár azt nyilvánosságra is hozva - átküldi a feladónak. A két kulcs egy párt alkot, tehát a nyilvános kulccsal kódolt üzenetet csak a hozzátartozó titkos kulccsal lehet megfejteni, és logikus módon pusztán a nyilvános kulcsot ismerve sem az eredeti szöveget, sem a titkos kulcsot nem lehet meghatározni. 3.22 Egyirányú függvény A nyilvános kulcsú rendszerek leírásához a szerz®k bevezettek két fogalmat: Egyirányú függvénynek (one-way function) tekintik az olyan f függvényeket, amelyek helyettesítési értékét minden az f értelmezési tartományába es® x-re könny¶ kiszámítani, viszont lényegében minden az f függvény értékkészletébe es® y esetén gyakorlatilag meghatározhatatlan az az x, amelyre y = f (x). Fontos, hogy a függvény
invertálásának kivitelezhetetlensége nem az y -hoz tartozó x meghatározásának elméleti nehézségén alapszik, hanem a hozzá szükséges számítások elvégzésének hallatlanul nagy id®igényén. (Az üzleti életben kezelt adatokra jellemz®, hogy általában rövid id® alatt elavulnak, elvesztik jelent®ségüket, hiszen senkit sem aggaszt, hogy valaki néhány ezer év elmúltával tudomást szerezhet egy pénzügyi átutalás részleteir®l.) Egy egyszer¶ példa lehet egyirányú függvényre, hogy egy adott p(x) egész együtthatós legalább ötödfokú polinom x0 helyen vett helyettesítési értéke még kézzel is könnyen kiszámítható (legyen y0 = p(x0 )), viszont y0 és p(x) ismeretében x0 adott pontosságú meghatározása már igencsak körülményes, és számítógépes közelít® eljárásokat igényel [6],[12]. A szerz®páros által bevezetett második fogalom az ún. csapóajtós egyirányú függvény (trap-door one-way function), amelyet az
alábbiak jellemeznek: Jelölje z a titkos kulcsot (z ∈ N). Legyen fz olyan invertálható függvények egy családja, hogy z ismeretében könny¶ olyan Ez és Dz eljárásokat találni, amelyek gyorsan számítják ki fz (x) illetve fz−1 (y) értékét minden lehetséges xre és y -ra; azonban gyakorlatilag minden szóbajöhet® y -ra fz−1 (y) praktikusan kiszámíthatatlan még akkor is, ha Ez ismert. 12 Ez a deníció, akárcsak az el®z®, nem tekinthet® matematikailag egzaktnak, hiszen a majdnem minden és a gyakorlatilag kiszámíthatatlan eléggé homályos fogalmak, mégis mindenki számára világos, hogy konkrét esetben körülbelül mit is kell érteni alattuk. Az els® típusba tartozó függvényeknél a célkit¶zés egyértelm¶, de a gyakorlati felhasználhatóság még eléggé talányos; a második esetben azonban már nyilvánvaló a felhasználási lehet®ség. Ilyen függvények konstruálására azóta számtalan javaslat született, amelyek
közül jónéhányról szinte azonnal kiderült, hogy valójában a vártnál könnyebben invertálhatók és így céljukat nem érhetik el, míg néhány ígéretesnek bizonyult [1], [2]. Mindmáig azonban egyikr®l sem sikerült bizonyítani, hogy a függvény valóban egyirányú, illetve csapóajtós egyirányú függvény. A legnevezetesebb javasolt eljárások a Die-Hellmann féle diszkrét exponenciális függvény [5], Merkle-Hellmann féle ún. hátizsák (knapsack) kombinatorikus problémán alapuló eljárás [10], a Rivest-Shamir-Adleman féle, az alkotóik kezd®bet¶i után mindenütt RSA-ként emlegetett módszer [13], valamint ElGamal diszkrét logaritmusos eljárása [7]. Ezek közül mindmáig messze az RSA módszer bizonyult a legsikeresebbnek és a legnépszer¶bbnek. Alapötlete az a tény, hogy két megfelel®en nagy prímszám szorzatát könnyedén ki tudjuk számolni, viszont összehasonlíthatatlanul több számítást igényel csupán a kapott szorzat
ismeretében a két prímtényez® meghatározása. Ezt az egyirányú függvényt használja a rendkívül elegáns RSA eljárás, melynek részletes leírása a 2. sz mellékletben található A technikai megvalósítást is bemutató példán keresztül jól átlátható a nyilvános kulcsú rejtjelezés elve és gyakorlata. Noha az eddig elmondottak alapján a nyilvános kulcsú rejtjelezés praktikusabbnak t¶nik titkos kulcsú vetélytársánál, a gyakorlatban mégis jónéhány probléma nehezíti felhasználását. 4 Hitelesítés Legtágabb értelemben a hitelesítés feladata az információ integritásának biztosítása. Sz¶kebben a hitelesítés az a folyamat, amely során egy információ fogadója megállapítja, hogy az információ feladója valóban a küldeményben jelzett fél, és valóban olyan állapotban érkezett meg az üzenet, mint amilyenben azt feladták. A rejtjelezési és hitelesítési eljárások egymáshoz való viszonyának illusztrálására
találó a következ® hasonlat: a küldött üzenet csomagolása (boríték, doboz, stb.) azonosítható a rejtjelezési eljárásokkal, mivel mindkett® célja az üzenet illetéktelen olvasásának megakadályozása; a pecsétet pedig a hitelesítési eljárásokkal állíthatjuk párhuzamba, mivel mindkett® az üzenet sértetlenségét és eredetiségét igazolja. Konkrétabban a hitelesítési eljárásoknak két kommunikáló fél esetében lényegében a következ®ket kell garantálniuk: 1. a felek között áramló információkat senki sem módosíthatja; 2. egyik fél nevében se léphessen fel senki más, aki ezzel a másik félben azt a látszatot keltheti, mintha kommunikációs partnerét®l kapott volna egy üzenetet; 13 3. egyik fél se legyen képes a partnerét®l megkapott közlés letagadására; 4. egyik fél se állíthassa, hogy partnerét®l kapott egy olyan közlést, amit valójában csak saját maga talált ki. Hosszú ideig nem is foglalkoztak a
hitelesítés kérdésével önállóan, mivel a rejtjelezési eljárásokat elégségesnek tartották az információ integritásának megóvására. Elképzelésük szerint ugyanis egy biztonságos rejtjelezési eljárással védett információt aligha lehet úgy módosítani, hogy értelmes maradjon a közlés Továbbá a közös titkosítási kulcs ismerete nélkül hamis információ el®állítása is gyakorlatilag lehetetlen. Ezen elképzelések alapján már szabályosan elküldött közléseket sem lehet megtévesztés céljából újra elküldeni a fogadónak akkor, ha minden közléshez más titkosítási kulcsot használnak. Azonban f®leg a számítógépes hálózatok elterjedésével a közlésre szánt információ mennyisége ugrásszer¶en megnövekedett, és a számítógépek képtelenek voltak a biztonságos személyazonosításra. Ezért a gyakorlatban gyorsan ráébredtek, hogy bár a rejtjelezési módszerek alapjai lehetnek a hitesítési eljárásoknak, de a
hitelesítéshez önmagukban a rejtjelezési eljárások nem elegend®ek A kutatások el®ször az el®z® oldalon leírt négyes csoportosítás els® két pontjára irányultak. Ez azzal magyarázható, hogy a hadseregen belül az egyes testületek, személyek egymástól nem tartottak, mivel az egyes feleknek általában nem állt érdekében egymás kicselezése. Ezen elgondolások alapján születtek meg a tisztán egy kulcsos rejtjelezési eljárásokkal dolgozó hitelesítési módszerek. Ezek közé sorolandók többek között a DES 1. számú mellékletben leírt CBC és CFB változatai, amelyek a hitelesítéssel egyidej¶leg titkosítani is képesek az üzeneteket. Az üzleti világban azonban a felek gyakran érdekeltek lehetnek egymás megtévesztésében. Itt említhetjük példaként azt a helyzetet, amikor egy spekuláns a brókercégével szemben letagadja, hogy egy pillanatnyilag zuhanó árfolyamú részvényre adott vételi megbízást. Ez az el®z® oldal 3
pontjára lehet példa A 4 pontra az ellenkez® eset hozható fel példának, amikor is egy spekuláns egy váratlanul növekv® árfolyamú részvény vételi megbízásának korábbi kiadását állítja hamisan brókercégével szemben. Ezekb®l a példákból is kit¶nik, hogy a gazdasági gyakorlatban számtalan olyan helyzet adódhat, amikor az egyik fél utólag a már megkötött szerz®dést szívesen letagadná, illetve egy nem létez® szerz®dést hamisítana. Ezek a veszélyek éppen a számítógépek rohamos elterjedésével, és egyáltalán a kommunikációs lehet®ségek megnövekedése által jelent®s mértékben felfokozódtak. A gazdasági megfontolások mellett a hitelesítési kutatások egyik további nagy ösztönz®je a leszerelési megállapodások és a fegyverkezési korlátozások betartásának ellen®rzése, amir®l részletesebben [15]-ban olvashatunk. 4.1 A hitelesítési folyamatban szerepl® felek Simmons [16] a hitelesítési folyamatban négy
szerepl®t különböztet meg: • az üzenet küld®je; • az üzenet címzettje; • a küldemény eljuttatásáért, annak szabályszer¶ségéért felel®s személyek és azok, akik küld® és címzett (3. és 4 pont) közötti vita esetén a dönt®bíró 14 szerepét játsszák. (Például hálózatok esetében a tranzakciókat nyomonkövet® személyek); • kívülálló fél, aki az üzenet hamisításában illetve módosításában érdekelt. Megjegyzend®, hogy ez a négy fél nem feltétlenül természetes személy, hanem gépek, automaták, stb. is lehetnek Közvetve azonban ezek mögött mindig valamilyen emberi szándék (vagy esetleg tévedés) húzódik meg, mert a gépeknek, automatáknak nincs önálló akaratuk. Nyilvánvalóan a felsorolt négy fél megtévesztési és csalási lehet®ségei eltér®ek. A kommunikációs csatornákért felel® és ellen®rz® személyzet jelent®s ismeretfölénnyel rendelkezik a többi féllel szemben, ami visszaélések
forrása lehet A címzett és a küld® a fejezet elején leírt 3. és 4 pont szerint tehetnek szert nyereségre. A kívülállók rendelkeznek ilyen szempontból a legkevesebb induló információval. k els®sorban az információáramlás gyeléséb®l tehetnek szert a sikeres csaláshoz szükséges információra. Az üzenet címzettje, a kommunikációs rendszer felel®sei és a kívülálló ellenségek csalásait aszerint szokták osztályozni [16], hogy hány üzenet meggyelése után következik be konkrétan a csalás. Amennyiben egy üzenetet sem gyel meg a zavaró fél, megtestesítésr®l (impersonation) beszélnek. Vagyis a csaló egyszer¶en el®állít egy üzenetet abban a reményben, hogy a címzett azt hitelesnek fogadja majd el. Ilyenkor csak a hitelesítési eljárások ismeretében fogalmazza meg a hamisított üzenetet. Amikor a csaló egy üzenetre csap le, és azt módosítja illetve cseréli ki teljesen más üzenetre, akkor üzenet helyetesítésr®l
(substitution) beszélünk. [16] össszefoglalóan egy csoportba sorolja az egynél több üzenet meggylése utáni hamis üzenet el®állítást és üzenet helyettesítést. Megjegyzend®, hogy az üzenet küld®jénél [16] nem alkalmazza az el®z® bekezdésben leírt hármas tagolást, helyette csak a már elküldött üzenet kés®bbi letagadását említi, ami kiegészíthet® egy el sem küldött üzenet feladásának állításával. Ezenkívül a küld® fél tulajdonképpen még azt is állíthatja hamisan, hogy az általa elküldött üznetetet, amelyet a címzett hitelesnek ismert el, más állapotban adta fel. 4.2 Rövid áttekintés a hitelesítés elméletér®l A hitelesítési eljárások az üzenetet többlet információval látják el, ami megnyilvánulhat az üzenet zikai meghosszabbodásában és az üzenet átstruktúrálásában. Az üzenet transzformáltja egyrészt utal a küld®jére, másrészt jelzi esetleges illegális manipulációját. A
hitelesítés történhet rejtjelezés nélkül, ilyenkor maga az üzenet bárki számára olvasható, azonban az a többletinformáció, amivel az üzenetet felruházták, azonosítja a küld®jét, és utalna az üzenet jogtalan módosítására. Ebben az esetben a hitelesítés tisztán jelenik meg Az egyik legegyszer¶bb példa erre egy szöveges üzenetnél az ASCII kódjaik egyszer¶ összegzése, és ezen ellen®rz® összeg hozzáf¶zése az üzenethez. Ekkor a címzett az ellen®rz® összeg helyessége esetén valószín¶síti, hogy senki sem manipulálta a feladott üzenetet útközben (ez az eljárás ilyen formában semmilyen jelzést nem ad a feladó személyére nézve). Az ilyen ellen®rz® összeg egyszer¶sége folytán nyilvánvalóan nem nyújt komoly védelmet, mivel bárki könnyen módosíthatja ezen eljárás ismeretében az ilyen 15 ellen®rz® összeget is. Ebb®l a példából is látszik már, hogy a hitelesítés szoros kapcsolatban áll a hibajelz®
eljárásokkal, amire majd még visszatérünk. A hitelesítés történhet rejtjelezéssel kombinálva, amely során a rejtjelez® eljárás állít el® az alkalmazott titkosítási kulcs alapján a szöveg rejtjelezésével egyidej¶leg valamilyen többletinformációt. Erre példa a már említett DES CBC és CFB változata (1. számú melléklet) A hitelesítéshez, mint már említettük, az üzenet mellett mindenképpen valamilyen többlet információ szükséges. E többlet információ egyik módja az eredeti üzenet blokkokra bontása és minden egyes blokkhoz egy kulcs függvényében néhány plusz adat hozzárendelése. A fogadó az üzenet minden blokkjára a megfelel® kulcs segítségével megnézi, hogy vajon helyesek-e a plusz adatok. Amennyiben a közösen használt kulcson csak egyetlen másik személlyel osztoznak, akkor a küld® azonosítása is megoldott. (Nyilvános kulcsú eljárás használata esetében pedig a megfelel® titkos kulcsot csak egy partner
ismeri) Érdekesek a már sokszor említett CBC és CFB DES variánsok, amelyeknél az induló kulcs megadása után a pluszinformáció végigcsurog a teljes szövegen, így az üzenet titkosítása már olyan módon történik, hogy egy blokk titkosítására az összes már megel®z®en titkosított blokk kihatással van. Vagyis, ha egy helyen megsérül az üzenet, akkor a sérülés pontjától kezdve már nem a helyes üzenetet kapjuk vissza, hanem nagyon nagy valószín¶séggel értelmetlen szöveghez jutunk. Ebben a megoldásban a hitelesítéshez szükséges többletinformáció nem jár együtt az információ hosszának megnövekedésével. Egy másik elképzelhet® megoldás szerint az üzenetben az összes képezhet® adatsor közül csak kitüntetetteket használnak. Így ha a szabályokat nem ismer® hamisító olyan adatsort is használ, ami nem megengedett, akkor az információ biztosan nem hiteles. Szöveges közlés esetén ez azt jelenti, hogy a helyes
üzenetben nem használhatunk bármilyen szavakat és mondatokat A múlt században a kereskedelemben táviratok továbbítására a A. C Meisenbach által kifejlesztett Acme Code [16] volt elterjedve, amely 1500 darab ötös karaktersorozatból állt, amelyek legalább két bet¶helyen eltér®ek voltak. Az Acme kódot eredetileg adattömörítésre használták, (ami a távirati költségek csökkentését jelentette), továbbá az adatátvitel során felmerül® hibák észlelésére is alkalmas volt. Tulajdonképpen az Acme kód már a hitelesítés egy formája volt Feltétlenül biztonságosnak mondunk egy rendszert, amennyiben az ellenfél nem képes nagyobb valószín¶séggel egy hamis információ elfogadtatására, mint abban az esetben lenne képes, ha véletlenszer¶en választana egy üzenetet az üzenetek halmazából (még a hitelesít® eljárás ismeretében is). Ezt másképpen úgy is kifejezhetjük, hogy a számítások növelésével sem képes esélyeinek
növelésére. Megkülönböztethetünk bizonyítottan biztonságos és számításilag biztonságos hitelesítési rendszereket. Az utóbbiaknál a hitelesítési eljárás biztonsága egy probléma nagy számításigényéhez kapcsolódik, ami azt jelenti, hogy a jelen számítógépeivel a hamisításhoz szükséges számítások messze nem végezhet®k el releváns id®n belül. (A megoldandó feladat gyakran egy rejtjelezési eljárás kulcsának meghatározása). A bizonyítottan biztonságos rendszereknél a számítástechnikai háttér tehát nem játszik szerepet Bizonyítottan (elméletig) biztonságosnak mondható rendszerek léteznek (amennyiben értelemszer¶en biztonság alatt feltétlen biztonságot értünk). [16]ben olvashatunk egy egyszer¶ példát, amelyben az ellenségek ismerik az összes üzenetváltási formátumot, azonban a két üzenetváltó fél titokban tartja, hogy épp melyik formátumot fogja használni (vagyis kívülálló szemszögéb®l véletlen16
szer¶nek tekinthet® a formátum kiválasztása). Abban a példában n fajta üzenet esetén az ellenfél számára pontosan 1/n annak a valószín¶sége, hogy meg tudja téveszteni az üzenetváltó feleket. Amennyiben az ellenfél legfeljebb csak egy üzenetváltás alapján hamisít, akkor feltétlenül biztonságos rendszerekre érvényes az el®ször Gilbert, McWilliams és Sloan által levezetett tétel, amely szerint az ellenfél sikeres megtévesztésének valószín¶sége legalább akkora, mint a hitelesítési rendszerben használt kódolási szabályok (pl. formátum, lehetséges kulcsok stb) számának reciprokából vont négyzetgyök: 1 P (sikeres megtévesztés) ≥ √ kódolási szabályok száma [9]-ben és [16]-ben megtalálható a tétel bizonyítása is. Említésre méltó a hitelesítés és a hibajavítás közötti összefüggés Azt szokták mondani [16], hogy a hitelesítés a hibajavítás matematikai duálisa. Amennyiben valamilyen csatornán
keresztül adatátvitel folyik, és az érkezéskori ellen®rzés eltérést jelez, akkor ez hitelesítéskor az adatok visszautasítását vonja maga után, míg hibajavítás esetén az ellen®rz® összeg segítségével megkíséreljük az eredeti adatok rekonstruálását. Mind a két esetben redundáns információt csatolunk az üzenethez A jó hibajavító kódot úgy kell megválasztani, hogy segítségével minél nagyobb valószín¶séggel lehessen megtalálni az eredeti információt. Ezzel szemben a jó hitelesít® kódot úgy kell megalkotni, hogy minél kisebb valószín¶séggel fogadjunk el egy hamisított információt. 4.3 A hitelesítés gyakorlata Mint már említettük a hitelesítés építhet a titkos kulcsú és a nyilvános kulcsú eljárásokra. A titkos kulcsú esetben, akárcsak a rejtjelezésnél, a kulcs titkossága teszi lehet®vé a hitelesítést. A nyilvános kulcsú eljárások érdekessége, hogy hitelesítésnél a rejtjelezéssel szemben a
kulcsok alkalmazási sorrendje felcserél®dik Az azonosításhoz az illet® elküldi üzenetét saját titkos kulcsával titkosítva. Így a címzett a feladó nyilvános kulcsával leellen®rizheti a feladó személyét. Egy titkos kulccsal elküldött jelsorozatot bárki megtekinthet (aki a nyilvános kulcsot ismeri), azonban csak egy személy állíthatja el®, ez szükséges az azonosításhoz. Ezzel szemben egy nyilvános kulccsal kódolt jelsorozatot csak az üzenet címzettje tudja elolvasni, viszont bárki el®állíthatja azt, ez pedig a titkosításhoz szükséges. A gazdasági gyakorlatban mindig gyanakvónak kell lenni, mivel a gazdasági szerepl®k érdekei sokszor teljesen eltér®ek. Vegyük például azt az esetet, amikor egy boltban egy ügyfél hitelkáryával zet Az ügyfél attól tarthat, hogy a keresked® nem a megfelel® összeget vonja le t®le, vagy azt esetleg akár többször is. Továbbá attól is tarthat, hogy a keresked® többszöri vásárlás esetén
olyan információ birtokába kerülhet, aminek alapján a keresked® jogtalanul összegeket követelhet a számlájáról, netán számlája terhére szerezhet be árukat más keresked®kt®l. A keresked® pedig attól fél, hogy az ügyfél kártyája hamis, vagy az ügyfél nem azonos azzal, akinek kiadja magát, stb. Mint már említettük a hagyományos üzenet hitelesítési eljárások nem alkalmasak akkor, ha a feladónak kés®bb érdekében állhat az üzenet feladásának letagadása, illetve a fogadónak érdekében állhat olyan hamis üzenetek képzése más nevében, amelyet fel sem adtak részére. Ezt a problémát hivatott feloldani 17 az elektronikus aláírás. Ilyenkor a kézi aláíráshoz hasonlóan a feladó a küldött információt olyan jellel látja el, amelynek el®állítására csak ® képes. Természetesen a jel olvasására (és csakis az olvasására) a fogadó is képes Így a fogadó nem képes az üzenetet a feladó névjegyével ellátni,
ezt a bizonyos megkülönböztet® jelet egyedül a feladó képes el®állítani. Ezért a feladó kés®bb nem is tagadhatja le a küldemény feladását, mivel csak ® volt képes ezen jel létrehozására. A leírtak után nem meglep® az elektronikus aláírás elnevezés. Az elektronikus aláírás kivitelezésére a nyilvános kulcsú rejtjelezési eljárások alkalmasak. Az elektronikus aláírás még nem helyettesítheti a kézi aláírásokat, mivel a jogrendszer nem fogadja el a kézi aláírással egyenérték¶ hitelesítési eszközként. Hivatkozások [1] Brickell, E. F - Odlyzko, A M (1988): Cryptanalysis: A Survey of Recent Results. Proceedings of the IEEE, 76 évf 5 szám, 578-593 old [2] Die, Witeld (1988): The First Ten Years of Public-Key Cryptography. Proceedings of the IEEE, 76. évf 5 szám, 560-577 old [3] Die, W. - Hellmann, M E (1977): Exhaustive Cryptanalysis of the NBS Data Encryption Standard. Computer, 10 évf június, 74-78 old [4] Die, W. -
Hellmann, M E (1979): An Introduction to Cryptography Proceedings of the IEEE, 67. évf 3 szám, 397-422 old [5] Die, W. - Hellmann, M E (1976): New Directions in Cryptography IEEE Transactions on Information Theory, IT-22. évf november, 644-654 old [6] Dringó László (1991): Numerikus analízis I. Tankönyvkiadó, Budapest [7] ElGamal, Taher (1985): A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. IEEE Transactions on Information Theory, IT-31. évf 4 szám, 469-472 old [8] Kahn, David (1973): The Codebreakers, the Story of Secret Writing. NY Signet, New York. [9] Massay, James L. (1988): An Introduction to Contemporary Cryptology Proceedings of the IEEE. 76 évf 5szám, 533-549 old [10] Mercle, R. C - Hellmann, M E (1978): Hiding Information and Signatures in Trapdoor Knapsacks. IEEE Transactions on Information Theory, IT-24 évf. 5 szám, 525-530 old [11] Poe, Edgar Allan (1966): The Gold-Bug. Complete Stories and Poems of E. A Poe Doubkeday &
Company, Inc, Garden City, New York, USA [12] Ralston, Anthony (1969): Bevezetés a numerikus analízisbe. M¶szaki Könyvkiadó, Budapest. [13] Rivest, R. L - Shamir, A - Adleman, L (1978): A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 21. évf 2 szám, 120-126 old 18 [14] Révay Zoltán (1978): Titkosírások. Fejezetek a rejtjelezés történetéb®l Zrínyi Kiadó, Budapest [15] Simmons, Gustavus J. (1988): How to Insure that Data Acquired to Verify Treaty Compliance are Trustworthy Proceedings of the IEEE 76 évf 5.szám, 621-627 old [16] Simmons, Gustavus J. (1988): A Survey of Information Authentication Proceedings of the IEEE. 76 évf 5 szám, 603-620 old [17] Smid, M. E - Branstad, D K (1988): The Data Encryption Standard: Past and Future. Proceedings of the IEEE, 76 évf 5 szám, 550-558 old [18] Winterbotham, F. W (1974): The Ultra Secret MacMillan Publishers Ltd, London. 19