Points clés
ED25519 est un algorithme de signature asymétrique qui offre une sécurité solide et des performances exceptionnelles.
Elle s’appuie sur la difficulté du problème du logarithme discret sur des courbes elliptiques et résiste à diverses attaques cryptographiques.
Par rapport aux algorithmes traditionnels comme RSA, ED25519 se distingue par des vitesses de signature et de vérification bien plus élevées, ce qui la rend adaptée aux applications en temps réel et aux systèmes blockchain.
Binance prend pleinement en charge l’algorithme ED25519 pour la sécurité des API (API). Elle fournit des outils et des bibliothèques pour faciliter la génération des clés et la signature des requêtes, ainsi que l’intégration d’une documentation sécurisée pour le trading et la gestion des comptes.
Introduction
Dans cet article, nous couvrons ED25519 en présentant une vue d’ensemble de l’algorithme et de son contexte historique. Nous abordons également les limites des algorithmes cryptographiques plus anciens que ED25519 surmonte, en expliquant pourquoi elle est populaire et largement utilisée.
Ensuite, nous vous fournissons quelques conseils pour générer les clés privées et publiques, expliquons les bases de la signature et de la vérification des messages, et montrons comment utiliser ces clés avec les API sur Binance.
Raisons de créer ED25519
Bien que des algorithmes asymétriques comme RSA (créé en 1977) et DSA (depuis 1991) aient été largement utilisés, ils présentent certaines limites que ED25519 cherche à résoudre.
1. Sécurité
Résistance aux attaques : l’algorithme ED25519 a été conçu pour résister à un large ensemble d’attaques cryptographiques, notamment les attaques par canaux auxiliaires et les attaques par minutage qui ont affecté des algorithmes plus anciens tels que RSA et DSA. Les anciens algorithmes étaient vulnérables, car des attaquants pouvaient extraire des informations sensibles en observant les différences de minutage lors de la signature ou de la vérification.
Hypothèses cryptographiques plus fortes : ED25519 s’appuie sur la difficulté du problème du logarithme discret sur courbes elliptiques, généralement considéré comme plus sûr contre certaines catégories d’attaques que le problème de factorisation en nombres premiers utilisé dans RSA.
2. Performances
Vitesse de signature : ED25519 a été conçue pour être plus rapide que RSA-2048 pour générer des signatures. Ce gain de vitesse la rend particulièrement adaptée aux applications nécessitant des signatures rapides, comme le trading à haute fréquence (HFT) et les communications instantanées.
Vitesse de vérification : ED25519 est également plus rapide que RSA-2048 pour vérifier les signatures. Des vitesses de vérification plus élevées sont essentielles pour les systèmes devant vérifier rapidement un grand nombre de signatures, comme les réseaux blockchain et les plateformes de messagerie sécurisée.
3. Signatures déterministes
Cohérence : ED25519 génère la même signature pour le même message à chaque fois, ce qui élimine le besoin de générer des nombres aléatoires sûrs pendant l’opération de signature. Cette cohérence réduit le risque d’erreurs d’implémentation et les points faibles liés à une randomisation insuffisante.
Simplification de l’implémentation : sa nature déterministe simplifie l’exécution, ce qui rend le développement de systèmes cryptographiques sûrs et fiables plus facile.
4. Taille de clé réduite
Efficacité : ED25519 utilise des tailles de clés plus petites que RSA, ce qui permet des calculs plus rapides et réduit les besoins de stockage. Cette efficacité est particulièrement utile dans des environnements aux ressources limitées, comme les systèmes embarqués, les appareils Internet des objets et les applications mobiles.
Économies de bande passante : des clés plus petites réduisent également l’utilisation de bande passante, ce qui constitue un avantage pour les applications distribuées et les systèmes avec des canaux de communication limités.
Cas d’utilisation
ED25519 est largement utilisée dans les communications sécurisées grâce à sa robustesse et à ses excellentes performances. Sa capacité à générer et vérifier rapidement des signatures en fait un choix idéal pour des applications telles que la messagerie chiffrée, la sécurité des e-mails et le transfert sécurisé de fichiers.
En garantissant l’authenticité et l’intégrité des messages et des fichiers, ED25519 aide à préserver l’intégrité et la confidentialité des informations sensibles. Sa nature déterministe simplifie également l’exécution, ce qui réduit les risques d’erreurs et les vulnérabilités liées à la randomisation dans les opérations cryptographiques.
Les systèmes blockchain et les monnaies numériques font également partie des principaux cas d’utilisation d’ED25519 ; l’efficacité de l’algorithme pour signer et vérifier les transactions est nécessaire pour maintenir la vitesse et la sécurité des réseaux blockchain.
La petite taille des clés ED25519 et ses performances rapides sont particulièrement utiles pour les environnements aux ressources limitées, tels que les appareils Internet des objets et les systèmes embarqués. Ces appareils nécessitent souvent des protocoles de communication sécurisés capables de fonctionner efficacement avec des capacités de calcul et de stockage limitées. En tirant parti d’ED25519, les développeurs peuvent garantir que leurs solutions IoT sont sûres et hautement performantes, ouvrant ainsi la voie à une large gamme d’applications, des appareils domestiques intelligents aux systèmes d’automatisation industrielle.
كيف يتم إنشاء مفاتيح ED25519؟
الطريقة المفضلة لإنشاء المفاتيح الخاصة والعامة هي استخدام أداة إنشاء المفاتيح على Binance، ما يجعل العملية سهلة، إذ يمكن إتمام الإنشاء بالكامل عبر واجهة مستخدم واضحة.
Les clés peuvent également être générées via OpenSSL en ligne de commande.
Générer la clé privée :
Générer la clé privée avec une phrase secrète :
Générer la clé publique à partir de la clé privée :
Exemple : générer et vérifier une signature ED25519
Comment signer des requêtes d’API sur Binance
Configurer les variables de requête :
Pour l’API WebSocket, vous devez trier toutes les variables par ordre croissant avant de générer la signature. Cela garantit la cohérence lors de la création des signatures.
Pour l’API REST, vous n’avez pas besoin de trier les variables avant de signer. La signature est générée à partir exactement des mêmes variables de requête telles qu’elles sont soumises.
Générer une signature ED25519 :
ED25519 peut être utilisée avec la clé secrète de l’API afin de signer les variables associées.
Vous pouvez utiliser la clé privée ED25519 en enregistrant une clé publique sur Binance. Pour des étapes détaillées, veuillez vous référer à Comment générer une paire de clés ED25519 pour signer des requêtes d’API sur Binance.
Inclure la signature dans la requête :
Joignez la signature générée à la requête d’API en tant que variable signature.
Exemple : comment signer une requête en utilisant la clé privée ED25519 pour l’API sur Binance
Binance recommande d’utiliser les connecteurs, ce qui rend l’intégration plus fluide et prend en charge la génération de la signature.
Exemple : comment utiliser les connecteurs Binance
Générer automatiquement la signature
Pour les développeurs qui souhaitent automatiser la génération de signatures via différents langages, Binance fournit un dépôt open source comprenant des exemples en Python, JavaScript, Java, etc. Vous pouvez y accéder via le dépôt GitHub binance-signature-examples.
Grâce à cette ressource, les développeurs peuvent intégrer rapidement une authentification basée sur ED25519 dans leurs applications, avec un effort minimal.
Pour ceux qui testent l’intégration des API Binance dans un environnement isolé, vous pouvez générer une clé privée ED25519 en utilisant le réseau de test de Binance. Cela permet aux développeurs de tester l’authentification de l’API sans impacter les comptes de trading en direct.
FAQ
À quoi sert ED25519 ?
ED25519 est utilisée pour générer des signatures numériques qui vérifient l’authenticité et l’intégrité des messages ou des transactions. Parmi les applications courantes : la signature SSH, les certificats TLS, la sécurité des API et la signature des transactions blockchain. Binance l’utilise comme algorithme privilégié pour l’authentification des requêtes d’API.
ED25519 est-elle plus sûre que RSA ?
Chacune présente des caractéristiques de sécurité différentes : ED25519 offre une résistance aux attaques par minutage et aux canaux auxiliaires qui ont affecté des implémentations RSA, tout en fournissant un niveau de sécurité comparable avec des clés beaucoup plus petites. Pour la plupart des cas d’usage de sécurité des API, ED25519 est le choix le plus robuste pour les implémentations pratiques actuelles.
ED25519 est-elle sûre contre l’informatique quantique ?
Non : comme toutes les signatures sur courbes elliptiques, ED25519 ne résiste pas suffisamment aux attaques d’un puissant ordinateur quantique. En 2024, le NIST a publié des normes de signature post-quantique, notamment ML-DSA. À ce jour, ED25519 reste largement utilisée et opérationnelle, mais les institutions ayant des besoins de sécurité à long terme pourraient commencer à planifier une transition vers des algorithmes post-quantiques.
Comment utiliser ED25519 avec l’API sur Binance ?
Créez une paire de clés ED25519 à l’aide de l’outil de génération de clés sur Binance ou d’une bibliothèque prise en charge, puis enregistrez votre clé publique sur votre compte Binance. Pour chaque requête d’API, signez la chaîne des variables avec votre clé privée et incluez la signature générée dans la requête. Les bibliothèques des connecteurs Binance peuvent automatiser ce processus dans plusieurs langages de programmation.
Quelle est la différence entre ED25519 et HMAC pour l’authentification de l’API sur Binance ?
HMAC utilise une clé secrète partagée pour générer un code d’authentification du message, et les deux parties doivent connaître la même clé : le secret doit donc être stocké des deux côtés. En revanche, l’algorithme ED25519 est asymétrique : vous seul conservez la clé privée, et Binance ne stocke que votre clé publique. Cela signifie qu’une compromission des systèmes Binance ne révèlera pas votre clé de signature. ED25519 est la méthode recommandée par Binance pour les nouvelles intégrations d’API.
Idées de clôture
ED25519 trouve un excellent équilibre entre sécurité et performance, ce qui en fait un choix remarquable pour les besoins modernes en cryptographie. Sa nature asymétrique offre une sécurité plus robuste que des algorithmes symétriques comme HMAC, qui peuvent être plus exposés à certaines attaques.
En termes de performance, ED25519 est supérieure à la fois pour la génération et la vérification des signatures : elle est plus rapide que des algorithmes traditionnels comme RSA, avec des vitesses de signature pouvant aller jusqu’à 30 fois plus vite. Cette efficacité la rend idéale pour les applications nécessitant des signatures rapides et fréquentes, comme les communications sécurisées et les transactions blockchain.
Chez Binance, ED25519 est l’algorithme privilégié grâce à sa sécurité et à ses performances supérieures, et il est entièrement pris en charge sur toutes les API de Binance, garantissant une intégration fluide et une compatibilité entre différentes plateformes et services. En utilisant ED25519, Binance veille à ce que ses opérations cryptographiques soient sûres et efficaces, fournissant une base fiable pour ses services financiers et de trading.
Après avoir découvert l’algorithme ED25519, ainsi que la manière de générer des clés et des signatures, vous pouvez l’utiliser pour soumettre des ordres sur Binance en toute sécurité.
Lors de la soumission d’un ordre de marché, la clé privée est utilisée pour signer la requête, ce qui prouve qu’elle provient d’une source légitime.
Articles connexes
Quels types de requêtes pouvez-vous utiliser sur Binance (Binance) ?
Que signifie “clés d’API” et quels sont les types d’authentification ?
Signature HMAC : qu’est-ce que c’est et comment l’utiliser pour la sécurité de l’API sur Binance
Avertissement : ce contenu vous est fourni « tel quel » à des fins d’information générale uniquement et à but éducatif. Aucune déclaration ni garantie de quelque nature que ce soit n’est fournie. Ce contenu ne doit pas être interprété comme un conseil financier ou juridique, ni comme tout autre conseil spécialisé, et ne constitue pas une recommandation d’achat d’un produit ou service spécifique. Vous devez demander l’avis de conseillers professionnels adaptés. Si l’article a été fourni par un tiers, veuillez noter que les opinions exprimées par ce dernier ne reflètent pas nécessairement celles de l’académie Binance. Les prix des actifs numériques sont volatils ; la valeur de vos investissements peut baisser ou augmenter et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d’investissement et l’académie Binance n’assume aucune responsabilité pour toute perte que vous pourriez subir. Pour plus d’informations, veuillez consulter les conditions d’utilisation, l’avertissement sur les risques et les conditions de l’académie Binance.
