Pontos principais

  • A ED25519 é um algoritmo de assinatura assimétrica que oferece segurança robusta e desempenho excepcional.

  • Baseia-se na dificuldade do problema do logaritmo discreto em curvas elípticas e resiste a diferentes ataques criptográficos.

  • Quando comparada a algoritmos tradicionais como RSA, a ED25519 tem velocidades muito maiores para assinar e verificar, o que a torna adequada para aplicações em tempo real e para sistemas de blockchain.

  • A Binance oferece totalmente o algoritmo ED25519 para segurança da API e fornece ferramentas e bibliotecas para facilitar a criação de chaves, a assinatura de solicitações e a integração de autenticação segura para negociação e gerenciamento de conta.

الشريط الإعلاني لدورات أكاديمية Binance

Introdução

Neste artigo, apresentamos a ED25519 oferecendo uma visão geral do algoritmo e de seu histórico. Também discutimos as deficiências dos algoritmos criptográficos mais antigos que a ED25519 supera, e explicamos por que ela é popular e amplamente utilizada.

Em seguida, fornecemos algumas orientações sobre como criar chaves privadas e públicas, explicamos o básico de como assinar e verificar mensagens e mostramos como usar essas chaves com APIs na Binance.

Por que criar uma ED25519

Embora algoritmos assimétricos como RSA (criado em 1977) e DSA (de 1991) tenham sido amplamente usados, eles têm algumas limitações que a ED25519 busca corrigir.

1. Segurança

Resistência a ataques: o algoritmo ED25519 foi projetado para resistir a um grande conjunto de ataques criptográficos, incluindo ataques de canal lateral e ataques de temporização que afetaram algoritmos mais antigos como RSA e DSA. Os algoritmos antigos eram vulneráveis a ataques porque atacantes podiam extrair informações secretas observando diferenças de temporização durante a assinatura ou a verificação.

Suposições criptográficas mais fortes: a ED25519 se baseia na dificuldade do problema do logaritmo discreto em curvas elípticas, que é considerado mais seguro contra certos tipos de ataques do que o problema de fatoração de números inteiros em primos usado no RSA.

2. Desempenho

Velocidade de assinatura: a ED25519 foi projetada para ser mais rápida do que o RSA-2048 na criação de assinaturas. Essa vantagem de velocidade torna o algoritmo muito adequado para aplicações que exigem geração rápida de assinaturas, como negociação de alta frequência (HFT) e comunicações instantâneas.

Velocidade de verificação: a ED25519 também é mais rápida do que o RSA-2048 na verificação de assinaturas. Altas velocidades de verificação são necessárias para sistemas que precisam verificar rapidamente um grande número de assinaturas, como redes blockchain e plataformas de mensagens seguras.

3. Assinaturas determinísticas

Consistência: a ED25519 gera a mesma assinatura para a mesma mensagem todas as vezes, eliminando a necessidade de um gerador de números aleatórios seguro durante o processo de assinatura. Essa consistência reduz riscos de erros de implementação e vulnerabilidades associadas à aleatoriedade fraca.

Simplificação da implementação: a natureza determinística simplifica o processo de implementação, tornando mais fácil desenvolver sistemas de criptografia seguros e confiáveis.

4. Menor tamanho de chave

Eficiência: a ED25519 usa tamanhos de chave menores em comparação com a RSA, resultando em cálculos mais rápidos e menor necessidade de armazenamento. Essa eficiência é especialmente útil para ambientes com recursos limitados, como sistemas embarcados, dispositivos de Internet das Coisas e aplicações em dispositivos móveis.

Economia de banda: chaves menores também reduzem o uso de banda, o que é uma vantagem para aplicações interconectadas e sistemas com canais de comunicação limitados.

Casos de uso

A ED25519 é amplamente usada em comunicações seguras devido à sua segurança robusta e excelente desempenho. Sua capacidade de criar e verificar assinaturas rapidamente a torna ideal para aplicações como mensagens criptografadas, segurança de e-mail e transferência segura de arquivos.

