2011-11-15 4 views
1

보호해야하는 재무 데이터를 처리하는 웹 서비스를 작성 중입니다. 현재 서비스를 개발하고 디버깅 중이지만 프로덕션 환경에 대해 생각하기 시작했습니다.Java 암호화 로그 파일

디버깅을 위해 보낸 페이로드 --- 재무 데이터 ---를 기록 할 수 있습니다. 이것이 개발자로서 무슨 일이 일어나는지를 알 수있는 유일한 방법입니다. 로그 정보는 java.util.logging을 사용하여 로그 파일에 기록됩니다.

로그 파일을 어떻게 암호화 할 수 있습니까? 아니면 이것을 안전하게하는 방법에 대한 제안이 있습니까?

답변

4

파일 전체를 암호화하지 않고 다른 로깅 정보를 그대로 유지하면서 중요한 데이터를 암호화 할 수 있다고 생각합니다. 이 경우 암호 해독 프로그램을 만들어야 할 수도 있습니다.

데이터를 로깅 할 때 가능하면 암호를 해독하십시오 (예 : 신용 카드 번호는 X 문자를 사용하여 가면 됨). 암호 해독은 불가능하지만 개발자는 어떤 일이 발생했는지에 대한 아이디어를 가질 수 있습니다. S.L. Barth의 대답은 암호화를 위해 내장 된 암호화를 사용할 수 있습니다.

+0

+1 단순히 민감한 데이터를 마스킹하는 아이디어. 마스크 된 데이터의 길이는 정보를 스누퍼에게 줄 수 있으므로 고정 길이 마스크를 사용하는 것이 좋습니다. ("10 또는 1000의 양입니까?") –

+0

+1 디버그에 도움이되는 정보 만 기록하려면 마스크 된 로그 항목으로 충분합니다. 그렇지 않으면 트랜잭션 로그가있는 DB가있을 수 있습니다. –

+0

Acutally, 마스킹은 꽤 좋은 생각입니다. 나는 그걸 고수 할 것 같아. 데이터베이스에서 페이로드를 암호화 할 수 있으며 데이터베이스에서 통신이 작동하는지 확인할 수 있습니다. 좋은 생각입니다! 감사! –

0

Java에는 암호화 기능이 내장되어 있습니다. javax.crypto 패키지

그러나 로그 파일 자체를 암호화하지 않으려면 인터넷을 통해 보낼 때만 암호화하면됩니다.
정보를 안전하게 전송하기위한 소프트웨어를 찾아야합니다. (예 : VPN).

EDIT : 문제는 실제로 Java tutorials에서 처리됩니다.
SSL/TLS처럼 보낸 사람의 출처를 확인하지 않는 것처럼 Man-In-The-Middle 공격에 취약합니다. 따라서 안전한 전송을 위해 VPN 또는 타사 소프트웨어를 권장합니다.

+1

금융 데이터에 대해서는 두 가지 모두를 원할 것입니다. 상자가 손상된 경우 데이터를 암호화하고 원하는대로 암호화 할 수 있습니다. – Thor84no