Resumo

  • O agente controlador do ICE nomeia um par válido por componente; em conflito entre dois agentes completos, os valores aleatórios de 64 bits definem quem conserva esse papel.
  • O número maior não identifica o participante nem comprova autorização, propriedade do endereço, consentimento humano, proteção da mídia ou êxito do serviço.

O protocolo distribui trabalho, não soberania

Dois agentes podem iniciar uma negociação afirmando o mesmo papel. Cada um já escolheu uniformemente um desempate entre zero e 2^64 menos um. A comparação dos atributos ICE-CONTROLLING ou ICE-CONTROLLED permite que um permaneça controlador e que o outro troque de função; uma resposta 487 Role Conflict corrige a divergência.

O mecanismo não consulta quem fez a chamada, quem enviou a primeira oferta, quem paga a conta ou quem administra o equipamento. A troca de papel tampouco cria um novo número. O valor não é uma credencial: é uma forma econômica de impedir que duas máquinas executem a mesma decisão.

Por isso, chamar o controlador de “dono da sessão” ou “ponta autorizada” altera a semântica. O painel passa a conceder uma autoridade que a troca na rede nunca observou.

A escolha só faz sentido depois dos testes

O ICE reúne candidatos de host, reflexivos e de relay, troca-os por uma conexão de sinalização preexistente, monta pares ordenados e faz verificações STUN. Uma transação bem-sucedida pode incluir o par na lista válida, demonstrando que as mensagens de teste percorreram aquele caminho nos dois sentidos naquele momento.

Só então o controlador aplica sua política local. Na nomeação regular, envia uma verificação com USE-CANDIDATE. A RFC 8445 preservou esse método e retirou a nomeação agressiva da RFC 5245.

Prioridade, sucesso da verificação, validade, nomeação e seleção são registros independentes. Uma prioridade alta é preferência, não alcance. Um par válido ainda pode não ser nomeado. Um par selecionado pode perder a atualidade. Um único estado “conectado” apaga justamente as transições necessárias para explicar uma falha.

A sinalização empresta seu limite de confiança

O ICE pressupõe que os agentes já dispõem de sinalização; ele não atravessa NAT para criar esse canal. Candidatos, fragmentos de usuário e senhas de curta duração chegam por essa fronteira externa. A integridade STUN protege as verificações, mas seu significado depende de as credenciais terem chegado ao interlocutor correto.

Se a sinalização for adulterada, o ICE pode executar corretamente sobre informações falsas. A análise de segurança da RFC 8445 contempla falsos inválidos, falsos válidos e falsos candidatos reflexivos. “Válido” é uma conclusão delimitada pela transação e pela chave, não uma escritura sobre o endereço nem uma prova universal de identidade.

É preciso guardar a origem das credenciais ao lado do resultado. Sem ela, a verificação diz apenas que a mensagem corresponde àquela chave, não por que a chave representava a parte esperada.

O consentimento precisa continuar vivo

A RFC 7675 trata o sucesso inicial do ICE como consentimento inicial da aplicação para enviar ao par. Ela também esclarece que não há intervenção humana. O consentimento vale para um único 5-tuplo e deve ser renovado por pedidos e respostas periódicos.

O registro do par selecionado pode sobreviver enquanto a última prova de consentimento expira. O ICE sozinho não informa quando o consentimento termina. Sistemas honestos separam o par escolhido, o 5-tuplo coberto, a última renovação e a autorização humana ou empresarial obtida em outro lugar.

O caminho também não garante a carga. Confidencialidade, integridade e autenticação da mídia pertencem a outros protocolos; a aplicação decide se decodificou e aceitou os dados. Seleção não comprova áudio útil, satisfação do usuário ou cumprimento de SLA.

Alcançar não é possuir

A RFC 8828 protege candidatos de host porque a divulgação pode expor topologia. Conhecer ou alcançar um endereço não dá licença para publicá-lo. A RFC 5128 mostra ainda que conexões diretas podem falhar e exigir relay. Um par nomeado não é necessariamente direto, barato, estável ou independente.

Em vez de um selo verde, o histórico deve manter uma escada: alegação de papel, resolução do conflito, sinalização autenticada, integridade STUN, par bem-sucedido, nomeação, seleção bilateral, consentimento atual, tráfego protegido, aceitação pela aplicação e resultado do serviço.

A disciplina de camadas de realidade de Lu Heng impede que um recibo de baixo nível tome emprestada a autoridade de outro. A RFC 5245 hoje é histórica; a RFC 8445 substituiu o procedimento comum e a RFC 8839 separou o uso com SDP. A versão correta importa na auditoria, mas a fronteira permanece: o desempate distribui uma tarefa, não governa a sessão.

Fontes