Une clé API Binance est une paire de clés composée d'une clé publique de 64 bits et d'une clé secrète (secret key) de 64 bits, utilisée pour les stratégies quantitatives, l'arbitrage entre plateformes, l'abonnement aux données de marché et d'autres scénarios automatisés. Les principes fondamentaux de conservation sont la minimisation des autorisations, l'activation obligatoire de la liste blanche d'adresses IP et le stockage jamais en clair des clés. Les nouveaux utilisateurs peuvent se connecter au site officiel de Binance et trouver l'entrée « Gestion API » sous le menu du compte. Sur mobile, elle peut être créée via l'application officielle Binance dans « Plus - Gestion API ». Pour une première utilisation sur un nouvel appareil iOS, veuillez d'abord vous référer au tutoriel d'installation iOS pour activer l'appareil. Réponse directe : l'autorisation la plus critique est celle de retrait (Withdraw). 99 % des utilisateurs individuels n'ont pas besoin de la cocher. Conserver uniquement Read et Trade, combiné à une liste blanche d'IP, permet de réduire les pertes potentielles à presque zéro en cas de vol de l'API.
I. Composition de la clé API et mécanisme de signature
Étape 1 : Comprendre la paire de clés
Chaque clé API se compose d'une paire de chaînes Base64 : la clé publique sert à identifier l'identité dans les en-têtes de requête, tandis que la clé secrète est utilisée localement pour générer une signature. Les serveurs de Binance n'enregistrent que la clé publique et les autorisations correspondantes, ils n'enregistrent jamais la clé secrète. Par conséquent, si vous oubliez la clé secrète, vous devrez en créer une nouvelle.
Étape 2 : Signature HMAC-SHA256
Lors de chaque appel à une interface privée, le client doit trier les paramètres de la requête par ordre alphabétique pour former une chaîne de requête (querystring), puis utiliser la clé secrète pour calculer un HMAC-SHA256, obtenant ainsi une signature hexadécimale de 64 caractères. Le serveur effectue le même calcul et n'autorise la requête que si les signatures correspondent. Ce mécanisme évite que la clé ne circule directement sur Internet.
Étape 3 : Fenêtre de temps
Les requêtes doivent inclure un paramètre d'horodatage (timestamp). Par défaut, un écart de 5 000 millisecondes est autorisé, ajustable jusqu'à un maximum de 60 000 millisecondes. Une fenêtre trop large expose aux attaques par rejeu, il est donc conseillé de garder la valeur par défaut et de synchroniser l'heure NTP locale.
II. Différence entre les trois types d'autorisations et stratégie d'activation suggérée
Les autorisations de l'API Binance sont divisées en trois niveaux par risque croissant :
- Read (Lecture seule) : Permet de consulter les actifs du compte, l'historique des transactions et les ordres ouverts actuels. Même en cas de fuite, il s'agit seulement d'une fuite d'informations, sans perte de fonds. Presque tous les bots, tableaux de bord et logiciels fiscaux n'ont besoin que de cette option.
- Trade (Transaction) : Permet de passer des ordres, d'annuler des ordres et de convertir des devises au comptant ou sur contrats à terme. En cas de fuite, un attaquant pourrait manipuler le marché pour transférer indirectement de la valeur à un compte associé, causant des pertes, mais les fonds restent sur la plateforme d'échange.
- Withdraw (Retrait) : Permet de retirer directement des actifs vers une adresse sur la chaîne. En cas de fuite, les actifs peuvent disparaître en quelques secondes. Il est fortement déconseillé d'activer cette option dans des scripts quantitatifs ordinaires.
Il existe également deux commutateurs spécifiques : Universal Transfer contrôle les transferts internes entre le compte au comptant et les contrats à terme, et Margin contrôle les comptes sur marge. Si vous ne faites que des stratégies au comptant, gardez-les désactivés par défaut.
Le chemin pour créer une clé API est : Centre du compte → Gestion API → Créer une API → Saisir le nom de la clé (ex: « grid-bot-btc ») → Cocher les autorisations → Saisir la liste blanche d'IP → Double vérification par e-mail et 2FA. Après la création, la clé secrète ne s'affiche qu'une seule fois ; assurez-vous de l'enregistrer immédiatement dans un gestionnaire de mots de passe hors ligne.
III. Liste blanche d'IP et stratégie de rotation des clés
Le tableau suivant présente les configurations recommandées pour différents types d'utilisateurs :
| Type d'utilisateur | Read | Trade | Withdraw | Liste blanche IP | Cycle de rotation |
|---|---|---|---|---|---|
| Tableau de bord pur | On | Off | Off | Obligatoire (1 IP) | 180 jours |
| Robot de trading (Grid) | On | On | Off | Obligatoire (1 IP) | 90 jours |
| Teneur de marché | On | On | Off | Obligatoire (1-3 IP) | 60 jours |
| Arbitrage inter-plateformes | On | On | Off | Obligatoire (2 IP) | 60 jours |
| Gestion d'entreprise | On | On | Optionnel | IP + Double validation | 30 jours |
| Script ponctuel | On | On | Off | Obligatoire (1 IP) | Supprimer après usage |
Il faut souligner que : pour une clé API sans liste blanche d'IP activée, les pertes d'actifs sont presque irrécupérables en cas de fuite. Même si seule l'autorisation Trade est cochée, un attaquant peut faire fondre les actifs du compte par des transactions croisées. Avec la liste blanche activée, les serveurs de Binance vérifient l'IP d'origine pour chaque requête et n'autorisent que celles provenant des adresses listées.
L'intérêt de la rotation des clés est que, même si une clé est accidentellement divulguée (ex: soumission par erreur sur GitHub, sauvegarde de fichier journal), elle devient automatiquement invalide après 90 jours, empêchant une exploitation à long terme par un attaquant. Lors de la rotation, créez d'abord la nouvelle clé, mettez à jour tous les scripts, puis supprimez l'ancienne clé, en évitant d'avoir deux clés actives simultanément pendant trop longtemps.
IV. Scénarios typiques et exemples de risques
Scénario 1 : Un débutant en trading quantitatif soumet par erreur son code sur un dépôt public. Les robots de scan de clés sur GitHub peuvent découvrir la clé en clair en quelques minutes, permettant à un attaquant de prendre le contrôle du compte via des scripts automatisés. Bonne pratique : placez la clé secrète dans des variables d'environnement ou un fichier .env, et excluez ce fichier dans .gitignore.
Scénario 2 : Un serveur cloud est piraté. Une clé sans liste blanche d'IP peut être extraite directement des fichiers de configuration du serveur par un attaquant, puis utilisée depuis n'importe quelle IP dans le monde. Avec la liste blanche, même si la clé fuite, les requêtes provenant d'IP non listées seront rejetées.
Scénario 3 : Leurre par page de phishing. Certaines plateformes de trading tierces demandent aux utilisateurs de coller leur clé API. Si l'interface est falsifiée pour envoyer les données à leur propre serveur, votre clé sera enregistrée. Ne collez jamais votre clé secrète sur un site tiers inconnu ; tout outil conforme utilise OAuth ou une autorisation officielle de la plateforme d'échange.
Scénario 4 : Fuite par un employé interne. En entreprise, plusieurs personnes peuvent avoir besoin d'opérer. Il est conseillé d'utiliser des sous-comptes avec des clés API indépendantes pour isoler les droits, et d'activer l'audit des journaux d'accès. Révoquez immédiatement la clé correspondante lorsqu'un employé quitte l'entreprise ou change de poste.
Résumé des risques : Dès qu'une clé secrète de 64 bits quitte l'ordinateur local, elle doit être considérée comme compromise. Toute capture d'écran, enregistrement d'écran, synchronisation cloud ou discussion peut entraîner une exposition accidentelle. Soyez vigilant quant aux voies de fuite électroniques et physiques.
II. FAQ - Questions fréquentes
Q : Une clé API peut-elle être partagée par plusieurs programmes simultanément ? R : Techniquement oui, mais ce n'est pas recommandé. Partager une clé rend les journaux difficiles à suivre. Il est conseillé de créer une clé distincte pour chaque stratégie ou chaque machine afin de localiser facilement tout comportement anormal.
Q : La liste blanche d'IP ne peut-elle contenir que des IP fixes ? R : Oui, il doit s'agir d'IP publiques fixes. Si vous utilisez une connexion domestique avec une IP dynamique, vous devrez utiliser un VPS ou un service DDNS pour fixer la sortie. En général, la liste blanche d'IP supporte jusqu'à 20 adresses, ce qui peut couvrir des serveurs répartis sur plusieurs sites.
Q : Que faire si j'ai oublié ma clé secrète (secret key) ? R : La clé secrète ne s'affiche qu'une seule fois lors de la création et ne peut pas être récupérée. Vous devrez supprimer l'ancienne clé et en créer une nouvelle, puis mettre à jour la configuration de tous vos scripts. C'est une différence fondamentale par rapport aux mots de passe ordinaires.
Q : Quelle est la durée de validité par défaut d'une clé API ? R : Elle est illimitée par défaut, mais Binance invitera l'utilisateur à la prolonger manuellement s'il n'y a aucune activité pendant 90 jours. Il est conseillé d'effectuer une rotation proactive tous les 90 jours.
Q : Que faire immédiatement après une fuite de clé API ? R : Connectez-vous immédiatement à la page de gestion API de votre compte pour supprimer la clé compromise, activez la liste blanche pour bloquer tout retrait, réinitialisez votre mot de passe et votre 2FA, vérifiez l'historique récent des transactions pour détecter des ordres anormaux, et soumettez un appel au service client si nécessaire.