2016-10-14 14 views
1

フォーム認証よりも安全な認証方法があるのだろうか?私はフォーム認証を使用してサイトにログインすると、そのクッキーを別のコンピュータにコピーしてログインすることができないことを嫌います。サイトがSSL経由で閲覧されている場合は、私のサイトがこのように脆弱であるという事実はまだ好きではありません。フォーム認証よりも安全な認証手段がありますか

Windows認証以外の良い方法がありますか?

おかげ

+0

短期間のWebトークンは、一般的に暗号化されたユーザー名とパスワードを含まないため、短時間で無効になるため、Cookieをコピーすることで発生するリスクを軽減します。 used ... –

答えて

0

あなたはトークンベースのものに見えますが、何を見つけることは常にクライアントに保存され、代わりに、実際のユーザーの資格情報の認証(ユーザ名とのために渡され何かがあるということですすることができますパスワード)。それがセッションIDかトークンかどうかは、攻撃者がクライアント上のものにアクセスする能力を持っていると仮定すれば、本当に重要ではありません。

トークンベースの認証が使用されている場合、トークンはほとんどの場合Cookieに保存されませんが、ブラウザメモリ(Javascriptオブジェクト)の場合やlocalstorageのような場所ではさらに悪い場合があります。実際にはセキュアではありませんブラウザ内の他のほとんどとは対照的に、クロスサイトスクリプティングに対して安全なhttpOnlyクッキーの古いセッションIDよりも安全です。

ほとんどすべてのソリューションを選択すると、基本的に、認証に使用する何らかの種類のトークンをユーザー資格情報と交換し、トークンが資格情報と同等であることが分かります。従来のセッションとトークンとの間に大きな違いはありません。 Windowsの認証でも、OSレベルではほぼ同じですが、下のレイヤーでもXSSなどの攻撃の影響を受けにくくなりますが、自動的に送信されるセッションID(CSRFなど)に基づく攻撃に対して脆弱になります。

攻撃者がセッションIDを盗む脅威を緩和したい場合は、セッションがクライアントのIPアドレスなどのクライアント識別子にバインドされるようにアプリケーションを設計できます。そうすれば、セッションIDが盗まれたとしても、攻撃者はそれを使用することはできません。この脅威に対するもう一つの対策として、ログインしているユーザーの他のすべてのセッションを終了させるという意味で、同時セッションを防ぐことができます。これらは、従来のセッションに固有のものではなく、トークンベースの認証実装は異なります。

+0

情報ありがとうございます。フォーム認証を行うことにしましたが、IPアドレスなどをCookieに追加して、同じCookieを使用する複数のコンピュータからの複数のログインを防ぐことができます –

関連する問題