0

このタイプの認証を必要とするAPIシステムを開発しています。ユーザーは、ID、データ、およびハッシュ(秘密鍵でハッシュされたデータ)を使用してHTTPリクエストを送信し、サーバーでハッシュがここで同じ手順と一致するかどうかを確認します。
実装が必要なようですか?
そして、公開鍵としてクライアントのIDを使用しますが、ランドン番号の秘密鍵(idのsha256)を生成するための最良の方法は何ですか?

4

2 に答える 2

2

これは秘密/公開鍵暗号ではありません。このようなシステムでは、クライアントがデータ全体を暗号化し、秘密鍵を使用してデータを復号化します。クライアントに秘密鍵を渡すことは決してありません。

あなたがしているのはリクエストの署名です。あなたは「秘密」(あなたが「秘密鍵」と呼んでいるもの)を与え、そして彼らはこれを使ってハッシュを生成します。シークレットも知っているので、サーバー上のハッシュを確認できます。

この種のシステムには公開鍵はありません。通常、セッションキーまたはトークンを使用してクライアントを識別するため、クライアントは最初に認証する必要があります(つまり、何らかの認証方法が必要です)。基本的に、実装しようとしているのはOAuthです。おそらく、ライブラリを見て、直接使用できるかどうかを確認してください-http://oauth.net/documentation/getting-started/

于 2012-06-11T03:47:37.717 に答える
1

Amazons3が認証のために何をしているのかをチェックすることは良いスタートかもしれません

基本的に、彼らはあなたが提案したのと同じことをしていて、ハッシュにRFC2104HMAC-SHA1を使用しています。実装は、選択した言語によって異なります。

于 2012-06-11T04:17:12.503 に答える