/Privet

Привет - Serverless-приложение для видеозвонков на основе WebRTC. Данное решение является одним из наиболее безопасных способов совершения видеозвонков

MIT LicenseMIT

Privet

Привет - Serverless-приложение для видеозвонков на основе WebRTC. Данное решение является одним из наиболее безопасных способов совершения видеозвонков.

Что делает данное приложение безопасным?

  1. Приложение использует протокол WebRTC, который по умолчанию шифрует данные на всем этапе совершения вызова
  2. Приложение работает без сервера, что позволяет пользователям самостоятельно установить P2P-соединение и, следовательно, не передавать никакие личные данные третьим лицам

Чем данное данное решение отличается от других?

Для наглядности рассмотрим следующие схемы: AS-IS и TO-BE:

1. AS-IS:

AS-IS

При такой модели приложение использует 3 сервера:

  • Signaling Server
  • STUN Server
  • TURN Server

Использование данных серверов необходимо для передачи данных для подключения между пользователями.

Проблема использования данного метода связи заключается в том, что данные пользователя могут быть скомпрометированы в случае их передачи недобросовестным 3-м лицам.

2. TO-BE:

TO-BE

При такой модели (Целевом решении) пользователи обмениваются данными для подключения непосредственно, без использования предопределенных серверов и, следовательно, могут самостоятельно установить P2P-соединение, которое будет по умолчанию зашифровано согласно протоколу WebRTC.

Такое решение является одним из способов создания безопасного подключения с использованием VoIP (Voice over Internet Protocol).

Несмотря на то, что данные все равно передаются через 3-и сервисы (но иные от тех, которые предлагаются компанией-изготовителем ПО), данные пользователей намного сложнее скомпрометировать, так как пользователи вправе выбирать любой удобный для них источник передачи данных. Результатом этого является то, что потенциальному хакеру будет сложно предугадать платформу, которая будет использоваться для передачи данных.

Недостатки данного метода передачи данных

Несмотря на преимущества данной модели установления связи, необходимо подчеркнуть и следующие недостатки:

  • Пользователям необходимо вручную передавать друг другу файлы с данными о подключении (как минимум для установления первичного подключения)
  • Пользователи должны заранее договориться о совершении звонка, так как в случае, если один из пользователей позвонит другому без предупреждения, второй не увидит того, что с ним пытаются связаться

Вывод

Хотя это решение и обладает некоторыми недостатками (преимущественно в рамках UX), оно является одним из наиболее безопасных на данный момент.

Будущее проекта

Целью данного проекта был поиск наиболее безопасного способа установления связи между пользователями. В ходе реализации данного проекта было также установлено, что потенциально более безопасным решением будет использование E2EE и технологии блокчейна.