여유 공간을 무작위로 삭제: dd if=/dev/urandom 또는 LUKS format-erase 중 어느 것이 더 안전합니까?

여유 공간을 무작위로 삭제: dd if=/dev/urandom 또는 LUKS format-erase 중 어느 것이 더 안전합니까?

dm-crypt의 ArchLinux Wiki에서는 새 저장 장치나 파티션을 암호화된 볼륨에 사용하기 전에 임의의 데이터로 덮어쓸 것을 권장합니다. 이를 달성하기 위해 두 가지 방법을 사용했지만 한 가지 방법(dd 사용)이 다른 방법(LUKS 형식을 사용하여 Gnome Disk를 통해 삭제)보다 훨씬 빠르다는 것을 알았습니다.

dd if=/dev/urandom상당히 현대적인(2013~2023) 및 일반적인 x86 UEFI PC에 덜 안전한 것으로 알려진 조건이 있습니까?

귀하의 조언에 미리 감사드립니다.

내 절차를 반복해

내가 사용하는 명령은 dd다음과 같습니다

sudo if=/dev/urandom of=$NEW_BLKFILE status=progress bs=1M

$NEW_BLKFILE블록 장치 파일은 어디에 있습니까 /dev/sdb?/dev/sdb1

GNU/Linux에서 이 옵션을 사용하면 status=progress예상 쓰기 속도를 포함하여 진행 정보가 터미널에 출력됩니다.

LUKS 형식 작업을 시작하는 방법은 다음과 같습니다.

  1. 그놈 디스크 입력
  2. 왼쪽 목록에서 "장치"를 선택하세요.
  3. 필요한 경우 디스크를 "포맷"하고(파티션 테이블 생성)(드라이브 옵션 > 디스크 포맷) 경고를 확인합니다.
  4. 파티션 크기를 설정하려면 볼륨 레이아웃 다이어그램에서 파티션 생성 버튼(더하기 기호)을 누르세요.
  5. 삭제 옵션을 활성화하고 Ext4를 선택하고 유형 옵션에서 "LUKS(암호 보호 볼륨)"를 활성화합니다.
  6. 암호를 입력
  7. Run udisksctl info --object-path $JOB_OBJ. 여기서 $JOB_OBJ형식 지우기 작업 개체 경로는 다음과 같습니다.jobs/42

작업 개체의 속성은 Rate프로세스의 예상 쓰기 속도를 초당 바이트 단위로 표시합니다.

저가형 데스크톱 SSD(1TB, 4비트 "QLC")와 저가형 서버 HDD(4TB, "5400RPM 클래스", CLV?)의 쓰기 속도에 대한 관찰 결과는 다음과 같습니다.

SSD: dd포맷 삭제의 경우 >100MB/s, 포맷 삭제의 경우 <=33MB/s
HDD: 포맷 dd삭제의 경우 >150MB/s, 포맷 삭제의 경우 <=14MB/s

HDD의 포맷 지우기 작업에 소음이 있어 탐색 횟수가 많음을 나타냅니다.

편집: dd블록 크기를 노출하는 HDD 통계를 추가했습니다.

링크

아치리눅스 위키. dm-crypt/드라이브 준비.

답변1

Artyom이 그의 책에서 올바르게 말한 것처럼논평, 재정의가 완전히 중복됩니다.

또한 SSD를 사용하고 있습니다. 무엇이든 미리 채우면 웨어 레벨링이 처리할 수 있는 사용되지 않는 공간이 적어지므로 성능과 SSD 수명에 좋지 않습니다.

따라서 Arch 위키의 내용은 무시하시기 바랍니다.

한 가지 방법이 다른 방법보다 느린 이유는 무엇입니까? 귀하의 dd접근 방식은 단순히 더 적절한 블록 크기를 사용하거나 올바른 시스템 호출을 사용하여 사용자 공간이 아닌 커널 공간에서 복사가 발생하도록 하여 컨텍스트 전환을 줄이고 성능을 향상시키는 것일 수 있습니다. (사람들이 더 많은 성능을 필요로 하면 대신 유사 pv < /dev/urandom > /dev/outdev하거나 동일한 작업을 수행하는 경향이 있습니다 . 실제로 유용한 경우는 거의 없습니다.)catpvdd

관련 정보