2011-11-15 16 views
1

保護が必要な財務データを扱うWebサービスを作成しています。現在、私はサービスを開発、デバッグしていますが、本番環境について考えるようになりました。Java暗号化ログファイル

送信されたペイロード---財務データ---をデバッグ目的でログに記録することは可能です。これは私が開発者として何が起こっているかを見るための唯一の方法です。ログ情報は、java.util.loggingを使用してログファイルに書き込まれます。

ログファイルをどのように暗号化できるか考えていますか?または、これを安全にする方法を提案していますか?

答えて

4

ファイル全体を暗号化するのではなく、機密データを暗号化するだけで、他のロギング情報はそのまま維持できると思います。この場合、復号化プログラムも作成する必要があります。

可能であれば、できるだけデータをロギングするだけで、(Xカードを使用してクレジットカード番号がマスクされている)データをマスクすると、解読することはできませんが、開発者は何が起こったのかを知ることができます。 S.L.バースの答えは、暗号化を組み込むのに使うことができます。

+0

+1は、機密データを単純にマスキングするという考え方です。私は、マスクされたデータの長さがスヌーパに情報を与えるかもしれないので、固定長のマスクを使うことを提案します。 ( "10または1000の量ですか?") –

+0

+1デバッグに役立つログを記録するだけであれば、マスクされたログエントリで十分です。それ以外の場合は、おそらくトランザクションログを持つDBがあります。 –

+0

事実、マスキングはかなり良い考えです。私はそれに固執すると思います。私はデータベースや何かのペイロードを暗号化して、通信がデータベースで動作するかどうかを見ることができます...素晴らしいアイデア!ありがとう! –

0

Javaには暗号化機能が組み込まれています。パッケージjavax.crypto

しかし、ログファイル自体を暗号化したくない場合は、ネット経由で暗号化を送信する場合にのみ暗号化してください。
この場合、情報を安全に送信するためのソフトウェアを探す必要があります。例えば、VPNである。

EDIT:問題は実際にはJava tutorialsで解決されています。
しかし、SSL/TLSのような送信者の起源を検証していないように見えるので、その例はMan-In-The-Middle攻撃に対して脆弱です。だから、私は安全な伝送のためにVPNやその他のサードパーティ製のソフトウェアをお勧めします。

+1

私は財務データについては、両方を望むと思います。ボックスが侵害されている場合は、データを暗号化し、同様に暗号化することが望まれます。 – Thor84no