Имеет ли это смысл в терминах производительности и задержки?Насколько я знаю, TOR - это протокол транспортного уровня, который пытается инкапсулировать ячейки с помощью луковичной маршрутизации для повышения конфиденциальности.Поскольку sip широко используется в качестве протокола сеанса для VoIP-вызовов, что вы думаете о производительности этого воплощения?
3 ответа
В этом году я защитил диссертацию, тема которой была SIP over Tor. Вскоре вы сможете прочитать статью, которую мы готовим по этому поводу.
Кстати, я сделал измерения задержки при использовании SIP поверх Tor, и я могу сказать, что результаты довольно интересные. Серверы как звонящего, так и вызывающего абонента должны использовать Tor, поэтому, если у них действительно быстрое интернет-соединение, задержка не так велика, как вы думаете.
Настоящая проблема SIP заключается в том, что в установлении вызова могут вмешиваться многие ненадежные прокси. Это где вам нужна система защиты конфиденциальности, как Tor.
Предположим, Боб хочет позвонить Алисе. Его смартфон использует Orbot для подключения к сети Tor. Алиса зарегистрирована на сервере А. Если сервер А использует Tor для своих подключений, он будет повторно передавать сообщение INVITE Алисе через Tor. После этого Алиса ответит последнему узлу Tor, который отправил запрос. В этом случае обе стороны защищены, а Tor используют только сервер вызывающего абонента и сервер вызывающего абонента.
Как известно, Tor работает только по протоколу TCP, тогда как службы VoIP работают по протоколу UDP, что обеспечивает немного большую задержку. Но эта задержка в реальных действиях НЕ заметна. Кроме того, Tor будет использоваться только при установлении вызова. После установления вызова пользователи могут общаться друг с другом без использования Tor. Не очень разумно использовать Tor в прямом соединении «пользователь-пользователь».
Помните, что просто использование TOR для SIP (а не для фактических данных) не подходит для анонимизации вашего соединения.
Использование VoIP поверх TOR определенно глупо, потому что TOR медленный по своей природе. Ваш трафик будет проходить через несколько узлов, некоторые из которых являются обычными домашними широкополосными соединениями. Каждое соединение добавляет задержку, по моему опыту с довольно большим (задержки более 200 мс являются более чем обычными, и это не мой конец).
Производительность (пропускная способность) действительно зависит от вашей удачи. Вы можете получить быстрое соединение или нет. И это также регулярно меняется, поэтому быстрое соединение может измениться на ужасно медленное. Помните, что ваше соединение медленное, как самая медленная связь между вами и выходным узлом.
Я запустил Asterisk VoIP сервер поверх OpenVPN в скрытом сервисе Tor. Работает с задержкой 1с.
Сначала создайте OpenSSL CA с Easy-RSA или OpenSSL для OpenVPN.
Это файл конфигурации сервера OpenVPN:
tls-server port 1194 proto tcp dev tun ca /etc/ssl/ca.crt cert /etc/ssl/server.crt key /etc/ssl/server.key dh /etc/ssl/dh2048.pem topology subnet server 10.0.0.0 255.255.0.0 ifconfig-pool-persist ipp.txt keepalive 10 120 cipher AES-256-CBC max-clients 100 persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log log-append /var/log/openvpn-append.log verb 3 auth SHA512
Это файл конфигурации клиента OpenVPN:
client dev tun proto tcp remote svntrqfgsa7jgnpm.onion 1194 resolv-retry infinite nobind persist-key persist-tun ca /home/norbert/new/ca.crt cert /home/norbert/new/demo-alice.crt key /home/norbert/new/demo-alice.key cipher AES-256-CBC auth SHA512 verb 3 socks-proxy 127.0.0.1 9050 remote-cert-tls server
Это файл конфигурации Asterisk sip.conf:
[general] transport=udp port=5060 bindaddr=10.0.0.1 disallow=all allow=ulaw allow=alaw allow=gsm directmedia=no nat=yes localnet=10.0.0.0/255.255.0.0 [friends_internal](!) type=friend host=dynamic context=from-internal disallow=all allow=ulaw allow=alaw allow=gsm [demo-alice](friends_internal) secret=password [demo-bob](friends_internal) secret=password
Это файл конфигурации Asterisk extensions.conf:
[from-internal] exten=>6001,1,Dial(SIP/demo-alice,20) exten=>6002,1,Dial(SIP/demo-bob,20)
Это файл конфигурации torrc сервера скрытой службы Tor:
HiddenServiceDir /usr/local/torhs/winternight/ HiddenServicePort 1194 127.0.0.1:1194
Это файл конфигурации клиента Tor:
SOCKSPort 9050
Это все. Работает с задержкой 1с.
Документировано в этих уроках:
Наслаждаться. :)