Уявіть, що ви ділите мережу в кав'ярні з людиною, яка користується VPN, і все, що ви бачите, — це розміри пакетів і таймінги. Маскувальний трафік має розмити цю картину. Пройдіть із заповненням від ноутбука до шлюзу, і розмиття виявиться локальним: воно закінчується там, де закінчується шлюз. Усе після цієї точки — нове завдання спостереження на тому самому реальному трафіку.

Тому перше питання ніколи не в тому, скільки заповнення надсилати. Воно в тому, від якого спостерігача ви ховаєтеся і де цей спостерігач сидить.

Почніть із ноутбука

На локальній ланці спостерігач бачить зашифровані пакети, що виходять і надходять. Без заповнення велике вивантаження — це серія пакетів повного розміру, дзвінок — рівний потік пакетів середнього розміру, а клієнт, що простоює, надсилає keepalive. Ці форми корелюють із тим, що робить користувач, навіть коли вміст нечитабельний. Заповнення може згладити форму, але ціною надсилання байтів, яких ніхто не просив.

Запишіть, що цей спостерігач помітив би інакше: сплеск на початку передавання, паузу, коли дзвінок закінчується, ритм періодів простою. Якщо ви не можете назвати ознаку, ви не можете стверджувати, що заповнення її приховує.

Простежте заповнення до шлюзу

Ноутбук надсилає заповнення шлюзу, що співпрацює, а той його відкидає й передає реальний трафік далі. Ця співпраця і є механізмом: без кінцевої точки, яка видаляє заповнення, ви додали навантаження на чужий шлях, а не створили прикриття. Специфікація заповнення Tor робить те саме розділення явним: заповнення ланки між сусідніми реле та заповнення кола, прив'язане до стану протоколу.

Тепер подумайте, що бачить шлюз. Він бачить реальний трафік плюс заповнення, тобто дізнається більше, а не менше, якщо тільки він не та сторона, якій ви довіряєте. Маскувальний трафік переміщує довіру; він не усуває потребу в ній.

Далі спостерігайте за другим сегментом

За шлюзом подальші з'єднання до реальних адресатів — це звичайний трафік зі звичайними формами. Спостерігач там, чи то хостинг-провайдер, чи мережа призначення, бачить ті самі сплески, які заповнення мало приховати. Якщо цей спостерігач був тим, хто вас турбував, заповнення вам нічого не дало. Ця межа — увесь сенс проходження шляху.

Маскувальний трафік обмежений сегментом, а розширення охоплення означає розширення співпраці.

Напрямок і форма

Заповнення, що надсилається лише назовні, приховує таймінг того, що ви надсилаєте. Воно нічого не каже про таймінг того, що повертається, бо відповіді надходять за власним розкладом. Асиметричне приховування — це норма, і про це варто сказати вголос: сесія з переважанням завантаження все одно показує свою форму на вхідному боці.

Довжина пакета, структура сплесків, час початку й зупинки та інтервали між надходженнями — усе це несе інформацію. Лічильник байтів, що залишається плоским, може співіснувати з дуже впізнаваним розподілом розмірів пакетів. Плоскі суми — не плоска поведінка.

Що купує бюджет

Заповнення споживає ємність, за яку хтось платить: лімітовані дані, конкуренція за висхідний канал, затримка в черзі для інших користувачів того ж з'єднання. Слідувати максимально доступній швидкості теж шкідливо для себе: цей максимум рухається разом із ланкою, і заповнення рухається разом із ним. Оголошений бюджет з оголошеною поведінкою після його вичерпання — це різниця між механізмом і аварією.

Оцініть результат щодо спостереження, яке ви назвали на початку. Тест, що показує зниження розпізнавання за певного спостерігача, — це результат; обіцянка, що більше трафіку означає менше інформації, — ні.

Рішення, чи варто це робити взагалі

Для більшості людей відповідь — ні, і чесна причина в тому, що фоновий потік на повній швидкості — погана заміна програмному забезпеченню, яке документує, що воно захищає. Заповнення — це законна інженерія, і його місце в проєктах, які називають свого спостерігача, свої співпрацюючі кінцеві точки, свою ціну та свої межі. Це не галочка, що перетворює VPN на систему анонімності.

Якщо ви все ж це реалізуєте, спершу опишіть модель спостерігача. Кожне подальше рішення, від розмірів пакетів до поведінки при вимкненні, випливає з цього одного абзацу.

Схожі статті