Vegyes hálózat [1] ( angolul Mix network ) - olyan útválasztási protokollok , amelyek nehezen nyomon követhető kapcsolatot hoznak létre a mixek néven ismert proxyszerverek láncolatával, amelyek sok felhasználótól fogadnak üzeneteket, keverik őket, és véletlen sorrendben továbbítják a következő úti cél (talán egy másik mix csomópontban). Ez megszakítja a kapcsolatot az üzenet forrása és a címzett között, ami megnehezíti az üzenet elfogását a végpontok közötti kommunikáció során. Ezenkívül minden csomópont csak az előző csomópontról és a következő címzett címéről tud információt. Ez a hálózatot ellenállóvá teszi a hamis csomópontokkal szemben [2] .
Minden egyes üzenet titkosítva van minden proxy számára nyilvános kulcsú kriptográfiai rendszer segítségével. A titkosítási eredmények úgy vannak elrendezve, mint a Matryoshka, kivéve, hogy minden elem azonos méretű. A hálózat minden csomópontja felfedi a saját matryoshka rétegét. Így információkat kap a leendő címzettről. Még ha egy kivételével az összes csomópont veszélybe kerül, az identitást továbbra is nehéz lesz feloldani.
A mix hálózat koncepcióját először 1981-ben írták le [3] . Az olyan alkalmazások, mint a Tor és a Mixmaster , ugyanazon az elven alapulnak.
David Chaum 1979-ben publikálta a Mixed Networks koncepcióját a "Nyomon követhetetlen elektronikus levelezés, visszaküldési címek és digitális álnevek" [4] című cikkében . Ez a cikk egy mesterdolgozathoz készült, röviddel azután, hogy Martin Hellman, Whitfield Diffie és Ralph Merkle először bemutatta neki a nyilvános kulcsú kriptográfiai kriptográfia területét. Míg a nyilvános kulcsú kriptográfia információbiztonságot nyújtott, Chaum úgy vélte, hogy az üzenetekben talált metaadatokban személyes adatvédelmi sebezhetőségek vannak. A személyes adatok megsértését lehetővé tévő sérülékenységek közé tartozik az üzenetek küldésének és fogadásának időzítése, az üzenetek mérete és az eredeti feladó címe.
Határozzuk meg a feladót és a címzettet mint . Fontolja meg, hogy egyetlen csomóponttal rendelkező hálózaton keresztül küldjön üzenetet. több szakaszban készíti el üzenetét. Először is véletlenszerű értéket ad az üzenetéhez. Ezután a nyilvános kulccsal kódolja az üzenetet , hozzáadja a címzett címét , végül pedig a nyilvános kulccsal kódolja az üzenetet . A csomópont, miután megkapta az üzenetet, a titkos kulcsa segítségével visszafejti azt, ezáltal információt szerez a végső címről, és elküldi az üzenetet a címzettnek [4] .
A feladó elveszi a nyilvános kulcsot , és ennek segítségével titkosítja az üzenetet, miután véletlenszerű zajt ad hozzá .
A címzett címe (A) és egy véletlenszerű R1 karakterlánc hozzáadódik az első üzenetben kapott címhez . Az eredményt a rendszer az utolsó gazdagép nyilvános kulcsával titkosítja .
Ezeket a műveleteket minden N csomópontra végrehajtják. Ilyen üzenetet kapsz:
Továbbá ez az üzenet az egyes csomópontokon áthaladva visszafejtésre kerül, és az üzenet megérkezik a címzetthez , amelyet a titkos kulcsával visszafejt .
Véletlenszerű karakterláncokra van szükség a találgatások elkerülése érdekében. Feltételezzük, hogy a cracker meg tudja tekinteni az összes bejövő és kimenő üzenetet. Ha van elképzelése az üzenet tartalmáról, titkosíthatja üzenetét a nyilvános kulccsal, és összehasonlíthatja az eredményt a bekukucskált üzenettel. Így a támadó megtudhatja az üzenet tartalmát. Egy véletlenszerű karakterlánc hozzáadásával ez lehetetlenné válik. A véletlenszerű karakterlánc hozzáadásának algoritmusát Saltnak hívják . Még ha a cracker kitalálja is az üzenetünket, nem tudja ellenőrizni sejtésének helyességét.
Sőt, vissza kell tudni válaszolni, megőrizve a küldő személyazonosságát.
A probléma megoldása egy követhetetlen visszatérési cím generálása , ahol a valós cím egy egyszeri nyilvános kulcs , amelyet csak az aktuális esetre generálnak, és amely véletlenszerű karakterláncként viselkedik, hogy megakadályozza a cím kompromittálásának lehetőségét. Ezután elküldi a címet az üzenet részeként a fent leírt algoritmus szerint. A címzett válaszlevelet küld az űrlapon az M csomópontnak, és ez a csomópont az üzenetet formává alakítja .
Ez a csomópont a bit karakterláncot használja kulcsként az üzenet egy részének újrakódolásához . Csak A tudja dekódolni az üzenetet, mert mindkettő kulcsot és kulcsot generált . A kiegészítő kulcs biztosítja, hogy a csomópont ne lássa a válaszüzenet tartalmát.
Példaként tekintsük a következő műveletsort. Üzenet tőle :
Válaszüzenet tőle :
Ahol: = nyilvános kulcs B = gazdagép nyilvános kulcsa .
A Mixmaster egy anonim , II-es típusú üzenetküldő hálózat, amely rögzített méretű sorozatokban küldi el az üzeneteket, és újrarendezi őket, megakadályozva, hogy a nézők nyomon kövessék a bejövő és kimenő üzeneteket. Ez a Mix Network megvalósítása. A Mixmastert eredetileg Lance Cottrell írta és Len Sassaman tartotta fenn . Pálfreider Péter a jelenlegi karbantartó. A jelenlegi Mixmaster szoftver Cypherpunk üzenetek feldolgozására is lefordítható ; válaszblokkokként szükségesek a nym szerverekhez .
Nem interaktív módban a Mixmaster a szabványos bemenetéről vagy egy fájlból olvas be egy üzenetet. A célcím és a bemeneti fájl a parancssorban adható meg. Ha nincs cím megadva a parancssorban, akkor a bemeneti fájlnak egy üzenetet kell tartalmaznia levélfejlécekkel [5] .
Míg a vegyes hálózatok még akkor is biztonságot nyújtanak, ha a támadó láthatja a teljes útvonalat, a keverés nem feltétlenül ideális módja a névtelenség megőrzésének. A támadók hosszadalmas korrelációs támadásokat hajthatnak végre, és nyomon követhetik a csomagok feladóját és fogadóját [6] [7] .
A támadó passzív támadást hajthat végre a hálós hálózaton belüli és onnan kifelé irányuló forgalom szippantásával. A több csomag közötti érkezési idők elemzése megadhatja a szükséges információkat. Mivel a csomagokon nem történik változás, egy ilyen támadást nehéz észlelni. Egy támadás legrosszabb esetben feltételezzük, hogy a támadó a hálózat összes linkjét megfigyelheti, és a vegyes hálózat infrastruktúrája ismert.
A bemeneti sorban lévő csomag nem korrelálható a kimeneti vonalon lévő csomaggal a csomag fogadásának időpontjára, a csomag méretére vagy a csomag tartalmára vonatkozó információk alapján. A csomagszinkronizáláson alapuló csomagkorrelációt a kötegelés, a tartalom és a csomagméret alapú korrelációt pedig titkosítás, illetve csomagkitöltés akadályozza meg.
A csomagok közötti intervallumokat, vagyis a két hálózati kapcsolaton lévő két egymást követő csomag megfigyelése közötti időbeli különbséget arra használják, hogy meghatározzák, hogy ezek a kapcsolatok osztoznak-e ugyanazon a kapcsolaton. A titkosítás és a kitöltés nem befolyásolja az azonos IP adatfolyamhoz társított csomagok közötti intervallumot. A csomagintervallum-szekvenciák nagyon eltérőek a kapcsolatok között, például a weben való böngészés során a forgalom sorozatokban történik. Ez a tény felhasználható a vegyület azonosítására [3] .
Az aktív támadásokat egyedi időjelzéssel ellátott, célzott csomagok bevezetésével hajtják végre [8] . A támadó támadásokkal megpróbálhatja azonosítani ezeket a csomagokat más hálózati hivatkozásokon. Előfordulhat, hogy nem tud új csomagokat létrehozni az összes következő keverőben a szimmetrikus kulcsok szükséges ismerete miatt.
Nagy területet lehet létrehozni, ha nagy számú egymást követő csomagot küldünk a célfolyamnak. Például a szimuláció 3000 csomagot küld a céladatfolyamnak. Az egymást követő csomagok számának növekedésével a védelem hatékonysága jelentősen csökken.
A támadó mesterséges robbanásokat hozhat létre. Ez úgy történik, hogy a mesterséges csomagokból aláírást hozunk létre, egy bizonyos ideig a csatornában tartjuk, majd egyszerre kiadjuk. A biztonság gyengül, és a támadó meghatározhatja a céladatfolyamot. Vannak más védőintézkedések is, amelyekkel megelőzhető ez a támadás. Ilyen megoldás lehet az adaptív kitöltési algoritmus. Minél több csomag késik, annál könnyebben meghatározható a viselkedés, és így jobb védelem biztosítható [7] .