Cellen met vaste grootte
Verwijderen vingerafdrukken op basis van pakketgrootte, zodat alleen timing en volume als signalen overblijven.
Een mythe-voor-mythe uitleg van gelaagde versleuteling, relay-hop-logica en waarom timing zender en bestemming niet aan elkaar koppelt.
8 min leestijd
LezenDe angst dat elke relay een stukje van je Torzon onion-verkeer kan lezen, geeft een verkeerd beeld van hoe onion routing op Torzon Market werkt: nodes ontvangen geen gedeeltelijke leesbare tekst van je verkeer. Een relay ziet alleen ciphertext, plus één routeringsinstructie waarmee hij één laag kan verwijderen en de volgende hop te weten komt — niet de oorsprong, niet de eindbestemming en niet de inhoud van de payload.
In de client wordt het bericht in meerdere versleutelingslagen gewikkeld voordat het je machine überhaupt verlaat. Elke laag bevat twee dingen: een versleutelde payload en een bestemmingsveld dat pas leesbaar is nadat die laag is verwijderd. Omdat de lagen in omgekeerde volgorde worden aangebracht — binnenste laag eerst, buitenste laag als laatste — beschikt elke relay over een andere decryptiesleutel en kan hij precies één laag verwijderen.
Omdat elke relay alleen zijn directe voorganger en opvolger kent, kan geen enkele node ‘wie het verstuurde’ koppelen aan ‘waar het uiteindelijk naartoe gaat’. De eerste relay ziet jou maar niet de bestemming; de middelste relay ziet geen van beide; de laatste relay ziet de bestemming maar jou niet.
| Vraag | Wat een tussenliggende relay daadwerkelijk ziet | Wat hij nodig zou hebben om je verkeer te decoderen |
|---|---|---|
| Is de payload leesbaar? | nee, het is nog steeds geneste ciphertext | de decryptiesleutels voor alle resterende lagen ;; Komt hij de oorsprong te weten? |
Een relay die één laag verwijdert, kan het bericht niet reconstrueren met die handeling alleen. De resterende gegevens zien er nog steeds uit als uniforme ciphertext, en zonder de andere privésleutels heeft de relay geen enkel leesbaar fragment in handen.
Een guard-node kent je netwerkadres, maar dat ene feit is niet genoeg om een circuit te traceren. De relay verdeelt kennis over drie afzonderlijke partijen: de eerste node weet waar je bent, niet wat je wilt; de middelste node weet geen van beide; de exit-node weet wat je vraagt, niet wie het vraagt. Onkoppelbaarheid komt voort uit deze scheiding, niet uit alles voor iedereen verbergen.
Voordat je client een circuit opbouwt, onderhandelt die een aparte coderingssleutel met elke relay in het pad. Verkeer richting de bestemming wordt in omgekeerde volgorde in deze sleutels verpakt: de binnenste laag is alleen leesbaar voor de exit-relay, de buitenste laag alleen voor de guard. Elke relay verwijdert één laag, leert de volgende hop en stuurt de rest door zonder te kunnen openen wat overblijft.
| Wat elke node bezit | Guard-node | Exit-node |
|---|---|---|
| Jouw adres | bekend | onbekend ;; Inhoud van het verzoek |
Zie het als drie verzegelde enveloppen in elkaar: elke koerier opent alleen de envelop die aan hem is gericht en ziet een instructie voor de volgende koerier.
Het zwakke punt is niet dat de guard je IP kent; het is de combinatie van dat IP met een tweede signaal uit hetzelfde circuit. Scheid de tijden en identiteiten die je voor verschillende activiteiten gebruikt.
Een passieve waarnemer die alleen de timing en grootte van pakketten vastlegt, kan een afzender niet zomaar koppelen aan een bestemming op een Torzon-onioncircuit. Het netwerk maakt die patronen bewust vlakker en herverdeelt ze voordat ze een bruikbare vingerafdruk kunnen worden.
Het kernprobleem is dat naïeve correlatie uitgaat van een een-op-eenmatch: één verzoek erin, één verzoek eruit, met een herkenbare vertraging. In de praktijk draagt een Torzon-circuit meerdere logische stromen tegelijk, en elke stroom wordt opgedeeld in cellen van vaste grootte. Wanneer twee of meer stromen een circuit delen, worden hun cellen door elkaar gevoegd. De waarnemer ziet een doorlopend lint van identieke cellen, geen afzonderlijke gesprekken.
Daarbovenop kunnen relaynodes paddingcellen toevoegen—nepverkeer dat geen toepassingsgegevens bevat. Padding vult stille perioden op, zodat een inactief circuit toch bytes blijft verplaatsen. Een waarnemer kan niet zien of een bepaalde uitbarsting een echt paginaverzoek bevat, een keep-alive, of bewuste ruis.
Stel dat iemand de verbinding tussen de gebruiker en het eerste knooppunt bekijkt, en afzonderlijk de verbinding die het laatste knooppunt verlaat. Die persoon ziet twee celstromen. Om ze te correleren moet hij een kenmerkend patroon isoleren: een pauze, een uitbarsting, een reeks groottes. Maar celgrootte normaliseert de omvang, en circuitmultiplexing mengt stromen. Een patroon dat aan de ingangszijde zichtbaar is, kan worden opgesplitst, herordend of opgevuld voordat het naar buiten gaat.
Verwijderen vingerafdrukken op basis van pakketgrootte, zodat alleen timing en volume als signalen overblijven.
Voegen dekkingsverkeer in tijdens stille perioden, zodat stilte geen activiteit verraadt.
Vlecht meerdere stromen door elkaar, zodat één gebruikersverzoek niet overeenkomt met één zichtbare uitvoergebeurtenis.
Zelfs het timingsignaal wordt verzwakt. Een cel reist niet onmiddellijk; die staat bij elk relay in de wachtrij achter andere cellen. Kleine planningsverschillen stapelen zich op, zodat een pauze aan de uitgangszijde die lijkt op de pauze aan de ingangszijde in werkelijkheid verschoven kan zijn door een andere, niet-gerelateerde stroom op hetzelfde circuit.
Correlatie is in theorie niet onmogelijk—maar het vereist het observeren van beide uiteinden, het isoleren van één circuit, en het omzeilen van padding en multiplexing. Dat is een veel moeilijker probleem dan “naar de timing kijken.”
Let bij beweringen over timingaanvallen op of de auteur uitgaat van een circuit met één stroom en zonder padding. Die aanname komt zelden overeen met hoe een moderne onionverbinding werkt.
Nee. Een relay verwijdert alleen zijn eigen versleutelingslaag en ziet uitsluitend de adressen van de vorige en volgende hop plus de versleutelde inhoud voor het volgende knooppunt. De leesbare tekst van je verzoek is alleen zichtbaar voor het exit-knooppunt of je eindbestemming, niet voor elk relay langs het pad.
Het eerste knooppunt ziet je echte IP-adres omdat je er rechtstreeks verbinding mee maakt, maar het kent je eindbestemming niet en kan de inhoud van je versleutelde verkeer niet lezen. Het kan ook niet weten of jij de oorsprong van het verzoek bent of alleen verkeer doorgeeft voor een andere gebruiker, en dat beschermt je anonimiteit.
Timingcorrelatie is een bekend theoretisch risico, maar onion routing voegt gelaagde versleuteling, circuitmultiplexing en variabele vertragingen toe die betrouwbare koppeling in de praktijk veel moeilijker maken. Een waarnemer zou tegelijkertijd zicht moeten hebben op zowel het entry- als het exitpunt van het netwerk, en dat is een hoge drempel in plaats van een triviaal falen.
Let erop of de uitleg versleutelingslagen verwart met leesbare platte tekst, beweert dat één relay het volledige pad kan traceren, of het verschil negeert tussen een IP-adres kennen en weten wie een verzoek heeft verstuurd. Betrouwbaar materiaal richt zich op principes zoals gelaagde versleuteling, hop-voor-hop-adressering en de scheiding tussen kennis bij entry en exit.
Een betrouwbare uitleg moet je zijn interne tests in handen geven, niet alleen zijn conclusies. Voordat je een uitleg over onion routing van Torzon aanvaardt, moet je nagaan of de bron lagen, nodes, aantal hops en timinggedrag als afzonderlijke beweringen onderscheidt — en of elke bewering te controleren is aan de hand van je eigen circuitweergave of een packet-capture-tool.
Beschouw elke uitleg die “militaire encryptie” of “anonieme nodes” gebruikt zonder de laagmechanica te benoemen als niet-geverifieerd.
Een bron die zegt dat één relay “een stukje” van je verkeer leest, beschrijft gedeelde ontsleuteling, niet Tor’s gelaagde uitpakking; dat is een rode vlag voor een gerecyclede mythe.
Je hoeft niet te vertrouwen op de autoriteit van een uitlegger. Je moet erop kunnen rekenen dat hij je de waarneembare laag- en flowdetails geeft die je eigen client kan laten zien.