Я разрабатываю мобильный софтфон SIP, заказчику необходимо полностью скрыть SIP-сообщения с софтфонов на SIP-серверы, поскольку VOIP-вызовы запрещены на региональном уровне, однако использование соединения TLS было недостаточным, поскольку заголовки сообщений легко распознаются как SIP-сообщение. Каковы наилучшие общие альтернативы? как насчет openvpn, туннелирования IPSec?
Как скрыть SIP-соединение
Ответы (1)
Передача SIP через TLS означает, что заголовки SIP будут доступны для просмотра только в том случае, если кто-то сможет скомпрометировать ваши ключи TLS, то есть это маловероятно, если только какое-либо агентство национальной безопасности не занимается вашим делом.
Вы можете столкнуться с тем, что порт 5061 заблокирован, поскольку он используется по умолчанию и, следовательно, является хорошо известным портом SIP TLS. Чтобы обойти это, просто используйте другой порт для подключения SIP TLS. Что касается любого, кто просматривает трафик, если он не судится с портом 5061, они не будут знать, что SIP используется в вашем потоке TLS.
Конечно, вам также необходимо учитывать трафик RTP, который будет передавать звуковую часть вызова после его настройки SIP. Стандартизированных портов для RTP не существует, но некоторые популярные программные коммутаторы VoIP по умолчанию используют определенные диапазоны. Например, Asterisk использует UDP от 10 000 до 20 000. Чтобы обойти это, вам действительно нужно использовать SRTP, но его будет сложнее настроить, поскольку его поддерживают не так много пользовательских агентов и серверов SIP. Это также будет легче обнаружить для тех, кто следит за вашим трафиком, поскольку даже не зная содержимого, профиль RTP-пакетов можно будет обнаружить. Тем не менее, вероятно, потребуется сложный объект, отслеживающий ваш трафик, чтобы обнаружить вызов VoIP с использованием SIP через TLS на нестандартном порту и вызов SRTP среди общего шума интернет-трафика.