web-dev-qa-db-ja.com

クライアント側の暗号化とは正確には何ですか?

私はクライアント側の暗号化について少し調査しましたが、ウィキペディアやその他のさまざまなソースを調べましたが、興味があるのはネットワーク管理者がすべてのトラフィックを監視している場合、すべてPOSTデータなど、クライアント側の暗号化は、送受信されるメッセージを隠し、ネット管理者がメッセージを読み取れないようにするのに役立ちますか?

3
Hugh Chalmers

クライアント側の暗号化は、送受信されているメッセージを非表示にして、[私のローカルネットワーク管理者]がメッセージを読み取れないようにするのに役立ちますか?

クライアント側の暗号化は、トランスポートの暗号化ではありません。クライアント側の暗号化のポイントは、盗聴者がサーバーへの途中で通信をキャプチャできるかどうかではありません。むしろ、プロセスに他の当事者(つまり、サービスプロバイダー、「サーバー」)を関与させることなくデータを暗号化することです。

クライアント側の暗号化は、サーバーがユーザーのために保存しているデータをそれ自体で暗号化するのではなく、暗号化をクライアントに任せて、クライアントがプロセスを完全に制御できることを意味します。このようにして、サービスプロバイダーは、最初から暗号化キーを処理したことがないため、プレーンテキストにアクセスできないことを証明しています。理論的には、これは、データを機密として処理するためにサービスプロバイダーを信頼する必要がないことを意味します。 (実際には、提供されたクライアントアプリケーションが実際にプロバイダーによって約束されたCSEを実装していることを確認する必要があります。)

クライアント側で暗号化されたデータが転送であるかどうか(ユーザーとサーバー間の暗号化されたチャネルを介して)は、別の問題です。

9
Arminius

クライアント側の暗号化とは、クライアントがデータを暗号化し、サーバーとキーを共有していないことを意味します。これが適切に行われると、鍵のない人がデータを解読できなくなります。

たとえば、S3に保存する前にファイルを暗号化すると、これはクライアント側の暗号化になります。私のキーが安全で、暗号化アルゴリズムが安全である限り(どちらも正しくするのに十分複雑である)、私のコンピューターの外にいる誰も実際のデータを見ることができません。これには、ISP、自分とS3間のネットワークホップ、S3管理者、およびS3のファイルにアクセスできる人が含まれます。

これは通常、サーバーがデータのランダムな「ブロブ」を格納していることを意味します。それを読む方法、またはそれが何であるかを知りません。

4
Marc