5

twitter APIを使用している間、私はoauth_signatureを基本的には(リクエストボディ+要求パラメータ+ nonces/timestamps + a consumer_secret)のハッシュです。 consumer_secretは、要求を送信しているアプリケーションにのみ知られています。oauth_signatureがSSLホイールを改革していませんか?

Twitterの場合:

  • すべての通信はSSLを介して行われる必要があります。
  • twitterが承認済みの各アプリケーションにconsumer_secretを送信します。

oauth_signatureの主な用途はMITMs(すなわち無おっぱい(輸送中の改ざんを):)防ぐためですので、この特定のユースケースは、相互SSL経由

  • を解決できるように私には思えますTwitterは、consumer_secretを発行する代わりに、各アプリケーションにSSL証明書を発行することができます。

クライアントssl証明書のこのアイデアは、1990年代インターネットアーケーナのように見えるかもしれませんが、主にクライアント証明書の信頼チェーンを検証することに問題があったために成功しませんでした。この問題は、twitterが証明書の唯一の発行者と検証者になるため、ここでは発生しません。欠点は、最初のアプリケーション/クライアントSSL証明書を生成するためにTwitterに代わってはるかに複雑な作業になりますが、REST APIの単純さにあります。これは、クライアントが誰であるかを保証することができます。

この場合、twitterは単なる例であることに注意してください。 AFAIKでは、他のほとんどのoauth実装者も同様の戦略を使用しています。ここでのポイントは、すでにSSLを要求している大規模OAuth実装者に適用されます。

私はここで何が欠けていますか?インターネットの慣性?

答えて

-1

OAuthが解決しようとしている問題を解決するのに、相互SSL証明書は良いアイデアですが、正確には解決しません。 OAuthには2セットのトークンがあります。 1つはアプリケーション用(SSL証明書で置き換えることができます)、特定のユーザー用です。この認証されたアプリケーションがこの特定のユーザーにアクセスすることが許可されているかどうかを判断しようとすると、SSL証明書は役立ちません。

+0

質問がありません。私は相互SSL証明書がOAuthが解決する問題を解決すると言っているわけではありません。 'oauth_signature'メカニズムは、相互SSL証明書がすでに提供している双方向認証を基本的に改革しているということです。 – Manav

+1

しかし、相互SSL証明書は問題の半分(アプリケーショントークン側)のみを解決し、消費者トークン側は何もしません。 OAuth 2.0を見ると、その方向に動いています。 –

関連する問題