O protocolo nonce blinding é um protocolo projetado para melhorar a segurança de nossas carteiras de hardware ou carteiras de vários dispositivos, adicionando um mecanismo criptográfico capaz de minimizar o impacto de vulnerabilidades, como ataques de canal lateral ou ataques à cadeia de suprimentos. 

Lpara a segurança no mundo de blockchain é sempre avançado, e a prova disso é a criação de Protocolo Nonce Blinding. Este é um protocolo criado pela comunidade do projeto Bitcoin , onde parece que nada é suficiente para garantir a segurança total do blockchain e das carteiras dos usuários.

O protocolo de cegamento de Nonce era presentado finalmente para a comunidade em 28 de fevereiro de 2020, na lista de desenvolvimento de Bitcoin. Na verdade, seu primeiro pull de teste (código-fonte enviado para o projeto) foi feito em 15 de febrero de 2019. Foi apresentado como uma melhoria ao esquema de assinatura e sua aplicação em carteiras de hardware e outros dispositivos secundários. A ideia básica do protocolo é; crie um escudo que evite violações de dados e ataques de canal lateral em Bitcoin e outros esquemas de assinatura de criptomoeda.

Tudo isso partiu de uma ideia que o próprio Satoshi Nakamoto compartilhou em 2010 no fórum Bitcointalk, no qual disse:

A criptografia pode oferecer uma maneira de fazer "ocultação de chave". Eu fiz algumas pesquisas e ficou obscuro, mas pode haver algo lá. "Assinaturas de grupo" podem estar relacionadas.

As criptomoedas podem oferecer uma maneira de "cegar as teclas". Eu fiz algumas pesquisas e não ficou claro, mas pode haver algo lá. As "assinaturas de grupo" podem estar relacionadas.

Mas o que é um ataque de canal lateral e por que ele é uma ameaça à nossa segurança? O que exatamente o Nonce Blinding Protocol faz? Vamos aprender um pouco mais sobre esses e outros tópicos.

Ataques de canal lateral, o pesadelo da segurança do blockchain

Un ataque lateral ou ataque de canal lateral, é um tipo de ataque cibernético que Permite transferir todos os mecanismos de segurança de um software ou hardware, utilizando as mesmas funções desse hardware, software. Você pode até usar funções de terceiros relacionadas para realizar uma análise forense deles e obter as informações que deseja.

Para simplificar, um ataque de canal lateral usa o mesmo software, hardware ou outros meios relacionados para encontrar falhas nesse software ou hardware e explorar essas falhas. Surpreendente, não? Parece algo saído de um filme de ficção científica, mas é real. Na verdade, é algo que está conosco há muitos anos e nos permitiu criar coisas muito malucas.

Por exemplo, um sniffer de som para o teclado que permite a uma pessoa em outra sala saber que você está digitando no computador. E se isso não te alarma, o que você acha que é um cookie (do tipo usado por sites) capaz de carregar um programa na memória do seu PC, e de lá extrair dados de suas chaves privadas Bitcoin, ou o que seja. use criptografia. Mesmo uma análise elétrica ou eletromagnética pode comprometer sua segurança, usando ataques de canais laterais.

Você pode pensar que esses ataques são muito elaborados, caros de fazer e apenas possíveis em condições muito específicas. Mas a verdade é que, neste exato momento, seu computador pode estar vulnerável a esses ataques sem que você saiba. Por exemplo, a maioria dos processadores para computadores Intel, AMD e ARM (que são para smartphones) são vulneráveis ​​a ataques de canal lateral (como Spectre ou Meltdown) e esses problemas de segurança não são completamente corrigidos e outros não podem ser corrigidos.

Certamente você está se perguntando: esse tipo de coisa foi premeditado? As empresas criaram essas falhas para violar a segurança de nossos sistemas, caso precisem? Não sabemos ao certo, mas é possível, especialmente considerando o histórico de muitas empresas em gerar esses problemas e vendê-los a preços elevados para governos e suas organizações de espionagem.

Nesse caso, por depender dessa tecnologia para o nosso dia a dia, devemos criar mecanismos que nos ajudem a dificultar ou impossibilitar a obtenção das informações que desejam. É aqui que o Nonce Blinding Protocol entra em ação e agora vamos explicar como ele consegue proteger nossa segurança contra esse tipo de ataque.

Como funciona o Nonce Blinding Protocol?

O objetivo do Nonce Blinding Protocol é prevenir ou tornar mais complexos os ataques de canal lateral em carteiras de criptomoedas, especialmente carteiras de hardware. Para isso, o protocolo gera uma série de condições que impedem que as chaves da carteira sejam filtradas.

