2

みなさん、私は、クライアントからブラック ボックス システムに至るまで暗号化された値を保持し、途中で暗号化を解除する必要がないプロジェクトを研究しています。ブラウザーと Web サーバー間で SSL を使用していますが、値は Web サーバーで自動的に復号化されるため、これを回避する必要があります。復号化される最終的な宛先に到達するまで、Web サーバー (暗号化されたまま) および他のバックエンド システムを通過できるようにする必要があります。

だから私の質問は、途中で暗号化を解除せずに、ブラウザーからの値の暗号化された状態を維持するためにどのようなオプションを利用できるかということです。

ありがとうマーク

4

4 に答える 4

4

値に対して単純な RSA 暗号化を実行し、それをシステム経由で送信することを考えたことはありますか? クライアントがデータを暗号化するための公開鍵を持っていることを確認する必要がありますが、それは簡単であり、十分に安全です。

私の知る限り、そこにあるほとんどのライブラリは RSA をサポートします。純粋にJavascriptでそれを行う方法の素晴らしいデモは、ここにあります.

于 2008-10-15T16:48:48.570 に答える
2

公開鍵暗号化を見てみたいと思うでしょう。SSL はセッション (ブラウザ <-> サーバー) を保護しますが、トランスポート全体は保護しません。クライアントから受信したデータを暗号化し、暗号化されたデータを最後まで送信することをお勧めします。

これは、データの流れを概説するひどい図です

        client browser    web server       random server       blackbox
route   ---- SSL -------------><------------- not encrypted ------->
data                          *-------- PGP/GPG encrypted --------->

基本的に、データは SSL 経由で Web サーバーに暗号化され、そこで PGP/GPG 暗号化されてからダウンストリームに送信されます。この時点では、SSL は重要ではありません (少なくとも、SSL は暗号化の主要な形式ではありません)。

お使いの環境で JavaScript を保証できない限り、ユーザーが何らかの理由で JavaScript をオフにしている場合は、データが安全であることを確認するために Web サーバーで暗号化することをお勧めします。

于 2008-10-15T16:47:52.003 に答える
1

データベースでバイナリ型を使用する場合、Web サーバーはそれをそのまま送信する必要があります。クライアントは、データを挿入する前にデータを暗号化でき、フェッチ後にデータを復号化する必要があります。Web サーバーもデータベース サーバー自体もデータを表示できません。

于 2008-10-15T16:49:54.713 に答える
0

ブラック ボックス システムは、定義上、データを解読するように構築されていない限り、データを解読することはできません。この問題について、ブラック ボックス システムの開発者と話し合うことをお勧めします。

于 2008-10-15T17:34:16.323 に答える