Az emberek továbbra is tengernyi információt cserélnek egymással, akár magánügyben, akár üzleti érdekből. Régen erre a célra rajzokat, füstjeleket vagy dobot használtak, azután jött az írás, a levél, majd a technika fejlődésével a különböző elektronikus eszközök: távíró, rádió és televízió, telefon és végül (?) az e-mail. A felsorolás korántsem teljes, de lesz-e a sornak vége? Reméljük nem, mert az másnak a végét is jelentené. Egy felmérés szerint 1998-ban csak az USA területén 107 milliárd levelet kézbesítettek. Ez a szám nagysága ellenére szinte eltörpül az e-mailek 4 trilliós becsült száma mellett (szintén az USA-ra vonatkoztatva).

Kinek van szüksége védelemre?

Mindenkinek. Az információ és a kommunikáció korszakát éljük, az információ és a tudás ma már igen komoly érték lehet. Sokan áldoznak arra, hogy a birtokukban lévő információ ott is maradjon, és sokan áldoznak legalább ugyanannyit arra, hogy ezt az információt megszerezzék. Ma már a számítógép sokkal több egy okos írógépnél, rengeteg helyen, rengeteg feladat ellátásra használják. A magánemberek általában játszanak rajta, leveleznek, interneteznek vele. Van, aki hazaviszi a munkáját és otthon munkaeszközként használja a számítógépét. Közszolgálati intézmények, szervezetek általában adatbázist üzemeltetnek, információt nyújtanak. Van, ahol nyilvántartást vezetnek, adatokat gyűjtenek, mint például a kórházak, könyvtárak, kormányzati és államigazgatási szervek, szolgáltató vállalatok és még sorolhatnánk.

Egyes felhasználók „aktívan” kezelik az adatokat: kereskedelmi tevékenység, vezetői döntéstámogatás esetén az adatok feldolgozása befolyásolhatja a piacpolitikát. A tudomány egyes területein számításokat végeznek a számítógépekkel, elméleti kísérelteket folytatnak, vélt vagy valós helyzeteket szimulálnak és a kutatások eredményeit szintén számítógépen tárolják. Egy katonai vagy nemzetvédelmi összetett alkalmazás pedig minden eddig felsorolt tevékenységre használhatja a számítógépet.

Az iménti felhasználók két nagy csoportban sorolhatók:

- Azoknak, akik nyilvános adatbázist üzemeltetnek, nem érdekük a hozzáférők körét korlátozni, ők csak abban érdekeltek, hogy adataikat illetéktelen ne módosíthassa.

- Azoknak, akik olyan adatokat tárolnak vagy dolgoznak fel, melyek törvényi védelemben részesülnek (személyes adatok, különleges személyi adatok, nemzetvédelmi adatok) vagy stratégiai fontosságúak (üzleti, katonai célok) már fontos az adatok olyan védelme, amely lehetővé teszi a hozzáférések szabályozását és bizonyos adatok titokban tartását is.

De ne mindig csak a számítógépről beszéljünk! Gondoljunk arra, hogy egy korszerű GSM kapcsolatnál a továbbított csomagok a személyiségi és magánélethez való jogok (és persze a szolgáltató) védelmében éppúgy titkosításra kerülnek (egy A5/1 nevű algoritmussal), mint egy bankkártya - bankautomata - bankközpont tranzakció minden lépése. Hasonlóan védett sok kereskedelmi TV csatorna jele is: a műhold és a földi állomás között titkosítottan közlekednek a jelek, védve magát a fizetős szolgáltatást és az előfizetők adatait egyaránt. Manapság az elektronikus kommunikáció minden eddiginél nagyobb mértékű lett. Ezen nemcsak az interneten történő levelezést és adatátvitelt kell érteni, hanem a telefonvonalakon bonyolított egyéb kommunikációt is faxüzenetek, telebank szolgáltatások igénybevétele, vagy egy egyszerűnek tűnő pizza- vagy mozijegyrendelés. Ha egy-egy ilyen kapcsolat alkalmával valaki a személyes adatait is használja (cím, e-mail cím, bankkártyaszám, stb.), tovább fokozódik a veszély. A telefonvonalak és központok „digitalizáló­dásával” egyre könnyebb egy kapcsolatot (annak tényét és tartalmát) rögzíteni és tárolni - esetleg később feldolgozni.

