LUKS 장비가 외국인에 의해 파손되었는지 확인할 수 있나요?

LUKS 장비가 외국인에 의해 파손되었는지 확인할 수 있나요?

LUKS 암호화 USB 플래시 드라이브를 분실했다고 가정해 보겠습니다. 파일 시스템 유형(ext4/fat32/...)이 작동하지 않는 것 같습니다. 외국인이 발견했습니다. 물론 그 사람은 비밀번호가 없기 때문에 내 데이터에 접근할 수 없습니다. 그러나 그는 "원시" 데이터 중간에서 단일 바이트를 변경하여 데이터를 손상시킬 수 있습니다.

펜 드라이브를 돌려받은 후 데이터가 손상되지 않았는지 확인할 수 있나요?

전체 매퍼 장치를 읽으면 I/O 오류가 발생할 것이라고 생각했지만 불행히도 그렇지 않습니다. 나도 확인했다 dmesg.

# create an all zero 100MiB file
dd if=/dev/zero of=moh bs=100M count=1

# format it as LUKS device
/usr/sbin/cryptsetup luksFormat moh

# map it to /dev/mapper/moh
sudo cryptsetup luksOpen moh moh

# initialize mapper file to zero
sudo dd if=/dev/zero of=/dev/mapper/moh

# close LUKS device
sudo cryptsetup luksClose moh

# overwrite 1MiB with zeroes at offset 10MiB. After this the LUKS device is damaged.
sudo dd if=/dev/zero of=moh conv=notrunc bs=1M seek=10 count=1

# open LUKS device and see if it complains
sudo cryptsetup luksOpen moh moh

# read all data to see if it complains
sudo dd if=/dev/mapper/moh of=/dev/null

위 명령은 손상된 LUKS 장치를 열고 읽어도 오류가 발생하지 않음을 보여줍니다.

파일 시스템 검사를 수행하고 싶지 않습니다. 대신 LUKS 장치의 암호화 수준이 영향을 받지 않는지 확인하고 싶습니다.

luks 장치를 확인하는 명령을 찾고 있으므로 이것이 SO에 더 적합한 프로그래밍 질문이 아니라는 점을 이해하시기 바랍니다.

답변1

이는 가능하지만 "일반" LUKS에서는 그렇지 않으므로 인증된 암호화를 설정해야 합니다. 이는 LUKS v2에서 --integrity가능하며 를 사용해야 합니다 luksFormat. 이는 기본적으로 무결성을 보장하기 위해 암호화된 데이터에 체크섬을 추가합니다. 이를 사용하지 않으면 LUKS/dm-crypt는 디스크에 있는 내용을 전혀 신경 쓰지 않습니다. 0이 있으면 해당 0을 "해독"합니다. 보다인증된 디스크 암호화부분적으로cryptsetup 매뉴얼 페이지자세한 내용은.

관련 정보