Часникова маршрутизація
Часникова маршрутизація (англ. «Garlic Routing») — це технологія анонімного, зашифрованого обміну інформацією через комп'ютерну мережу, яка використовується в анонімній мережі I2P. Часникова технологія є розширенням цибулевої маршрутизації, яка використовується в проекті Tor.
Огляд
Терміни «Часникова маршрутизація» і «Часникове шифрування» були введені в червні 2000 року Майклом Фрідманом (англ. Michael J. Freedman), який взяв за основу технологію цибулевої маршрутизації. Сама технологія була розроблена і впроваджена пізніше розробниками проекту I2P — «Проект Невидимий Інтернет».
Часникова технологія, використовуючи багатошарове шифрування, дозволяє єдиному повідомленню (так званому «часнику») містити в собі безліч «зубчиків» — повністю сформованих повідомлень поруч з інструкціями для їх доставки. В один «часник» у момент його формування перед відправленням закладаються безліч «зубчиків», які є зашифрованими повідомленнями як нашого сайту, так і чужими — транзитними. Чи є той або інший «зубчик» в «часнику» нашим повідомленням або це чуже транзитне сполучення, яке проходить через нас, знає тільки той, хто створив «часник», ніхто інший дізнатися цю інформацію не може. Часникова технологія застосовується тоді, коли потрібно надіслати зашифроване повідомлення через проміжні вузли, у яких не повинно бути доступу до цієї інформації.
Наприклад, якщо один маршрутизатор хоче попросити інший маршрутизатор взяти участь у загальному тунелі, він розміщує цей запит в «часник», шифрує його відкритим алгоритмом (Схема Ель-Гамаля, 2048-бітний ключ) і передає його через тунель. Коли ж клієнт хоче відправити повідомлення в точку призначення, маршрутизатор відправника «обгорне» дані повідомлення (разом з іншими повідомленнями) в «часник», зашифрує цей «часник» відкритим алгоритмом, опублікованим в «leaseSet» одержувача, і передасть його через відповідні тунелі.
Інструкції, приєднані до кожного «зубчика» всередині зашифрованого шару, включають можливість запросити, щоб «зубчик» був відправлений локально до віддаленого маршрутизатора або до віддаленого тунелю на віддаленому маршрутизаторі. У цих інструкціях є поля, які дозволяють проміжному вузлу запитувати затримку відправлення в певний проміжок часу або умови зустрічі.
Алгоритми шифрування
- 256 бит AES-CBC;
- 2048 бит Схема Эль-Гамаля[1];