Korábban elképzelhetetlen feladatok és célok ma már megvalósíthatók. Ezzel egy időben a tárolt információk felértékelődtek és gyakori célpontjai lettek az ipari kémkedésnek és a „csakazértis” stílusú hacker, valamint a jóval veszélyesebb cracker támadásoknak, de egyes direktmarketinges megoldásoknak is jól jön egy-egy karbantartott, biztos címlista.

Az adatok illetéktelenekhez kerülése vagy elvesztése sok bosszúságot, de igen jelentős anyagi és erkölcsi károkat is okozhat. Ezért ha valakivel biztonságosan akarunk kommunikálni, vagy adatainkat biztonságban akarjuk tudni, előbb-utóbb valamilyen védelem után kell néznünk. Szerencsére számtalan módszer áll rendelkezésünkre: olyan titkosítási algoritmusokat ismerünk, amelyek igen bonyolultak, rendkívül nehezen fejthetők meg (ha egyáltalán meg lehet ezt tenni), viszont számítógéppel könnyen megvalósíthatóak. De vajon titkos-e az az üzenet, amely az eredetihez képest mindenféle összevissza jeleket tartalmaz, így a beavatatlan emberi szem vagy mikroprocesszor számára értelmetlen? Kétféle válasz adható erre a kérdésre:1. Igen, titkos, mert a megfelelő kiegészítő ismeret nélkül nem lehet elolvasni, értelmezni.2. Nem, nem titkos, mert tudjuk, hogy az egy valódi üzenet és az olvashatatlanság miatt „ordít” róla, hogy „ÉN TITKOS VAGYOK!”. Az egy más dolog, hogy miként lehet feltörni, de ez már nem titkok, „csak” probléma.

Cracker vs. Hacker

Gyakran felmerülő kérdés, hogy ki a hacker és ki a cracker. Egyesek szerint csak hitvita az egész és a két magatartásforma különbsége nem definiálható egyértelműen. Ezen persze főleg a „hacker”-ek sértődnek meg és mindig találhatunk olyan véleményeket, amelyek újabb és újabb definíciót adnak közre. Az egyik leglogikusabbnak tűnő besorolás a következő:- Hacker: A kihívást keresi, általában nem akar kárt okozni. Nagy tudású, jól felkészült, tudja mit miért csinál: ismeri a védelmi rendszereket, a protokollokat, az operációs rendszereket és mindezek gyenge pontjait is. Eszközeit általában saját maga fejleszti, esetleg más - de megválogatott forrásból - szerzi be. Behatolásának nyomait eltünteti, esetleg külön felhívja a figyelmet tettére. A hackerek egy részének ez a „szakmája”, ők a professzionális hackerek, akik tudásukból élnek, mint biztonságtechnikai tanácsadók vagy mint adatrablók.- Cracker: Hasonló a hackerhez, de óriási különbség a kettő között, hogy a cracker alapvetően „anarchista”, tevékenységének fő szándéka a rombolás.- Script Kiddie - valaki ezt egyszerűen „hülyegyerekek”-nek fordította - akik az internetről letöltött mindenféle programot eresztenek a kiszemelt rendszerre. Tudásuk általában igen csekély, ezért gyakran nem is tudják, mivel játszanak valójában. (Bár ez egyáltalán nem gátolja meg őket abban, hogy magukat hackernek vagy crackernek nevezzék. Az igyekvő scritp-kiddie-t, aki igazi hacker akar lenni, de „nincs rá ideje”, meg „nincs hozzá türelme”, szokás „wannabe hacker”-nek is nevezni. Ez lényegében semmi különbséget nem jelent, inkább gúnyosabb hangvételű jelző.)Bruce Schenier a Titkok és Hazugságok című könyvében nem ért egyet ezzel a kissé önigazolásnak tűnő osztályozással. ha a támadó cracker („bad hacker”), szinte garantált a közvetlen vagy közvetett károkozás. Ha viszont hacker („good hacker”), a fenti jellemzés alapján az áldozat szerencsésnek érezhetné magát. Csakhogy az áldozat (és a rendszer biztonsága) szempontjából bizonyos mértékig mindegy, hogy az őt megtámadó személy melyik kategóriába esik, hiszen egyik sem élvezi a bizalmát. (Senki sem szeretné, hogy egy betörő „csak” körülnézne a lakásában, bár nem vinne el semmit.) Ne felejtsük el, hogy a hackert vékony határ választja el a crackertől, és ez a határ nem más, mint a szándék.

