LUKS/dmcrypt 키가 있는지 확인

LUKS/dmcrypt 키가 있는지 확인

LUKS 컨테이너에 키를 추가하기 위해 Chef LWRP를 작성 중인데 내 키가 이미 존재하는지 여부를 확인하는 방법을 찾는 데 어려움을 겪고 있습니다. cryptsetup luksAddKey동일한 키 파일을 여러 번 추가하게 되므로 단순히 luksAddKey각 Chef 실행을 계속 호출할 수는 없습니다.

지금까지 제가 생각해낸 것 중 최고는 다음과 같습니다.

cryptsetup luksDump /dev/xvdf1 --dump-master-key --key-file <thenewkey> > /dev/null

그것은 보인다:

  1. CPU 집약적
  2. 별로 안전하지 않음

누구든지 더 좋은 생각이 있나요?

감사해요!

답변1

볼륨 잠금을 해제하지 않고(적어도 CPU 로드를 언급하면서) 키를 테스트할 기회는 없습니다. 하지만 누가 이 몇 초의 CPU 시간을 갖고 있지 않습니까? 시스템당 LUKS 볼륨이 많이 있습니까?

또는 다음을 수행할 수도 있습니다.

키를 추가할 때마다 파일의 다이제스트를 저장합니다(보안 다이제스트도 필요하지 않으며 MD5도 가능합니다). 당신은 디렉토리를 만듭니다 /etc/my_luks_keyfiles. 시스템의 모든 LUKS 볼륨에 대해 UUID( cryptsetup luksUUID /dev/bla)를 사용하여 하위 디렉터리를 생성합니다. 키를 추가하면 타임스탬프를 이름으로, 다이제스트를 콘텐츠로 사용하여 파일을 생성합니다. 키를 제거하면 파일도 제거됩니다. 키가 활성 상태인지 알고 싶다면 디렉터리의 모든 파일을 다이제스트와 비교합니다(즉, 키 파일을 전송할 필요가 없습니다).

활성 슬롯보다 파일 수가 많거나 적다면 문제가 발생한 것입니다.

관련 정보