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).
Gegel, скажите чесно, Linphone чемто уступает вашему Торфону в плане защиты траффика?
комментариев: 393 документов: 4 редакций: 0
Говорю честно: в плане защиты трафика ничем не уступает. Linphone может использовать ZRTP для p2p-шифрования голосового трафика.
Но это фундаментально разные приложения:
1. Linphone – это SIP-клиент и не может работать без внешнего SIP-сервера (включая обязательную регистрацию на нем с возможностью сбора данных о ваших контактах), в то время как Торфон использует Tor-HS для поиска абонента (не требует регистрации, нет возможности собирать метаданные).
2. Linphone использует RTP для передачи голоса, в качестве транспорта используется UDP, поэтому передача голоса через Tor принципиально невозможна – абоненты в конечном итоге устанавливают p2p-соединение. таким образом, каждая сторона видит IP второй стороны (т.е. знает, где он находится), и наблюдатель (ISP абонентов или SIP-сервера) видит IP участников беседы. Торфон может использовать нестандартный голосовой протокол на базе TCP, поэтому может установить двухсторонне анонимную связь через Tor, но ценой секундных задержек голоса.
Но мне другое интересно – что же в вашем случае помешало связать Торфоны? даже не предполагал, что это может вызвать хоть какую-то сложность. Я так понимаю, вы хотите установить прямое соединение с другим Торфоном?
Предполагается, что абоненты имеют "белые" IP от своих ISP:
1. Скачиваем архив, извлекаем из него папку Торфона.
2. В файле 'torfone.ini' блокнотом правим параметр ListenUDP=1
3. В роутерах абонетов пробрасываем UDP-порт 17447 на компьютер с запущенным торфоном
4. Для звонка в адресную строку вставляем внешний IP-адрес вызываемой стороны с символом @ вначале ( например, @74.99.25.25 )
5. После установки соединения оба абонента переключают кодек с MELP на OPUS
Если ваш ISP выдает "серые" IP, то нужет TorChat. Оба абонента делают следующее:
1. Скачиваете архив с TorChat с главной страницы моего сайта (в нем уже поправленный torrc-файл)
2. Запускаете TorChat, дожидаетесь, пока значок MySelf станет зеленым.
3. Копируете с этого значка свой адрес и обмениваетесь им с вашим абонентом.
4. Запускаете Торфон, вставляете Torchat-адрес (без .onion) вашего абонента в поле адреса Торфона и вызываете.
5. После установки соединения оба абонента устанавливают галку Edit -> UDP/TCP -> UDPdirect
6. После короткого звукового сигнала и сообщения о переключении на прямое соединение можно сменить кодеки на OPUS.
Если в этих пунктах что-то непонятно, пожалуйста, напишите, что именно. У меня уже не хватает фантазии описать проще. Если что-то не получается, также опишите, что именно. Я дам конкретный совет, как обойти проблему.
комментариев: 393 документов: 4 редакций: 0
Да, увидеть – это было бы круто. Но для этого, как минимум, надо увидеть руководство в картинках на стр.5., тогда по крайней мере изменение голоса можно услышать.
Также можно посмотреть демо-ролик от автора кода вокодера William Andrew Burnson. Правда, он выбрал кодек, работающий не на 8КГц, поэтому наложился сдвиг полосы и появились свисты. Для качественной работы вокодера используйте OPUS, MELP или GSM0610slow. На мой взляд, для анонимизации лучшим есть режим Breathy (шепот).
комментариев: 393 документов: 4 редакций: 0
Но обратите внимание: далеко не все утилиты для изменения голоса выполняют относительно невосстановимою трансформацию. В свое время я почитал теорию по данному вопросу и просмотрел имеющиеся в открытом доступе алгоритмы (в теме выше есть ссылки), а также ознакомился с алгоритмами голосовой идентификации. Это вообще сложная проблема, не имеющая однозначного решения и доказуемости: разница между "догадаться кто" и "доказать в суде" может быть значительна как в одну, так и в другую сторону в зависимости от обстоятельств.
Поражают ваши знания с одной стороны, и реальный продукт с другой, надо поощрить на перспективу :)
Особенно на долгожданный порт под линукс.
Вот Гугл умеет голос в текст распознавать, и недавно это стало возможно даже локально, без интернета. По моему самое оно!
– MorphVOX
– AV Voice Changer Software
– Scramby
– VoiceMask Pro
- MorphVOX
– Scramby
Scramby
Ну вот и взялись бы имеющие такие опыт и знания да и написали! Совместными бы усилиями глядишь дело бы и быстрее пошло...
Ну нужна распознавалка из голоса в текст и читалка из текста в голос. Самая лучшая изменялка голоса. Вообще можно в таком случае не голос, а текст передавать. А для пущей секретности ещё переводить туда-сюда.
Вот в Андроиде Гугл-переводчик теперь умеет работаль локально, файл порядка 150 мб на язык. Ежли б кто отвинтил и прикрутил...
Хотя вот писали, что не очень то это и помогает... Но, надеюсь, от этого хоть хуже не будет.
Но, надежда категория не научная – а вдруг такое хитрое совпадение, что идентификация по голосу наоборот улучшится? Ну типа как вот про каскадное шифрование не доказано нифига. А раз ненаучно, то – оффтоп!