Autentique a consistência dos arquivos de firmware com o código de fonte aberta lançado pela OneKey

A carteira de hardware OneKey possui firmware totalmente de código aberto. Você pode visualizar o código do firmware de código aberto para produtos relevantes no repositório GitHub da OneKey. Antes que os arquivos de firmware destinados à produção em massa sejam oficialmente lançados, a equipe OneKey usa as ferramentas de compilação automatizadas do GitHub (GitHub CI) para compilar e empacotar o código fonte do firmware dos respectivos repositórios de firmware. Os arquivos são então assinados pelo pessoal interno da OneKey antes de serem oficialmente lançados.

Este artigo fornece um método de autoverificação, comparando os Checksums dos arquivos antes e depois da Multi-Sig da equipe oficial, para verificar a consistência entre os arquivos de firmware e o código de código aberto.

Para métodos de como verificar a consistência dos dados de origem de diferentes arquivos usando a função de hash criptográfica SHA-256 (comparando Checksums), consulte este artigo.

Repositórios de Firmware de Código Aberto

OneKey Classic
OneKey Touch
OneKey Mini

Processo de Lançamento do Firmware

Quando o firmware padrão oficial ou o firmware Bluetooth está pronto para lançamento, a equipe OneKey executará a Action do repositório correspondente para compilar o código de código aberto. Após a compilação bem-sucedida, os arquivos são carregados no armazenamento de artefatos do GitHub, aguardando a conclusão da Multi-Sig interna da equipe antes de serem colocados no CDN da OneKey. Após a atualização do arquivo config.json, as notificações de atualização são enviadas através do aplicativo OneKey e do site de atualização de firmware OneKey, solicitando aos usuários que atualizem seu firmware. Consulte o diagrama abaixo para o processo específico.

onekey github verifiy.png

Alvos de Verificação

  1. Verifique se o "Arquivo de Firmware Assinado pela Equipe OneKey" é derivado do "Arquivo de Firmware Pré-Assinado pelo GitHub CI" no repositório de código aberto OneKey.
  2. Verifique a consistência entre o "Arquivo de Firmware Assinado pela Equipe OneKey" e o "Arquivo de Firmware Armazenado no CDN Oficial OneKey".

Pré-requisito de Verificação

✔  Baixe o Arquivo de Firmware Pré-Assinado do GitHub CI (Não assinado)

github action.png

  • Clique no nome do firmware em Artifacts para baixar (é necessário fazer login no GitHub).

2.png

✔  Baixe o Arquivo de Firmware Assinado pela Equipe OneKey (Assinado)
  • Navegue até o lançamento oficial do firmware de hardware OneKey no GitHub: https://github.com/OneKeyHQ/firmware/releases
  • Encontre a versão do firmware que você deseja verificar.
  • Clique para baixar o arquivo bin em Assets.

github release bin.png

✔  Baixe o Arquivo de Firmware Armazenado no CDN Oficial da OneKey (Assinado)
  • Navegue até o arquivo CDN OneKey: https://data.onekey.so/config.json
  • Encontre a versão do firmware que você deseja verificar. 
  • Copie o link sob o campo "url".
  • Abra em uma nova janela do navegador para download automático do arquivo bin.

3.png

Passos de Verificação

Abaixo estão os passos de verificação para os dois alvos definidos anteriormente:

Processo de Verificação para o Alvo 1
  • Abra o Terminal.
  • Execute o comando abaixo (Arquivo de Firmware Assinado pela Equipe OneKey):
    • tail -c +1024 /caminho/para/(caminho do arquivo) | shasum -a 256
  • Execute o comando abaixo (Arquivo de Firmware Pré-Assinado do GitHub CI):
    • tail -c +1024 /caminho/para/(caminho do arquivo) | shasum -a 256
  • Compare os Checksums gerados pelos dois comandos. Se os resultados coincidirem, pode-se confirmar que o "Arquivo de Firmware Assinado pela Equipe OneKey" é derivado do "Arquivo de Firmware Pré-Assinado pelo GitHub CI" no repositório de código aberto OneKey.

7.png

Para o firmware padrão, um resultado de assinatura de 1024 bytes é adicionado à versão de firmware do CI, que é verificado pelo bootloader na inicialização do dispositivo.

Processo de Verificação para o Alvo 2
  • Abra o Terminal.
  • Execute o comando abaixo (Arquivo de Firmware Assinado pela Equipe OneKey):
    • shasum -a 256 (caminho do arquivo)
  • Execute o comando abaixo (Arquivo de Firmware Armazenado no CDN Oficial da OneKey):
    • shasum -a 256 (caminho do arquivo) 
  • Compare os Checksums gerados pelos dois comandos. Se os resultados coincidirem, a consistência do código dos dois arquivos de firmware é confirmada.

6.png

Esse artigo foi útil?
Usuários que acharam isso útil: 1 de 1