8

セキュリティとパフォーマンスが心配なので、これをセキュリティに投稿するか/スタックオーバーフローに投稿するかはわかりません。

Cookie 管理の信頼できる情報源を見つけようとしています。私はOWASPを読んだので、何が危険なのかを大まかに知っています。

しかし、Cookie を使用してユーザーを認証する必要があります。完全なステップバイステップガイドはありますか?

私がしたこと:

  • ランダムで一意の文字列を生成します。

  • ランダムな文字列をキャッシュ内のユーザーに関連付ける rndstring -> user

  • 安全で署名された Cookie を作成します。値=ハッシュ(rndstring+secret)|rndstring

  • ユーザーが戻ってきたら、ハッシュが一致するかどうか、rndstring がキャッシュにあるかどうかを確認します。

  • はいの場合、ユーザーを取得します。

私は自分で作ったので、私のアプローチには欠陥があると思います。

もう 1 つの問題は、キャッシュ内のデータベースからユーザー オブジェクトを保護することです。ユーザーがプロファイルを更新した場合、キャッシュも更新する必要があります。

play2 フレームワーク + mongoDB で Java を使用しています。

どのリソースをお勧めしますか?

4

2 に答える 2

2

これはSecurity StackExchangeへの質問だと思います。最近DW からの優れた回答とともに、そこで同様の質問をしたことに注意してください。security.stackexchange.com フォーラムには、あなたの方法論を批判する人がたくさんいます。

個人的には、独自のセッション管理を開発することはお勧めしません。実際、そうしないことをお勧めします。「プレイ フレームワーク」のセッション管理は多くの人によってレビューされていますが、あなたのセッション管理には見落としていた脆弱性がありませんし、簡単に見逃す可能性があります。選択したプログラミング フレームワークが提供する組み込みのセッション管理を使用します。プレイのドキュメントを読みましたか?

リソースに関しては、David Rook の Secure Development Principles を確認ください

Cookie を使用する気が変わった場合は、URL に推測不可能なトークンを挿入する方法であるWeb キーを調べることができます。

Owasp を読むとき、最新のセッション管理チートシートを読みましたか? あなたの多くの質問はそこで答えられていると思います。

最後のリソースはSANS Top 25 Software Errorsです。

于 2012-08-07T09:52:46.363 に答える
1

また、ハッシュをチェックして一致するたびに、新しい一意の文字列を生成し、Cookie の値を更新することをお勧めします。これにより、システムのセキュリティが向上します。クッキーが盗まれた場合、ハッキングの可能性が減少するため。

于 2012-08-07T09:50:11.167 に答える