私はASP.netでwebdevを使い慣れています。安全な「私を思い出してください」Webアプリケーションで
私の問題は、安全な「Remember me」機能を確保する方法です。 現時点では、私は将来、ユーザーを認証するためにオブジェクトをクッキーにシリアル化しています。
しかし、私の考えは、誰かが私のクッキーをコピーすると、彼はハッキングされた人のアカウントでログインできるようになりました。異なるセッション間で誰かのログインを覚えておくのがより安全なバージョンですか?
敬具
私はASP.netでwebdevを使い慣れています。安全な「私を思い出してください」Webアプリケーションで
私の問題は、安全な「Remember me」機能を確保する方法です。 現時点では、私は将来、ユーザーを認証するためにオブジェクトをクッキーにシリアル化しています。
しかし、私の考えは、誰かが私のクッキーをコピーすると、彼はハッキングされた人のアカウントでログインできるようになりました。異なるセッション間で誰かのログインを覚えておくのがより安全なバージョンですか?
敬具
あなたは、クライアントのIPアドレスのようなクッキーにいくつかの追加情報を格納することができます。
「remember me」クッキーには通常、長いセッションキーが保存されます。 Cookieが最初に作成されたコンピュータ環境に関する追加情報を保存し、Cookieを受け入れる前にこの情報をチェックすることで、盗まれたCookieを使用するのをより困難にすることができます。これは「デバイスフィンガープリント」と呼ばれます。これは非常に正確ですが、それほど簡単ではなく、100%安全ではありません。
IP-数は、デバイスの指紋の一部にすることができますが、それはかなりかなりCookieの値が減少するように、モバイルデバイス上のIP-数字は非常に頻繁に変更されます。 「User-Agent」、「Accept」、「Accept-Language」などのようなhttpヘッダーフィールドをチェックすることができます。これらのフィールドは通常、2つの異なるブラウザで異なります。 javascriptを使用してosのバージョン、javaのバージョンなどを調べることができます。
サーバー上にデバイスの指紋をセッションキーと共に保存すると、remember-me-cookieが少し強くなります。しかし、それはまだあまり安全ではありません。クッキーを盗む攻撃者は、おそらくこの情報をすべて収集することもできます。
PS:また彼は、クッキーが自分のコンピュータが盗まれた、すなわち場合は、失われたことを知っている場合、ユーザーが非アクティブに覚え-私をクッキーにできるはずであることを覚えておいてください。
http://stackoverflow.com/questions/3206622/is-putting-data-in-cookies-secureを見る、アイデアは、DBにいくつかの既知の値(回転値)を格納し、内復号化された値と比較することですクッキー – sll