Термин
DTLS-SRTP
Шифровальная пара, используемая WebRTC для медиа: DTLS (RFC 9147, апрель 2022) договаривается о ключах, SRTP (RFC 3711, март 2004) шифрует RTP-пакеты. End-to-end-зашифровано между peer-ами; обязательно в WebRTC.
WebRTC обязывает шифрование – режима «без шифрования» нет. Механизм – DTLS-SRTP: DTLS-handshake в начале соединения согласует ключи шифрования, которые затем используются SRTP для шифрования каждого RTP-пакета. DTLS (Datagram TLS) даёт key-exchange TLS поверх UDP. SRTP (Secure RTP) шифрует payload RTP через AES-128-GCM или AES-256-GCM, аутентифицирует заголовки и защищает от replay-атак.
Шифрование – между WebRTC-endpoint-ами: оба peer-а в peer-to-peer-звонке или peer-и-SFU в SFU-топологии. SFU сидит посередине шифрования: терминирует DTLS с каждым peer-ом отдельно и заново шифрует медиа своими ключами при пересылке. Это значит, что SFU видит расшифрованное медиа – необходимо ему для роутинга, simulcast-а и SVC-строки – но делает оператора SFU точкой доверия.
Для end-to-end-шифрования, проходящего сквозь SFU без раскрытия, WebRTC поддерживает Insertable Streams (W3C 2021) и связанные E2EE-дизайны (используют Google Meet E2EE, WhatsApp video, Zoom E2EE mode). Они навешивают дополнительный слой шифрования поверх SRTP, расшифровываемый только фактическими участниками, а SFU пересылает непрозрачные зашифрованные блобы. Сетап сложнее, зато SFU больше не подслушивает.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.