Suporte de Segurança de Tempo de Rede (NTS) para NTP
O NTS fornece segurança criptográfica para sincronização de tempo de rede e oferece suporte ao modo cliente-servidor do NTP.
Visão geral da NTS
O NTS fornece segurança criptográfica para sincronização de tempo de rede e oferece suporte ao modo cliente-servidor do NTP. O NTS usa o protocolo de Segurança da Camada de Transporte (TLS) e a Criptografia Autenticada com Dados Associados (AEAD) para obter tempo de rede de maneira autenticada para os usuários. O NTS também fornece suporte para criptografia de campos de extensão NTP.
Os processos de segurança mais importantes dependem do tempo preciso. A sincronização de tempo de rede de uma fonte maliciosa leva a sérias consequências. A ativação do NTS garante uma sincronização precisa do horário da rede em seu dispositivo.
A partir do lançamento 24.2R1 do Junos OS Evolved, a conformidade com o RFC 8915 para Segurança de Tempo de Rede (NTS) usando o Protocolo de Tempo de Rede (NTP) é suportada em dispositivos da Série ACX, Série QFX e Série PTX. O NTS fornece segurança criptográfica para sincronização de tempo de rede e oferece suporte ao modo cliente/servidor do NTP.
Esse recurso de conformidade com RFC 8915 dá suporte a:
- Configuração de local-certificate para servidor e opções de verificação de certificado para cliente.
- Verificação de certificados x.509 para estabelecer um canal TLS entre cliente e servidor.
- Suporte ao protocolo TLS NTS-KE.
- Suporte para comunicação NTP cliente-servidor protegida NTS no servidor e no cliente.
Benefícios da NTS
- Oferece forte proteção criptográfica contra uma ampla variedade de ataques de segurança, como manipulação de pacotes, falsificação, ataques de amplificação de DDOS e ataques de repetição
- Garante a sincronização precisa do tempo da rede a partir de uma fonte confiável
- Fornece escalabilidade: os servidores podem atender a vários clientes sem pré-configurar manualmente qualquer configuração específica do cliente. Devido ao uso de cookies, o servidor não precisa armazenar localmente os dados específicos do cliente, como chaves e algoritmo AEAD
- Impede o rastreamento de dispositivos móveis
Sincronização de tempo de rede com NTS
O NTS consiste em dois protocolos, o protocolo NTS Key Establishment (NTS-KE) e a sincronização de tempo NTP usando campos de extensão NTS.
Protocolo NTS-KE
O NTS (NTS key establishment protocol) usa o protocolo TLS para gerenciar a autenticação inicial do servidor, a negociação de parâmetros NTS e o estabelecimento de chaves sobre TLS na seguinte ordem:
- O cliente executa um handshake TLS com o servidor NTS-KE e verifica com êxito os certificados.
-
O cliente executa a negociação de parâmetros NTS com o servidor pelo canal protegido por TLS. Os algoritmos criptográficos negociados são métodos AEAD, que protegem os pacotes NTP na segunda fase.
-
O cliente e o servidor estabelecem com sucesso o material chave para comunicação.
-
O servidor também envia um suprimento de cookies iniciais para o cliente usar na próxima fase.
-
O canal TLS é fechado e o NTP prossegue para a próxima fase, onde ocorre a troca real de dados de tempo.
O NTS suporta apenas o TLS versão 1.3. As versões mais antigas do TLS são rejeitadas durante a fase do protocolo NTS-KE.
Sincronização de tempo NTP usando campos de extensão NTS
Essa fase gerencia a criptografia e a autenticação durante a sincronização de tempo do NTP por meio dos campos de extensão nos pacotes NTP na seguinte ordem:
-
O cliente consulta o servidor NTP sobre o tempo com campos de extensão NTS. Esses campos de extensão incluem cookies e uma tag de autenticação calculada usando o algoritmo AEAD negociado e o material de chave extraído do handshake NTS-KE.
Uma solicitação de cliente NTP protegida por NTS contém os seguintes campos de extensão NTS:
-
Campo de extensão de identificador exclusivo: contém dados gerados aleatoriamente e fornece os meios para proteção de repetição no nível NTS.
-
Campo de extensão de cookie NTS: contém as informações sobre o material da chave, que é estabelecido durante a fase NTS-KE e o algoritmo criptográfico negociado. Um cookie é usado apenas uma vez em uma solicitação para impedir o rastreamento.
-
Campo de extensão de espaço reservado para cookie NTS: (opcional) comunica ao servidor que o cliente deseja receber cookies adicionais no pacote de resposta.
-
Autenticador NTS e campos de extensão criptografados: Gerados usando o algoritmo AEAD e a chave estabelecida durante o NTS-KE. Esse campo fornece a proteção de integridade para o cabeçalho NTP e todos os campos de extensão anteriores.
A atualização constante de cookies protege um dispositivo contra rastreamento quando ele muda de endereço de rede. Por exemplo, um dispositivo móvel que se move em diferentes redes. A falta de dados reconhecíveis impede que um adversário determine que dois pacotes enviados por endereços de rede diferentes vieram do mesmo cliente.
-
-
Quando o servidor recebe uma solicitação protegida por NTS do cliente, o servidor descriptografa o cookie com uma chave mestra.
-
O servidor extrai o algoritmo AEAD negociado e as chaves que estão disponíveis no cookie. Usando essa chave, o servidor verifica a integridade do pacote NTP para garantir que não haja manipulações no pacote.
-
O servidor gera um ou mais novos cookies e cria o pacote de resposta NTP. O servidor gera pelo menos um novo cookie e um cookie adicional para cada Campo de Extensão de Espaço Reservado para Cookies que o cliente adicionou no pacote de solicitação.
O pacote de resposta contém dois campos de extensão NTS:
- O Campo de Extensão do Identificador Exclusivo, que tem o mesmo conteúdo do campo Identificador Exclusivo no pacote de solicitação.
- O NTS Authenticator and Encrypted Extension Field, que protege o cabeçalho NTP e os campos de extensão anteriores usando as chaves extraídas.
-
O servidor também criptografa os cookies e os inclui nos campos NTS Authenticator e Encrypted Extension. Esse procedimento também protege o cliente do rastreamento, pois um invasor não pode extrair os cookies de uma mensagem de resposta.
-
O servidor finaliza o pacote de resposta e envia o pacote para o cliente.
-
O cliente recebe o pacote de resposta.
-
O cliente verifica o campo Identificador Exclusivo e verifica se o Identificador Exclusivo corresponde a uma solicitação pendente.
-
O cliente executa com êxito a verificação de integridade do pacote usando a chave e o algoritmo AEAD.
-
O cliente descriptografa os cookies e os adiciona ao seu pool e processa as informações de tempo recebidas do servidor.