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).
Думаю, при дорогом интеренете УДП выгоднее, чем ТСП за счет короткого заголовка. Да и при плохом тоже, за счет невосстановления потерь и сохранения за счет этого реалтайм.
Меньше всего излишеств в протоколе nautilus с кодеком LPC10. Но в нем DH1024 максимум и только симплекс голоса.
Туннель накапливает данные, затем выдает их порцией, причем раз в несколько сек, что абсолютно неприемлемо. В новой версии TORFone специально добавил функцию отправки регулируемого к-ва dummy-пакетов после каждого голосового (для насыщения туннеля). Но ничего стоящего не получилось, теперь уже, наверное, за счет высоких требований к быстродействию компа (Java все же) – моих 1.5 ГГц явно не хватало.
У кого есть возможность протестировать, буду весьма благодарен.
Что касается UDP, то тестировал streamer туннель. Он односторонний, так что написал утилиту, отправляющую UDP-пакеты сходной длины с интервалом 80 мсек, содержащие таймстемп. На получающей стороне анализировал задержку, життер, нарушение порядка и потери.
В принципе, так все приемлемо, но буфер придется переделать для восстановления порядка доставки.
Но вот создавать двухсторонний UDP-туннель надо самому: его нет среди стандартных типов. Т.к. я на Java не пишу, то придется использовать SAM-интерфейс I2P-клиента. В принципе разобрался, уже определился с логикой работы I2PFone, но еще руки не дошли попробовать. Опять же, не факт, что через SAM-бридж все будет нормально: как будут хоть-какие то результаты, отпишу.
С русским понятно, вы вроде наш, русский человек.
Но зачем вы культивируете поддержку Torfone на английском, вы что, планируете выйти на международный, т.е. иностранный уровень?
Если да, то кому это нужно? Ведь мы все и так все под колпаком – у Гугла, начиная с поисковика, почты и заканчивая Андроидом, у MS (Skype) и т.д.
Понимаю, что используются открытые коды и все такое, но зачем еще этот реверанс в сторону иностранщины? Настораживает...
П-ц.
Ога. Жидомасоны зашевелились.
А вообщето все правильно – если нам приходится париться, изучая албанский язык иноземных продуктов, то пусть и албанцы тужатся, изучая наши.
Интересно, что здесь было так много постов «дайте нам анонимный VoIP», что уже всех задрали (консервативная точка зрения состоит в том, что голосовая связь не вяжется с анонимностью в сильном смысле в принципе, т.к. голос человека уникален), но, как только появился gegel и предложил решение, ноль отликов, один я да unknown пишут. Где все эти жаждущие анонимного VoIP?
Чем плохо, что проектом будут пользоваться и будут его развивать в том числе и иностранцы? Это и для анонимности лучше: разве хорошо, когда сам факт пользования каким-либо продуктом однозначно идентифицирует национальность? Количество людей, понимающих английский, превосоходит аналогичное количество для любого другого языка. Можно по этому поводу негодовать, но это свершившийся факт, как и то, что стандартный язык для компьютерных вещей, как и вся терминология — английская. Этим недовольны и немцы, и французы, но это свершившийся факт, даже комиссия по защите чистоты французского языка не спасает (они там выискивают и придумывают франкоязычные термины для всего устоявшегося, после чего законодательно требуют в официальных документах использовать только их. У нас есть, вот, ЭВМ, а у них — ordinateur). Если кому-то действительно хочется уесть англосаксов, надо поступить изощрённее: взять топ-10 или топ-15 самых распространённых языков, за исключением английского, и предоставлять интерфейс сайта только на них, только вот кто будет следить за актуальностью перевода на остальные языки? Даже у самых популярных OpenSource-проектов переводы на языки, отличные от умолчального (читай английского), сильно отстают от текущей версии сайта. Короче, как ни крути, всё опять сводится к Вавилону: нужен один язык межнационального общения, что экономило бы затраты на перевод и изучение иностранных языков. В разные времена и эпохи таким лингвофранком успели побывать многие языки, особенно используемые в метрополиях колоний, как то французский, русский, греческий, латынь... Английский тоже не вечен. Для тех, кто забыл, напоминаю: русский язык понимает в среднем только один из 35-ти жителей Земли.
– Связаться можно по емейл проекта, если нужен реалтайм, обсудим – есть много способов, я не скрываюсь :)
– udp over tcp использован исключительно ради работы через ТОР (последний udp не поддерживает). PGPFone изначально был заточен под udp и приняты меры для минимализации латенции. Верно, идеально было бы писать все с нуля, адаптируя именно под tcp. Но т.к. это большой кусок работы, и не было никакой уверенности в результате, то пошел по пути меньшего сопростивления – навесил сверху tcp + костыль в виде екстра-буфера, тем самым адаптировав к работе в изначально высоколатентной среде ТОР.
– Голос – конечно, деанонимизатор. У меня с самого начала была мысль добавть возможность манипуляции с сырым PCM в буфере (перед gsm-компрессией), т.е. VoiceChanger, но я пока не владею ситуацией, какие алгоритмы мутации применить и насколько они надежны (невосстановимы и некоррелируемы), надо почитать и погуглить.
Можно взять программу, преобразующую текст в голос. Типа, печатаешь на клавиатуре, а собеседнику это читается искуственным голосом. Ещё сложнее — сделать распознаватель голоса, который бы преобразовывал голос в текст, а потом его повторно читал искуственным голосом. Но это всё так, полуфантастика в плане реальных применений. Наверное, будет сильно неудобно.
И у стен есть уши. ©
А вот голосовая мутация – реально. Давно (еще во времена шифрования речи перестановкой формантных зон) использовался случайный спектральный сдвиг. Это можно реализовать программно, но вопрос в том, на сколько такие алгоритмы приемлемы в наше время. Я пока не делал целенаправленного поиска, но подозреваю, что эта тема малопублична. Существующие голосоменялки наверняка детские игрушки, и при небольшом анализе можно если не точно восстановить оригинал, то по меньшей мере доказать идентичность личности в сравнении с оригиналом. Должны же быть какие-нибудь исследования, публикации по данной теме. Если у кого есть какая-то информация в данном направлении, буду безмерно благодарен.
Ugh! Another project using the Tor name in a confusing way (which
will make people think it is supported or endorsed by Tor), without
understanding our trademark policy:
https://www.torproject.org/docs/trademark-faq#combining
I'll try to find some time to contact the person off-line and suggest
changing the name to 'OnionFone' or something more generic. Please feel
free to do so in parallel to me, since I know somebody here has much
more free time than I do. :)
Andrew Lewman:
I started a wiki page to list out these people,
https://trac.torproject.org/pr.....ki/LikelyTMViolators
Hopefully this doesn't give them google seo juice. I have this list
offline too. It's also been sent to our lawyers for review.