0

各ファイルに「パスワード」を与えることで、自分のウェブサイトにアップロードされたファイルを暗号化するオプションを追加しようとしていますが、個々のファイルの暗号化キーを追跡する最良の方法がわかりません. たとえば、ユーザーが間違ったパスワードを入力した場合にファイルを取得すると、ファイルがダウンロードされると確信していますが、適切に暗号化されません。各ファイルのハッシュ化およびソルト化されたパスワードをデータベースに保存し、最初に照合するのが最善ですか? または、それを行うより良い方法はありますか?

4

1 に答える 1

0

暗号化キーをハッシュ (およびソルト) 値として保存すると、元の暗号化キーを取得する方法がありません。何かを (強力なハッシュ アルゴリズムで) ハッシュすると、元のデータを取り戻すことはできません。

最適なメカニズムは、オペレーティング環境 (OS、およびインストールされている可能性のある他のソフトウェア) と要件によって異なります。

特定の要件によっては、暗号化キーをまったく保存しない方がよい場合があります。ポイントは、ユーザーがデータを保護したいということと、ユーザーが鍵を知っているということです。クライアント側で暗号化を実行できる場合、キーはネットワークをまったく通過する必要がありません (たとえば、JavaScript で暗号化します)。サーバー上で暗号化を行う必要がある場合は、キーが https 接続経由で送信されていることを確認し、それをメモリ内で使用してファイルを暗号化し、メモリから削除します (言語がメモリから何かをすぐに削除することをサポートしている場合...たとえば C# では、 SecureString)。

暗号化キーを保持する必要がある場合(これはいくつかのレベルでセキュリティの問題です)、動作環境に関する詳細情報を記載する必要があります。

于 2012-10-09T16:39:09.167 に答える