0

私はこれについて早急に助けが必要です (私は明日の朝のためにこれに対する解決策を考え出すように求められました)。主任開発者は、次の問題に対して可能な既存の解決策を考え出すように私に依頼しました。

この C# 検索結果ページはサード パーティの Web サイトで公開されていますが、クエリ文字列に渡されるハッシュ キーによってアクセス制限を追加します。

まず、サードパーティの Web サイト開発者は、私たちが作成する新しいページにアクセスして、現在の状態に基づいてハッシュ キーを自動生成します。次に、そのキーをリンクに追加します。それらのリンクの 1 つからリクエストがあった場合、結果へのアクセスを許可するために、キーをデータベースにあるものと照合しようとします。また、なりすましなどを防ぐために、ドメイン/IP アドレスなどの追加情報も確認したいと考えています。攻撃の種類。

もう 1 つの考慮事項は次のとおりです。このキー システムを動的にして、時間の経過とともに変化するようにすることはできますが、サード パーティの開発者は、中間キーを更新するために私たちに戻ってくる必要はありませんか?

問題は、このケース シナリオに最適なソリューションは何かということです。すでに似たようなものはありますか?クエリ文字列でハッシュキーを使用するのは正しい/最善のアプローチですか?

4

1 に答える 1

0

通常、この場合、識別子と共有シークレットがあります。

ユーザーを識別するために、識別子がクエリで渡されます。共有シークレットは、ハッシュ アルゴリズムで使用され、要求のチェックサムを提供します。これは通常、クエリ文字列 (サードパーティでは簡単) または HTTP ヘッダーとして送信されます。

Amazon は、AWS で HMAC-SHA256 を使用してこのタイプのデジタル署名を使用します。System.Security.Cryptography.HMACSHA256に関する MSDN のドキュメントと、 Authentication Requestsに関する AWS のドキュメントを参照してください。MD5 または SHA だけでも、おそらく問題なく動作します。

クライアントに配布する方法があると仮定すると、ユーザーごとの共有キーを維持できます。

于 2013-02-05T23:12:57.750 に答える