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:

  1. O cliente executa um handshake TLS com o servidor NTS-KE e verifica com êxito os certificados.
  2. 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.

  3. O cliente e o servidor estabelecem com sucesso o material chave para comunicação.

  4. O servidor também envia um suprimento de cookies iniciais para o cliente usar na próxima fase.

  5. 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:

  1. 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.

  2. Quando o servidor recebe uma solicitação protegida por NTS do cliente, o servidor descriptografa o cookie com uma chave mestra.

  3. 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.

  4. 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.
  5. 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.

  6. O servidor finaliza o pacote de resposta e envia o pacote para o cliente.

  7. O cliente recebe o pacote de resposta.

  8. O cliente verifica o campo Identificador Exclusivo e verifica se o Identificador Exclusivo corresponde a uma solicitação pendente.

  9. O cliente executa com êxito a verificação de integridade do pacote usando a chave e o algoritmo AEAD.

  10. O cliente descriptografa os cookies e os adiciona ao seu pool e processa as informações de tempo recebidas do servidor.