アプリケーション プログラミング インターフェイス (API) キーは、呼び出し元のアプリケーションまたはユーザーを識別するために API で使用される一意のコードです。 API キーは、ユーザー名とパスワードの仕組みと同様に、API を誰がどのように使用するかを追跡および制御し、アプリケーションを認証および認可するために使用されます。 API キーは、単一のキーまたは複数のキーのセットにすることができます。ユーザーはベスト プラクティスに従って、API キーの盗難に対する全体的な保護を強化し、API キーの侵害に伴う結果を回避する必要があります。

APIとAPIキー

API キーとは何かを理解するには、まず API とは何かを理解する必要があります。アプリケーション プログラミング インターフェイス (API) は、2 つ以上のプログラムが情報を交換できるようにするソフトウェア仲介手段です。たとえば、CoinMarketCap API を使用すると、他のアプリケーションが価格、出来高、時価総額などの暗号通貨データを取得して使用できるようになります。

API キーはさまざまな形式にすることができます。これは、単一のキーまたは複数のキーのセットにすることができます。さまざまなシステムで、これらのキーは、ユーザー名とパスワードが使用されるのと同じように、アプリケーションの認証と認可に使用されます。 API キーは、API を呼び出すアプリケーションを認証するために API クライアントによって使用されます。 

たとえば、Binance Academy が CoinMarketCap API を使用したい場合、API キーが CoinMarketCap で生成され、API へのアクセスを要求する Binance Academy (API クライアント) を認証するために使用されます。 Binance Academy が CoinMarketCap API にアクセスするときは、この API キーをリクエストとともに CoinMarketCap に送信する必要があります。 

この API キーは Binance Academy を通じてのみ使用する必要があり、他の人に共有したり送信したりすることはできません。この API キーを共有すると、第三者が Binance Academy として CoinMarketCap にアクセスできるようになり、第三者によるアクションはすべて Binance Academy からのものであるかのように表示されます。

API キーは CoinMarketCap API を使用して、アプリケーションが要求されたリソースへのアクセスを許可されていることを確認することもできます。さらに、API 所有者は API キーを使用して、リクエストのタイプ、トラフィック、量などの API アクティビティを監視します。 

APIキーとは何ですか? 

API キーは、API を誰がどのように使用するかを制御および追跡するために使用されます。 「API キー」という用語は、システムごとに異なる意味を持ちます。一部のシステムには 1 つのコードがあり、他のシステムには 1 つの「API キー」に対して複数のコードがある場合があります。   

したがって、「API キー」は、呼び出し元のユーザーまたはアプリケーションを認証および認可するために API で使用される一意のコードまたは一意のコードのセットです。認証に使用されるコードもあれば、リクエストの正当性を確認する暗号署名の作成に使用されるコードもあります。 

これらの認証コードは一般に「API キー」と呼ばれますが、暗号署名に使用されるコードには「秘密鍵」、「公開鍵」、「秘密鍵」などのさまざまな名前があります。認証には、関係する個人を特定し、本人であることを確認することが含まれます。

一方、認可は、どの API サービスへのアクセスを許可するかを指定します。 API キーの機能は、アカウントのユーザー名とパスワードの機能と似ています。他のセキュリティ機能に接続して、全体的なセキュリティを強化することもできます。 

各 API キーは通常、API 所有者によって特定のオブジェクトに対して生成され (詳細は以下を参照)、ユーザーの認証または認可、またはその両方を必要とする API エンドポイント呼び出しが行われるたびに、対応するキーが使用されます。

暗号署名

一部の API キーは、追加の検証層として暗号署名を使用します。ユーザーが特定のデータを API に送信したい場合、別のキーによって生成されたデジタル署名をリクエストに添付できます。 API 所有者は、暗号化を使用して、このデジタル署名が送信されたデータと一致することを確認できます。

対称署名と非対称署名 

API を通じて送信されるデータは、次のカテゴリに分類される暗号キーを使用して署名できます。

対称キー

これは、単一の秘密キーを使用してデータに署名し、署名を検証することです。対称キーを使用する場合、API キーと秘密キーは通常 API 所有者によって生成され、API サービスは署名を検証するために同じ秘密キーを使用する必要があります。単一のキーを使用する主な利点は、すべての処理が高速になり、署名の生成と検証に必要な計算能力が少なくなることです。対称キーの良い例は HMAC です。

