Como as carteiras OneKey geram sua frase de recuperação — e de onde vem a aleatoriedade

OneKeyTeam
/Atualizado em 6 de ago. de 2026
Como as carteiras OneKey geram sua frase de recuperação — e de onde vem a aleatoriedade

Principais Resultados

  • A segurança de uma carteira começa na entropia: bits aleatórios imprevisíveis capturados no momento da criação, que a frase de recuperação apenas codifica de forma legível.
  • Se a entropia for previsível na criação, nenhum PIN, forma de backup ou derivação de endereço consegue reparar o problema depois.
  • Cada modelo OneKey obtém sua aleatoriedade de uma fonte de hardware: TRNG do THD89 (Pro, Classic 1S, Classic 1S Pure), TRNG do ATECC608A (Classic) ou TRNG do STM32 MCU (Mini).
  • O problema em discussão vem de uma configuração incorreta do PRNG Yasmarang em libngu; os caminhos de firmware relevantes da OneKey não usam libngu, Coinkite, Coldcard nem CKCC, e auditorias confirmam que eles realmente chamam o TRNG de hardware ou do secure element.
  • Uma frase de recuperação vazada permite que qualquer pessoa restaure a carteira, e uma frase perdida não pode ser recuperada por nenhum dispositivo, app ou fabricante — o backup offline e correto é sempre sua responsabilidade.

Este artigo mostra como cada modelo OneKey produz a entropia e a frase de recuperação quando você cria uma nova carteira, e por que as preocupações recentes com certas implementações de RNG por software não se aplicam aos fluxos de criação de carteira da OneKey.

A segurança da carteira começa com uma aleatoriedade que ninguém consegue prever

A segurança de uma carteira começa em uma única coisa: a entropia — os bits aleatórios imprevisíveis usados para criá-la. Uma frase de recuperação nada mais é do que uma codificação legível dessa entropia. Se a entropia for previsível no momento da criação, nada que você acrescente depois — um PIN, o local onde guarda a frase, a forma como os endereços são derivados — consegue desfazer o estrago.

Nem todos os modelos OneKey buscam sua aleatoriedade no mesmo lugar. Veja exatamente de onde vem a entropia por trás da sua frase de recuperação em cada dispositivo.

ModeloO que acontece quando você cria uma nova carteira
ProO TRNG do SE THD89 fornece a aleatoriedade; o MCU codifica BIP39 / SLIP39
Classic 1SO TRNG do SE THD89 fornece a aleatoriedade; o MCU codifica a frase BIP39
Classic 1S PureO TRNG do SE THD89 fornece a aleatoriedade; o MCU codifica a frase BIP39
ClassicO TRNG do SE ATECC608A fornece a aleatoriedade; o MCU codifica a frase BIP39
MiniO TRNG do MCU STM32 fornece a aleatoriedade; o MCU codifica a frase BIP39

O problema que apareceu nas notícias tem origem em um PRNG Yasmarang mal configurado em libngu, no qual certas builds acabavam contornando o TRNG do chip. Os caminhos de firmware relevantes da OneKey não usam libngu, Coinkite, Coldcard nem qualquer dependência CKCC, e várias rodadas de auditoria confirmam que eles realmente chamam o TRNG do hardware ou do secure element. A seguir, vamos dispositivo por dispositivo pela interface real de aleatoriedade de hardware que cada um utiliza.

O que é entropia e por que uma carteira não vive sem ela?

Pense na entropia como uma quantidade mensurável de imprevisibilidade, geralmente contada em bits. 128 bits de entropia significam 2^128 valores iniciais possíveis; na ausência de outra falha, o atacante não tem nada a fazer além de adivinhar. Suas chaves privadas, seus endereços e sua capacidade de assinar são todos derivados de forma determinística desse único segredo inicial.

Por isso, a segurança de uma frase de recuperação não vem do fato de que uma dúzia de palavras em inglês "parece muita coisa". Ela vem de quão imprevisível é a entropia bruta por trás delas:

  • 128 bits de entropia → 12 palavras BIP39;
  • 192 bits de entropia → 18 palavras BIP39;
  • 256 bits de entropia → 24 palavras BIP39.

Uma aleatoriedade fraca permite que o atacante reproduza as entradas a partir do momento em que sua carteira foi criada e chegue exatamente à mesma frase e à mesma chave privada. Nenhuma quantidade de SHA-256, proteção por PIN ou armazenamento em secure element transforma uma entrada previsível em entropia genuinamente imprevisível.

De um número aleatório a uma frase de recuperação: como a matemática realmente funciona

Os detalhes variam de modelo para modelo, mas toda carteira BIP39 compartilha o mesmo modelo de cálculo:

Gerador de número verdadeiramente aleatório de hardware (TRNG)
        ↓
Coleta 128 / 192 / 256 bit de entropia (ENT)
        ↓
Usa os primeiros ENT / 32 bit de SHA-256(ENT) como checksum (CS)
        ↓
Divide ENT || CS em grupos de 11 bit, mapeando cada um para uma das 2048 palavras BIP39
        ↓
12 / 18 / 24 palavras → seed → chaves privadas, endereços e chaves de assinatura

Por exemplo, uma frase de 12 palavras usa 128 bits de entropia mais um checksum de 4 bits — 132 bits no total, que se dividem exatamente em 12 grupos de 11 bits. Cada grupo é um índice na lista de palavras BIP39.

A etapa de SHA-256 aqui apenas calcula o checksum do BIP39; ela não é um gerador de números aleatórios. A aleatoriedade da frase continua repousando inteiramente sobre a entropia bruta capturada no momento da criação.

Então, por que a implementação da OneKey não é afetada pelo problema da ColdCard? A seguir, detalhamos, dispositivo por dispositivo, como o número aleatório inicial de cada modelo é produzido e se ele em algum momento cai no caminho de código afetado.


