• ベストアンサー

ローカルのコンピュータでしか復号できない暗号は

レンタルサーバでデータベースを立ち上げる予定です。 ただし、名前等の情報は、データベースには入れずに、ユーザの個々のコンピュータでのみ復号できるようにしたいです。 (データベースファイルがごっそり流出したような場合にそなえて) 暗号化→復号化が ローカルコンピュータでできるソフトがあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

データベースに入れないデータはユーザ個々のコンピュータに保存されるという個でしょうか? ローカルファイルの暗号化なら https://boxil.jp/mag/a2438/ に色々紹介されています。

nagaon
質問者

お礼

暗号のご紹介、ありがとうございました。

その他の回答 (3)

  • hue2011
  • ベストアンサー率38% (2801/7250)
回答No.4

結論をいうと、ありません。何かしていれば必ずセキュリティ問題が発生しています。 ざっといいますと、文字情報を暗号化するというのはその段階で文字ではなくなりますね。バイナリ情報になるわけです。 項目をバイナリだとして宣言して登録することは不可能ではありませんが、当然ですが、これをSelectで読みだそうとしたら出力はぶっ飛びます。 それがいやなら、テキストの項目をその付添人として考え、havingで読み出せばいいのですが、それをすると、すべてのindexが設定できなくなります。 まして、名前なんていう項目をバイナリ化したら、どうやってその人をSelectできるのでしょうか。役に立たないうえ、テーブルが破損しているかどうかすらわからなくなります。 バイナリでなくしようと思うなら、暗号化されたバイナリを16進ダンプかなんかにして長い長い文字列にすればいいんですが、そうしたらなおその人をSelectなんてできなくなります。やろうとすれば、探したい文字を暗号化し、バイナリ化したものを16進ダンプにしてそれをキーとして探すことになり、この無駄な操作自体が、暗号の所在とそのエンコード処理が分かる構造ですから、セキュリティ上意味がないことになります。 データベースを使おうとする発想自体に問題があるのです。 重要な情報は全体を暗号化し、触れないように管理して更新は局面だけにしておかないといけないことになります。そうすれば丸ごと盗まれても何も起きません。しかし、非常に使い勝手の悪い塊になります。

  • hiodraiu
  • ベストアンサー率15% (451/2846)
回答No.3

登録されえいる個人情報は、暗号化したコンピュータでしか復号化が出来ないってことですか。それってデータベースに入れておく意味が無いのでは? データベース内では暗号化されたデータが入っているだけで、検索も出来ないってことですよね。

nagaon
質問者

お礼

つまり名前とかの情報は、サーバにいれないで、各ユーザさんで保管してください、という趣旨でした。

回答No.1

  データーを分散する方がセキュリティーは困難になりますよ。 一か所で二重、三重に対策する方が安全。   ユーザがルールを守る、セキュリティー対策をすると保証できますか?  

nagaon
質問者

お礼

なるほど、おっしゃるとおりです。ありがとうございます。

関連するQ&A