2013-06-05 3 views
-2

파일 형식이나 형식을 안전하게 지우고 싶습니다. 분명히 C#의 File.Delete 명령은 거의 안전하지 않습니다.여러 암호화 및 파일 삭제로 안전한 파일 닦기

현대의 파일 시스템 (예 : FAT32보다 최신 버전)이 저널링 파일이므로 이러한 종류의 삭제를 시도 할 때 문제를 일으킬 수 있다고 설명하는 게시물을 여기에서 기억합니다. 시스템을 복구하고 데이터를 복구하는 것은 당신이 옛날보다 훨씬 쉽습니다.

더욱 읽은 후, 나는 생각에 일 것입니다 읽어

  1. 임의의 256 비트 암호화 키를 생성합니다.
  2. FileA를 FileB로 암호화하십시오.
  3. 새로운 임의의 256 비트 암호화 키를 생성합니다.
  4. FileA에서 FileA로 암호화하십시오.
  5. 편집증 수준에 맞게 n 번 반복하십시오.
  6. FileA 및 FileB를 삭제하려면 File.Delete를 사용하십시오.

이것은 복구 할 수 없거나 재사용 할 수없는 키를 사용하여 파일의 데이터를 반복적으로 암호화/재 암호화하는 논리적 인 방법으로 보이지만 사실 안전한 방법입니까? 파일 시스템이 동일한 위치/클러스터의 파일을 덮어 씁니까 (원래 파일 내용이 암호화/재 암호화 될 때 파일이 커지므로 원래 내용을 덮어 쓰게됩니까?

답변

1

귀하의 접근 방식이 반드시 귀하의 문제를 해결할 수있는 것은 아니며 파일 시스템 저널링 문제는 존재하지 않습니다. (이전의 DOS 삭제 취소 도구는 이것을 보여줍니다.)

현대 파일 시스템은 현재 실행중인 프로그램에 대해 언제든지 파일을 이동할 수 있으므로 파일 내용을 저글링한다고해서 이전 파일을 삭제하지 않을 수도 있습니다 사용하지 않는 것으로 표시된 디스크 섹션의 파일 사본.

OS를 속여서 이전 데이터를 덮어 쓸 수 있다는 것을 믿지 말고 암호화를 직접 사용하는 것이 좋습니다.

+0

그리고 대답은 ...? –

+0

'직접 암호화 사용'이란 무엇을 의미합니까? 파일은 디스크에서 암호화됩니다. 그러나 비슷한 방식으로 파일을 열고 암호화 한 다음 다시 저장하면 FS가 암호화 된 파일을 새 위치에 저장할 수있는 가능성은 없지만 이전 파일은 그대로두고 FAT/저널? –

+0

Sani, 대답은 : 당신은 이것을 할 수 없으므로 시도하지 마십시오. Jonny, 우선 데이터를 암호화하여 저장하십시오. – asmecher