OneKey Pro

OneKey ProOneKey Pro

É afetado?

Não — não pelo problema libngu / Yasmarang da ColdCard. A build atual do Pro habilita o THD89 por padrão. Quando você cria uma carteira no dispositivo, o TRNG do THD89 fornece a entrada aleatória, e o firmware cuida da codificação BIP39 ou SLIP39 que vem em seguida.

Como é gerado

TRNG do THD89 → entropia de inicialização da carteira → o firmware codifica BIP39 ou SLIP39.

O random.bytes() do Pro tem como padrão source=1, que chama se_random_encrypted() na build padrão com USE_THD89=1.

Observações sobre a aleatoriedade

  • A build padrão do Pro habilita o THD89, e os bytes aleatórios vêm de se_random_encrypted() — não do caminho de PRNG por software do Yasmarang ou do libngu.
  • Segundo a Central de Ajuda da OneKey, o TRNG do secure element EAL6+ atual fundamenta sua aleatoriedade em processos físicos, como o ruído eletrônico.

OneKey Classic 1S

OneKey Classic 1SOneKey Classic 1S

É afetado?

Não — não pelo problema libngu / Yasmarang da ColdCard. O fluxo de criação no dispositivo atual e público do Classic 1S obtém sua entropia do TRNG do secure element THD89, e a string da frase BIP39 é codificada pelo firmware do MCU.

Como é gerado

TRNG do THD89 → 128 / 192 / 256 bits de entropia → o MCU codifica a frase BIP39.

Observações sobre a aleatoriedade

  • Dizer que "a frase é gerada pelo THD89" não é totalmente preciso: o THD89 fornece a entrada aleatória, enquanto a codificação das palavras BIP39 acontece no firmware do MCU.
  • O firmware chama a interface se_random_encrypted() do THD89 e não usa Yasmarang nem libngu. Segundo a Central de Ajuda da OneKey, o TRNG do secure element EAL6+ atual produz aleatoriedade a partir de processos físicos, como o ruído eletrônico.

OneKey Classic 1S Pure

OneKey Classic 1S PureOneKey Classic 1S Pure

É afetado?

Não — não pelo problema libngu / Yasmarang da ColdCard. O código público não dá ao Classic 1S Pure um ramo separado de geração de entropia; ele compartilha a mesma base de código firmware-classic1s do Classic 1S. Então, quando você cria uma carteira, a entropia do Pure também vem do TRNG do THD89 e é codificada em uma frase BIP39 pelo MCU.

Fluxo verificado

TRNG do THD89 → 128 / 192 / 256 bits de entropia → o MCU codifica a frase BIP39.

O fato de o Pure ser um produto sem bateria não altera esse caminho público de criação.

Observações sobre a aleatoriedade

  • Não presuma que o Pure tem um mecanismo de entropia diferente só porque é vendido como um modelo próprio.
  • Assim como no Classic 1S, o código público de criação chama a interface de aleatoriedade do THD89 e não usa Yasmarang nem libngu.

OneKey Classic

OneKey ClassicOneKey Classic

É afetado?

Não — não pelo problema libngu / Yasmarang da ColdCard. No caminho de firmware do Classic com secure element habilitado, o SE fornece o material aleatório usado para criar a carteira, e o MCU o transforma em uma frase BIP39.

Como é gerado

O SE fornece o material aleatório → os primeiros 32 bytes são tomados como entropia → o MCU codifica a frase BIP39.

Observações sobre a aleatoriedade

  • Esse caminho obtém seu material aleatório por meio das interfaces de inicialização e exportação do SE, e não chama a implementação de RNG do Yasmarang ou do libngu — portanto, nunca cai no caminho de código afetado em discussão.
  • O código público não consegue determinar individualmente o modelo e a certificação do SE para cada lote do Classic. Ao descrevê-lo publicamente, baseie-se na documentação do chip do lote específico, em vez de aplicar ao Classic a certificação de outro modelo.

OneKey Mini

OneKey MiniOneKey Mini

É afetado?

Não — não pelo problema libngu / Yasmarang da ColdCard. O fluxo de criação no dispositivo do Mini obtém sua entropia do gerador de números aleatórios de hardware do MCU STM32, e o MCU então a codifica em uma frase BIP39.

Como é gerado

TRNG do MCU STM32 → 128 / 192 / 256 bits de entropia → o MCU codifica a frase BIP39.

No firmware mais antigo do Mini, o random32() lê diretamente o periférico de RNG do STM32 e rejeita saídas duplicadas consecutivas. O fluxo de criação no dispositivo usa exatamente essa aleatoriedade para gerar a frase.

Observações sobre a aleatoriedade

  • O MCU lê diretamente o periférico de RNG de hardware do STM32, e o firmware ainda rejeita saídas duplicadas consecutivas. Esse caminho não usa Yasmarang nem libngu.

Recomendações de segurança para usuários

  • Não importa de onde venha a entropia: uma vez que uma frase de recuperação vaza, qualquer pessoa pode restaurar a carteira. Fazer o backup offline e de forma correta é sempre sua responsabilidade.
  • Se uma frase de recuperação for perdida, nenhum dispositivo, app ou fabricante pode recuperá-la para você.

Leitura adicional e fontes

Proteja sua jornada criptográfica com o OneKey

View details for Comprar OneKeyComprar OneKey

Comprar OneKey

A carteira de hardware mais avançada do mundo.

View details for Baixar aplicativoBaixar aplicativo

Baixar aplicativo

Negocie ativos globais. Comece em poucos minutos, apenas com o seu email.

View details for OneKey SifuOneKey Sifu

OneKey Sifu

Clareza Cripto—A uma chamada de distância.

Continue lendo