WebRT C механизм шифрования SRTP - PullRequest
0 голосов
/ 08 марта 2020

WebRT C использует DTLS для шифрования SCTP (данных). Кроме того, он использует DTLS для обмена ключами SRTP (медиа). Но я не совсем понимаю, использует ли он также DTLS для шифрования SRTP. Поэтому мой вопрос: Использует ли WebRT C DTLS исключительно для обмена ключами (DTLS-SRTP) или шифрует SRTP дополнительно к своему внутреннему механизму шифрования (по крайней мере, по желанию)?

Почему я спрашиваю:
RF C 6904 , а также RF C 3711 утверждают, что SRTP обеспечивает аутентификацию, но не шифрование, заголовки RTP-пакетов. Таким образом, только полезная нагрузка SRTP зашифрована по своему замыслу.

Что меня смущает:
Многие источники утверждают, что WebRT C полностью зашифрован.

Я особенно интересует реализация WebRT C в gstreamer.

1 Ответ

0 голосов
/ 08 марта 2020

DTLS используется для рукопожатия, но затем извлекаются ключи и инициализируется контекст SRTP.

Я не знаком с GStreamer, но в Pion WebRT C мы подключиться через DTLS здесь . Клиенты WebRT C договариваются о том, какая сторона является сервером DTLS, а какая - клиентом DTLS через SDP.

Когда рукопожатие DTLS завершено, вы экспортируете материал ключа, вы можете увидеть, что здесь

Если вам интересно посмотреть, как работает SRTP, вы можете проверить pion / srtp . Это довольно просто, это всего лишь AES, а затем вы генерируете тег аутентификации. Вы можете увидеть все это здесь

...