Escolar Documentos
Profissional Documentos
Cultura Documentos
O princípio básico de funcionamento do mecanismo SIPS, Fig. 2. Pilha IP para o protocolo RTP
conforme figura 1 é baseado em criptografia de chaves
públicas com a encriptação do TLS sendo em cima de Como num ambiente VoIP o atraso é um agravante para
certificados digitais. Abaixo um exemplo de funcionamento: uma comunicação adequada, o desenvolvimento do SRTP
• O cliente SIP conecta ao servidor SIP. exigiu uma atenção especial com o objetivo de garantir sua
• O cliente SIP solicita uma sessão TLS do servidor SIP. eficiência no consumo da largura de banda e processamento
• O servidor SIP responde com um certificado público para minimizar a latência da comunicação.
válido. O principio básico de seu funcionamento é a troca de chaves
• O cliente SIP valida o certificado. simétricas negociadas entre as partes envolvidas usando
• O cliente SIP e o servidor SIP trocam chaves únicas de método de offer/answer no corpo das mensagens SIP
sessão. responsáveis pela negociação dos parâmetros de mídia,
• As chaves de sessão criptografam e descriptografam os formato e propriedades denominado de Session Description
dados para a sessão estabelecida. Protocol (SDP).
Analisando o pacote RTP após passar pelo mecanismo
SRTP, podemos observar que o campo payload (em conjunto
com o RTP padding e pad count) é cifrado e também é
adicionado um novo campo denominado authenthication tag.
Além disso, também pode conter outro campo denominado
MKI (Master Key Index), porém esse de uso opcional. Abaixo
a figura 3 ilustrando o pacote SRTP.
III. SRTP
O principal mecanismo usado para criptografia de mídia é o
SRTP. Esse mecanismo de segurança do RTP foi desenvolvido
Fig. 3. Pacote SRTP
B. Contexto Criptográfico
O algoritmo de criptografia do SRTP é de difícil
entendimento. Esse algoritmo consiste em ambos os lados
(Chamador e recebedor) manterem informações do estado Fig. 4. Contexto criptográfico
criptográfico. Essa informação é chamada de contexto
criptográfico [2]. A segurança da criptografia depende do
segredo da chave, e não do algoritmo que, geralmente, é de C. Derivação De Chaves
domínio público, para isso o SRTP usa dois tipos de chaves: O algoritmo de derivação de chaves é independente dos
Session Keys e Master Keys. As Session Keys são chaves algoritmos de criptografia ou autenticação utilizados [3]. Uma
criptografadas geradas a partir do processo de derivação de vez que a taxa de derivação de chave é definida no início da
chaves sob uma mesma Master Key com o intuito de dificultar sessão, não há necessidade de comunicação adicional entre as
a quebra da criptografia, tornando assim o grau de combinação partes que utilizam a derivação de chave SRTP. Descrito na
de dados mais alto, já que precisaria das demais Session Keys Figura 5, esta uma ilustração de como o algoritmo de
derivadas por esta mesma Master Key para ser gerada. As derivação de chaves trabalha:
Master Keys são uma cadeia de bits aleatórios da qual as
Session Keys são derivadas de uma forma criptograficamente
segura, sendo muito difícil a quebra desse código.
O contexto criptográfico é composto conforme a figura 4:
• contador de Rollover (ROC): conta quantas vezes o
numero sequencial de 16-bits do RTP foi reposto a zero depois
de passar por 65535;
• identificador para o algoritmo de encriptação;
• identificador para o algoritmo de autenticação de
mensagem;
• lista de reprodução (mantido pelo receptor apenas);
• indicador MKI;
• a(s) Master Key(s), aleatória(s), compartilhada(s) e
secreta(s); Fig. 5. Modelo de derivação de chaves
• para cada Master Key, um contador de quantos pacotes
SRTP foram processados com a Master Key; D. Processamento De Pacotes SRTP
• o comprimento da Session Key para criptografia e
Uma vez que o contexto criptográfico foi inicializado, a
autenticação;
codificação das mensagens é realizada da seguinte forma [3]:
• Master Salt usado na derivação de chave das Session
• Determina quais contextos criptográficos usar;
Keys;
• Determina o índice do pacote SRTP;
• taxa de derivação de chave (um inteiro em {1~224});
• Determina o Master Key e o Master Salt;
• valor MKI;
• Determina as Session Keys e o Session Salt;
• TTL de uma Master Key.
• Criptografa o Payload com o algoritmo de criptografia
indicado no contexto de criptografia com a Session Key e o
Session Salt;
• Se o indicador de MKI é definido como um, acrescentar a
MKI para o pacote; linha o atributo de criptografia na linha ‘a=’. Exemplo abaixo:
• Calcula a tag de autenticação com o ROC, os algoritmos
de autenticação e a chave de autenticação de sessão; m=audio 49170 RTP/SAVPF 0 96
• Se necessário, atualizar o ROC utilizando o índice do a=crypto:AES_CM_128_HMAC_SHA1_32
pacote determinado na etapa 2 [2]. inline:d/16/14/NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJ
Após completar as 8 etapas o pacote é enviado cabendo ao ShpX1Zj/2^20/1:32
receptor descriptografar o Payload conforme o fluxograma
baixo. Para o cenário onde o chamador aceita tanto SRTP quanto
RTP, o perfil deverá ser AVP ou AVPF no campo ‘proto’ da
linha ‘m=’, porém a linha ‘a=’ continua com o atributo de
criptografia configurado.
IV. CONCLUSÕES