Por que a fonte de entropia na geração de chaves privadas é crucial
Este artigo está disponível nos seguintes idiomas:
Você sabia que uma chave privada de Bitcoin é um número de 256 bits? Isso significa que existem cerca de 2^256 combinações possíveis — um número tão grande que supera o total de átomos do universo observável.
Private keys are the linchpin of cryptocurrency security, serving as the cryptographic equivalent of a master password for your digital assets. Their security relies heavily on randomness or entropy, which is crucial in generating them. Entropy is measured in bits, quantifying a system's degree of randomness or uncertainty.
Para mostrar a importância do fator aleatório, considere: uma entropia ruim na geração de chaves privadas já causou vulnerabilidades graves e até ataques. Em 2024, mais de US$ 239 milhões foram perdidos devido a private keys comprometidas, destacando como é fundamental garantir que essas chaves sejam geradas com entropia de alta qualidade.
Se uma chave privada de Bitcoin é apenas um número, quanto tempo um supercomputador levaria para quebrá-la por força bruta? Fique até o final deste artigo para descobrir.
O que é entropia?
Entropia é uma medida de aleatoriedade ou imprevisibilidade, e é essencial para gerar chaves criptográficas seguras. O conceito vem da teoria da informação, onde a entropia quantifica a incerteza de um sistema. Em outras palavras, quanto mais imprevisível, maior a entropia.
A alta entropia é fundamental para private keys em criptomoedas porque garante que as chaves sejam praticamente impossíveis de adivinhar ou quebrar por força bruta. Essa aleatoriedade geralmente vem de várias fontes, incluindo eventos de hardware, ruído ambiental ou interações do usuário, como movimentos do mouse e toques no teclado. O sistema operacional reúne esses eventos imprevisíveis para gerar um número realmente aleatório, que serve de base para uma chave privada segura.
Sem entropia suficiente, as chaves geradas podem se tornar previsíveis, tornando-as vulneráveis a ataques. Por exemplo, se a fonte de entropia for falha, ela pode gerar saídas repetidas ou semelhantes, permitindo que invasores prevejam ou até recriem a chave privada.
Essa aleatoriedade é tão crítica que até sistemas sofisticados, como plataformas em nuvem e máquinas virtuais, usam hardware dedicado para garantir um suprimento confiável de entropia de alta qualidade para operações criptográficas.
Como funciona a entropia?
Em carteiras de hardware, a entropia é fundamental para gerar private keys seguras. Veja como funciona:
Fonte de entropia
Carteiras de hardware como a Tangem Wallet possuem Geradores de Números Aleatórios por Hardware (HRNGs) dedicados. Esses dispositivos geram aleatoriedade medindo fenômenos físicos, como ruído eletrônico ou variações térmicas. Essa entropia bruta é essencial para criar chaves privadas imprevisíveis.
Algumas carteiras de hardware permitem que o usuário contribua com entropia, inserindo dados aleatórios manualmente, como jogadas de dados. Embora misturar entropia controlada pelo usuário com a gerada por hardware possa não alterar o grau de entropia, é um recurso interessante.
Geração da chave
Quando há entropia suficiente, a carteira a utiliza para gerar a private key. Esse processo geralmente envolve combinar a entropia com algoritmos criptográficos como SHA-256 para criar uma chave de 256 bits. Muitas carteiras de hardware usam o padrão BIP39 para gerar uma frase mnemônica (uma sequência de 12 a 24 palavras) a partir da entropia. Essa frase pode ser usada para recuperar a chave privada, se necessário.
Segurança do processo
O firmware da carteira garante que a entropia seja bem misturada, evitando qualquer previsibilidade. Em seguida, armazena a private key com segurança em um ambiente resistente a violação dentro do dispositivo. Por isso, a maioria das carteiras de hardware possui um elemento seguro com certificação CC. O firmware da Tangem também foi auditado duas vezes por empresas independentes de segurança: Kudelski Security e Riscure.
No geral, as carteiras de hardware isolam o processo de geração de entropia e armazenamento das chaves do restante das operações do dispositivo. Essa separação minimiza o risco de exposição a malwares ou outras ameaças externas.
Backup e recuperação
A frase mnemônica gerada a partir da entropia pode ser anotada e guardada em segurança. Essa frase é fundamental para recuperar a carteira caso o dispositivo seja perdido ou danificado. A própria frase contém a entropia usada para gerar a chave, tornando-se um método de backup seguro.
Carteiras de hardware dependem de entropia de alta qualidade para garantir que as private keys geradas sejam seguras e resistentes a ataques — por isso, são um dos métodos mais seguros para armazenar criptomoedas.
Por que a entropia é importante?
Como contêm as mesmas informações, mas em formatos diferentes, sua entropia deve ser tão privada quanto sua frase de recuperação. Reforçando: qualquer pessoa com acesso à sua entropia pode acessar toda a sua carteira!
Assim como sua seed phrase dá acesso a todas as suas private keys e, portanto, a todas as contas protegidas por aquela carteira, o mesmo vale para sua entropia! Por isso, é fundamental para a segurança garantir que sua entropia seja o mais aleatória possível e difícil de deduzir.
Você não gostaria que alguém adivinhasse sua entropia e tivesse acesso aos seus fundos, certo? É exatamente por isso que esse número precisa ser tão difícil de prever. Ele deve ser tão aleatório que adivinhar a sequência ou encontrar a mesma combinação duas vezes seja estatisticamente impossível.
Se sua entropia for fácil de adivinhar, hackers podem se aproveitar e acessar seus fundos. Por isso, escolher uma carteira cripto que leve isso em consideração é extremamente importante.
Entendendo entropia e seed phrases
A aleatoriedade da sua seed phrase é crucial para manter a segurança. Escolher palavras manualmente ou usar padrões previsíveis enfraquece muito a proteção da carteira. O método baseado em entropia utilizado pela Tangem garante o nível de aleatoriedade essencial para uma proteção robusta contra diferentes ataques no universo cripto.
Enquanto a Tangem oferece as ferramentas para gerar entropia de forma segura, é importante lembrar que proteger sua seed phrase é sua responsabilidade. Nunca compartilhe essa informação com ninguém, nem mesmo com representantes da Tangem. Sua seed phrase é a chave para seus ativos digitais, e mantê-la em segredo é vital para a segurança da sua carteira.
Falha da Trust Wallet: por que entropia forte faz diferença
Ao escolher uma carteira cripto, é essencial priorizar como ela gera aleatoriedade. A violação de segurança da Trust Wallet em 2022 foi atribuída principalmente à previsibilidade na geração de entropia da carteira.
A SecBit fez um ótimo trabalho pesquisando e explicando essa vulnerabilidade em seu artigo: Trust Wallet's Fomo3D Summer: Fresh Discovery of Low Entropy Flaw From 2018. Aqui, destacamos os principais pontos:
A plataforma iOS da Trust Wallet utilizava a biblioteca trezor-crypto para gerar palavras mnemônicas BIP39. Essa biblioteca continha um código de exemplo que nunca deveria ser usado em ambiente real. O código já alertava para não ser utilizado em situações reais, apenas para testes.
- O código tem duas partes principais: random32() e random_buffer().
- random32():
- Esta parte cria números aleatórios, mas de forma pouco segura.
- Usa o horário atual para iniciar o processo de geração dos números.
- O problema é que, se você souber aproximadamente quando o número foi criado, pode conseguir adivinhar.
- Pior ainda: se duas pessoas criarem números exatamente no mesmo segundo, ambas terão o mesmo número "aleatório". - random_buffer():
- Esta parte preenche um espaço com bytes aleatórios (unidades de dados).
- Usa random32() para isso, então herda os mesmos problemas de segurança. - O grande problema:
- Esse código foi usado para criar seed phrases que davam acesso às carteiras dos usuários.
- Como a aleatoriedade não era realmente aleatória, ficou muito mais fácil para hackers adivinharem essas frases do que deveria.
- Em vez de milhões de possibilidades, bastava tentar entre alguns milhares (baseado nos horários possíveis de criação da frase). - O erro:
- A Trust Wallet ignorou esse alerta e usou o código mesmo assim.
- Isso fez com que a entropia das frases usadas para criar as carteiras dos usuários fosse muito mais fácil de recriar do que deveria.
A recente violação de segurança da Trust Wallet reforça a importância vital de uma geração de entropia forte para proteger carteiras de criptomoedas. A Trust Wallet resolveu o problema compensando os usuários pelos prejuízos.
Como a Tangem Wallet gera entropia
A Tangem Wallet oferece segurança robusta para seus ativos cripto, começando pelo processo de geração de entropia. A carteira utiliza um Gerador de Números Aleatórios Verdadeiro certificado, testado por especialistas independentes. Isso garante que os números gerados sejam imprevisíveis, protegendo seus ativos contra possíveis ataques.
Quanto tempo levaria para quebrar uma chave privada de Bitcoin por força bruta?
Para responder a essa pergunta, vamos analisar o processo e a escala do desafio:
Uma chave privada de Bitcoin é, de fato, apenas um número — mas é um número imensamente grande. Especificamente, são 256 bits, o que significa que existem 2^256 chaves privadas possíveis.
Mesmo com os supercomputadores mais potentes da atualidade, quebrar uma chave privada de Bitcoin por força bruta levaria um tempo inimaginável. Estamos falando de escalas de tempo muito maiores que a idade do universo.
Considerando um supercomputador capaz de testar 1 trilhão (10^12) de chaves por segundo, encontrar uma única private key ainda levaria cerca de 3,67 x 10^57 anos, em média. O universo tem cerca de 13,8 bilhões de anos (1,38 × 10^10 anos).
Ou seja, o tempo necessário para quebrar uma private key de Bitcoin por força bruta é aproximadamente 1,33 × 10^47 vezes a idade do universo.
É incrível o que conquistamos neste planeta jovem e cheio de água chamado Terra.