API Keyはプログラム取引の鍵であり、アカウント乗っ取り犯が最も好むバックドアでもあります。「パスワードが漏洩していないのに乗っ取られた」というケースの多くは、API Keyに問題があったことが原因です。この記事では、API Keyの権限システム、IPホワイトリスト、最小権限の原則、そして使用しなくなったKeyを定期的にクリーンアップする方法について明確に説明します。管理の入り口はアカウント設定にあります。Binance公式サイトにログインしてAPI管理ページに入るか、モバイル端末でもBinance公式アプリから確認できます。Appleユーザーの方はiOSインストール手順を参照してください。
API Keyとは何か
API Key(Application Programming Interface Key)は、プログラムがあなたの代わりにアカウントを操作するための認証情報です。
1つのAPI Keyは以下の2つの部分で構成されています:
- API Key(公開鍵):あなたが誰であるかを識別します。例:
xH3kL9... - Secret Key(秘密鍵):リクエストへの署名に使用されます。絶対に漏洩させてはいけません。
この2つと対応する権限があれば、どんなプログラムでもあなた本人と同じようにBinanceアカウントを操作できます。資産の確認、注文、出金などが可能です。
API Keyが必要になるのはいつか
シナリオ1:クオンツ取引(自動売買)
PythonやNode.jsなどの言語を使って取引ボットを作成し、APIを通じて自動で注文を行う場合。アカウントの読み取り + 現物取引 + 先物取引の権限が必要です。
シナリオ2:取引シグナルの同期(コピートレード)
ある取引所のポジションを別の取引所にコピーする場合。ポジションの読み取り + 注文の権限が必要です。
シナリオ3:資産トラッキング
CoinGeckoやCoinStatsなどの資産管理ツールを接続し、保有資産を自動的に更新する場合。読み取り専用の権限のみが必要です。
シナリオ4:税務ソフト
KoinlyやCointrackerなどの税金計算ツールは、過去の取引履歴を読み取る必要があります。読み取り専用の権限のみが必要です。
これらのニーズが全くない場合は、API Keyを作成しないでください。API Keyが存在すること自体が潜在的なリスクとなります。
API Keyの権限タイプ
BinanceのAPI Keyは細分化された権限をサポートしており、複数をチェックすることができます:
1. 読み取り(デフォルト)
- 可能:アカウント情報の確認、注文の照会、履歴のダウンロード
- 不可能:注文、出金、振替
- 安全性:最高
2. 現物およびマージン取引
- 可能:注文、注文のキャンセル、注文の照会
- 不可能:出金
- 安全性:中(最大でも取引に使う資産を損失するのみ)
3. 先物取引
- 可能:先物注文、ポジションの開閉、レバレッジの調整
- 不可能:出金
- 安全性:中〜低(高レバレッジのため損失が早い)
4. 振替
- 可能:あなたのサブアカウント間、または異なるウォレット間(現物/先物/Earn)での資産移動
- 不可能:オンチェーンの他のアドレスへの出金
- 安全性:中
5. 出金
- 可能:任意のアドレス(デフォルト)またはホワイトリストのアドレスへの出金
- デフォルトではオフになっており、能動的にチェックする必要があります
- 安全性:最低
- 新規Key作成時はデフォルトでオフになっており、決してオンにしないことを強く推奨します
最小権限の原則
API Keyに与える権限が少ないほど、アカウントは安全になります。
読み取り専用のシナリオ
「読み取り」のみをチェックします。たとえKeyが漏洩しても、攻撃者は見るだけで動かすことはできません。税務ツールや資産トラッキングにはこれを使用します。
取引のみで出金しないシナリオ
「読み取り + 現物取引 + 先物取引」をチェックし、「出金」は絶対にチェックしないでください。これがクオンツ取引の標準構成です。たとえKeyが盗まれても、乗っ取り犯はあなたのアカウント内で勝手に注文を出すことしかできず、暗号資産を持ち去ることはできません。
クロスプラットフォームのコピーシナリオ
**「読み取り + 取引」**をチェックします。振替と出金はオンにしないでください。
一言で言えば:オンにしなくて済むものはオンにせず、可能な限り少なくすることです。
IPホワイトリスト:最強の防衛線
IPホワイトリストを使用すると、API Keyを指定されたIPアドレスからのみ呼び出せるように制限できます。他のIPアドレスがKeyを入手しても使用できません。
IPホワイトリストの設定方法
- API Keyの作成時 → 「信頼できるIPアクセスを制限する」をチェックする
- 許可するIPアドレスを入力する(複数ある場合はカンマで区切る)
- 保存する
自分のIPを知る方法
- ローカルで実行:
whatismyipaddress.comにアクセスしてパブリックIPを確認する - クラウドサーバーで実行:クラウドプロバイダーのパネルでインスタンスのパブリックIPを確認する
- 動的IP:IPホワイトリストは使用できません(固定IPまたはVPSのみ使用可能)
IPホワイトリストの威力
攻撃者があなたのKeyとSecretを完全に入手したとしても、彼自身のコンピュータからは呼び出すことができません。なぜなら、彼のIPがホワイトリストにないからです。これはAPI漏洩を防ぐ究極のソリューションです。
IPホワイトリストの制限
- IPv4のみサポート(IPv6は不安定な場合があります)
- IPが変更された場合は、手動でホワイトリストを更新する必要があります
- 家庭用の動的IPには適していません
API Keyの作成手順
第1ステップ:API管理に入る
- binance.com にログインする
- 右上のプロフィールアイコン → 「API管理」をクリックする
- 「APIを作成」をクリックする
第2ステップ:タイプの選択
- システム生成(推奨):システムが自動的に公開鍵と秘密鍵のペアを生成する
- カスタムキーペア(上級者向け):自分で生成した公開鍵と秘密鍵のペアを使用して、公開鍵をアップロードする
第3ステップ:ラベル名の入力
APIに意味のある名前を付けます。例:
ボット-BTC戦略Koinly-税金コピートレード-Bitget
ラベル名は、後で整理する際に用途を識別するのに役立ちます。
第4ステップ:本人確認の完了
- メールの認証コード
- 携帯電話の認証コード(バインドされている場合)
- Google Authenticatorの6桁のコード
第5ステップ:権限の設定
最小原則に従ってチェックし、不要なものは一切チェックしないでください。
第6ステップ:IPホワイトリストの設定
チェックすることを強く推奨します。サーバーのIPを入力します。
第7ステップ:保存してSecretを記録する
Secretは作成時に1度だけ表示されます。直ちにコピーして安全な場所に保存してください(スクリーンショットを撮らない、メールで送信しない、クラウドドライブに保存しない)。ページを閉じると二度と見ることができなくなります。
使用しないAPI Keyの定期的なクリーンアップ
なぜクリーンアップが必要なのか
- すべてのKeyが潜在的な攻撃対象(アタックサーフェス)になります
- どこかで実行中のKeyを忘れている可能性があります
- 古いKeyの権限が安全でなくなっている可能性があります
クリーンアップのアドバイス
- 月に1回API Keyリストを確認する
- 30日以上使用していないもの → 削除
- 用途がわからないもの → 削除
- 権限が大きすぎるもの → 削除して再作成
削除方法
- 「API管理」 → 削除したいKeyを見つける
- 「削除」をクリックする
- 本人確認を完了する
- 確認する
- 即座に無効になり、そのKeyを使用しているすべてのプログラムは瞬時にアクセス権を失います
一括削除
一度に削除できるのは1つだけで、一括削除機能はありません。ただし、先に「無効化」してからゆっくり削除することはできます。
API Keyが盗まれた兆候
兆候1:異常な注文
- 注文した覚えがないのに注文履歴にある
- 特にマイナーコインの買い注文(マネーロンダリングによくある手法)
- 高頻度の少額注文(APIの特徴)
兆候2:資金の異常な移動
- 現物と先物の間で突然大量の資金が移動した
- サブアカウント間で異常な割り当てがある
兆候3:APIログに異常なIPがある
- 「API管理」→ 最近のアクセスIPを見る
- 見知らぬIPを発見した → 乗っ取られている
兆候4:API権限が変更されている
- 「読み取り」だけをチェックしたはずなのに、「読み取り+取引」に変わっている
- 誰かがあなたのKeyを変更した
これらの兆候のいずれかを発見した場合 → 直ちにすべてのAPI Keyを削除し、アカウントを確認してください。
API Keyが漏洩する一般的な原因
原因1:コードがGitHubにアップロードされた
ソースコード内にハードコーディングされ、コミットされてGitHubにプッシュされた。GitHubのクローラーが数分以内に発見し、数秒後にはあなたのアカウントは空になります。
対策:常に環境変数または設定ファイルを使用し(.gitignoreに追加する)、絶対にハードコーディングしない。
原因2:設定ファイルが不正アクセスされた
VPSがハッキングされ、config.jsonが読み取られた。
対策:サーバーにパッチを当てる、パスワードログインを無効にする、SSH Keyを使用する、ファイアウォールを有効にする。
原因3:サードパーティのサービスが破られた
API Keyを「シグナルサービス」や「コピートレードボット」に提供し、そのサービスがハッキングされた。
対策:信頼できるサービスプロバイダーのみに提供する + IPホワイトリストを有効にする + 取引権限のみを許可する。
原因4:ローカルのコンピュータがトロイの木馬に感染した
あなたのWindowsやMacにマルウェアがインストールされ、API Keyが盗まれた。
対策:ウイルス対策ソフトをインストールする + 海賊版ソフトウェアをダウンロードしない + 重要なプログラムは隔離された環境に置く。
よくある質問
Q:API Keyの漏洩とパスワードの漏洩、どちらが深刻ですか?
A:権限によります。API Keyに出金権限がある場合 → パスワードの漏洩と同じくらい深刻です。読み取り権限しかない場合 → 被害は非常に小さいです。これこそが、最小権限の原則が重要である理由です。
Q:1つのアカウントで最大いくつまでAPI Keyを作成できますか?
A:Binanceでは1つのアカウントにつき最大30個のAPI Keyを同時に保持できます。削除後に再作成することも可能です。一般の個人ユーザーであれば、1〜3個で十分です。
Q:API Keyに有効期限はありますか?
A:ほとんどのKeyには強制的な有効期限はありません。しかし、90日間アクセスがない場合、Binanceは自動的に無効化します。API管理ページに再度入り、手動でアクティブ化する必要があります。
Q:API Keyにサブアカウントの権限を設定することはできますか?
A:可能です。サブアカウントには独立したAPI Keyがあり、権限と資産はメインアカウントから隔離されています。クオンツ取引をサブアカウントで行うことを強くお勧めします。たとえ盗まれても、メインアカウントの資産には影響しません。