3

機密性の高いビジネス データを使用して、オフライン対応の HTML5 SPA を構築したいと考えています。おそらくノックアウト.jsで!

しかし、私たちは非常に深刻なセキュリティ上の懸念を抱えています。

暗号化はどうですか?暗号化が可能な場合があります。ただし、適切なキーは (オフラインの) クライアント側にも存在する必要があります。また、クライアント側にアルゴリズムとキーの両方がある場合は、ローカル ストレージに暗号化せずに保存することもできます。

データ操作はどうですか?Firebug などのツールを使用して、DOM または JavaScript オブジェクトを簡単に操作できます。

私はノックアウトが大好きですが、実際のビジネス アプリケーションには適していません。

助言がありますか?

4

1 に答える 1

3

私はセキュリティの専門家ではありませんが、js を使用して client-sde を暗号化/復号化する場合、公開鍵と秘密鍵の両方をクライアント側に保存する必要はありませんか? セキュリティ モデル全体を効果的に無力化します。

クライアント側でデータを取得したら、それを完全に安全に保つ方法は実際にはないと思います。ブラウザーを信頼して状態を非公開に保つ必要がありますが、実際に 100% 安全であるためには、Web を放棄するか、結果を受け入れる必要があります。ページにリダイレクトするか、特定の期間後に状態を破棄し、部分的なデータをクライアントに送信し、サーバー側に頼って空白を埋めます。ある意味では、タブを閉じない限り、すべての Web ページはオフライン対応です。ページ上のすべてのアカウント アクティビティを含む銀行の Web サイトを考えてみてください。セキュリティの観点から、それとオフライン js の間に違いはありません。

Re: データ操作、これは実際には KO の「機能」ではありませんが、JS を使用するとかなり高度なデータ操作を行うことができ、linq.js などのライブラリを使用すると作業がはるかに簡単になります。まったくSQLではありませんが、それでも立派です。

KO は、実際のビジネス アプリケーションには絶対に適していると思います。より広く言えば、ブラウザ/js/html は、求めているセキュリティ レベルに適していない可能性があります。

ちょっとした暴言、これがお役に立てば幸いです。

于 2012-05-14T15:33:02.153 に答える