1

これから質問するのは、単に興味があるからです。私は正しいことをしていると思いますが、それが実際に正しいことであることを確認したいと思います. ハッシングについてです。

私が現在構築している Web サイトには、いくつかの Ajax を使用したコンポーネントが含まれています。まず、ログインしていないユーザーはこれらのコンポーネントを使用できません。次に、ログインしているユーザーは、自分の名前でのみリクエストを実行できます。私は User-id を送っているので、偽造するのはとても簡単です。

私の検証方法は以下の通りです。各ユーザーには、8 文字のランダムな文字列などのランダムな情報を保持するデータベース内の列があります。ユーザーが行うすべての Ajax リクエストと一緒に、このランダムな文字列がハッシュされた文字列として送信されます。Ajax 要求がサーバーによって受信されると、このハッシュがユーザー テーブルと照合され、ID とハッシュが有効な組み合わせであることを確認します。その場合、リクエストは有効です。

「秘密」のランダム文字列はユーザ​​ー領域に入ることはなく、簡単に推測できません。つまり、ユーザーがハッシュを生成することはできません。この種のリクエストの保護は安全ですか? 欠点はありますか?そして、塩を少し入れたほうがいいでしょうか?

余談ですが、この種の検証には本当に興味があります。インタラクションデザインのコースを受講しました。「私たち」には、「世界の知識と頭の中の知識」という原則があります。ハッシュは実際にその手法を使用して、メタデータを「頭」から「世界」に転送します (逆も同様です)。head と world の両方に、メタデータを比較および復号化する独自のメソッドがあるため、リクエストを偽装することはできません。頭が知っていることを世界が知らない限り。

そうは言っても、私のリクエストが(比較的)安全かどうか知りたいです。前もって感謝します!

ライナー

4

2 に答える 2

0

はい、いくつかの注意事項があります。

1) ハッシュが平文で送信される場合、なりすましの対象になります。ハッシュを傍受する攻撃者は、有効なユーザーになりすますことができます。真のセキュリティを確保するには、チャネル (HTTPS) を保護する必要があります。

2) 既存の暗号的に安全なハッシュを使用していることを確認してください。自分で巻こうとしないでください。MD5から離れることをお勧めします。これがグリーンフィールドの状況であり、SHA1 実装が存在することを考えると、MD5 を使用する理由はほとんどありません。

于 2010-11-15T16:52:26.507 に答える