Цибулева маршрутизація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Приклад

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

Цибулева маршрутизація була розвинена Міхаелем Рідом, Паулем Сіверсоном і Девідом Голдшлагом, і запатентована Військово-морськими силами США в патенті Сполучених штатів No. 6266704 (1998). Станом на 2009 рік, анонімна мережа Tor є домінуючою технологією, яка використовує цибульну маршрутизацію.

Можливості[ред.ред. код]

Ідея цибулевої маршрутизації (ЦМ) полягає в тому, щоб зберегти анонімність відправника і одержувача повідомлення і забезпечити захист вмісту повідомлення під час його передачі по мережі.

Цибулева маршрутизація працює відповідно до принципу змішаних з'єднань Чаум: повідомлення передаються з джерела до місця призначення через послідовність проксі («цибулевих маршрутизаторів»), які перенаправляють повідомлення в непередбачуваному напрямку. Щоб уникнути «прослуховування» повідомлень зловмисником, між маршрутизаторами вони передаються в зашифрованому вигляді. Перевага цибулевої маршрутизації (і змішаних з'єднань в цілому) у тому, що відпадає необхідність довіри кожному бере участь маршрутизатора. Навіть якщо один або декілька з них виявляться зламаним, анонімне з'єднання все одно зможе бути встановлено. Це досягається за рахунок того, що кожен маршрутизатор у ЦМ-мережі приймає повідомлення, шифрує їх наново і передає їх на інший цибульний маршрутизатор. Зловмисник, що має можливість проводити моніторинг всіх цибулевих маршрутизаторів в мережі, теоретично може простежити шлях повідомлення через мережу. Але завдання сильно ускладнюється, навіть якщо зловмисник має доступ до одного або кількох маршрутизаторам на шляхи сполучення.

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

Цибулини[ред.ред. код]

Маршрутизація цибулі[ред.ред. код]

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

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

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

Відповідні цибулини[ред.ред. код]

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

Слабкості[ред.ред. код]

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

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

Цибулева маршрутизація не в змозі захистити дані, що проходять через вихідні вузли, віддаючи операторові повний доступ до переданому змістом (через сніффінг), і тому цибульні мережі не повинні використовуватися для передачі особистої інформації без використання кінцевої криптографії, такої як SSL. Шведському досліднику Дену Егерстаду, вдалося зібрати близько ста паролів від ящиків іноземних посольств, використовуючи сніффінг.

Посилання[ред.ред. код]