A StegoWeb egy egyszerű kis alkalmazás, amivel a webes adatainkat rejthetjük el szteganográfiai módszerekkel. A szteganográfia lényege, hogy úgy kommunikálunk valakivel, hogy magát a kommunikációnak tényét rejtjük el. Ez tehát az jelenti, hogy miután feltettük a weboldalra a rejtett tartalmat, magának az adatrejtésnek a ténye is titok lesz!
Hogy ez hogyan lehetséges? A StegoWeb nem magában a weboldal tartalmában tárolja el az információt, hanem egy URL rövidítő szolgáltatással valósítja meg a tárolási funkciót. Azonban a folyamat egy jelszót is igényel, amit a rövid URL-t kiválasztásánál, illetve az eltárolt információt tárolásakor használunk fel. Így az információ feloldásakor is szükség van erre: különben az információ tárolási helyét nem fogjuk tudni megtalálni, de még ha meg is találjuk, az erős titkosítás miatt nem sok esélyünk van beletekinteni a tárolt adatokba.
A StegoWeb további előnye, hogy rendkívül könnyen telepíthető, egyszerűen a böngészőn keresztül használhatjuk! Ezt úgy értük el, hogy a StegoWeb-et ún. bookmarklet formában hoztuk létre, és így az alkalmazás a webről töltődik le minden alkalommal. Ez azt is jelenti, hogy a StegoWeb szabad szoftver, azaz forráskódja bárki által megtekinthető, módosítható, vagy akár másik kiszolgálóra áthelyezhető.
A videó megosztásához illeszd az oldaladba a következő kódot:
Az alkalmazás telepítése roppant egyszerű: egyszerűen az alábbi bookmarklet linkeket el kell helyeznünk a böngésző programunk könyvjelzői között.
Miután elhelyeztük a bookmarkleteket, a következő lépésekkel egyszerűen titkosíthatjuk a kívánt oldalon az adatokat.
Az alábbi példák olyan oldalakra mutatnak, ahol a StegoWebbel információt rejtettünk el.
Például személyes adatok rejtésére, vagy érzékeny információk webre helyezéséhez. Ezen kívül természetesen más célokra is használható; azonban a készítők ilyen demonstrációs céllal hozták létre a StegoWeb alkalmazást.
A StegoWeb-ről azonban tudni kell, hogy ez csak egy ún. proof-of-concept alkalmazás, amivel a megalkotói egy elvi lehetőséget kívántak demonstrálni, és semmiképp sem tekintendő teljes körű alkalmazásnak.
Nem. A program csak a böngészőben fut, így a készítők nem férnek hozzá futás közben. Ráadásul a program forráskódja egyszerűen megnézhető, és akár módosítható, másolható is -- így erről könnyen meg lehet győződni.
Nem. Egy harmadik webszolgáltatásban, ún. URL rövidítő szolgáltatásban tároljuk az információt. Hogy az információt ne lehessen egyértelműen megtalálni, a tárolás helyét a jelszó alapján számítjuk ki, és ezen felül még ezzel a jelszóval titkosítjuk az információt -- hogy ha valaki meg is találná, akkor se férhessen hozzá.
A szteganográfia lényege, hogy a kommunikáció tényét rejtjük el. Itt is erről van szó: sem a megcélzott weboldal, sem az URL rövidítő, sem más nem tud a rejtés tényéről.
Nem. Egyrészt "URL szerűen" rejtjük az információt, nem egyértelmű, hogy rejtésről van szó. Másrészt a használt alias hash alapú, így ez alapján nem lehetséges kitalálni, hogy mihez kapcsolódik. Harmadrészt mivel a rejtett információ kódolt, így ehhez sem tud hozzáférni. Ráadásul ha tudná is, hogy honnan használtuk, akkor a jelszót is ismernie kellene (ld. a következő kérdést).
Nem, mert a jelszót csak kliens oldalon használjuk (a böngészőben), így az nem kerül sem hálózatra, sem a kiszolgálóra.
Az, hogy az átlag felhasználónak nincs saját szervere. Viszont rengeteg URL rövidítő szolgáltatás létezik, amire így egyszerűbb építeni (pl. cserélhető is, ha szükséges).
Ciki. :-) Mint említettük, ez csak egy koncepció ismertető alkalmazás. Azonban lehetséges volna egy olyan alkalmazás készítése, ami nem a DOM elhelyezkedés szerint, hanem az adatok valódi helye szerint dolgozik, és erre kevésbé érzékeny.
A nyilvános helyen közzétett adatokhoz történő hozzáférés szabályozására alapvetően kétféle koncepció mentén születtek eddig implementációk (egy részüket megemlítjük alul, az irodalomjegyzékben); ezek a rejtjelezés és a hamis adattal történő helyettesítés. Előbbi előnye, hogy gyakorlatilag bármilyen információt védhetünk a segítségével, míg az utóbbi azért célszerű, mert a Web2.0-s szolgáltatók gyakran tiltják a rejtjelezett adatok közzétételét a felhasználási feltételekben. A hamis adattal történő helyettesítés korlátja a magas fokú specializáltság: ha egy közösségi oldalon egy személynevet egy másik személynévvel akarunk kiváltani, akkor szükség van egy minden felhasználó által elérhető személynév-adatbázisra. Hasonlóan, a születési hely elfedéséhez is külön adatbázis kell. És akkor arról nem is beszéltünk, hogy a hamis adatok együtt tényleg egy plauzibilis profilt alkotnak-e... A StegoWeb alapját képező, szteganográfiára épülő algoritmus mindkét koncepció hátrányait kiküszöböli: bármilyen típusú információ védhető vele, jelenléte nem észrevehető a szolgáltató számára, és hatalmas adatbázisok közös használatát sem igényli. Természetesen a szteganográfiának is vannak hátrányai, amelyek közül a legsúlyosabb korlát az elrejthető információ hossza - a StegoWebbel tehát a Háború és békét valószínűleg nem fogjuk tudni elrejteni, egy sor webkettes alkalmazáshoz azonban remekül használható eszköz.
Irodalom:
Örömmel fogadunk javaslatot, észrevételt a programunkkal kapcsolatban a következő elérhetőségen.
Elérhetőségünk: stegoweb@pet-portal.eu
A StegoWeb készítői: Besenyei Tamás, Földes Ádám, Gulyás Gábor
A StegoWeb a BME Híradástechnikai Tanszéken készült, a Nemzetközi PET Portál és Blog támogatásával.