Voice over TOR
Предлагаю для тестирования кипто VOIP-утилиту для работы через TOR (в режимах TOR -> доменное имя и TOR->скрытый сервис). Переделал с старого PGPFone: заменил транспорт на TCP и добавил адаптивный буфер для компенсации высокого jitter в TOR-туннеле. Также добавил обмен сообщениями и файлами.
Win98-XP-7-8. Полностью портируема. Работает peer-to-peer (звонить на доменное имя или TOR-hidden service). Использует DH4096+3DES.
Приветствуются замечания и пожелания.
Сайт проекта http://torfone.org (англ./рус.), там же доступны исходники (Visual C 6).
А что на счет NAT traversal, когда не через TOR?
Можете на главной странице подправить основной текст:
В последнем абзаце: слово means (средства) вроде бы не имеет в английском языке единственого числа, потому фикс потребовал что-то поменять.
Версия для Linux не планируется?
Под Linux можно потом попробовать портировать, просто исходники оригинального PGPFone под Win32, с этого и начал.
Нет, да данном этапе я ничего не подписывал. Были подписаны оригинальные исходники Циммерманна, надо убрать.
ПС: также тестировал i2p в плане пригодности для voip. В принципе, streamr UDP туннель можно использовать, но я так понял, что он односторонний. Во всяком случае, мне не удалось передать данные только в одном направлении. Кто в курсе, подскажите, можно ли и как проще всего создать там двухсторонний UDP-тунель.
Размер буфер (и дополнительная задержка, вносимая им) адаптируется к життеру туннеля, но скорее всего потребуются большие значения буфера: 10-15, лучше сразу же установить, т.к. адаптация с 1 до 15 займет 2-3 мин.
И еще: я заметил, что ТОР-туннель не сразу прояляет максимальную производительность: нужно какое-то время (1-2 мин), чтобы "раскачаться". Затем получается достаточно стабильное состояние и качество связи.
Я советовался с ребятами, создающими torrc с отбором узлов, они обещали сделать специально для данного приложения. В любом случае, рекомендовали использовать порты 80 и 443 (более быстрые).
Кроме того, появилась идея увеличить общий трафик (сейчас Торфон генерирует всего 2Kбайт/сек трафик) и тем самым избезать накопления данных в узлах ТОР-цепочек. С одной стороны, это должно увеличить анонимность за счет добавления рандом-данных, с другой чем плотнее трафик, тем система более подвержена статистическим атакам с модуляцией канала. Пока пробую, там посмотрим.
Очень интересны отзывы с результатами ваших тестов – попробовать дело 5 минут...
По поводу описанной уязвимости: ТОРФон фактически не использует RTP (тогда его просто не было). На выходе голосового кодека формируются пакеты строго одинаковой длины (149 байт при GSM7350) не зависимо от звукового содержимого, и передаются они через строго одинаковые интервалы (80 mS), поэтому данная уязвимость неактуальна.
В начале голосового пакета идет тип и мл. биты порядкового номера (синхронизируется на обоих сторонах), являющиеся частью nonce. Другая часть nonce – номер 8-байтного блока в пакете. Т.о., nonce для каждого блока шифруется tDES и результат ксорится с данными. Шифрованная часть пакета содержит относительный TimeStamp (номер пакета) и CRC.
На первый взгляд я не вижу тут явных уязвимостей (тем более Циммерманну доверяю полностью), но всяко бывает...
комментариев: 9796 документов: 488 редакций: 5664
При связи между скрытыми сервисами [HS-Tor-HS] дополнительная аутентификация и шифрование м.б. не нужны, т.к. канал шифруется и аутентифицируется посредством самого Tor, а т.к. никаких исходящих узлов нет, то генерация сеансовых ключей окончательно установленного канала остаётся в ведении компьютеров самих абонентов.
Это одна из причин, почему трафик в торчате принципиально не шифруется никаким протоколом поверх (точнее внутри) торовского. Хотя равномерное шифрование с целью зашумливания и выравнивания статистики исходного звукового сигнала м.б. хорошей идеей.
Но тем не менее, лишний слой шифрования еще никому не вредил, хотя бы действительно с целью отбеливания. Кроме того, я предусматривал также режимы односторонней анонимности и вовсе без нее, где без прикладного уровня шифрования никак не обойтись.
комментариев: 9796 документов: 488 редакций: 5664
Ага и на точке встречи (RP) тогда сидел бы человек-посредине, слушал в открытую весь трафик и всё бы знал о скрытых сервисах. Нет уж, фиг ему. Внутри Tor весь трафик шифрован как узлами, так и самими клиентами.
В последних версиях можно даже скрыть сам факт работы (stealth mode) скрытого сервера от тех, кто даже знает его адрес, но не знает текущий аутентифицирующий ключ (auth cookie).
Для односторонней анонимности во внешнюю сеть, да, без прикручивания дополнительного криптопротокола не обойтись.