6

私のクライアントは、オンラインオフラインでデータを操作したり、通常は製品を作成または取得したりできることを望んでいます。

オンラインではWebサービスとサーバーデータベースを使用したいと考えていますが、オフライン(ネットワークの分割など)では、データをlocalStorageで永続化および暗号化する必要があります。

javascript crypto libを使用し、ログインページからパスワードを取得し、暗号化パスフレーズにパスワードから派生したキーを使用します。キーは単純なjavascript変数に保存されます(ページは動的であるため、ページは変更されません)。

この問題についてのあなたの意見は何ですか、そしてあなたはどのような解決策を事前に考えますか?良いjavascript暗号ライブラリ?

4

1 に答える 1

7

解決策は、あなたが言うように、クライアントのパスワードからキーを取得することです。そうすれば、直接保存する必要はありません。これは、パスワードマネージャーであるラストパスで使用される手法です。ほとんどの人がこれに使用する機能はPBKDF2です。単純な変数にキーを格納することは、誰かがその変数を読み取ることができれば、クライアントが作業しているデータを読み取ることができるという点で、実際には安全ではありません。クライアントがログアウトするときにデータをクリアするようにしてください

ありがたいことに、このライブラリはすでにこれらのほとんどすべてを非常にうまく行っており、ブルース・シュナイアーの本を読んで暗号について知っておくべきことをすべて知っていると思ったWeb 2.0の男ではなく、神の暗号学者に正直に書かれています。

于 2012-06-01T05:10:39.190 に答える