A fenti „definíció” egyébként korántsem egységes vagy széles körben elfogadott. Egy fórumban olvastam egy olyan megkülönböztetést, amely a szándékra helyezi a hangsúlyt: „...hacker az, aki a "nem működik" állapotból a "működik" állapotba akar eljutni (még akkor is, ha ez valakinek a szerzői jogait sérti), a cracker pedig, aki mások rendszerét akarja a 'működik'-ből a 'nem működik'-be juttatni. Például aki a csak binárisan elérhető program [vagy egy biztonsági rendszer] hibáit kijavítja, hogy az működjön, vagy leszedi a másolásvédelmet, [hogy a program használható legyen], az hacker. Aki tönkrevágja a számítógépedet, csak azért, hogy megmutassa, az cracker.” (Igaz ugyan, hogy korábban ugyanebben a topicban egészen más szempontból egészen más jellemzés is napvilágot látott. Például: a cracker: programvédelmekkel játszik, míg a hacker: hálózati védelmekkel szórakozik. Ez részben ellentmond az előzőnek.)Eric S. Raymond egyszerű módon tesz különbséget a két fogalom között: „Az alapvető különbség: a hackerek építenek, míg a crackerek rombolnak.”(A „hacker mitológia” szerint a hackerek az információ birtoklásával, ellenőrzésével és korlátozásával szemben az információ megosztásáért és terjesztéséért harcolnak. Alapelvük a „tudni akarom” szemben áll az információt birtokló „ennyit tudhatsz” előírásával.)

Rejtjelezés = elektronikus boríték?

Kis kitérő után kanyarodjunk vissza az eredeti témánkhoz. A kérdés az volt, hogy szükség van-e titkosításra? Ha igen, mikor? Próbáljuk megválaszolni ezt a kérdést egyszerű következtetéssel:

- Mit kell védeni? Az információt.

- Melyik információt kell védeni? Az értékeset.

- Mi az értékes információ? Amit annak tartunk.

- Hol van az értékes információ? Adathordozón vagy átviteli csatornán.

- Mitől kell védeni az értékes információt? Megsemmisüléstől, eltulajdonítástól.

