videocalling
Illustration of DTLS (Datagram Transport Layer Security) in video calling

DTLS (Datagram Transport Layer Security)

glossary.categories.protocol

Um protocolo de segurança que fornece privacidade e integridade de dados para aplicações baseadas em UDP.

O que é DTLS?

Datagram Transport Layer Security (DTLS) é um protocolo de comunicações que fornece segurança para aplicações baseadas em datagramas (como aquelas executadas em UDP). É baseado no protocolo Transport Layer Security (TLS) — o mesmo protocolo usado para proteger websites HTTPS — mas adaptado para conexões de transporte não confiáveis.

Por Que o UDP Precisa de Segurança Especial

O TLS padrão requer um fluxo confiável de dados (TCP). Se um pacote é perdido, o TLS para e espera pela retransmissão. Isso causa atrasos inaceitáveis para vídeo em tempo real.

O DTLS resolve isso permitindo perda de pacotes e reordenação. Ele não quebra o handshake ou contexto de criptografia apenas porque alguns pacotes desaparecem, tornando-o perfeito para mídia em tempo real.

Papel no WebRTC

No WebRTC, o DTLS é obrigatório. Ele serve a dois propósitos principais:

  • Troca de Chaves (SRTP): O DTLS realiza um handshake para trocar de forma segura as chaves de criptografia usadas pelo SRTP (Secure Real-time Transport Protocol). Uma vez que as chaves são trocadas, os dados reais de vídeo/áudio são enviados via SRTP.
  • Canais de Dados: Para dados que não são mídia (como mensagens de chat ou transferências de arquivo enviadas via SCTP), os dados são encapsulados diretamente dentro de pacotes DTLS.

Recursos de Segurança

O DTLS previne espionagem (privacidade), adulteração (integridade da mensagem) e falsificação de mensagens. Ele garante que você está se comunicando com quem você pensa que está, e que ninguém no meio pode ler ou modificar o fluxo.