여러 드라이브에 동일한 LUKS 분리 헤더를 사용할 수 있나요?
이 작업을 할 때 어떤 점에 주의해야 합니까? 드라이브가 근본적으로 다른 경우(다른 크기, 제조업체 등)에도 이것이 가능합니까?
이유: LUKS를 사용하여 단일 시스템에서 여러 드라이브를 사용하고 싶지만 보안 관점에서 서로 다른 헤더를 사용해도 이점이 없습니다. 하지만 이렇게 하지 않는 기술적인 이유가 있을까요?
답변1
인위적인
예, 한 디스크에서 다른 디스크로 LUKS 헤더를 복사할 수 있습니다. 오히려 한 블록 장치에서 다른 블록 장치로 복사할 수 있습니다. 즉, 한 파티션(블록 장치)의 LUKS 헤더를 전체 디스크를 나타내는 블록 장치로 안전하게 복사할 수 있습니다. 간단히 다음을 수행할 수 있습니다.
dd if=/path/to/block/deviceA of=/path/to/block/deviceB bs=2M count=1
udev
하지만 UUID로 블록 장치를 식별하고 이를 특정 장치 파일에 할당하는 등의 방법을 사용하면 기술적인 한계가 있습니다. udev
모든 드라이브가 동일한 UUID를 갖기 때문에 혼란스러울 수 있습니다. 이는 LUKS 헤더에 UUID가 포함되어 있기 때문입니다.
이는 LUKS 위에 표시되는 파일 시스템의 UUID와 일치합니다(드라이브가 해독되는 한) /etc/fstab
.mount
LUKS 헤더가 모든 블록 장치에서 사용될 수 있다는 사실은 장치의 크기가 헤더에 중요하지 않다는 것을 의미합니다. 단일 파티션에서 헤더를 사용하면 파티션 테이블이 블록 장치의 크기를 알고, 전체 디스크에서 헤더를 사용하면 커널이 해당 크기를 알고 있습니다.
안전
보안 관점에서LUKS 헤더를 복사하는 것은 나쁜 생각입니다.. LUKS 헤더에는 데이터를 암호화하는 데 사용되는 암호화 키가 포함되어 있습니다. 즉, 비밀번호에서 생성된 키를 사용하는 대신 헤더 내의 키를 사용하여 데이터를 암호화합니다. 그런 다음 LUKS 헤더는 이 암호화 키를 저장합니다. 이 암호화 키는 비밀번호에서 생성된 키로 여러 번 암호화됩니다.
3개의 서로 다른 비밀번호를 사용하여 디스크를 해독할 수 있는 경우 키는 세 번 저장됩니다. 매번 하나의 비밀번호에서 생성된 키로 암호화됩니다.
예를 들어, 각각 2개의 암호를 사용하여 해독할 수 있는 2개의 디스크가 있고 한 디스크에서 다른 디스크로 LUKS 헤더를 복사한다고 가정해 보겠습니다. 이제 비밀번호 중 하나가 손상되면 암호화 키도 손상됩니다. 공격자가 DiskA를 획득하고 손상된 암호를 사용하여 키를 획득하는 경우 공격자가 이를 해독할 수 있으므로 DiskB의 데이터를 삭제해야 합니다.
동일한 상황(비밀번호가 손상됨)에서 LUKS 헤더를 복사하지 않으면 복구가 훨씬 쉬울 것입니다. 공격자가 디스크 A를 소유하고 있고 디스크 A에 대한 암호화 키를 가지고 있는 경우에도 디스크 B의 데이터를 해독할 수 없습니다. 물론 그는 유출된 비밀번호를 이용하여 디스크 B에서 디스크 B의 암호화 키를 얻을 수 있지만, 공격자보다 빠르면 디스크 B에서 유출된 비밀번호를 비활성화할 수 있습니다. 비밀번호 암호화 키를 달성하기 위해) 비밀번호).
따라서 다양한 헤더를 사용하면 많은 이점이 있습니다. 헤더의 목적 중 하나는 드라이브를 해독하는 데 사용되는 비밀번호가 동일하더라도 서로 다른 비밀번호를 사용하고 각 블록 장치에서 암호화된 데이터를 서로 다른 키로 암호화할 수 있도록 하는 것입니다.