재부팅 시 USB 스틱을 삽입할 때 TPM은 서버의 비밀번호 없는 부팅을 허용하지 않습니다. USB HDD를 연결하면 서버를 비밀번호 없이 부팅할 수 있습니다.
우리 서버는 Linux 커널 버전 4.18.0-240과 함께 Centos 8.3을 실행하고 있습니다. TPM2 모듈은 여러 파티션(//홈 스왑 등 포함)으로 구성된 LVM 그룹의 LUKS 버전 1 암호화와 함께 사용됩니다. LUKS 헤더 슬롯 0은 비밀번호용이고 슬롯 1은 TPM용입니다.
LUKS 헤더 슬롯 1은 PCR 값 0, 1, 2, 3에 바인딩됩니다. 따라서 BIOS(0), BIOS 구성(1), 옵션 ROM(2) 및 옵션 ROM 구성(3)입니다.
내가 이해한 바로는 옵션 ROM은 POST 부팅 프로세스 중에 로드된 펌웨어로 구성됩니다. TPM이 서명하는 동안 시스템 상태가 변경되면 TPM은 암호 없이 시스템이 시작되는 것을 허용하지 않습니다. USB 스틱에는 부팅 중에 로드될 수 있는 펌웨어가 있으므로 처음에는 PCR 값 0과 1(즉, 옵션 ROM 없음)에 바인딩하는 것만으로도 효과가 있을 것이라고 생각했습니다. 이것은 작동하지 않습니다.
USB 스틱이 연결된 TPM에서 부팅되지 않는 이유에 대한 제안 사항이 있으면 크게 감사하겠습니다.
답변1
USB 스틱을 삽입하고 시스템을 다시 시작한 후 PCR 값이 변경되는 것을 파악했습니다. 이 PCR 값을 바인딩하지 않음으로써 USB 스틱을 삽입한 상태에서 TPM을 성공적으로 부팅했습니다.
우리의 경우 USB 스틱을 삽입하고 시스템을 재부팅하면 PCR 1(BIOS 구성)이 계속 변경되었습니다.
PCR 값을 쿼리하는 데 사용하는 명령은 입니다 tpm2_pcrread
. sha1 및 sha256의 PCR 값이 나열됩니다. PCR 값의 표준 출력을 변경 전후의 파일로 리디렉션하고 diff
명령을 사용하여 각 파일 간의 변경 사항을 모니터링합니다.