106

ユーザーにAPIキーシークレットの両方を提供する多くのAPIに出くわしました。しかし、私の質問は、両方の違いは何ですか?

私の目には、1つのキーで十分です。私が鍵を持っていて、私とサーバーだけがそれを知っているとしましょう。このキーを使用してHMACハッシュを作成し、API呼び出しを行います。サーバー上で、HMACハッシュを再度作成し、送信されたハッシュと比較します。同じ場合、通話は認証されます。

では、なぜ2つのキーを使用するのでしょうか。

編集:またはそのAPIキーはAPIシークレットを検索するために使用されますか?

4

5 に答える 5

67

2 つの別個の鍵が必要です

「キー」はユーザーID、「シークレット」はパスワードです。「キー」と「シークレット」という用語を使用しているのは、それが実装方法だからです。

于 2012-07-19T13:30:37.637 に答える
51

秘密鍵暗号化は、同じ鍵を使用してメッセージをエンコードし、後でデコードすることに依存しています。したがって、「秘密」を知っている人だけがメッセージを読むことができます。

RSA セキュリティは、2 つの一致するキーに基づいています。各ユーザーには公開鍵があり、誰もがそれを知ることができます (すべきです)。ユーザーだけが知っておくべき秘密鍵もあります。公開鍵で暗号化されたメッセージは、秘密鍵でしか復号化できず、その逆も同様です。

したがって、あなただけが読むことができるメッセージを送信したい場合、(ネットワークから) あなたの公開鍵を取得し、その鍵でメッセージを暗号化すると、それを解読できるのはあなただけになります。

または、メッセージを送信したことを証明したい場合は、秘密鍵でメッセージを暗号化し、(公開テキストまたは別のメッセージで) どのように暗号化されたかを伝えることができます。次に、私の公開鍵でメッセージを復号化し、それが読めるようになったら、それが私からのものであることがわかります。

この形式の暗号化はかなりコンピュータを集中的に使用するため、RSA テクノロジを使用して 1 回限りの「秘密鍵」を暗号化し、残りのメッセージを秘密鍵で暗号化し、2 回目の署名を暗号化するという方法が時々行われます。ファッション。次に、このプロセスを逆にします。メッセージと署名が読める場合は、あなただけがそれを読むことができ、私がメッセージを送信したことを確認できます。

また

詳細な説明については、このリンクにアクセスしてください。

API キーとシークレット キーはどのように機能しますか?

于 2012-07-19T09:47:46.337 に答える