Passar para o conteúdo principal

Verificação de código aberto para firmware instalado em dispositivos de carteira de hardware OneKey

OneKey avatar
Escrito por OneKey
Atualizado essa semana

Este artigo fornece um guia passo a passo para ajudá-lo a autenticar a consistência do firmware instalado no seu dispositivo de carteira de hardware OneKey com seu código-fonte correspondente no GitHub.

Importante

O chip de segurança embutido na carteira de hardware OneKey é assinado com uma multi-assinatura oficial no momento da fabricação. Se o firmware da carteira de hardware for adulterado maliciosamente por um hacker, uma mensagem dizendo "Unofficial Firmware Detected" será exibida na inicialização.

Processo

Firmware Padrão Firmware Bluetooth

Passo 1: Baixe e instale o firmware mais recente

  • Visite o site oficial de atualização de firmware do OneKey OneKey Firmware Update Website.

  • Conecte sua carteira de hardware OneKey ao seu computador via cabo USB.

  • Uma vez que seu dispositivo de carteira de hardware é detectado, você poderá ver as informações da carteira exibidas no site.

  • Selecione e baixe a versão mais recente do firmware da sua carteira de hardware.

  • Instale o firmware seguindo as instruções fornecidas no site e confirmando na sua carteira de hardware OneKey.

Passo 2: Obtenha o Checksum na sua carteira de hardware OneKey

  • Navegue até "Sobre o dispositivo" na sua carteira de hardware OneKey.

  • Encontre as informações detalhadas do firmware no seu dispositivo de carteira de hardware OneKey.

  • Você pode obter os primeiros sete dígitos do checksum do firmware do seu dispositivo a partir das informações do firmware.

    • Por exemplo, 4.9.0[fccbac8-5ff2c88]

    • "fccbac8" é o ID da versão do firmware do seu dispositivo.

    • "5ff2c88" são os primeiros sete dígitos do checksum do firmware do seu dispositivo.

Passo 3: Calcule o Checksum para o código-fonte do GitHub

github release bin.png
  • Abra o Terminal no seu sistema operacional (macOS/Linux necessário).

  • Com base no modelo do seu hardware wallet OneKey, selecione e execute o comando correspondente abaixo para calcular o Checksum.

    • OneKey Classic & OneKey Mini:

      • tail -c +1025 /path/to/(file path) | shasum -a 256 -b

    • OneKey Touch:

      • tail -c +2561 /path/to/(file path) | shasum -a 256 -b

Passo 4: Compare os Checksums

  • Compare os primeiros sete dígitos do checksum calculado manualmente na Etapa 3 com o checksum do dispositivo obtido na Etapa 2.

  • Se os dois valores coincidirem, isso indica que o firmware instalado é consistente com o código-fonte aberto no GitHub.

Passo 1: Baixe e instale o firmware mais recente

  • Visite o site oficial de atualização de firmware do OneKey OneKey Firmware Update Website.

  • Conecte sua carteira de hardware OneKey ao seu computador via cabo USB.

  • Uma vez que seu dispositivo de carteira de hardware é detectado, você poderá ver as informações da carteira exibidas no site.

  • Selecione e baixe a versão mais recente do firmware da sua carteira de hardware.

  • Instale o firmware seguindo as instruções fornecidas no site e confirmando na sua carteira de hardware OneKey.

Passo 2: Obtenha o Checksum na sua carteira de hardware OneKey

  • Navegue até "Sobre o dispositivo" na sua carteira de hardware OneKey.

  • Encontre as informações detalhadas do bluetooth firmware no seu dispositivo de carteira de hardware OneKey.

  • Você pode obter os primeiros sete dígitos do checksum do firmware do seu dispositivo a partir das informações do firmware.

    • Por exemplo, 2.3.1[96bb143-5affc8f]

    • "96bb143" é o ID da versão do firmware do seu dispositivo.

    • "5affc8f" são os primeiros sete dígitos do checksum do bluetooth firmware do seu dispositivo.

Passo 3: Calcule o Checksum para o código-fonte do GitHub

pro-bluetooth-firmware-github-release-signed.png
  • Abra um terminal na mesma pasta onde está o arquivo bin baixado. (macOS/Linux necessário).

  • Inicie o Python com o comando: python3. (Baixe o Python aqui)

  • Copie o comando abaixo:

    • exec("""\nimport struct, hashlib\nwith open("ota.bin", mode="br") as f:\n f.seek(0x0C)\n codelen = struct.unpack("i", f.read(4))[0] - 512\n f.seek(0x600)\n print("".join(format(x, "02x") for x in hashlib.sha256(f.read(codelen)).digest()))\n""")

  • Mude ota.bin (no comando acima) para o nome do seu arquivo bin baixado.

  • Execute o comando para obter o checksum.

checksum-github-release.png

Passo 4: Compare os Checksums

  • Compare os primeiros sete dígitos do checksum calculado manualmente na Etapa 3 com o checksum do dispositivo obtido na Etapa 2.

  • Se os dois valores coincidirem, isso indica que o firmware instalado é consistente com o código-fonte aberto no GitHub.

Se você deseja verificar a consistência dos arquivos de firmware assinados e publicados no GitHub Release pela equipe OneKey com os códigos-fonte abertos correspondentes armazenados publicamente nos repositórios OneKey GitHub, consulte este artigo.

Respondeu à sua pergunta?