次のコードを使用して、暗号化されたトークンを生成しています。
var ticket = new System.Web.Security.FormsAuthenticationTicket(
2,
"",
DateTime.Now,
DateTime.Now.AddMinutes(10),
false,
"user id here");
var cipherText = System.Web.Security.FormsAuthentication.Encrypt(ticket);
このコードは、 app/web.config で指定されたキーとアルゴリズムを使用します。
<system.web>
<machineKey validationKey="SOME KEY"
decryptionKey="SOME OTHER KEY"
validation="SHA1" />
</system.web>
このようにして生成された暗号文をパートナーに渡すとします。彼は総当たり攻撃が可能ですか:
- 暗号に格納されている値 (機密情報を表していないユーザー ID であり、あまり気にしません)
- 暗号を作成するために使用される validationKey と decryptionKey の値 (トークンを生成して任意のユーザーになりすますことができるため、これは壊滅的です)
両方の質問に対する答えはイエスだと思いますが、彼の可能性はどれくらい現実的で、彼に暗号を与えることは私のシステムにとってセキュリティ上の脅威になると思いますか? ご回答ありがとうございます。