4

多くの Web REST API は、キーとシークレットを提供します。API にリクエストを行うときは、両方を返す必要があります。これの用途は何ですか?それらの1つで十分ではないでしょうか?

  • これは公開鍵と秘密鍵の交換ではありません。両方を渡しますよね?

  • また、多くのハッシュ アルゴリズムのように、シークレットを使用してコンテンツをハッシュし、他の値を計算することもありません。常に同じキーとシークレットを返します。

私が見つけることができる唯一のものは、検証にキーとシークレットを使用する方法への答えです? これは、サーバーがシークレットを使用してドメイン (またはおそらくユーザー名など) を安価にハッシュし、キーと一致するかどうかを確認できることを示しています。それって本当に使い道?

(ボーナスは、このメカニズムの名前になります。暗号化メカニズムに関するstackoverflow/wikipediaで見つけることができるものと一致しないようです。)


更新: 回答とコメントのいくつかは、キーと対応する秘密キーの両方をリクエストで渡すのは悪い考えであることを教えてくれます。実際に起こりますが、それでも悪い考えです。

4

1 に答える 1

2

あなたが言及しているHMAC Authentication
keyはあなたのアカウント名のようなものであり、認証に直接使用されることはありません。はsecret厳密にオフラインで共有され、返送されることはありません。HMAC 認証では、サーバーとクライアントの間で合意された一連のパラメーターから派生した署名を送り返します。もちろん、これsecretはその一部です。

于 2012-09-25T17:16:20.310 に答える