SRTP, шифрование

 

Сервисы Общения Форумы Телефония SRTP, шифрование

Помечено: 

В этой теме 56 ответов, 9 участников, последнее обновление  Nobody 2 года/лет, 11 мес. назад.

Просмотр 20 сообщений - с 1 по 20 (из 57 всего)
  • Автор
    Сообщения
  • #9494

    Demon
    Участник

    Попробовал настроить сегодня SRTP. Результаты неоднозначные.
    Пробовал на Zoiper и PhonerLite… и результат один и тот же:
    – исходящие звонки на служебные (0202), на внутренние работают. Показывает шифрацию медиа
    – входящие звонки не работают.
    Причём странно… пакеты “уходят”, но ответа ни от Zoiper, ни от PhonerLite нет! Ни ошибок.. ничего.
    Причём в журнале PhonerLite тишина…

    Я начал грешить на свой роутер (вдруг TLS пакеты не туда передаёт, но ведь с TLS без SRTP прекрасно работает!)… переключил смартфон на 3G и… поймал вторую непонятку: Zoiper считает что авторизовался, а вот статус endpoint’а на asterisk – Unavailable.
    Чудеса в решете.

    Если желаете острых ощущений… можете попробовать включить SRTP: в настройке технических параметров устройства на сайте появился новый “шаблон”. Пока что это такие параметры на сервере (для понимающих):
    media_encryption=sdes
    media_encryption_optimistic=no
    transport=transport-tls
    , т.е. насильное шифрование sdes, транспорт исключительно TLS. avpf включать не стал.

    #9500

    Андрей
    Участник

    На PhonerLite включил TLS + SRTP + ZRTP.
    Работают исходящие на внутренние номера и внешние линии.
    Работают входящие с внутренних и внешних линий.
    Шифруются ли пакеты в действительности? Это нужно проверять снифером.
    ZRTP хоть и включено, но не работает, т.к. не выдаются ключи для согласования.
    При включении на терминале ZAVP звонки не идут, что и оговорено: “avpf включать не стал”.

    В теме “А всё-таки просветите насчёт шифрования звонков” написано:
    “У меня на CSipSimple постоянно включен TLS+ZRTP… SRTP вряд ли работает, т.к. накладывает жёсткие требования на обязательность шифрования и, вроде бы, наличие клиентских сертификатов, которых у вас точно нет… Астериск не поддерживает zrtp”.
    Давайте проясним.
    1)
    Уже в параметрах для Т37 сервера указано: transport=transport-tls.
    С TLS подключение безопасно, и подсмотреть регистрационные данные нельзя, хотя сами переговоры не шифруются. Чтобы включить SRTP, достаточно добавить одну строку в файле iax.conf или sip.conf:
    encryption=yes
    Перезапускаем настройки командой sip reload/iax2 reload, опционально можно провериться, загружен ли модуль
    CLI> module show like res_srtp.so
    Источник: http://samag.ru/archive/article/2742

    2)
    Поддержка ZRTP может быть экспериментально добавлена в Asterisk с помощью набора патчей, разработанных в рамках проекта Zfone. При этом для работы протокола используется libZRTP. Патч и инструкция до сих пор доступны по адресу:
    http://zfoneproject.com/prod_asterisk.html

    3)
    В настройке устройств Т37 появился пункт “Шаблон”, с возможностью выбора “device” и “device-srtp”.
    Значит ли это, что для включения srtp шифрования нужно изменить данный шаблон для устройства на “device-srtp”?

    P.S. В связи с распространением IP телефонии, изначальной незащищенностью протоколов для голосового трафика, ростом “угрозы терроризма” и Сноуден модой тема шифрования будет подниматься постояннно. Поэтому лучше разобраться с этим чем раньше, тем лучше.

    #9501

    Demon
    Участник

    1) Эта инструкция написана для chan_sip. В сервисе сейчас используется res_pjsip

    2) Эта инструкция и патчи написаны для asterisk 1.4. Я практически уверен что оно неприменимо для 1.13… тем более res_pjsip.
    А вот ответ: http://asteriskfaqs.org/2015/10/05/asterisk-users/does-res_pjsip-support-zrtp.html
    Похоже что libZRTP требуется лицензирования… а потому, точно так же как с opus, не может быть включена в официальный asterisk.
    А недостатком всех этих “кастомных” решений является то, что их поддержка рано или поздно (обычно рано) прекращается 🙁
    Ставить FreeSWITCH ради ZRTP, OPUS… пока не решился.

    3) Да… для включения насильного SRTP пока что нужно сменить шаблон и перенастроить устройство.
    Замечено.. что если после вновь сменить на шаблон ‘device’ нужно софтфон перевести с TLS на UDP… и обратно. иначе входящие так и не доходят.

    P.S. IP-телефония распространяется совсем иначе… через “проприетарные” закрытые решения типа Skype, Viber, Telegram, Facebook, Hangouts.. Пользователи выбирают функциональный простой клиент (с сообщениями, звонками, видео). Протоколу SIP и клиентам на нём… до этого очень-очень далеко. О сообщениях в SIP я вообще лучше промолчу.

    #9511

    Nobody
    Участник

    Дмитрий, вы правы, телефония распространяется, чтобы получить прибыль, либо в виде прямого дохода, либо в виде продажи метаданных. Поэтому все эти удобные программы и существуют. Но существуют также и прекрасные опенсорсные проекты типа RedPhone с zrtp в основе, или пока недопиленные tox, ring и т.д.

    Голый sip нормально работает “из коробки”. К примеру pbx in a flash (incredible pbx).

    Но шифрование очень нишевый продукт, к сожалению, очень мало людей людей понимают важность приватности и слова Сноудена дойдут до 10% населения максимум.
    Большинству подавай вырвиглазные картинки из вайбера и то, что они являются маленькой батарейкой в индустрии рекламы их не тревожит. Ровно до тех пор пока отправленная фотография своих половых органов подружке не попала в открытую сеть. После этого начинается кудахтанье, которое пропадает в шуме довольных наблюдателей этой картинки.

    Приватность частных данных, является обязательным условием свободной жизни. Обсуждаю ли я футбол или крупную сделку. Лишая себя этого права, ты лишаешь себя еще одной степени свободы в итак весьма несвободном современном мире. С миру по нитке и “клетка” готова…

    Поэтому я ЗА шифрование и использование операторов только в качестве источника интернета. Хотя реальность такова, что приходится пользоваться “выходом”. И если бы talk37 мог быть таким удобным выходом и в скайп, и в гугл, и на операторов – стало бы чуть проще, чуть приватней. Хотя бы до сервера talk37, хотя истинный параноик доверять чужому серверу не будет. Но по крайней мере такие локальные позволяют не держать все яйца в одной корзине, читай на сервере оператора в привязке в твоему телефону.

    #9519

    Demon
    Участник

    Итак… у меня получилось добиться прохождения звонков в обе стороны с шифрованием TLS+SRTP на Zoiper и PhonerLite.
    В обеих случаях отображается замочек и шифрование SDES.

    #9520

    Demon
    Участник

    Завтра попробую сделать шифрование “необязательным”… т.е. чтобы не требовалось переключать “шаблоны” в устройствах.

    #9521

    Demon
    Участник

    Не дождался завтра 🙂 Точнее уже завтра (ночь), но не суть 🙂
    Попробовал одну опцию (отключающую обязательность шифрования на сервере).
    Получилось что если клиент требуется шифрования… он его получает. Если не требует, то не получает.
    Можно включить ВСЕМ устройствам… и если устройство затребует, то получит.
    Против этого есть два соображения:
    1. Если включить опциональное шифрование у всех, то при вызове в SIP пакете посылается предложение шифровать “a=crypto:1 AES_CM_128_HMAC_SHA1_80”.
    И хоть SRTP существует давно… нет уверенности что ВСЕ устройства это переварят и не будут отказывать.
    2. Шифрование есть шифрование. Если я его включил, то я хочу быть уверен что оно есть. В этом смысле настройка шаблона на сервере несколько “гарантирует”. Иначе… что-то с клиентом случилось или я перенастроил и забыл SRTP включить на устройстве и… разговор идёт нешифрованным.

    что думаете?

    P.S. можно оставить “шаблоны” и сделать их “три”: с опциональным шифрованием (дефолтный), без шифрования, с насильственным шифрованием.

    #9536

    Demon
    Участник

    К сожалению, Zoiper не умеет передавать Video в SRTP.. потому если включено шифрование, то видеозвонки становятся недоступны.

    #9546

    Saymer
    Участник

    Может быть и правда сделать два или даже три шаблона. Будет демократия и каждый сможет выбрать для себя шаблон, который будет по нраву каждому пользователю. На любой вкус шаблон будет так сказать.

    #9547

    Demon
    Участник

    Два шаблона уже есть.
    Мои Zoiper на смартфоне и PhonerLite на ноуте постоянно подключены через TLS+SRTP. Пока проблем кроме неработающего Video не обнаружены

    #9549

    AndyRadist
    Участник

    Zoiper на компе и на Андроиде без шифрования работает (профиль device), а с TLS-SRTP не хочет нормально работать (профиль device-srtp). Пока не разобрался почему.
    Так, вроде разобрался. В настройках TLS в подпункте меню настроек “Дополнительно” следует убрать галку с “использовать только сильное шифрование”

    #9550

    Demon
    Участник

    Не знаю как на компе, на андройде галочка “Use only strong ciphers” у меня изначально включена.

    #9555

    Dominique
    Участник

    Сейчас попробовал звонок через CSipSimple, появился замочек и надпись SRTP на жёлтом фоне – видимо, всё работает 🙂
    А вот как понять, работает ли TLS? В инфо о звонке об этом ни намёка.

    Особенно смущает то, что при установленной опции TLS звонки всё равно проходят также на учётку моего собственного Астериска, на котором шифрование отродясь не включено.

    #9557

    AndyRadist
    Участник

    Попробовал Zoiper, не получилось работы в защищённом режиме. Такое впечатление, что RTP поток не проходит или смарт шифрование не отрабатывает. Снёс, поставил лёгкий Сипдроид и пока остался в открытом режиме.
    Будет в руках другой смарт – попробую снова.

    #9559

    vbog
    Участник

    А вот как понять, работает ли TLS? В инфо о звонке об этом ни намёка.

    Если в CSipSimple на желтом поле не написано TLS, то его нет. Когда есть, то написано.
    SRTP есть, но без TLS ключи передаются в открытом виде, т.е. если противник сильный, то он Вас прослушает.

    Особенно смущает то, что при установленной опции TLS звонки всё равно проходят также на учётку моего собственного Астериска, на котором шифрование отродясь не включено.

    Вот это не понятно.

    Если Вы звоните на свой Астериск через Talk37.ru, то TLS с Вашего телефона на Talk37.ru и кончается, все логично.

    А если звоните на Астериск напрямую, с включенным TLS в телефоне, а на Астериске его нет, но все равно соединяется, то это странно.

    #9560

    VOG
    Участник

    А я чуток не шарю, но…
    Подскажите!
    В аккаунте в устройстве выбрал device-srtp…
    При попытке звонка с zoiper на мобильный – все звонки сбрасываются и позвонить не удаётся.
    Что и где настроить?

    #9561

    Demon
    Участник

    @dominique ничего странного. В отличии от ZRTP режим SRTP работает только на один “leg”, т.е. шифрование происходит от софтфона до талк37. Звонок от талк37 до твоего asterisk – это настройки другого шлюза, в котором не указано шифрование.

    @andyradist, @valerchik2004
    1. при настройке указывать домен и прокси ruvoip.net (а не talk37.ru), т.к. именно на него выписал сертификат
    2. Настройка учётной записи, Encryption Settings: снять галочку ZRTP (если стоит) и поставить SRTP. После этого сам Zoiper предложит переключиться на TLS
    3. но стоит проверить: “Сетевые настройки”, “Тип транспорта”: должен стоять TLS. В сетевых же настройках включить использование RPORT для сигнала и для media (это для NAT)
    4. далее можно проверить: “Дополнительные”, “TLS options” и там включить “Use only strong ciphers” и “Protocol suite” поставить TLSv1.
    вроде бы всё…

    #9562

    Dominique
    Участник

    Если в CSipSimple на желтом поле не написано TLS, то его нет. Когда есть, то написано.

    В таком случае TLS включено, но не работает.

    Если Вы звоните на свой Астериск через Talk37.ru, то TLS с Вашего телефона на Talk37.ru и кончается, все логично.

    Это-то всё понятно. Речь про прямой звонок через соответствующую учётку.

    А если звоните на Астериск напрямую, с включенным TLS в телефоне, а на Астериске его нет, но все равно соединяется, то это странно.

    Соединяться-то соединяется, но про TLS также ничего нигде не пишет.

    @dominique ничего странного. В отличии от ZRTP режим SRTP работает только на один “leg”, т.е. шифрование происходит от софтфона до талк37. Звонок от талк37 до твоего asterisk – это настройки другого шлюза, в котором не указано шифрование.

    Я звоню на свой Asterisk без участия Talk37

    #9563

    vbog
    Участник

    В таком случае TLS включено, но не работает.

    Так я и пишу, что по факту его нет, хоть и включено. Толку-то от того, что включено, если при конкретном соединении его нет. Нет надписи на желтом поле TLS, нет и шифрования сигнального трафика. Это даже еще хуже, чем просто не включено. Вы думаете, что включено, забыли посмотреть на замочек, и разговариваете, а Вас слушает противник.

    Я звоню на свой Asterisk без участия Talk37

    Странное дело, по идее должно отказывать в соединении, если шифрование включено как обязательное, а не опциональное.

    #9564

    vbog
    Участник

    при настройке указывать домен и прокси ruvoip.net (а не talk37.ru), т.к. именно на него выписал сертификат

    Не забыть записать порт 5061, через стандартный 5060 не работает!

    Подтверждаю, что на Zoiper связка TLS+SRTP работает. Позвонил сейчас на московский городской номер, зеленый замочек замкнут, звук идет в обоих направлениях без замечаний.

    Спасибо Demon за проделанную работу! Не многие коммерческие сервисы могут этим похвастаться!

Просмотр 20 сообщений - с 1 по 20 (из 57 всего)

Для ответа в этой теме необходимо авторизоваться.