6

クライアント側でデータを暗号化してからサーバーに送信するWebアプリケーションを開発しています。サーバーは暗号化されたデータを保存しますが、データを復号化する機能はありません。重要なのは、クライアントのデータを安全に保ち、サーバーホストでさえデータにアクセスできないようにすることです。これは、サーバーが暗号化されたデータのみを受信し、キーを受信しないという事実によって保証されます。

クライアント側での暗号化と復号化にJavascriptを使用する予定です。さらに、接続はSSLで保護されます。

私はここの記事を読みました:http://www.matasano.com/articles/javascript-cryptography/これは、Javascriptを暗号化に使用すべきではないことを示唆していますが、私のユースケースには対応していません。

これは安全なソリューションですか?より安全にする方法はありますか?

4

2 に答える 2

12

Host-Proof Hostingパターン (2005 年 7 月以降) をご覧ください。

まばたきスケッチで:

データ クラウド内にロックされ、ブラウザのキー。

解決

サーバーに送信されることのないパスフレーズを提供することによってのみ、クライアントがアクセスして操作できるように、機密データを暗号化された形式でホストします。サーバーは、ブラウザが送信する暗号化されたデータの永続化と取得に制限されており、プレーンな形式の機密データに実際にアクセスすることはありません。これ。すべての暗号化と復号化は、ブラウザ自体の内部で行われます。

重要な点は、引き続き TLS/SSL を使用し、HTML と JavaScript リソースの両方を提供するホストを完全に信頼する必要があることです。

また、個人の健康情報の Web ブラウザー暗号化にも、探しているものと同様のソリューションがあります。

暗号化データの流れ

于 2013-04-20T21:24:19.160 に答える
0

このセットアップに本質的に問題はありませんが、自分のマシンのセキュリティを維持するのはクライアントの責任であるため、より多くの問題を引き起こす可能性がある状況に陥っている可能性があると思います.

1 つは、ユーザーが何があっても自分のデータにアクセスできることを期待していることです。JS がオフになっている別のシステムにいる場合、データにアクセスできません。

もう 1 つ、ユーザーがパスワード/キーを忘れた場合はどうなりますか? 保存していないため、データを回復することはできず、事実上失われます。あなたにできることは何もありませんし、あなたのせいではありませんが、ユーザーはそのようには見えません。

ちょっと考えさせられます。

于 2013-03-14T21:31:27.483 に答える