암호화 전 디스크 덮어쓰기

암호화 전 디스크 덮어쓰기

내 디스크에 암호화된 lvm을 생성하겠습니다. 암호화 메커니즘으로는 dmcrypt와 LUKS를 선택했습니다.

제 질문은 다음과 같습니다. 암호화된 컨테이너를 생성하기 전에 보안상의 이유로 전체 디스크를 덮어써야 할까요, 아니면 이미 암호화된 컨테이너(일부 정보는 다음 위치에 있음)를 덮어써야 할까요?cryptsetup FAQ - 6단계) 아니면 둘다? 그게 그렇게 중요한 건가?

답변1

만약 너라면원하지 않는다디스크의 이전 콘텐츠를 덮어쓰면 오래된 정보는 덮어쓸 때까지 일반적인(소프트웨어 전용) 읽을 수 있는 형식으로 유지되며, 이는 오랜 시간(거의 영원히)이 걸릴 수 있습니다.

만약 너라면하다디스크의 이전 내용 덮어쓰기영점디스크에 LUKS 데이터 구조를 생성하기 전에 디스크에서 오래된 데이터를 읽을 가능성을 대부분 제거했습니다(소프트웨어를 사용하면 확실히 중요한 작업이지만,가능한이는 특수 하드웨어, 많은 시간, 많은 돈으로 수행할 수 있지만 길이에 관계없이 데이터가 모두 0으로 암호화될 가능성은 무시할 수 있으므로 디스크의 어느 부분에 실제 암호화된 데이터가 저장되어 있는지 쉽게 확인할 수 있습니다. 데이터. 따라서 결단력 있는 공격자는 실제로 데이터를 보유하고 있는 디스크 부분에 집중할 수 있습니다.

만약 너라면하다디스크의 이전 내용 덮어쓰기무작위의데이터앞으로디스크에 LUKS 데이터 구조를 생성할 때 디스크의 어느 영역이 실제 데이터를 담고 있고 어느 영역이 단순히 노이즈인지 판단하기 어려울 수 있습니다. 왜냐하면 모두 기본적으로 동일해 보이기 때문입니다. (키가 없으면 적절하게 암호화된 데이터는 노이즈와 구별할 수 없습니다.) 공격자는 고유한 데이터 구조를 기반으로 LUKS 데이터 컨테이너가 있는지 알 수 있지만 디스크의 어느 부분이 암호화 공격을 받을 만한지는 알 수 없습니다.

만약 너라면하다암호화된 컨테이너를 0 또는 임의의 데이터로 채울 경우 해당 컨테이너 외부의 모든 항목은 여전히 ​​이전 데이터를 유지하며 디스크 내용을 덮어쓰지 않은 것과 동일한 위험에 노출될 수 있습니다. 전체 디스크를 덮는 암호화된 컨테이너를 사용하면 이는 미미하지만 여전히 0이 아닌 데이터 양입니다.

이들 중 귀하에게 적합한 것은 위험 분석의 문제입니다. 모든 적용에는 시간이 걸리지만 0으로 덮는 것과 의사 난수 데이터로 덮는 것 사이의 시간 차이는 비교적 작습니다.

디스크 덮어쓰기에는 추가적인 이점이 있습니다. 디스크의 전체 물리적 영역을 사용하므로 드라이브가 중요한 내용을 쓰기 전에 손상된 영역을 식별하고 재배치할 수 있습니다. 암호화된(압축된 것처럼) 데이터의 단일 오류는 빠르게 합산되므로 잠재적인 이점은 상당하며 비용은 상대적으로 적습니다.

물론 전체 디스크를 임의의 데이터로 덮어씁니다.앞으로이 접근 방식의 이점이 비용보다 더 크다고 생각하므로 이를 LUKS 장치로 초기화합니다(비용은 주로 새 드라이브를 처음으로 사용하는 데 소요되는 시간입니다).

전체 디스크를 덮어쓰는 경우(다음과 같은 방법을 사용하여 dd if=/dev/urandom of=/dev/sdb bs=1M-경고하다,이 명령을 실행하지 마십시오당신이 그 일을 하는 이유를 정확히 알지 않는 한! ), 암호화된 LUKS 파티션은 무작위로 보일 것이므로 별도로 덮어쓸 필요가 없습니다.

물론 필수 XKCD 참조도 있습니다.그에게 약을 먹이고 그가 우리에게 비밀번호를 알려줄 때까지 5달러짜리 렌치로 때리세요.하지만 아시다시피 전체 디스크 암호화도 만병통치약은 아닙니다.

관련 정보