450 likes | 578 Views
Bifrost. Anonim kommunikációs rendszer. Bevezetés. Egyre több szolgáltatás jelenik meg az interneten, melyek megkövetelik az anonimitiást, pl.: Egészségügyi konzultáció E-voting. Bevezetés. Anonim kommunikációnak a következő feltételeknek kell megfelelnie: Küldő anonimitása
E N D
Bifrost Anonim kommunikációs rendszer
Bevezetés Egyre több szolgáltatás jelenik meg az interneten, melyek megkövetelik az anonimitiást, pl.: • Egészségügyi konzultáció • E-voting
Bevezetés Anonim kommunikációnak a következő feltételeknek kell megfelelnie: • Küldő anonimitása • Fogadó anonimitása • Adatfolyam nyomonkövethetetlensége
Onion routing MS = IP1 || K1 (IP2 || K2 (IP3 || K3 (IP4 || K4(V))))
Bifrost A Bifrost két réteget használ: • Node Management Layer (DHT) • Anonymous Routing Layer
Bifrost • A Bifrost egy overlay hálózat rengeteg peer-ből, és egy public key server-ből (PKS) • A PKS tárolja minden peer publikus kulcsát. Bármelyik peer szabadon lekérdezheti bármelyik másik peer publikus kulcsát
Anonymous Routing Layer PKS Reciever NR NS Sender Chord Node Management Layer
Node Management Layer • Az NML a Chord-ot használja • Peer-ek csatlakozása/leválása • Finger table • Peer-ek kezelése független marad az anonim kommunikációtól
Anonymous Routing Layer Feladatai: • Útvonal felépítése/megsemmisítése • Üzenetek kódolása/dekódolása • Kontroll üzenetek • Backup node fenntartása
ARL - áttekintés • Többszörösen kódolt üzenetek, mint onion routing esetén • Különbség, hogy az üzenet fogadója nem az útvonal legvégén helyezkedik el NR NS
ARL - áttekintés • Hatékony egy olyan támadás esetén, amely elemzi a peer-ek közti kommunikációt • A fogadó utáni üzenetek „dummie” üzenetek NR NS
ARL - áttekintés Három féle üzenetet használ az ARL: • Konstrukciós üzenet • Adat üzenet • Kontroll üzenet
ARL – Konstrukciós üzenet Tartalmazza: • Útvonalon szereplő peer-ek kulcsait • Fogadó kulcsát • A válasz konstrukciós üzenetét (a válasz konstrukciós üzenetét a feladó készíti el)
ARL – Konstrukciós üzenet • Többszörösen kódolt üzenet • Minden köztes peer dekódolja a privát kulcsával, és hozzájutnak a kapcsolat információhoz • Path ID • NodeID (next hop) • Common key
ARL – adat üzenet • Többszörösen kódolt adatot tartalmaz • Köztes peer-ek dekódolják a kapcsolati információ alapján, majd továbbítják a következő peer-nek
ARL – kontroll üzenet • Anonim útvonalak kontrollálása • Útvonal megsemmisítése • Common key frissítése • Ezek a parancsok szintén kódoltak, és utalnak a kapcsolati információra, így nem befolyásolhatnak más útvonalakat
ARL - problémái • A routing az NML-től függ, így a konstrukciós üzenet kommunikációs ideje hosszú • Egy üzenet többszöri kódolása és visszakódolása sokáig tart
Receiver Area • Egy node-csoport, melyek folytonosan követik egymást a Chord-ban • Egy RA-t meghatároz egy a konstrukciós üzenetben szereplő peer, és egy olyan peer, amelyik dekódolni képes a konstrukciós üzenet header-jét
Receiver Area • Az RA-ben szereplő peer-ek pusztán továbbküldik az üzenetet a successor-uknak • Minden RA-ben szereplő peer megpróbálja dekódolni az üzenet body részét, de csak a fogadó képes ezt megtenni • Az RA végső peer-je dekódolni képes az üzenet header-jét, így megkapja a következő RA kezdő peer-jét
A2 R2,2 As2 At2 R2,1 R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
A2 R2,2 As2 At2 R2,1 Lookup IDmin(A1) R1,1 NS As1 NR A1 At1
Peer-ek kilépése • Amikor egy peer kilép, akkor az NML automatikusan helyettesíti őt egy backup peer-rel, ami a successor-a a kilépő peer-nek • Viszont ez a peer nem ismeri a kilépett peer privát és közös kulcsait • Bifrost ezeket a kulcsokat részekre osztja és minden peer rábízza a részeket a successor-ára és a next-successor-ára
Peer-ek kilépése • Amikor egy peer hirtelen kilép, a predecessora 30 mp-n belül észleli ezt • A kapcsolat a Chord alapján áll helyre • A backup peer elkéri a kulcsokat a successor-ától
Anonimitás igazolása Két különböző esetet vizsgálunk meg: • Konspiratív támadás • PKS-sel való kommunikáció elemzése
Konspiratív támadás • Kettő vagy több konspiráló peer • Nem konspiráló RA-beli végső peer-ek esetén a támadók nem tudják nyomon követni az RA kapcsolatokat • Konspiráló RA-beli végső peer megtudhatja a következő RA kezdő peer-jét • Ha az összes RA-ben lévő utolsó peer konspirál, akkor a támadó megtanulhatja az összes RA-t, de a küldő és a fogadó kilétét így sem fejtheti meg
Kommunikáció a PKS-sel • A küldő elkéri a szükséges kulcsokat a PKS-től • Egy támadó így megtanulhatná az anonim utat úgy, hogy megfigyeli a kommunikációt a PKS és a küldő között
Kommunikáció a PKS-sel • A kommunikáció a PKS-sel SSL-en keresztül működik • A küldő a szükségesnél több kulcsot is lekérdez
Implementáció • A Bifrost-ot az Overlay Weaver segítségével implementálták • Az Overlay Weaver egy toolkit, overlay-ek létrehozására
Teljesítmény elemzés • 32 számítógép Ethernet (100 Mbps) által összekötve • Sempron 2800+ • 1 GB RAM • Linux • Útvonal generálásnál RSA • Adatok átvitelénél AES • Kontroll üzenet nem lett implementálva
Üzenet mérete Time (ms) Message Size (KB) Exp. 1: Receiver Areas: 2 (Round Trip: 4), Relay Nodes: 16 (Round Trip: 32)
Route Generation Time Route Generation Time (ms) Receiver Area-k száma Relay Nodes: 16 (Round Trip: 32)
Route Generation Time Route Generation Time (ms) Relay Node (hops) Round Trip Receiver Areas: 5
Data Communication Time Data Communication Time (ms) Receiver Area-k száma Relay Nodes: 16 (Round Trip: 32)
Data Communication Time Data Communication Time (ms) Relay Node (hops) Round Trip Receiver Areas: 5