(Érdekes, hogy ez a két veszélyforrás a lehetséges védekezések tekintetében ellentétes. Ugyanis ha sok-sok másolatot készítünk az értékes adatról, csökken az elvesztés esélye /természeti vagy egyéb katasztrófa, adattároló hibája vagy emberi gondatlanság miatt/, viszont nagyobb valószínűséggel kerül illetéktelen kezekbe. Ha pedig a lehető legkevesebb példányunk van belőle /tipikusan egy/, csökken ugyan az eltulajdonítás veszélye, viszont véglegesen elbúcsúzhatunk tőle, ha az adathordozó megsérül).Ha egy jól menő üzlet adatait, szervereit vagy leveleit kell védeni, valószínűleg mindenki elfogadja a védelem igényét, és nem teszi fel a kérdést, hogy „szükség van-e rá”. De ha megkérdezzük ugyanezeket az embereket, hogy a magánlevelezéseikhez - ha az elektronikus úton történik - használnak-e titkosítást, valószínűleg nemleges választ kapunk és (némi habozás után) magyarázatként pedig azt, hogy nincsenek titkaik, vagy törvénytelen üzelmeik. Azonban ugyanezek a személyek a papíralapú levelezéseikhez minden bizonnyal nem levelező- vagy képeslapot használnak, hanem zárt borítékot, jóllehet „nincsenek titkaik, vagy törvénytelen üzelmeik” egyszerűen csak a magánélethez való jogukat gyakorolják. De miért nem teszik ezt akkor is, amikor e-mailt küldenek? Talán nincsenek tisztában azzal, hogy az elküldött e-mail védelem nélkül vándorol egyik szerverről a másikra, miközben tucatnyi telefontársaság és adatátviteli szolgáltatást nyújtó cég eszközein halad át? Ez nem ugyanolyan, mintha boríték helyett képeslapot használnának? Remélhetően idővel megváltozik a helyzet és mindenki belátja, hogy az „információs társadalomban a magánélethez való jog csak erős kriptográfia használatával őrizhető meg.” (Philip Zimmermann, a PGP atyja)

Mi is a kriptográfia? A kriptográfia azon elvek és gyakorlati technikák tanulmányozásával foglalkozik, melyek lehetővé teszik az üzenetek, adatok olyan módon történő továbbítását és tárolását, hogy ahhoz már csak a jogosult fél fér hozzá. Ez lehetetlen feladat azok számára, akik nem birtokolják a megfejtéshez szükséges kulcsot, vagy legalábbis időben lehetetlen feladat. A kriptoanalízis területe viszont pont azzal foglalkozik, hogy az egyes titkosított üzenetekből miként fejthető vissza az üzenet a kulcs ismerete nélkül. A két terület összességét kriptológiának hívjuk, beleértve az olyan határos területeket is, melyek nem sorolhatók egyértelműen az egyik vagy a másik csoportba. A szteganográfia kínál egy érdekes alternatívát: olyan üzeneteket kell készíteni, amely elrejti az eredeti - esetleg külön titkosított - üzenetet, és a kívülállónak egészen mást mutat, mint annak, aki tudja, mit keressen. Beavatatlanok számára ez jelenthet egy képet, amit meg lehet nézni, egy zenét, amit meg lehet hallgatni és így tovább. Az adatrejtés egyik vitathatatlan előnye, hogy az elrejtett üzenet nem „provokálja” a feltörést, hiszen ha a támadó nem tud az üzenet létezéséről, értelemszerűen nem is akarja azt feltörni. Hasonló volt már az ókorban is gondoljunk csak a trójai fa paci esetére...

Honnan indult ez a könyv?

Jelen könyvvel olyan bevezető szintű írás elkészítése volt a célom, amely nélkülözi a sokak számára rémisztő matematikai háttér - szükségesnél nagyobb mértékű - ismertetését. Olvastam egy-két egyetemi jegyzetet, melyeknek címe általában Rejtjelezés, vagy valami hasonló volt. Bár legtöbbjük mindössze két tucat oldalból állt, tele voltak olyan képletekkel, halmazelméleti jelölésekkel és fogalmakkal, melyek megértéséhez mindenképpen egyetemi - vagy legalábbis főiskolai - szintű matematika ismeretek szükségesek. Elismerem, hogy titkosító algoritmusok fejlesztéséhez ezek az eszközök és fogalmak nélkülözhetetlenek, de az én célom nem az, hogy megalkossam a XXI. század titkosító algoritmusát, hanem csak az, hogy alapvető fogalmakkal, fogásokkal tisztában legyen az olvasó, és egyfajta rálátása legyen a témára. Természetesen, aki ezt a könyvet elolvassa, nem lesz kriptográfus. De néhány olyan dolgot megérthet, ami eddig fehér folt volt az ismereteiben, és áttekintő képet kaphat a titkosításról, a kriptorendszerekről, azok működéséről, fejlődéséről és a főbb ötletekből. Utólag elolvasva azokat a bizonyos jegyzeteket, már nem is olyan rémisztőek, de meglepően egyszerű módon is el lehetett volna magyarázni mindazt, ami azokban van. Ezt azonban ne értse félre senki! A következő oldalakon csak a nagyon alapvető ismereteket fogom ismertetni, és mindez csak a jéghegy csúcsa! Aki komolyan kriptográfiával akar foglalkozni és kriptográfus szeretne lenni, ennél sokkal több és főleg mélyebb ismeretre lesz szüksége.

