2011-04-21 9 views
2

OAUTHシステムの「キー」(または「トークン」)を理解することは、秘密ではない送信者を識別するための「ユーザー名」と似ていますが、実際には「パスワード」と似ています。なぜOAUTHでトークンシークレットが暗号化されていないのですか?

しかし消費者がトークンのためサービスプロバイダを要求したときhttp://oauth.net/core/1.0/#signing_process上のOAuth 1.0の仕様を読ん、それは私には思える(いずれかのトークンまたはアクセストークンを要求する)トークンとトークンシークレットがあり、 PLAIN(ちょうどbase-64でエンコードされた)テキストをHTTP応答として返します。

ウェブを検索した後では、すべてではないにもかかわらず、「リクエストトークンURL」はHTTPではないを意味します。第三者がトークンとトークンの秘密を傍受する可能性があります。

これまで私は間違っていますか?私は第三者がトークンの秘密を傍受したことを知っています。それは、消費者(または消費者としての任意の党の主張)の要求は、第三者が通常知らない消費者キー(トークンセカンド)で署名する必要があります。なぜトークンシークレットが必要なのでしょうか?

答えて

1

それはは、HTTPを使用するようにを許可し、そうあなたの懸念は非常に有効で、安全なトランスポート(HTTPS)を使用する(付録B.1を参照)を推奨されているが。私は、Googleがトークンとシークレットを取得する限り、少なくともOAuthのすべてのトランザクションでhttps://を許可していることを知っています。これまでに試したすべてのAPIデータリクエストに対してです。

+0

おかげで、さらに疑似質問 - OAUTHがトークンシークレットを暗号化するためにコンシューマシークレットを使用しない理由は何ですか?トークン/トークンの秘密のサイズが大きくないので、サービスプロバイダーに負担をかけることはないようです。 –

+0

良い点。しかし、oauth2はシグニチャをオプションにすることもできるので、TLSはまったく唯一のセキュリティです。私が読んだことから、OAuthの意思決定の中で、よりセキュリティに精通した人々が鼓舞されました。 –

関連する問題