Ao garantir que mensagens e arquivos sejam autenticados e não adulterados, a ED25519 ajuda a manter a integridade e a confidencialidade das informações sensíveis. Além disso, sua natureza determinística simplifica a implementação, reduzindo o risco de erros e vulnerabilidades associadas à aleatoriedade em operações criptográficas.

Sistemas de blockchain e moedas digitais também são alguns dos principais casos de uso da ED25519; a eficiência do algoritmo para assinar e verificar transações é essencial para manter a velocidade e a segurança das redes blockchain.

O menor tamanho da chave da ED25519 e seu desempenho rápido são especialmente úteis para ambientes com recursos limitados, como dispositivos de Internet das Coisas e sistemas embarcados. Esses dispositivos frequentemente exigem protocolos de comunicação seguros que funcionem eficientemente dentro de capacidades limitadas de computação e armazenamento. Ao aproveitar a ED25519, os desenvolvedores podem garantir que suas soluções de IoT sejam seguras e de alto desempenho, permitindo uma ampla gama de aplicações — desde dispositivos de casas inteligentes até sistemas de automação industrial.

Como criar chaves ED25519?

O método preferido para criar chaves privadas e públicas é usar a ferramenta de criação de chaves na Binance, o que torna o processo fácil, pois a criação inteira pode ser concluída via uma interface de usuário clara.

Também é possível gerar chaves usando o OpenSSL via linha de comando.

Gerar a chave privada:

Gerar a chave privada com uma frase-senha:

Gerar a chave pública a partir da chave privada:

Exemplo: criar e verificar uma assinatura ED25519

Como assinar solicitações de API na Binance

  1. Configurar variáveis da solicitação:

    1. Para a API WebSocket, todas as variáveis devem ser ordenadas em ordem crescente antes de criar a assinatura, o que garante consistência na geração das assinaturas.

    2. Para a API REST, não é necessário ordenar as variáveis antes da assinatura. A assinatura é gerada com base exatamente nas próprias variáveis da solicitação, como elas foram fornecidas.

  2. Criar uma assinatura ED25519:

    1. A ED25519 pode ser usada com a chave secreta da API para assinar as variáveis relacionadas.

    2. Você pode usar a chave privada do ED25519 registrando a chave pública na Binance. Para ver as etapas detalhadas, consulte Como criar um par de chaves ED25519 para enviar solicitações de API na Binance.

  3. Incluir a assinatura na solicitação:

    1. Anexe a assinatura gerada à solicitação da API como variável de assinatura.

Exemplo: como assinar uma solicitação usando a chave privada do ED25519 para a API na Binance

A Binance recomenda usar os conectores, o que torna a integração mais suave e cuida da geração da assinatura.

Exemplo: como usar os conectores da Binance

Gerar a assinatura automaticamente

Para desenvolvedores que desejam automatizar o processo de geração de assinaturas em diferentes linguagens de programação, a Binance fornece um repositório open source com exemplos em Python, JavaScript, Java e outras. Você pode acessá-lo no repositório do GitHub binance-signature-examples.

Com esse recurso, os desenvolvedores podem integrar rapidamente a autenticação baseada em ED25519 em seus aplicativos com o menor esforço possível.

Para quem testa integrações de API na Binance em um ambiente isolado, você pode gerar uma chave ED25519 privada usando a rede de testes da Binance, permitindo que desenvolvedores experimentem a autenticação da API sem afetar contas de negociação ao vivo.

Perguntas frequentes

Para que a ED25519 é usada?

A ED25519 é usada para gerar assinaturas digitais que verificam a autenticidade e a integridade de mensagens ou transações. Aplicações comuns incluem autenticação SSH, certificados TLS, segurança de API e assinatura de transações de blockchain. A Binance a utiliza como o algoritmo preferido para autenticar solicitações de API.

A ED25519 é mais segura do que a RSA?

Cada uma tem diferentes propriedades de segurança; a ED25519 oferece resistência a ataques de temporização e de canal lateral que afetaram aplicações RSA e verifica um nível de segurança semelhante usando chaves muito menores. Para a maioria dos casos de uso de segurança de API, a ED25519 é a opção mais forte entre as duas para aplicações práticas atuais.

