Библиотека ДонНТУ Портал магистров

Вязмин В.И. Анализ существующих протоколов передачи голосовых сообщений в мессенджерах с целью повышения эффективности средств защиты передаваемых данных / В.И. Вязмин, А.В. Чернышова // Материалы VI Международной научно-технической конференции Современные информационные технологии в образовании и научных исследованиях (СИТОНИ–2019) / Донец. национал. техн. ун-т; — Донецк, 2019. — C. 282-288 [Ссылка на сборник].

УДК 004.4

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

Вязмин В.И., Чернышова А.В.

ГОУ ВПО Донецкий национальный технический университет

E-mail: testerreality@gmail.com, chernyshova.alla@rambler.ru

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

Ключевые слова: мессенджеры, аудиоданные, поток, кодек, протокол, шифрование.

Введение

В момент, когда средняя скорость интернета по всему миру стала достаточно приемлемой для передачи значительного объема данных, начали появляться голосовые мессенджеры [1]. Мессенджер – это клиент-серверное приложение, может быть реализовано для пользователя как мобильное приложение или веб-сервис для мгновенного обмена сообщениями. Это направление развивается достаточно быстро и эффективно, что приводит к созданию по меньшей мере сотен, а то и тысячи мессенджеров разными фирмами-разработчиками программного обеспечения и отдельными программистами по всему миру. Организация общения между людьми с помощью голосовых мессенджеров является важной задачей, несмотря на множество существующих решений, так как вопросы защиты передаваемой информации всегда актуальны и нуждаются в тщательном анализе и усовершенствовании в соответствии с современными требованиями к безопасности.

Месенджеры – это новый способ поддержания связи между людьми при помощи обмена мгновенными сообщениями, в том числе и голосовыми сообщениями, вне зависимости от их географического положения. Подходы к реализации протоколов передачи голосовых сообщений у каждого разработчика свои. В данной статье рассмотрены наиболее часто используемые подходы к реализации потоковой передачи аудиоданных на примере популярных голосовых мессенджеров.

Обзор существующих голосовых мессенджеров

Одним из наиболее популярных голосовых мессенджеров в настоящее время является Viber [2]. Viber – это приложение для VoIP (Voice over Internet protocol) [3] и обмена мгновенными сообщениями с кроссплатформенными возможностями, которое позволяет пользователям обмениваться аудиои видео-звонками, а также мгновенными голосовыми и видео-сообщениями. Для передачи потоковых данных Viber использует протокол RTP [4]. Если необходимо шифровать данные, то поток RTP преобразуется в SRTP [5] и шифруется с помощью алгоритма Salsa20 [6] с использованием ключа сеанса. Для получения ключа сеанса каждая сторона генерирует 256-битную пару ключей Curve25519 [7], в которой используются уникальные идентификаторы устройств пользователей [8]. Данный ключ действителен только на время этого сеанса связи и не хранится на серверах, что гарантирует определенный уровень конфиденциальности.

Следующим, не менее известным мессенджером является Signal [9].

Signal – это приложение для обмена сообщениями, позволяющее совершать аудиои видео-звонки. Signal известен как наиболее безопасный на данный момент времени мессенджер, поскольку реализует очень надежное сквозное шифрование [10]. Вплоть до марта 2017 года голосовые звонки были зашифрованы с помощью протокола SRTP и протокола соглашения о ключах ZRTP [11]. Следовательно, для всех потоковых данных используется протокол RTP. Однако, на текущий момент времени Signal использует технологию WebRTC [12], в основе которой лежит все тот же RTP, однако для шифрования используется уже Signal Protocol [13]. Также, разработчики приняли во внимание, как работает кодирование аудиопакетов. Это связано с тем, что кодеки [14] с переменным битрейтом [15] могут создавать возможности для атак по побочным каналам. Поэтому команда обновила аудиокодек Signal с Speex [16] на Opus [17] . Кодек Opus будет использоваться с постоянной скоростью передачи данных (CBR), а не с переменной (VBR), что должно минимизировать утечку информации [18]. Следуя из всего вышеперечисленного можно сделать вывод, что Signal действительно является самым защищенным мессенджером на данный момент.

Однако, активные пользователи социальных сетей слышали и многие, вероятно, используют такой мессенджер, как Facebook Messenger [19].

Facebook Messenger – чрезвычайно популярное приложение для обмена сообщениями и связи. Оно работает в Chrome / Firefox и Opera [20], а также в Android и iOS [21]. Facebook Messenger скрывает используемые протоколы передачи данных, однако благодаря исследованиям под руководством Филиппа Ханке [22], можно сделать вывод, что данный мессенджер использует технологию WebRTC. Следовательно, потоковые данные проходят через протокол RTP. Поскольку Facebook Messenger владеет 10% мирового мобильного VoIP-трафика, то защищенность передачи данных не должна ставиться под сомнение. Однако, вместо DTLS [23] между мобильными клиентами используется старая схема шифрования SDES [24], которая является одним из методов обмена ключей SRTP. Широко известным недостатком SDES является то, что ключи шифрования отправляются через сигнальные сервера и могут использоваться для обратной дешифровки трафика, что ставит под вопрос приватность данного мессенджера. Однако стоит отметить, что с октября 2016 года в Facebook Messenger введена опция «Секретных сеансов связи», которая использует протокол Signal. Отсюда следует, что Facebook Messenger может быть достаточно надежным, если пользователи будут использовать данную опцию.

