3

ユーザーが毎回パスワードを入力する必要はなく、パスワードをローカルに保存したくありません。ユーザーが最初にユーザー名とパスワードを送信したときに、パスワードのハッシュ化されたバージョン (パスワード + ソルトのハッシュ) を返信する予定です。これは、web サービスへの後続の呼び出しを承認するために使用される localstorage に格納されます。

ローカルストレージが侵害された場合 (電話の盗難など)、泥棒はトークンを盗み、ユーザーとして Web サービス呼び出しを行うことができますが、少なくともユーザーのパスワードはわかりません。

私が見落としている他の脆弱性はありますか? localstorage の代わりに Cookie に入れる理由はありますか?

4

1 に答える 1

3

考慮すべき点がいくつかあります。盗聴を防ぐために SSL を使用する必要があります。そうしないと、任意のピア (ユーザーと同じ安全でない WiFi スポットにいる他の誰か) がハッシュ化されたパスワードを記録し、それを使用して要求を再生できる可能性があります。また、ハッシュアルゴリズムの強度も重要です。既知のユーザー名と脆弱なパスワードを使用すると、潜在的なハッシュのテーブルを生成し、既知のハッシュに対してテストすることが可能になる場合があります (攻撃者がハッシュを侵害した場合)。

これと Cookie の違いについては、非常に簡単です。通常、Cookie はサーバーによってランダムに生成され、パスワードからはまったく派生しません。それ以外は、クッキーはあなたが話していることへの近道です。アプリ内の独自のストレージに保存するか、HTTP ライブラリの組み込みの Cookie ハンドラーに保存するかは、実際には問題ではありません。盗聴/リプレイ攻撃から保護するために SSL を使用していることを確認している限り、かなり安全です。

また、サーバーで生成されたハッシュを使用して、ユーザー パスワードを方程式から完全に除外することをお勧めします。

于 2011-08-10T21:05:10.513 に答える