Sajnálatos módon a magyar nyelvű dokumentáció ebben a témában (kriptográfiában és nem általánosan az informatikai biztonságban) elég szegényes, és talán még ez a jelző is túlzás. Az angol nyelvű irodalom viszont bőséges, egy kis kutatómunkával szinte mindent meg lehet találni. Jelen könyv ilyen kutatómunka eredménye: többarasznyi dokumentumot, szabványt, RFC-t, leírást, ajánlást, RSA hírújságot, könyvet, konferenciaösszefoglalót, összehasonlító tanulmányt, programkódot, cikket, „technical report”-ot dolgoztam fel és tartalmukat igyekeztem magyar nyelven logikusan egységes egészbe összefoglalni.

Vannak részek, melyek - gyakran nyilvánosan is elérhető - angol nyelvű dokumentumok tartalom szerinti fordításai, mások - például a DES-ről, az RSA-ról, elvekről és módszerekről szóló információk - tucatnyi forrás feldolgozásának eredményei. Az olyan helyzetekben, ahol az egyes források egymásnak ellentmondó adatokat közöltek, ott a hivatalos szabványok publikációit vagy Menezes, Oorshot,Vanstone: Handbook of Applied Cryptography című könyvét és Bruce Schneier:Applied Cryptography, Protocols, Algorithms and Source Code in C című könyvét tekintettem döntő irodalomnak, és sok nem bizonyított állítás bizonyítása is ezekben található meg. Sok gondolatot vettem át Bruce Schneier: Secrets and Lies - Digital security in a networked world című könyvéből is. Érdekes, hogy még olyan forrás is, mint az RSA Inc. Cryptobytes című időszakos kiadványa is keveredik ellentmondásba - néha még a saját irodalomjegyzékével szemben is.

A legtöbb ellentmondás egyébként az évszámok, pénzben kifejezett értékek és egyéb történelmi adatok, valamint a javasolt vagy mért értékek körében található, főként abban az esetben, ha a cikk szerzője saját algoritmusát hasonlítja össze más algoritmusokkal. Szerencsére elvi, vagy egyéb megértést és megvalósítást befolyásoló ellentmondásokkal nagyon ritkán találkoztam (csak az RC4 és A5/1 algoritmusok esetében, amelyek egyébként sem publikusak).

Kinek szól?

A fentiek értelmében a könyv a következő olvasóknak szól:

- Minden, a téma iránt érdeklődő ember számára, aki az új ismeretei birtokában eldöntheti, hogy kíván-e további részletekkel megismerkedni vagy sem. Ha úgy dönt, hogy neki ennyi is elég, akkor is tiszta képet kaphat az alapvető fogalmakról, módszerekről.

- Programozóknak, hogy programjaikban elkerülhessék a hamis biztonság csapdáját, és bátran használják a különböző cryptoAPI-kat úgy, hogy lehetőségeikhez mérten még válogatni is tudjanak közöttük.

- Olyan érdeklődőknek, akik hozzám hasonlóan nem férnek (fértek) hozzá egyszerű, világos, alapot teremtő információkhoz.

- Rendszergazdáknak, hogy ne halljak még egyszer olyat, hogy „Te hiszel ezekben a módszerekben?” (Amúgy a válaszom, igen hiszek!)

- És végül olyan informatikai szakembereknek, akiknek nem az informatikai vagy információbiztonság a szakterületük, de érdeklődnek a téma iránt.

