2016-10-17 12 views
0

OAuthは、サーバーからサーバーへのHTTPSを介した基本認証よりも安全ですか?OAuthはサーバー間通信の基本認証よりも安全です

OAuthを使用してサーバーAからサーバーBにAPIリクエストを行う場合は、サーバーAにいくつかの認証データ(キー、シークレットなど)を保存する必要があります。これらの認証データを使用して、トークンを持ち、このトークンを使用してサーバーBにリクエストすることができます。後で同じ認証データを使用すると、トークン・キーがあり、この新しいトークンでリクエストを行うことができます。

基本認証では、私はサーバーAに認証データ(ユーザー、パスワード)を持っています。このデータを使用してBでのリクエストを今すぐ実行できます。

ここで、認証データを持つサーバーA .confにファイルがあり、このファイルが盗まれたために認証データが検出されたとします。両方のケース(OAuthとBasic Auth)では、それはひどく、基本認証よりもOAuthを使用する利点はありません。実際のケースの例:私はちょうど前日にtwitterボット(OAuthとの接続)を作成しました。設定情報が発見されれば、アカウントが盗まれ、attaquantは今や今後このボットを使用することができます。

サーバーからサーバーへの要求(HTTPSを使用する)でOauthを使用して基本認証を使用すると、わからない(または誤解された)別の理由がありますか?

答えて

1

サーバー自体が違反している場合も同様ですが、通信チャネルに違反があると考えると小さな違いがあります。

基本認証では、完全な資格情報は常に各リクエストに含まれ、OAuthでは各リクエストに含まれるアクセストークンです。一見するとこれは同じに見えるかもしれませんが、トークンは、いくつかの興味深い特性を持っている:

  • 彼らは、単一のリークの影響を減らすに関連する有効期限を持つことができます。
  • これらは、適用範囲が狭く、つまりアプリケーションに書き込みアクセス権がありますが、ほとんどの要求は読み取りアクセスのみを必要とするため、この大半の要求で使用する読み取り専用アクセストークンを要求するよりも、この場合も、漏れの影響が最小限に抑えられます。

もう1つ興味深い点は、ほとんどの違反は通信チャネルで発生する可能性が高く、サーバー自体では発生しない可能性が高いということです。

ただし、いくつかの欠点があります。ベアラトークンは、即時取り消し機能が必要な場合はさらに複雑になります。

関連する問題