4

Google ドキュメントなどの一部の Web アプリケーションは、ユーザーが生成したデータを保存します。所有者のみが読み取ることができるデータ。またはそうでないかもしれません?

私の知る限り、このデータはリモート データベースにそのまま保存されます。そのため、リモート システムで十分な権限を持っている人 (たとえば、システム管理者) が私のデータを盗むことができれば、私のプライバシーが危険にさらされる可能性があります。

このデータを暗号化してリモート データベースに格納し、データの所有者だけが復号化できるようにするための最適なソリューションは何でしょうか? このプロセスをユーザーに透過的にするにはどうすればよいですか? (ユーザーのパスワードを知る必要がないため、データを暗号化するためのキーとしてユーザーのパスワードを使用することはできません)。

4

5 に答える 5

6

サーバー上で暗号化/復号化が実行されている場合、クリアテキストがログ ファイルなどのどこかにダンプされていないことを確認する方法はありません。

JavaScript/Java/ActiveX などを使用して、ブラウザ内で暗号化/復号化を行う必要があります。ユーザーとして、暗号化されていない情報をサーバーに送り返さないように、Web サービスのクライアント側を信頼する必要があります。

カール

于 2008-09-02T15:25:30.477 に答える
4

カールは頭を悩ませていたと思いますが、どんなウェブサイトでも、機密/個人情報/特権情報を提供する場合は、ある程度の信頼が必要であり、それはウェブサイトの責任であると言いたかったのです。この信頼を確立するサービス プロバイダー。これは、インターネットが始まって以来、何度も尋ねられてきた質問の 1 つであり、私たち全員が独自の SSL 証明書を指紋にエンコードするまで、この質問は増え続けるでしょう。 「指がまだユーザーに接続されていることをどのように知ることができますか?」.

于 2008-09-02T15:32:19.493 に答える
1

オーロンは尋ねました:クライアントがデータを暗号化/復号化するためのキーをどのように生成しますか?この鍵はどこに保管しますか?

キーは通常、ユーザーが選択したパスワードから取得されます。あなたはそれを保存しません、あなたはそれを覚えているユーザーを信頼します。保存できるのは、たとえばレインボーテーブル攻撃に対するセキュリティを強化するために、そのユーザーに関連付けられているソルト値です。

Cryptoを正しく理解するのは難しいです;-) AxCryptXecretsのオフラインクライアントのソースコードを確認することをお勧めします。

カール

于 2008-09-03T08:37:26.037 に答える
1

そうですね、Amazon の AWS に似たプロセスを検討したいと思います。リモートに保存されていないプライベート パスワードで認証します。ユーザーの検証にはハッシュのみが使用されます。次に、長い間テストされた主要なアルゴリズムの 1 つを使用して証明書を生成し、これを安全なページから提供します。次に、公開/秘密鍵アルゴリズムを使用して、ユーザーの暗号化を行うことができます。

しかし、主な問題は同じままです。十分な権限を持つ誰かがデータにアクセスできる場合 (たとえば、サーバーをハッキングした場合)、失われます。十分な時間と力があれば、すべてが壊れる可能性があります。それは時間の問題です。

しかし、GPG/PGP などのアルゴリズムやアプリケーションは非常によく知られており、Web アプリケーションを保護する方法で実装でき、平均的なユーザーが処理できるスコアでユーザビリティを維持できると思います。

編集@CarlUnkwntechに追いつき、彼らの声明を追加したいと思います。サイト自体を信頼しない場合は、個人データを公開しないでください。それは、誰かがサーバーをハッキングする前のことです... ;-)

于 2008-09-02T15:33:41.143 に答える
-1

いいえ、パスワードは使用できませんが、パスワード ハッシュは使用できます。ただし、Google ドキュメントは共有がすべてであるため、そのような方法では、ユーザーごとにドキュメントのコピーを保存する必要があります。

于 2008-09-02T15:29:08.473 に答える