cryptsetup luksFormat이 암호화된 장치에서 luks 헤더를 생성하는 것을 방지하는 방법은 무엇입니까?

cryptsetup luksFormat이 암호화된 장치에서 luks 헤더를 생성하는 것을 방지하는 방법은 무엇입니까?

파티션을 설정하려고 하는데 USB 장치에 luks 헤더를 넣으려고 해서 매개변수를 사용하고 있는데, --header /path/to/usb-deviceUSB 장치를 마운트하지 않고도 여전히 암호를 해독할 수 있습니다. cryptsetup이 암호화된 장치에서 luks 헤더를 생성하지 못하도록 방지하는 방법은 무엇입니까?

답변1

어딘가에서 잘못된 명령을 사용하고 있는 것이 틀림없습니다. cryptsetup모든 곳에서 LUKS 헤더를 생성하지 않습니다. 지시한 대로만 수행하며 일반적으로 그렇게 하기 전에 확인을 요청합니다.

예:

# truncate -s 8M luksheader luksdevice
# cryptsetup luksFormat --header luksheader luksdevice

WARNING!
========
This will overwrite data on luksheader irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: 
Verify passphrase: 

# file -s luks*
luksdevice: data
luksheader: LUKS encrypted file, ver 1 [aes, xts-plain64, sha256] UUID: …

보시다시피 나중에 luks 장치에는 LUKS 헤더가 없습니다. 만약 있다면, 이전에도 있었던 것입니다.

"암호화 장치"를 지정하지 않고 외부 장치/파일을 직접 사용할 수도 있습니다 luksFormat(이는 luksOpen.

단순화된 예:

# cryptsetup luksFormat luksheader

이는 위의 더 복잡한 명령과 거의 동일하며 유일한 차이점은 Payload offset에서 확인할 수 있다는 것입니다 luksDump. 이 오프셋은 헤더가 먼저 외부 헤더로 생성된 경우여야 하며, 그렇지 않은 경우 약 2MiB 0입니다 .4096

원하는 경우 모든 LUKS 헤더를 외부 헤더로 사용할 수 있으며 Payload offset그대로 유지하는 것이 장점입니다. 설정을 변경하기로 결정한 경우 외부 헤더를 원래 장치에 다시 배치하면 됩니다(또는 그 반대의 경우 기존 장치의 외부 헤더로 전환).

관련 정보