3

私は、LAMP Webサーバーを実行し、人々が立ち上がって記入するためのフォームをホストするオフラインキオスクコンピューターを持っています。彼らが提出するデータは暗号化され、MySQLデータベースに保存されます(すべてそのマシンにローカルに保存されます)。

懸念されるのは、ボックス全体が盗まれた場合、誰かがコードに侵入し、暗号化キーを確認してデータを復号化できる可能性があるということです。

マシン全体が盗まれた場合でも、暗号化されたデータを役に立たなくする方法でこの設定を実行する方法はありますか?(つまり、他の場所に保持されているが、キオスクの使用中に新しく入力されたフォームデータを暗号化して保存できる暗号化パスワード)?

ありがとう。

4

3 に答える 3

3

これを試してください:http://andytson.com/blog/2009/07/php-public-key-cryptography-using-openssl/

于 2010-10-14T15:27:53.650 に答える
0

あなたの「攻撃者」はどれくらい賢いですか?

ラムのキーを使用することはできますが、そうすれば、マシンの電源が切れたときにキーが(一種の)消えてしまいます。これを行うには、RAMをパーティション(ramdisk)としてマウントし、そこからコードにキーをロードさせます。

ただし、キーがディスクに触れないようにするのは難しい場合がありますたとえば、OSはそれを交換できます。

編集:

賢い攻撃者は、次のいずれかによってこれを回避できます。

  1. ボックスを盗む前にキーをコピーする
  2. キーを見つけるためにディスクの周りを掘り下げます。または、おそらくその一部を見つけて、残りをブルートフォースします。私が言ったように、キーがディスクに触れないようにするのは難しいかもしれません。

また、軽いアンチリバースエンジニアリングを実行して、コードをコードにまとめることもできます。そうすれば、それを読むのは簡単ではありません(しかし、それほど難しくはありません)。

于 2010-10-14T15:28:42.123 に答える
0

これを実現するには、非対称暗号化アルゴリズム(RSAなど)を使用できます。これにより、プライベートキーとパブリックキーのペアが作成されます。また、名前が示すように、公開鍵はすべての人が利用できるため、ユーザーデータはこの公開鍵で暗号化でき、暗号化されたデータは対応する秘密鍵を使用してのみ復号化されます。この秘密鍵は、ツアーの場合はマシンの所有者が保持します。したがって、誰かがあなたのマシンを盗んだとしても、その人がデータを解読することは非常に困難です。

于 2010-10-15T06:47:17.267 に答える