A IOTA atualizou recentemente a criptografia de seu projeto, mas um erro já foi identificado.
O usuário SoatokDhole apresentou em seu blog uma investigação mostrando que o algoritmo criptográfico Kerl, que atualmente usa a IOTA para criptografar suas operações, estava gerando colisões na saída.
Uma colisão ocorre quando um algoritmo de criptografia gera saídas iguais para entradas diferentes. Assim, isso é especialmente complicado se o algoritmo for usado para gerar endereços de carteira, onde os fundos de um usuário são armazenados.
Problema encontrado
Então, se duas pessoas diferentes tiverem acesso ao mesmo endereço devido a uma colisão, isso significa que qualquer pessoa pode usar os fundos associados a ele.
Em seu post, Saotok explicou que Kerl é uma variação de outro algoritmo criptográfico: Keccak-384 que tem eficácia comprovada. Entretanto, no caso da IOTA há um problema de colisão.
O motivo é que o da IOTA tem a característica de codificar suas entradas em um sistema de numeração ternário {-1,0,1} em vez de em um sistema binário {0,1}.
Assim, em sistemas de numeração ternária balanceados, como o usado pela IOTA, a menor unidade de informação é chamada trit (dígito trinário) e seria equivalente a um bit em um sistema binário.
O blogueiro explica que as colisões que encontrou parecem ser uma consequência de sempre redefinir o último “trit” antes de passar pela entrada do Keccak-384.
Portanto, um conjunto de entradas que geram o erro é lançado. Mas pode haver muito mais.
IOTA se explica A fundação IOTA, via tuíte de seu diretor de alianças, Holger Köther, respondeu a essas alegações por meio de um post no Reddit. Assim, o pesquisador Wolfgang Welz apresentou a seguinte explicação;
“O Kerl algorítmico tem resistência a pré-imagens porque é executado em uma função tradicional de Keccak. No entanto, é correto que Kerl não seja uma função hash criptográfica geral e não deva ser usado para fins gerais fora do Protocolo IOTA”, disse.
Logo, segundo ele, a função não tem erro pois é específica para a IOTA.
Desta forma, erros podem ser encontrados caso eles sejam pesquisados fora do padrão do desenvolvimento da IOTA.
Não convenceu
Porém, a explicação não convenceu e, para Soatok revela três possíveis cenários.
“1- É um back door projetado para ser explorado por quem projetou a rede IOTA. Isso aconteceu com seu algoritmo anterior, o Curl-P-27.2- Eles cometeram um erro crítico ao projetar o algoritmo Kerl. Isso pode ser explorável em alguns dos lugares em que eles usam Kerl ou
3- A justificativa dada pelos representantes da IOTA é verdadeira e não há como explorar essa vulnerabilidade”, disse.
Mas Soatok persistiu e declarou: “Mesmo que isso não seja explorável dentro de Iota, ainda é uma falha importante no design de Kerl.”
Desde 2018, a IOTA é afetada por reclamações de vulnerabilidade. Isso porque, naquele ano, foi descoberto que o algoritmo Curl-P-27, que eles estavam usando originalmente, tinha colisões na saída.
Já este ano a rede foi invadida novamente e ficou offline por quase um mês.