Обзор протоколов передачи голосовых сообщений

Каждый голосовой мессенджер так или иначе передает потоковые данные по сети. Как правило, для этих целей используется протокол RTP (Real-time Transport Protocol) – транспортный протокол в реальном времени. Именно он обеспечивает передачу данных в реальном времени. Данные RTP обычно доставляются по протоколу UDP [25], который является ненадежным транспортным протоколом. Следовательно, нет гарантии доставки пакетов на транспортном уровне. Пакеты будут приниматься в том порядке, в котором они были отправлены или пакеты будут отправляться с постоянной скоростью. Порядковые номера пакетов и временные метки позволяют приложению, принимающему пакеты RTP, восстанавливать последовательность пакетов отправителя, обнаруживать изменения в сети и соответствующим образом корректировать. На рисунке 1 представлена схема передачи аудиоданных по сети с использование протокола RTP.

Передача аудиоданных по сети с использованием протокола RTP

Рисунок 1 – Передача аудиоданных по сети с использованием протокола RTP

Использование протокола UDP для инкапсуляции пакетов RTP включает в себя определенные ограничения, такие как ошибки при передаче. В результате любая потерянная или поврежденная часть просто игнорируется. Протокол RTP служит для передачи звука и изображений, но никак не отслеживает целостность передаваемых данных. RTP не обеспечивает автоматическую повторную передачу пропущенных пакетов. Однако, передавать данные, используя только RTP неразумно с точки зрения безопасности передаваемых данных, поскольку они могут быть перехвачены третьими лицами. Следовательно, все мессенджеры, как правило, шифруют передаваемые данные и большинство мессенджеров для этих целей используют протокол SRTP.

Сегодня большая часть трафика VoIP отправляется без какой-либо криптографической защиты и уязвима с точки зрения прослушивания и модификации, поэтому использование средств защиты является актуальной задачей.

SRTP (Secure Real – Time Transport Protocol) представляет собой расширение протокола RTP, которое добавляет дополнительные функции безопасности, такие как аутентификация сообщений, их шифрование, проверка целостности и защита от замены данных, в основном предназначен для VoIP-коммуникаций. SRTP является одним из протоколов безопасности, используемых для технологии WebRTC. Как правило, в SRTP по умолчанию для шифрования используется AES-CM [26]. Основной причиной выбора AES-CM было отсутствие расширения полезной нагрузки (зашифрованная полезная нагрузка имеет ту же длину, что и исходная). Другая особенность AES-CM позволяет обрабатывать пакеты не по порядку, что подразумевает возможность обрабатывать пакеты параллельно. Под полезной нагрузкой подразумевается часть передаваемого пакета, в которой находится фактическое сообщение. Следовательно, можно сделать вывод, что все голосовые мессенджеры для передачи потоковых данных используют протокол RTP, поверх которого используют различные алгоритмы шифрования.

Использование распределенной архитектуры в голосовых мессенджерах

Распределенной системой является набор независимых серверов, которые являются для пользователя единой объединенной системой. В голосовых мессенджерах, как правило, передача медиаданных (RTP) происходит непосредственно между устройствами, не проходя через сервера, следовательно роль распределенных серверов именно при передаче потоковых данных не велика. Однако стоит отметить, что перед началом сеанса связи, пользователям необходимо согласовать необходимые порты, кодеки и вид шифрования, именно на этом этапе существенно упрощает задачу распределенная архитектура приложения. Распределенная архитектура приложения для обмена голосовыми сообщениями позволяет организовывать взаимодействие миллионов пользователей по всему миру, обеспечивая передачу данных в реальном режиме времени с надежной криптографической защитой передаваемой между пользователями информацией.

Выводы

Изучив возможности наиболее известных мессенджеров, а также принцип работы протокола обмена информацией в этих клиент-серверных приложениях, можно сделать вывод, что для потоковой передачи данных в большинстве известных мессенджеров служит протокол RTP. Для обеспечения защиты передаваемой информации поверх протокола RTP используются известные криптографические алгоритмы шифрования. Тем не менее, есть необходимость в более детальном изучении современных протоколов передачи голосовых и мгновенных сообщений, с целью повышения эффективности алгоритмов работы клиентской и серверной частей приложения, а также усовершенствование подходов в генерации, обмене, хранении ключей для криптографической защиты информации в голосовых мессенджерах.