非対称キー

これは、秘密キーと公開キーという 2 つのキーを使用することです。これらは異なりますが、暗号的に関連しています。秘密キーは署名の作成に使用され、公開キーは署名の検証に使用されます。 API キーは API 所有者によって生成され、秘密キーと公開キーのペアはユーザーによって生成されます。 API 所有者は、秘密キーがローカルで秘密のままであるように、署名を検証するためにのみ公開キーを使用する必要があります。 

非対称キーを使用する主な利点は、署名の生成とキーの検証を分離することでセキュリティが向上することです。これにより、外部システムは署名を生成できなくても検証できるようになります。もう 1 つの利点は、一部の非対称暗号化システムが秘密キーへのパスワードの追加をサポートしていることです。良い例は RSA キー ペアです。 

API キーは安全ですか? 

API キーはユーザーの責任です。 API キーはパスワードに似ているため、同じように注意して扱う必要があります。 API キーの共有はパスワードの共有と似ているため、ユーザーのアカウントを危険にさらす可能性があるため、他の人と共有しないでください。 

API キーは、個人情報や金融取引の要求など、システム上で強力な操作を実行するために使用される可能性があるため、一般にサイバー攻撃の標的となります。実際、クローラーがオンライン コード データベースを攻撃して API キーを盗むことに成功したケースがあります。

API キーの盗難の結果は深刻で、重大な経済的損失につながる可能性があります。さらに、一部の API キーには有効期限がないため、攻撃者は盗難後、キー自体が取り消されるまでそれらを無期限に使用できます。

API キーの使用に関するガイドライン

機密データへのアクセスと一般的な脆弱性のため、API キーを安全に使用することが最も重要です。 API キーを使用する場合は、次のベスト プラクティスに従って、全体的なセキュリティを向上させることができます。 

  1. API キーを頻繁に変更してください。これは、現在の API キーを削除し、新しい API キーを生成する必要があることを意味します。 API キーの生成と削除は、ほとんどのシステムで非常に簡単です。一部のシステムでは 30 ~ 90 日ごとにパスワードを変更する必要があるのと同様に、可能であれば API キーも同じ頻度で変更する必要があります。

  2. IP ホワイトリストを使用する: API キーを作成するときに、そのキーを使用できる IP アドレスのリスト (IP ホワイトリスト) を作成します。ブロックされる IP アドレスのリスト (IP ブラックリスト) を指定することもできます。そうすれば、たとえ API キーが盗まれたとしても、未知の IP アドレスからアクセスすることはできません。

  3. 複数の API キーを使用する: 複数のキーを使用し、それらの間で責任を分担すると、セキュリティが拡張されたアクセス許可を持つ単一のキーに依存しないため、セキュリティ リスクが軽減されます。キーごとに異なる IP ホワイトリストを設定して、セキュリティ リスクをさらに軽減することもできます。 

  4. API キーを安全に保存する: キーを公共の場所、公共のコンピューター、またはプレーン テキスト形式で保存しないでください。代わりに、セキュリティを強化するために各キーを暗号化するかパスワード マネージャーを使用して保存し、誤って公開しないように注意してください。 

  5. API キーを誰とも共有しないでください。 API キーの共有は、パスワードの共有と似ています。これにより、相手に認証および認可の権限を付与することになります。これらが侵害されると、API キーが盗まれ、アカウントのハッキングに使用される可能性があります。 API キーは、ユーザーとそれを生成するシステムの間でのみ使用してください。

API キーが侵害された場合は、それ以上の被害を防ぐために、まず API キーを無効にする必要があります。経済的損失が発生した場合は、事件に関連する重要な情報のスクリーンショットを撮り、関連機関に連絡し、警察に被害届を提出してください。これは、失われた資金を取り戻す可能性を高める最善の方法です。 

結果

API キーは基本的な認証および認可機能を提供するため、ユーザーはキーを慎重に管理し、保護する必要があります。 API キーを安全に使用するには、多くの層と側面があります。一般に、API キーはアカウントのパスワードとして扱う必要があります。

関連記事

  • 一般的な安全原則

  • 5 つの一般的な暗号通貨詐欺とその回避方法