방법
1. 개인정보 수집을 막기 위해서 윈도우 대신 리눅스를 사용
2. 30자 이상의 비밀번호로 리눅스 암호화
3. 운영체제에 메타데이터와 같은 사용 흔적을 남기지 않기 위해서 grub-live 패키지 설치
https://www.kicksecure.com/wiki/Grub-live
https://github.com/Kicksecure/grub-live
4. VeraCrypt를 사용해서 30자 이상의 비밀번호로 외장하드 암호화. 민감한 자료는 모두 외장하드에 저장
5. zuluCrypt 패키지 설치. zuluCrypt는 VeraCrypt, TrueCrypt, PLAIN dm-crypt, LUKS, BitLocker 볼륨을 복호화 할 수 있다.
https://mhogomchungu.github.io/zuluCrypt/
https://www.kicksecure.com/wiki/Full_Disk_Encryption#Zulucrypt
6. VirtualBox Whonix는 VeraCrypt 볼륨에 설치 VirtualBox image가 암호화된 볼륨에 존재하기 때문에 Whonix 내에선 민감한 사용 흔적을 남겨도 무방하다.
VirtualBox가 자유 소프트웨어가 아니라는 한계 때문에 KVM Whonix를 사용하려고 시도해봤지만 KVM의 경우 외부저장장치에 설치할 때 생기는 권한 문제를 해결하지 못함
컴퓨터와 외장하드에 대해 진술해야할 상황이 올 경우 VeraCrypt 숨겨진 볼륨에 대한 비밀번호만 지키면 된다.
외장하드의 내용물에 대한 질문을 받을 경우
-> VeraCrypt로 암호화된 장치는 복호화하지 않을 경우 모든 데이터가 랜덤하게 보이므로 단순히 포맷된 장치라고 답변
또는 민감하지 않은 자료가 보관된 표준 볼륨의 비밀번호를 공개
운영체제에 대한 비밀번호를 요구받을 경우
-> 사용 흔적이 남아있지 않기 때문에 공개해도 무방.
운영체제에서 grub-live에 대한 질문을 받을 경우
-> 학교, PC방 등 종료 시 초기화되는 컴퓨터는 흔히 볼 수 있다. 악성코드 방지, 실험적인 패키지 설치 등을 위해서 사용한다고 답변
운영체제에서 zuluCrypt에 대한 질문을 받을 경우
-> LUKS, BitLocker 볼륨을 복호화하기 위해서 설치된 패키지라고 답변
zuluCrypt에 대한 질문을 받고싶지 않다면 리눅스에서 기본적으로 사용할 수 있는 Cryptsetup 명령어로 VeraCrypt 볼륨을 복호화 가능하다.
한계점
가능성은 낮지만 Cold boot attack이 성공할 수 있다.
이를 대비하려면 Tails를 사용하는 것이 좋겠지만 Whonix를 사용하기 어려워지고 편의성 감소, 토어 네크워크 사용 여부 노출 등의 이유로 포기함
개선사항이 있다면 부디 알려주세요.
출처 :
https://m.dcinside.com/board/vpngate/28617