A ED25519 é segura contra computação quântica?

Não, assim como todos os algoritmos baseados em curvas elípticas, a ED25519 não resiste o suficiente a ataques provenientes de um computador quântico forte. O NIST publicou, em 2024, padrões de assinatura pós-quântica, incluindo ML-DSA. No momento, a ED25519 continua prática e amplamente usada, mas instituições com necessidades de segurança de longo prazo podem começar a planejar a transição para algoritmos pós-quânticos.

Como usar a ED25519 com a API na Binance?

Gere um par de chaves ED25519 usando a ferramenta de criação de chaves na Binance ou uma biblioteca de software compatível e registre sua chave pública na sua conta da Binance. Para cada solicitação de API, assine a string das variáveis com sua chave privada e inclua a assinatura gerada na solicitação. As bibliotecas dos conectores da Binance podem automatizar esse processo em várias linguagens.

Qual é a diferença entre ED25519 e HMAC para autenticar a API na Binance?

O HMAC usa uma chave secreta compartilhada para gerar um código de autenticação da mensagem, e ambas as partes precisam conhecer a mesma chave — o que significa que o segredo deve ser armazenado por ambas. Já o algoritmo ED25519 é assimétrico: apenas você mantém a chave privada, e a Binance armazena apenas sua chave pública. Isso significa que, se os sistemas da Binance forem comprometidos, sua chave de assinatura privada não será revelada. A ED25519 é o método recomendado pela Binance para novas integrações de autenticação de API.

Ideias finais

A ED25519 atinge um equilíbrio ideal entre segurança e desempenho, tornando-se uma excelente opção para as necessidades modernas de criptografia. Sua natureza assimétrica oferece segurança mais forte em comparação com algoritmos simétricos como o HMAC, que podem ser mais suscetíveis a alguns ataques.

Em termos de desempenho, a ED25519 se destaca tanto na criação de assinaturas quanto na verificação; ela é mais rápida do que algoritmos tradicionais como RSA, com velocidades de assinatura de até 30 vezes mais rápidas. Essa eficiência a torna ideal para aplicações que exigem assinaturas rápidas e frequentes, como comunicações seguras e transações em blockchain.

Na Binance, a ED25519 é o algoritmo preferido por sua segurança e desempenho superiores, e é suportada integralmente por todas as APIs da Binance, garantindo uma integração tranquila e compatibilidade entre diferentes plataformas e serviços. Ao usar ED25519, a Binance assegura que suas operações criptográficas sejam seguras e eficientes, fornecendo uma base confiável para seus serviços financeiros e de negociação.

Depois de aprender o algoritmo ED25519 e como criar chaves e assinaturas, você pode usá-lo para enviar solicitações de mercado na Binance com segurança.
Ao enviar uma solicitação de mercado, a chave privada é usada para assinar a solicitação, comprovando que ela foi emitida por uma fonte legítima.

Artigos relacionados

Aviso legal: este conteúdo é fornecido para você “como está”, com o objetivo de apresentar apenas informações gerais e fins educacionais, sem quaisquer declarações ou garantias de qualquer tipo. Não deve ser interpretado como conselho financeiro ou jurídico, nem como qualquer outro conselho especializado. Também não é uma recomendação para comprar qualquer produto ou serviço específico. Você deve procurar a orientação de consultores profissionais adequados. Se o artigo tiver sido fornecido por uma parte externa, observe que as opiniões apresentadas pertencem à parte externa e não refletem necessariamente as visões acadêmicas da Binance. Os preços de ativos digitais são voláteis e o valor dos seus investimentos pode diminuir ou aumentar e pode não ser recuperado. Você é o único responsável pelas suas decisões de investimento, e a Binance Academy não se responsabiliza por quaisquer perdas que você possa incorrer. Para mais informações, consulte os Termos de Uso, o Aviso de Risco e os Termos da Binance Academy.