Manual do altímetro Nano V1
Este manual detalha todos os recursos e operação do nosso pequeno altímetro de foguete Nano V1

Sobre a segurança do Nano

PDF

Um registro de voo só vale algo se você puder confiar que não foi adulterado, o que é ainda mais importante para registros e competições. O Nano foi construído de forma que os dados que produz possam ser comprovados como genuínos, e a maneira como funciona não pode ser alterada silenciosamente. Dois aspectos bem estabelecidos da criptografia fazem o trabalho pesado: a criptografia AES-256 protege o firmware, e uma assinatura digital Ed25519 protege cada registro de voo.

Firmware criptografado (AES-256)

O programa que executa o Nano, seu firmware, é armazenado no chip criptografado com AES-256, o mesmo padrão que governos e bancos usam para proteger informações sensíveis. O Nano só funcionará corretamente com firmware criptografado, portanto é impossível carregar um programa modificado ou não oficial nele, nem ler o firmware de volta do chip de forma utilizável.

Isso importa por duas razões. Protege nosso trabalho de ser copiado, mas mais importante para você é que protege a chave privada de assinatura que valida seus registros de voo, descrita abaixo. Essa chave fica dentro do firmware criptografado, portanto não pode ser extraída do dispositivo e usada para falsificar registros.

AES-256 não é algo que possa ser quebrado por força bruta. Uma chave de 256 bits tem aproximadamente 1,2 seguido por 77 zeros possíveis valores, e testá-los todos está tão além de qualquer poder computacional atual ou previsível que é tratado como impossível. Mesmo se cada computador do planeta trabalhasse junto testando bilhões de chaves a cada segundo, ainda levaria muito mais tempo do que a idade do universo para passar por uma fração significativa delas, e não há atalho conhecido que mude isso.

Registros com evidência de violação, independentemente verificáveis (Ed25519)

Cada registro de voo que o Nano salva é lacrado com uma assinatura digital usando Ed25519, um esquema de assinatura moderno usado para proteger tráfego da web, acesso shell seguro (SSH) e aplicativos de mensagens como Signal. Funciona em duas etapas.

Primeiro, uma impressão digital. SHA-256 lê o registro inteiro e o reduz a um único valor de 256 bits. Altere até mesmo um caractere em qualquer lugar do arquivo e essa impressão digital sai completamente diferente. Qualquer pessoa pode calcular essa impressão digital; por conta própria, ela simplesmente resume os dados.

Segundo, uma assinatura. O Nano assina essa impressão digital com uma chave privada armazenada dentro de seu firmware criptografado. Uma assinatura válida só pode ser criada com a chave privada, mas pode ser verificada por qualquer pessoa que detenha a chave pública correspondente. As duas chaves são matematicamente vinculadas, mas a chave privada não pode ser deduzida da pública. Isso é o que transforma a impressão digital em uma verdadeira assinatura e não apenas uma simples soma de verificação.

Na prática, isso significa:

  • Se um registro for editado de qualquer forma depois que o Nano o escreve, sua impressão digital muda, a assinatura não corresponde mais e o registro é rejeitado.
  • Apenas um Nano genuíno pode produzir uma assinatura válida, porque apenas ele possui a chave privada, portanto um registro alterado ou inventado não pode ser assinado para passar como real.
  • Nossos servidores Altimeter Cloud possuem apenas a chave pública, nunca a privada. Mesmo se nossos servidores fossem comprometidos, não haveria nada lá que pudesse ser usado para falsificar um registro.
  • Como verificar um registro precisa apenas da chave pública, um registro pode ser verificado independentemente — um oficial de competição pode confirmar que é genuíno sem depender de nós.

Os dados assinados são o arquivo inteiro, incluindo seu número de série do dispositivo e suas tags de competidor e dispositivo, portanto nenhuma delas pode ser trocada ou alterada após o voo. Quando você envia um registro para o Altimeter Cloud, nosso servidor recalcula a impressão digital e verifica a assinatura contra a chave pública. Uma assinatura válida confirma que o registro é genuíno e não editado; qualquer outra coisa é rejeitada.

Por que os dois juntos o tornam confiável

A força da assinatura do registro depende da chave privada permanecer no dispositivo, e é exatamente o que a criptografia de firmware garante. A chave é lacrada dentro do firmware criptografado. Ela nunca aparece na unidade USB ou no registro, e como o Nano recusa executar firmware não criptografado, não há maneira de carregar um programa modificado que possa vazá-la ou assinar dados falsos. As duas proteções se reforçam mutuamente: a criptografia mantém a chave fora do alcance, e a assinatura usa essa chave para validar cada registro — enquanto a metade pública, que é tudo o que alguém precisa para verificar, pode ser compartilhada livremente.

Tanto AES-256 quanto Ed25519 são padrões abertos e publicados que foram estudados intensamente e são confiáveis para proteger coisas como banco online, tráfego da web seguro e acesso shell seguro. Não há maneira prática conhecida de quebrar nenhum deles. Combinado com uma chave privada que não pode ser alcançada, isso torna um registro de voo do Nano algo em que você pode genuinamente contar, seja você buscando seu melhor pessoal ou enviando um resultado oficial de competição.

Registros do firmware anterior à versão 1.52

O firmware anterior assina registros com HMAC SHA-256 em vez de Ed25519. Isso mistura uma chave secreta, compartilhada entre o Nano e nossos servidores, na mesma impressão digital de arquivo inteiro. É evidente de adulteração exatamente da mesma forma — qualquer edição a quebra — e o Altimeter Cloud ainda verifica esses registros automaticamente, portanto nada que você já tenha registrado é afetado. A mudança para Ed25519 na versão 1.52 mantém essa evidência de adulteração e adiciona duas coisas: a chave de assinatura no dispositivo agora é privada, com nossos servidores possuindo apenas a metade pública, portanto um compromisso do servidor não pode falsificar registros, e um registro pode ser verificado independentemente por qualquer pessoa que detenha a chave pública.

iBOM SABER

Você não precisa fazer nada para ativar nada disso. Cada registro é assinado automaticamente conforme é escrito, e a verificação acontece para você quando você envia para o Altimeter Cloud. Isso simplesmente significa que um registro editado sempre falhará na verificação, o que mantém o quadro de resultados honesto.