2017-05-17 12 views
0

私はAPIを構築しています、私は、URL要求は次のように呼び出されます、APIキーを使用する予定どのように安全にするか?RESTful APIのAPIキー暗号化?</p> <p><a href="http://myapi.com/apikey=mykey" rel="nofollow noreferrer">http://myapi.com/apikey=mykey</a></p> <p>しかし、この場合には、ウェブクローラを使用して、人々はAPIキーを見ることができるので、私は疑問に思う:

+1

ヘッダーとして送信することを検討する必要があります。 – Murali

+0

でもヘッダーはまだ見えますか? – ywj7931

+0

[こちら](https://security.stackexchange.com/a/153144/141234)はこれに対する答えです。 – Programmer

答えて

1

認証が必要なAPIを構築する場合、通常、ユーザーごとに固有のキーを割り当てます。その使用方法を知っておく必要があります。通常、最善のアプローチは、サーバーコール(たとえば、C#クライアントを使用してAPIに接続する代わりに、ページ上の誰でもキーを読み取ることができるjavascriptを使用して)を使用してAPIを呼び出す方法です。 javascriptコードにAPIキーを格納するようなことは避けますが、javascriptの直接呼び出しでAPIキーをやりたいのであれば、もう一度やります。それでも、Muraliが提案したように、ヘッダーはURLパラメータよりもはるかに優れていると思います。少なくともそのようにすると、URLを見ているユーザーにとってキーが完全に見えなくなります。

また、途中の人が心配な場合は、HTTPS経由でのみアクセスできるようにAPIを設定する必要があります。その場合、すべての通信が暗号化され、 APIキーを知っている(暗号部分が正しく設定されていると仮定して)。

一時的なキーをより洗練された方法で使用したい場合は、いつでもOAuth2をご覧ください。簡単に言えば、認証サーバーを設定してAPIコンシューマの秘密識別子を提供し、APIの一時キーを作成することができます。そのため、APIキーのいずれかが侵害されても、その鍵は数時間後に更新されるため(設定に応じて多かれ少なかれ)、消費者はOAuth資格情報を保護する必要があります。これらの資格情報は新しい鍵を要求できるからです)。

関連する問題

 関連する問題