さて、ここで私のベストショットです。
1)内部的に、mvcはRNG暗号化方式を使用してXSRFトークンとして動作する128ビット文字列を作成します。この文字列は、フォームのどこかの隠しフィールドと同様、Cookieにも格納されます。 Cookie名は、__RequestVerificationToken +アプリケーションパス(サーバー側)のベース64エンコードバージョンの形式であるようです。このHTMLの一部は、データ の以下の部分をシリアル化するためにAntiForgeryDataSerializerを使用しています - ソルト - 値(トークン文字列) を - 作成日 のダニ - ユーザ名は(Context.Userのように思える)
validateメソッドは、基本的にCookieとフォームの値を逆シリアル化し、値(salt/value/ticks/username)に基づいて比較します。
2/3)この議論は、XSRFトークンをいつ使用するのか、そうでないのかについて、もっと議論すると思います。私の心の中で、あなたはこれをあらゆる形で使うべきです(私はなぜそうではないのでしょう)。これが保護しないと私が考えることができる唯一のことは、実際に問題のフォームにヒットしたかどうかである。アプリケーション名のbase64エンコーディングを知ることで、攻撃者はXSRF攻撃中にCookieを見ることができます。たぶん私の解釈は間違っています。
4)あなたが探している商品が正確かわからないのですか?私はセッションにXSRFトークンを保存しようとするメカニズムを構築していたと思います。もしそうでなければ、クッキーアプローチを試してみてください。使用される暗号のタイプについては、私はこれを発見しました。 Pros and cons of RNGCryptoServiceProvider
CSRFが何であるか疑問に思っていますか?具体的にどのようにMSはそれを扱うのですか?それとも一般的にどのように対処するのでしょうか? – CtrlDot
@CtrlDot - 私はMSFTの実装の背後にあるすべての詳細について知りたいです。 http://security.stackexchange.comにアクセスして、CSRFに関する情報を取得し、クッキーをダブル送信することができます – LamonteCristo