“Verifique o relógio”: o que se sabe sobre o novo protocolo de sincronização de horário do servidor

Falamos sobre as razões para o surgimento do Roughtime e as características de seu trabalho.



/ Unsplash / Djim Loic

Por que precisamos de um novo protocolo


Redes com latência variável são baseadas em protocolos como NTP (Network Time Protocol). Ele sincroniza o relógio interno dos sistemas de computação. Mas há vários problemas com o trabalho do NTP - as versões mais recentes do protocolo fornecem a capacidade de autenticar solicitações do servidor, mas, na prática, essa função raramente é usada . A maioria dos computadores confia incondicionalmente na resposta do servidor de horário exato ao definir o relógio do sistema. Como resultado, um invasor pode realizar um ataque MITM e controlar o relógio da vítima, interrompendo os protocolos criptográficos e ganhando a capacidade de influenciar o "frescor" das chaves. O NTP também possui várias vulnerabilidades que os cibercriminosos usam para conduzir ataques DDoS .

Engenheiros da Universidade de Boston, juntamente com colegas do Google e Cloudflare, apresentaram uma abordagem diferente para a "reconciliação do relógio" - Roughtime - um protocolo com proteção criptográfica baseada no UDP. A tecnologia foi baseada em um sistema de registro de data e hora para o blockchain, que foi descrito em 2011 pelo criptógrafo Ben Laurie, fundador da Apache Software Foundation e desenvolvedor líder do OpenSSL. A propósito, o próprio Ben também participou do design do Roughtime.

Como funciona


A resposta do servidor usando o protocolo Roughtime consiste em três partes. O primeiro é um registro de data e hora com o número de microssegundos que passaram desde a " era do Unix ". O segundo é chamado raio - este é o erro do valor transmitido. O terceiro componente da resposta é um código assinado digitalmente (nonce). O valor nonce é gerado pelo cliente ao solicitar um carimbo de data / hora. Essa abordagem permite garantir que as informações transmitidas sejam relevantes.


Sobre outros protocolos do nosso blog em Habré:


Se, por algum motivo, o cliente não confiar nos dados recebidos, poderá enviar uma solicitação para outros servidores. Mas, neste caso, o nonce é gerado hash da resposta recebida do servidor anterior. Portanto, o cliente se lembra da sequência na qual os carimbos de data e hora chegam e pode verificar se eles estão corretos. Ao mesmo tempo, ele tem a oportunidade de identificar máquinas comprometidas ou configuradas incorretamente - o valor do tempo fornecido por elas diferirá seriamente.

Perspectiva do protocolo


Em março passado, o Internet Engineering Council (IETF) apresentou um esboço da especificação Roughtime. Esta semana, uma versão atualizada apareceu na rede. No futuro, o Roughtime poderá ser um padrão completo da Internet e emitido na RFC. Mas o provedor e criptógrafo sênior da Cloudflare, Nick Sullivan, diz que Roughtime não pode ser considerado um substituto direto para o NTP. Ele não possui mecanismos de compensação de latência na rede, o que pode criar problemas ao reconciliar relógios entre dois nós remotos (o erro será muito alto). As dificuldades são adicionadas pela criptografia - em particular, a função SHA512, para a implementação dos algoritmos dos quais são gastos recursos computacionais adicionais.


/ PD / Fotos grátis

Nesse sentido, os especialistas dizem que um dos principais aplicativos do protocolo estará verificando o período de validade dos certificados SSL nos navegadores, pois essa tarefa não exige alta precisão. A primeira implementação dessa solução já foi apresentada por um dos provedores de nuvem ocidentais.

SpiderOak também expressa interesse em tecnologia. Ela desenvolve o software com o mesmo nome para backup de dados. Eles planejam usar o Roughtime para mensagens seguras em outro produto da empresa - o Semaphor messenger.

Sobre o que escrevemos no blog corporativo do VAS Experts:

Source: https://habr.com/ru/post/pt485058/


All Articles