Steganográfia: Olyan titkos adattovábbítási módszerek, ahol magát a titkos kommunikáció tényét is megpróbálják elrejteni.
Történelmi előzmények
A steganográfia görög szó, rejtett, elfedett írást jelent. Módszereinek célja titkos kommunikáció biztosítása. A steganográfia nem azonos a rejtjelzés tudományával , amelyet kriptográfiának is neveznek. A rejtjelzés esetében a potenciális ellenfél észlelheti, tárolhatja, módosíthatja a rejtjeles üzenetet. Az üzenet védelmét az adja, hogy a vevő (és az adón kívül csak ő) rendelkezik egy titkos kulccsal, amely lehetővé teszi, hogy a vevő a rejtjelzett üzenetet dekódolhassa. A steganográfia fő célkitűzése ezzel szemben az, hogy már az üzenetváltás ténye se legyen észlelhető az ellenfelek számára.
Mint sok egyéb tudományterületen, itt is a régi görögök tették meg az első lépéseket. Hérodotosz nyomán maradt fenn a következő történet: Az ókori Görögországban viasszal bevont írótáblákat használtak. Demeratus értesíteni akarta a spártaiakat, hogy a perzsiai Xerxes meg akarja támadni Görögországot. Hogy megelőzze az üzenet elfogását, a tábláról lekaparta a viaszt, az üzenetet a viasz alatti fára írta, majd visszatette a viaszréteget. Ezen a módon az üzenet átjutott az ellenőrzésen hisz’ a tábla üres volt. Közismert az anekdota a futárról akinek leborotválták a haját, s az üzenetet a fejbőrére írták. A futár indulhatott, mihelyt megnőtt a haja. Súlyos hibája a módszernek, hogy az egy időegységre eső átvitt betűk száma meglehetősen alacsony.
Természetesen vannak kézenfekvőbb módszerek is. Az egyik legegyszerűbb mód, az ha írott szövegben úgy rejtünk el információt, hogy a mondatok szószámát manipuláljuk. Ha a mondat páros sok szóból áll, az jelentsen nullát, míg a páratlan szószám egyest. Ezen a módon oldalanként 30-40 bit továbbítható. De információt tartalmazhat a szóközök mérete is. Szemmel nehezen felismerhető az a megoldás is, amikor két kicsit különböző betűtípust használunk, s az információt ezek váltogatása hordozza. S ide tartoznak a gyermekkorunkból ismert, láthatatlan tintát, tejet használó módszerek is. Ezeket a módszereket a második világháború idején széles körben használták. Érdekes történelmi adalék a témához, hogy ugyanebben az időben az USA postáján keresztül tilos volt keresztrejtvényeket, sakkfeladványokat, és persze rejtjeles szövegeket továbbítani. A cenzorok a steganográfiai módszerek kivédése céljából, újragépeltek leveleket, átfogalmazták az üzeneteket. Állítólag megtörtént egy esetben, hogy a cenzor az „apa meghalt” üzenetet átfogalmazta az „apa elhunyt” formára. Hamarosan válasz jött a címzettől: „Most akkor meghalt vagy elhunyt?”…
Lehetőségek a modern távközlésben
Napjaink egyre inkább teljesen digitálissá váló távközlési környezete új távlatokat nyitott a steganográfia módszerei számára. Talán már az eddigi példákból is nyilvánvaló, hogy e módszerek lényege pongyolán fogalmazva az, hogy nagy tömegű lényegtelen információ között elrejtjük a valódi információt hordozó biteket. Kézenfekfő példa az ISDN csatornán folyó telefonbeszélgetés. Rejtsük el az információt úgy, hogy bizonyos időközönként a legkisebb helyiértékű bitet kicseréljük az elrejtendő információs bittel. Ha elég sok sértetlen byte-ot hagyunk két módosított byte között, a módosítás észlelhetetlen marad.
Hasonló, de esetleg egyszerűbb példa, a digitalizált hangokat tartalmazó VOC, WAV, stb. fájlok módosítása. A digitalizálás lényege, hogy bizonyos időközönként mintát veszünk a hangból, s az abban a pillanatban mért amplitúdót néhány bittel jellemezve (8, 16) kódoljuk a hangot. Ha ebbe a fájlba, az amplitúdót jellemző szám legkisebb helyiértékű bitjét átírjuk, akkor a hatás nem lesz füllel érzékelhető. Természetesen nem szabad túl sok amplitúdóértéket módosítani.
Teljesen azonos elvek szerint helyezhetünk el információt digitalizált képekben. Tekintsünk például egy olyan, BMP szerint tárolt képet, ahol egy képpont színét három byte írja le. (Egy-egy byte adja meg a piros, a zöld és a kék színsáv intenzitását.) Ha a legkisebb helyiértékű bitek helyére ültetjük a tárolandó bitjeinket, a képpont színének változása jelentéktelen lesz. Nem ilyen jó az eredmény viszont akkor, ha a fájl palettát használ, ami annyit jelent, hogy pl. egy byte írja le a képpont színét, de az, hogy az adott szám milyen színt jelent azt a fájl elején egy palettában tárolják. Ekkor ugyanis a változás nem feltétlenül folytonos, kis változás a byte értékében nagy változást is okozhat a képpont színében. Egy nagyon érdekes felhasználási terület a copyright információ beépítése a képbe. Így az onnan gyakorlatilag eltávolíthatatlan, s minden másolat tartalmazni fogja.
Mind a kép mind a hang esetében sokféle módon megválaszthatjuk, hogy mely biteket módosítjuk. Kifinomultabb megoldásokban arra is ügyelnek, hogy a beültetett információ ne változtassa meg az eredeti adatok eloszlását.
Rejtett adatcsatornák kriptográfiai protokollokban
Mindezen ötletes megoldások ellenére a steganográfiát csak mint a kriptográfia kisöccsét tartják számon, igazán értékes adat védelmét nem szokás csak a steganográfia módszereire bízni. A két módszer kombinálható is, tehát a klasszikus módon rejtjelzett szöveg is lehet beépítendő információ. Ekkor a steganográfia a biztonságnak egy újabb rétegét adja.
G. Simmons azonban a kriptográfia területén is felfedezett egy olyan adatátviteli lehetőséget bizonyos digitális aláírás protokollokban, amely a vonalat figyelő ellenfél számára észrevétlen marad.
Tekintsük azt a helyzetet, hogy Alizt és Bélát letartóztatják, és természetesen külön börtönszárnyba kerülnek. Szeretnének kommunikálni, ezért megvesztegetik Zoltánt, a börtönőrt. Zoltán nem akar túl nagy rizikót vállalni, ezért rejtjelzett üzenetet nem továbbít. Aliz és Béla pedig, hogy megakadályozza azt, hogy Zoltán az üzeneteket meghamisítsa, digitálisan aláírja az üzeneteket. Zoltán ezt még elfogadja, de az üzeneteket nemcsak elolvassa, hanem a digitális aláírás érvényességét is ellenőrzi. Aliz és Béla használhatják a steganográfia fent említett módszereit, de ekkor a biztonságuk csak azon a tényen nyugszik, hogy Zoltán nem ismeri az általuk alkalmazott módszert. A Simmons által felfedezett észlelhetetlen csatornát használva viszont Aliz rejtett üzenetet tud küldeni Bélának úgy, hogy Zoltán nemcsak elolvasni nem tudja a titkos üzenetet, hanem az üzenetváltás tényét sem észleli. Az ötlet lényege abban rejlik, hogy sok digitális aláírási protokoll megkívánja, hogy a protokoll részeként minden aláíráshoz generáljunk egy véletlen számot, ezzel biztosítva a digitális aláírás változékonyságát. Ha ezt a számot „irányítva” generáljuk, akkor ezzel információt közölhetünk. Ezt a csatornát még titkossá kell tennünk valamilyen módon. Egy kézenfekvő mód, ha Aliz és Béla választ egy közös és titkos p prímszámot. Ha Aliz a titkos csatornán nullát akar küldeni, akkor addig generál véletlen számokat amíg az kvadratikus maradék lesz modulo p, míg ha egyest, akkor a generált számnak kvadratikus nem-maradéknak kell lennie modulo p. (Minden szám vagy kvadratikus maradék, vagy kvadratikus nem-maradék a p-re nézve. Egy könnyen ellenőrizhető matematikai tulajdonság, amely nemcsak az adott számtól, hanem a p-től is függ.) Ezen a módon egy digitális aláírásban csak egy bit küldhető, de a módszer finomítható.
A fent vázolt titkos kommunikáció beépíthető például az Ong-Schnorr-Shamir protokollba (feltörték!), az ElGamal protokollba éppúgy mint az USA-ban frissen szabványosított digitális aláírás (DSS) protokollba. Az RSA alapú aláírás kevésbé alkalmas rá, mert ott nincs feltétlenül szükség véletlen számok generálására. Azonban az RSA aláírás törzsébe is szokás (és hasznos) az üzenet kontrollösszege, s az időpecsét mellé egy véletlen blokkot beszúrni, amely szintén az alapja lehet a rejtett kommunikációnak.
Következmények
Az észlelhetetlen csatorna elvét sokféleképpen fel lehet használni. Például Aliz az észlelhetetlen csatorna segítségével jelezheti, ha az adott dokumentumot kényszer hatására írta alá. A legfontosabb következménye az észlelhetetlen csatorna létének az hogy a protokollt implementáló programozónak, chipgyártónak lehetősége van arra, hogy az észlelhetetlen csatorna segítségével részletekben kiküldje a digitális aláírás titkos kulcsát. Tehát ha valaki rejtjelző szoftvert vagy eszközt vásárol, akkor vagy meg kell bízzon a készítőben, vagy pedig költséges bevizsgálásnak veti alá a terméket. Nagy informatikai rendszerek biztonsági vizsgálatánál az egyik legfontosabb szempont az észlelhetetlen csatornák keresése.