ASP.NetIdentityでCookieセキュリティを主張
ネット全体を読んで理解した方法では、ClaimはCookieとして保存され、Claimsコレクションにユーザーの役割を追加してClaimsCookieに保存します。 ASP MVC
コントローラーでチェックする承認属性を取得するたびに、データベースに移動してユーザーロールを取得する手間が省けるので、これはすばらしいことです。
- これは安全ですか?
- 盗まれた場合、Cookieを復号化できますか?
- クレームをCookieに保存してサーバーに保存しない代替手段はありますか?これは効率的ですか、それとも私は多くのことを心配していますか?
Cookieは、Webサイトの認証セッションを維持するためのほぼ標準的な方法です。セッションをクエリ文字列として送信し、安全性が低いことが示されたクックレスメカニズムを使用しない限り。クレームをCookieに保存するかどうかに関係なく、ページヒット間でクライアントIDを維持するためにCookieセキュリティメカニズムに依存しています。このメカニズムは何年も前から存在しており、Microsoftの実装ガイドラインに従っている限り、安全であると見なされます。
WIFライブラリで.NET4.5または.NET4.0を使用していると仮定すると、サーバーにクレームをキャッシュし、Cookieで送信することはできません。ここにいくつかの基本的な ドキュメント があります。通常、クレームが多く、Cookieが大きくなりすぎて、ページがヒットするたびに実行できない場合に推奨されます。
Olegが書いたように、標準のCookie暗号化は安全であると見なされます。
ここでの議論< サーバー側はOwin認証を使用したキャッシュを主張します >も興味深いかもしれません。