Литература

  1. Обзор мессенджеров. Лучшие и популярные интернет мессенджеры // VoIPOFfice [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: http://www.voipoffice.ru/tags/messendzhery. – Загл. с экрана.
  2. Rakuten Viber // Viber [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.viber.com/ru/. – Загл. с экрана.
  3. Что такое VoIP? Технология цифровой аудиосвязи через интернет телефонию // VoIPOFfice [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.voipoffice.ru/tags/voip/. – Загл. с экрана.
  4. Протокол реального времени RTP // citforum [Электронный ресурс] – Электрон. дан. – 2004. – Режим доступа: http://citforum.ru/nets/semenov/4/44/rtp_4492.shtml. – Загл. с экрана.
  5. Объяснение протокола SRTP / nvpushkarskiy2 // habr [Электронный ресурс] – Электрон. дан. – 2018. – Режим доступа: https://habr.com/ru/company/Voximplant/blog/413165/. – Загл. с экрана.
  6. Salsa20 // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/Salsa20. – Загл. с экрана.
  7. Curve25519, EdDSA и Poly1305: Три обделенных вниманием криптопримитива / Scratch// habr [Электронный ресурс] – Электрон. дан. – 2015. – Режим доступа: https://habr.com/ru/post/247873/. – Загл. с экрана.
  8. Подводные камни идентификации Android-устройства / miproblema// habr [Электронный ресурс] – Электрон. дан. – 2018. – Режим доступа: https://habr.com/ru/post/434726/. – Загл. с экрана.
  9. Signal // Signal [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://signal.org/ru/. – Загл. с экрана.
  10. Сквозное шифрование: описание и принцип работы метода // comss1 [Электронный ресурс] – Электрон. дан. – 2015. – Режим доступа: https://www.comss.ru/page.php?id=2468. – Загл. с экрана.
  11. Защита от прослушивания разговоров – строим безопасную SIP телефонию своими руками / gevlichenko // habr [Электронный ресурс] – Электрон. дан. – 2015. – Режим доступа: https://habr.com/ru/company/ppbbxx/blog/253073/. – Загл. с экрана.
  12. WebRTC #1 – Знакомимся / Leestex // habr [Электронный ресурс] – Электрон. дан. – 2012. – Режим доступа: https://habr.com/ru/post/163527/. – Загл. с экрана.
  13. Протокол Signal // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/Протокол_Signal. – Загл. с экрана.
  14. Протоколы и кодеки IP-телефонии // CataMobile [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://catamobile.org.ua/protokoly-i-kodeki-ip-telefonii.html. – Загл. с экрана.
  15. Битрейт // wikiwand [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.wikiwand.com/ru/Битрейт. – Загл. с экрана.
  16. 1Speex // xgu [Электронный ресурс] – Электрон. дан. – 2013. – Режим доступа: http://xgu.ru/wiki/Speex. – Загл. с экрана.
  17. Основы кодирования аудио с потерями. Тестирование бетаверсии Opus 1.3 / Zeben // habr [Электронный ресурс] – Электрон. дан. – 2018. – Режим доступа: https://habr.com/ru/post/346532/. – Загл. с экрана.
  18. Классы сервиса ATM QoS (CBR, VBR, UBR) // admin-gu.ru – справочник сисадмина [Электронный ресурс] – Электрон. дан. – 2013. – Режим доступа: https://admin-gu.ru/network/klassy-servisa-atm-qos-cbr-vbr-ubr. – Загл. с экрана.
  19. Facebook Messenger // messenger [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.messenger.com/. – Загл. с экрана.
  20. Какой браузер лучше: Firefox, Chrome, Opera с точки зрения анонимности // thesafety [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.messenger.com/. – Загл. с экрана.
  21. Чем iOS лучше Android и чем хуже // Российская газета [Электронный ресурс] – Электрон. дан. – 2017. – Режим доступа: https://rg.ru/2017/10/25/chem‐ios‐luchshe‐android‐i‐chem‐huzhe.html. – Загл. с экрана.
  22. Hancke P. MESSENGER EXPOSED Investigative Report // webrtcH4cKS [Electronic resource]. – Access mode: https://webrtchacks.com/wp‐content/uploads/2015/05/messengerreport.pdf. – Загл. с экрана.
  23. Что такое Datagram Transport Layer Security (DTLS)? // VoIPNotes [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://voipnotes.ru/cho‐takoe‐datagram‐transport‐layer‐security‐dtls/. – Загл. с экрана.
  24. SDES // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/SDES. – Загл. с экрана.
  25. Протокол UDP и UDP-дейтаграммы // Компьютерные сети [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: http://iptcp.net/protokol-udp-i-udp-deitagrammy.html. – Загл. с экрана.
  26. Sameera Lakma A.G. AES-CM implementation in VoIP achieve media transport confidentiality. // researchgate [Electronic resource]. – Access mode: https://www.researchgate.net/publication/315825592_AES_CM_Encryptin_of_RTP_payloads. – Загл. с экрана.

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

Ключевые слова: мессенджеры, аудиоданные, поток, кодек, протокол, шифрование.

Vyazmin V., Chernyshova A. Analysis of existing voice messaging protocols in instant messengers in order to increase the efficiency of transmitted data protection tools. The article discusses the most popular instant messengers, describes their advantages and disadvantages. A brief analysis of voice messaging protocols has been performed, as well as the solutions used to protect transmitted messages in instant messengers.

Keywords: messengers, audio data, stream, codec, protocol, encryption.