기술적으로 말하면 LUKS2 브레이크아웃 커넥터를 여러 드라이브와 함께 사용할 수 있습니까?

기술적으로 말하면 LUKS2 브레이크아웃 커넥터를 여러 드라이브와 함께 사용할 수 있습니까?

우선 나는 알아요비슷한 질문에 이미 답변이 있습니다. 대답은 '예'입니다. 하지만 다음과 같은 이유로 두 번째 의견을 듣고 싶습니다.

  • 질문은 LUKS1인지 LUKS2인지를 지정하지 않습니다.
  • Wikipedia에서 읽은 내용 중 하나에 의문이 생겼습니다.

따라서 질문은 다음과 같습니다.기술적으로, LUKS2 브레이크아웃 커넥터를 여러 드라이브와 함께 사용할 수 있습니까? 나는 이것이 보안 관점에서 권장되지 않는다는 것을 알고 있지만(이전에 언급된 게시물에 대한 답변 참조) 여기서는 질문의 기술적인 측면에만 관심이 있습니다.

나를 혼란스럽게 하는 것은 무엇인가?위키피디아 성명LUKS2 헤더에는 디스크의 암호화된 영역을 설명하는 JSON 영역의 세그먼트가 포함되어 있습니다. 이는 LUKS2 헤더가 특정 드라이브에 바인딩되어 있으므로 다른 드라이브에 재사용할 수 없음을 의미합니다.

이진 헤더 바로 뒤에는 객체 구성(구성), 키 슬롯, 다이제스트, 세그먼트(디스크의 암호화된 영역 설명) 및 추가 메타데이터가 포함된 토큰이 포함된 JSON 영역이 있습니다.

그래서 당신은 어떻게 생각하십니까? 동일한 LUKS2 브레이크아웃 커넥터를 여러 드라이브에 사용할 수 있습니까? 여러 개의 동일한 드라이브와 완전히 다른 여러 드라이브(예: HDD 및 USB 스틱) 사이에 차이가 있을 수 있습니까?

답변1

가능하지만 실제로 독립형 장치에 사용하는 것은 보안 관점에서 나쁜 생각입니다. 당신이 연결 한 답변은 이것을 아주 잘 다루고 있습니다. 따라서 동일한 LUKS 장치의 백업 이미지나 스냅샷 등 데이터가 관련성이 있는 경우에만 권장합니다. 또는 배포 시나리오에서 cryptsetup reencrypt처음 실행 시 동일한 헤더가 별도의 헤더로 전환될 수도 있습니다.

장치가 특정 LUKS2 헤더를 사용할 수 없게 만드는 몇 가지 부작용이 있을 수 있습니다.

섹터 크기가 4096인 경우 장치 크기는 4096바이트의 배수여야 합니다. dm-crypt는 홀수의 512바이트 섹터가 있는 장치의 사용을 거부합니다(마지막 4K 섹터를 직접 삭제하려면 크기 제한이 있는 라운드 로빈 장치를 사용해야 함). 요즘 대부분의 항목이 4K로 정렬되어 있으므로 이는 거의 문제가 되지 않습니다(LUKS의 경우 512바이트 섹터를 사용할 수 있음).

LUKS2에서 dm-integrity와 같은 고급 기능을 사용하는 경우 이 헤더로 열린 장치를 초기화해야 합니다. 그렇지 않으면 무결성 체크섬이 모두 잘못되어 사용할 수 없게 됩니다. 따라서 LUKS2+integrity 헤더는 이 헤더로 초기화된 장치에만 사용할 수 있습니다.

언급한 대로 LUKS2 헤더는 특정 데이터 세그먼트(오프셋, 크기)를 설명하여 특정 크기의 장치에 고정할 수도 있습니다. 그러나 실제로는 "전체 장치" 암호화에만 사용되며 크기는 헤더에도 저장되지 않습니다.

따라서 luksDump에서는 다음과 같이 보입니다.

Data segments:
  0: crypt
    offset: 16777216 [bytes]
    length: (whole device)
    cipher: aes-xts-plain64
    sector: 4096 [bytes]

모든 장치를 사용할 수 있으며 cryptsetup이 전체 콘텐츠를 암호화합니다.

외부 헤더를 사용하면 오프셋이 기술적으로 0으로 설정될 수 있지만 여기에는 고유한 문제가 있습니다. 장치에 UUID/LABEL이 누락되고 임의의 데이터가 다른 의미 있는 데이터로 잘못 식별될 수 있습니다.

관련 정보