További lehetőségekA könyv jelen formájában nem teljes, valószínűleg soha nem is lesz az. A terület a számítási kapacitások fejlődése, valamint az újabb matematikai eredmények miatt állandóan változik. Hiányzik belőle a gyakorlatban használt biztonsági protokollok ismertetése, mint például a SET, az IPSec vagy akár az IPv6 kriptográfiai támogatása. Remélem, hogy a hiány nem érezhető, mert a felsorolt területek a könyvben tárgyalt témák alkalmazásáról szólnak, így nem az elvi kriptográfia témakörébe tartoznak, hanem inkább egy alkalmazott kriptográfiáról szóló könyvben lenne a helyük. És hadd említsem meg azt is, amiről itt biztosan nem lesz szó:

- általános üzemeltetési és hozzáférési biztonságtechnika,

- vírusvédelem, tűzfalak,

- biztonsági rések,

- hackelési és crackelési technikák, ismeretek,

- biztonsági rések és azok kihasználását lehetővé tevő eszközök.

Amiről pedig a továbbiak olvashatunk

Ennek a könyvnek tehát nem célja a teljes információbiztonság áttekintése, csak ennek egy részterületébe, az algoritmikus információvédelembe, a kriptográfiába nyújt betekintést. Igyekszik nem a legmélyebb dolgokkal kezdeni, bár lesz benne olyan is, amely egy kicsit nehezen emészthető. De arra biztatok mindenkit, akit egy kicsit is érdekel a téma, próbálja meg elolvasni, nem fog tőle gyomorrontást kapni. Természetesen vannak olyan könyvek és leírások, amelyek ennél sokkal pontosabb, részletesebb és alaposabb megközelítését kínálják a témának, de sajnos ezek legtöbbje csak azok számára érthető, akik tisztában vannak a teljes matematikai háttérrel és angoltudásuk sem elhanyagolható. Nem állítom, hogy a matematikai háttér nélkül is keresztül lehet vágni a rejtjelezés hegyein és völgyein, de véleményem szerint azt nem arra kell használni, hogy elriasszunk minden érdeklődőt, és egyfajta szűrőként használjuk az olvasók előtt. Remélem senkinek sem lesz elpocsékolt idő az a néhány óra, amit e könyv elolvasására szán.E fejezet hátralévő részében egy kis fogalommagyarázatot találunk, majd egy kis történelmi fűszerezésű áttekintés olvasható. Ebben a legegyszerűbb és/vagy a legrégibb módszerekkel, ötletekkel találkozhatunk. A történeti háttér iránt érdeklődők számára David Kahn: Codebreakers című könyvét ajánlom, mai igen alapos történeti áttekintést ad a 4000 éves Egyiptomtól a közelmúltig. A meglehetősen vaskos, mintegy 1200 oldalas könyvet először 1967-ben adták ki, utoljára pedig 1996-ban. Szerencsére van egy közelebbi, sőt magyar nyelvű forrás is: Simon Singh: Kódkönyv - A rejtjelezés és a rejtjelfejtés története (Park Könyvkiadó, 2001).Az ezt követő fejezetekben megismerkedhetünk napjaink szimmetrikus és a nyilvános kulcsú módszereivel (DES, AES, RSA, ECC), illetve ezek működési módjaival, valamint a blokktitkosítók és folyamattitkosítók közötti legfőbb különbségekkel. Megismerkedhetünk az adatintegritás védelmét szolgáló és a digitális aláírásokban is gyakran használt üzenetpecsétekkel. Röviden áttekintjük a digitális aláírás logikáját, megvalósítását és a magyar jogrendszerben történő szabályozását is. Olyan témákról is lesz szó, melyek nem kapcsolódnak szigorúan a titkosításhoz, de jól kiegészítik azt: az egyik az adatrejtés - görög eredetű szóval: szteganográfia - a másik a titokmegosztás, illetve a titokszétvágás. Mindkettő alkalmas arra, hogy a különböző biztonsági protokollokban ellenőrző szerepet töltsön be, illetve segítsen a titkot titokban tartani.

FIGYELMÉBE AJÁNLJUK

Vissza a lap tetejére