Täckttrafik på en VPN: vilken observatör gömmer du dig för
Utfyllning ändrar ett trafikmönster, men för den observatör du designade det för. Gå igenom var fyllningen slutar, vad den kostar och vad den inte kan dölja.
Föreställ dig att du delar ett kafénätverk med någon som använder en VPN, och allt du ser är paketstorlekar och timing. Täckttrafik ska sudda ut den bilden. Följ utfyllningen från laptopen till gatewayen, och utsuddningen visar sig vara lokal: den slutar där gatewayen slutar. Allt därefter är ett nytt observationsproblem på samma verkliga trafik.
Så den första frågan är aldrig hur mycket fyllning som ska skickas. Det är vilken observatör du gömmer dig för, och var den observatören sitter.
Börja vid laptopen
På den lokala länken ser en observatör krypterade paket lämna och anlända. Utan utfyllning är en stor uppladdning en serie paket i full storlek, ett samtal är ett jämnt flöde av medelstora paket, och en inaktiv klient sänder keepalives. Dessa former korrelerar med vad användaren gör även när innehållet är oläsligt. Fyllning kan jämna ut formen, men till priset av byte som ingen bad om.
Skriv ned vad den observatören annars skulle lägga märke till: ett utbrott i början av en överföring, en lucka när ett samtal slutar, en rytm av inaktiva perioder. Om du inte kan namnge egenskapen kan du inte hävda att fyllningen döljer den.
Följ fyllningen till gatewayen
Laptopen skickar utfyllning till en samarbetande gateway, som kastar den och vidarebefordrar den verkliga trafiken. Det samarbetet är mekanismen: utan en ändpunkt som tar bort fyllningen har du lagt last på någon annans väg i stället för att skapa täckning. Den Tors utfyllnadsspecifikation gör samma uppdelning explicit: länkutfyllning mellan angränsande reläer och kretsutfyllning knuten till protokolltillståndet.
Tänk nu på vad gatewayen ser. Den ser den verkliga trafiken plus fyllningen, vilket innebär att den lär sig mer och inte mindre, om den inte är den part du litar på. Täckttrafik flyttar förtroende; den tar inte bort behovet av det.
Titta sedan på det andra segmentet
Bortom gatewayen är de vidare anslutningarna till verkliga destinationer vanlig trafik med vanliga former. En observatör där, vare sig det är en hostingleverantör eller destinationsnätverket, ser samma utbrott som utfyllningen skulle dölja. Om den observatören var den du brydde dig om gjorde utfyllningen ingenting för dig. Denna gräns är hela poängen med att gå vägen.
Täckttrafik är begränsad till ett segment, och att utöka omfattningen innebär att utöka samarbetet.
Riktning och form
Utfyllning som bara skickas utåt döljer tidpunkten för det du skickar. Den säger ingenting om tidpunkten för det som kommer tillbaka, eftersom svar anländer enligt sitt eget schema. Asymmetriskt döljande är normalt och värt att säga högt: en session med tung nedladdning visar fortfarande sin form på den inkommande sidan.
Paketlängd, utbrottsstruktur, start- och stopptider samt intervall mellan ankomster bär alla information. En byträknare som förblir platt kan samexistera med en mycket igenkännbar fördelning av paketstorlekar. Platta summor är inte platt beteende.
Vad budgeten köper
Fyllning förbrukar kapacitet som någon betalar för: mätt data, konkurrens om upplänken, köfördröjning för andra användare på samma anslutning. Att följa den högsta tillgängliga hastigheten är också självförstörande, eftersom det maximumet rör sig med länken och fyllningen rör sig då med det. En uttalad budget, med uttalat beteende när budgeten är slut, är skillnaden mellan en mekanism och en olycka.
Utvärdera resultatet mot den observation du namngav i början. Ett test som visar minskad igenkänning under en definierad observatör är ett resultat; ett löfte att mer trafik betyder mindre information är det inte.
Att avgöra om det ska göras alls
För de flesta är svaret nej, och den ärliga anledningen är att en bakgrundsström i full hastighet är en dålig ersättning för programvara som dokumenterar vad den skyddar. Utfyllning är legitim ingenjörskonst, och den hör hemma i konstruktioner som namnger sin observatör, sina samarbetande ändpunkter, sin kostnad och sina gränser. Det är inte en kryssruta som förvandlar en VPN till ett anonymitetssystem.
Om du implementerar det, skriv ned observatörsmodellen först. Varje senare beslut, från paketstorlekar till beteende vid avstängning, följer av det enda stycket.