Primeiro, uma maior aleatoriedade é gerada dentro do dispositivo de assinatura, o que dá um nível mais alto de segurança ao software da carteira. No entanto, para que tal aleatoriedade seja realmente imprevisível, o host (carteira de hardware) e o cliente (um computador ou outro dispositivo conectado ao host) devem garantir um canal de comunicação seguro (o protocolo de confirmação-divulgação) que funciona da seguinte maneira Maneira:

  1. O host gera um pool de aleatoriedade, calcula um hash dele e envia esse hash para o cliente (geralmente SHA-256 é usado) junto com um compromisso criptográfico de que essa é a aleatoriedade que será usada para o processo de assinatura.
  2. O cliente recebe as informações do host e concorda em usar essa configuração para a criação do sistema de assinatura. Além disso, o cliente também tem um pool aleatório que usará para a assinatura digital. Todas essas informações são enviadas ao hospedeiro para seu conhecimento.
  3. O host responde com a aleatoriedade gerada na etapa 1, confirmando o recebimento das informações.
  4. O cliente então executa uma assinatura usando a aleatoriedade fornecida pelo host. Após este ponto, o cliente envia as informações da assinatura ao host.
  5. O host recebe as informações e as verifica. Se a informação recebida estiver correta, o host pegará a aleatoriedade gerada por ambas as partes, e a partir dela criará uma assinatura válida para a transação. Se, ao contrário, a verificação falhar, o protocolo avisa sobre a falha.

Este protocolo simples permite o seguinte:

  1. Estabeleça um ambiente seguro de geração e validação de assinatura.
  2. Gere uma assinatura válida para uma transação usando dois pools aleatórios diferentes. Desta forma, a informação da assinatura é impedida de ser processada por uma única parte que pode ou não estar comprometida.

Simplificando, esse método divide a geração das assinaturas em duas partes distintas, que são então unidas para finalmente gerar a assinatura válida da transação. A única maneira de corromper tal sistema é que ambas as partes sejam afetadas ao mesmo tempo. Além disso, o mecanismo é extensível, ou seja, pode ser utilizado um esquema em que mais de duas partes participem, o que aumenta ainda mais a segurança do protocolo.

Quanto você sabe, cryptonuta?

A implementação do Nonce Blinding Protocol será um ótimo complemento para a segurança da carteira?

VERDADEIRO!

Uma das funções do Nonce Blinding Protocol é nos oferecer uma camada extra de segurança contra ataques externos que buscam assumir o controle de nossas moedas. Dito isso, sua implementação em carteiras de hardware (e suporte de carteira de software) será um ótimo complemento para a segurança de nossas criptomoedas.

Vantagens e desvantagens do protocolo Nonce Blinding

Agora, a principal vantagem do Nonce Blinding Protocol é que ele melhora significativamente a segurança de nossas transações de criptomoeda. Ele consegue isso usando vários mecanismos de entropia que ajudam a reduzir o risco de ataques de canal lateral ou de cadeia de suprimentos. Ou seja, você pode ter um dispositivo parcialmente ou totalmente comprometido e ainda assim seria seguro usá-lo neste ponto para realizar transações Bitcoin porque a geração de chaves e assinaturas depende de outros dispositivos.

A próxima vantagem do protocolo é que ele não quebra a compatibilidade do esquema de assinatura Bitcoin atual. Na verdade, a implementação inicial oferece suporte a ECDSA, Schnorr e PSBT sem a necessidade de modificar nada. Isso permite que o protocolo seja implementado como uma função adicional às carteiras, sem significar alterações significativas nas mesmas.

Por outro lado, a desvantagem do Nonce Blinding Protocol é que ele requer um processo mais intenso de envio e recebimento de dados, o que pode desacelerar as operações ao trabalhar com dispositivos remotos.

Implementações atuais do protocolo Nonce Blinding

Hoje, Nonce Blinding é uma característica do design. No entanto, ele já foi testado com sucesso em redes de teste dentro do Bitcoin. Isso nos dá uma ideia clara de que a tecnologia funciona e pode ser aplicada no projeto sem maiores problemas.

Mas, além dos testes, o protocolo ainda está em desenvolvimento e os desenvolvedores têm prestado atenção à padronização desse recurso de segurança. Na verdade, no Trezor já há discussões para implementar essa funcionalidade em suas carteiras. O mesmo na Ledger, onde também optaram por implementar funções com esta capacidade sob um conceito próprio.

Tudo isso demonstra o amplo interesse dos desenvolvedores de Bitcoins em aplicar tais funcionalidades ao protocolo, e dos desenvolvedores de carteiras, em oferecer suporte a tais funcionalidades. Tudo isso para a segurança e privacidade de seus usuários.