TPM(장치 ID 0x0, 개정 ID 78)

TPM(장치 ID 0x0, 개정 ID 78)

나는 Debian 8에서 내 노트북에 내장된 tpm(신뢰할 수 있는 플랫폼 모듈)을 사용하려고 합니다. 대부분의 tpm_* 프로그램은 답변을 반환합니다.

root@debian:~# tpm_takeownership 
Enter owner password: 
Confirm password: 
Enter SRK password: 
Confirm password: 
Tspi_TPM_TakeOwnership failed: 0x00000008 - layer=tpm, code=0008 (8), The TPM target command has been disabled

tcsd 피드백:

root@debian:~# tcsd -f
TCSD TDDL ERROR: Could not find a device to open!

로드된 모듈:

root@debian:~# lsmod | grep tpm
tpm_tis                17231  0 
tpm                    31511  2 tpm_tis

마지막으로 dmesg는 다음과 같이 응답합니다.

root@debian:~# dmesg | grep tpm
[    6.743307] tpm_tis 00:05: 1.2 TPM (device-id 0x0, rev-id 78)

TPM은 BIOS에서 켜져 있습니다. 어떤 단서가 있나요?

답변1

BeagleBone Black의 보안 부팅을 위해 Atmel Trusted Platform Module을 사용하고 있습니다. 해결책을 찾지 못했다면 제가 한 방법은 다음과 같습니다.

저는 BeagleBone Black(BBB)용 간단한 임베디드 Linux를 만들기 위해 Buildroot를 사용하고 있습니다. 나는 추가했다tpm 도구 및 tpm-tss빌드 루트가 있습니다.

다음 옵션을 모듈로 추가했습니다.

  • 하드웨어 난수 생성기 코어 지원
  • TPM 하드웨어 지원
  • TPM 인터페이스 사양 1.2 인터페이스/TPM 2.0 FIFO 인터페이스
  • TPM 인터페이스 사양 1.2 인터페이스(I2C – Atmel)

또한 BBB의 장치 트리를 수정하고 다음 수정 사항을 추가했습니다.

&i2c2 {
    tpm29:tpm@29 {
                compatible = "atmel,at97sc3204t";
                reg = <0x29>;
        };
};

BBB에서 임베디드 Linux를 부팅할 때 다음과 같은 드라이버를 로드합니다.

# modprobe tpm_i2c_atmel
# modprobe tpm_tis
# modprobe tpm_tis_core
# modprobe tpm

그런 다음 다음과 같이 tcsd 데몬을 시작합니다.

# /usr/sbin/tcsd

/ 명령 /usr/sbin/tcsd에서 해당 내용을 확인할 수 있습니다 .tophtop

이러한 단계를 완료한 후 TPM과 대화할 준비가 되었습니다.

답변2

BIOS에서 TPM을 활성화하려면 다음이 필요할 수 있습니다.전원 주기효과적입니다. BIOS 메뉴에는 구성해야 하는 두 가지 항목이 있을 수 있습니다.

추가 모듈이 있습니다: tpm_bios.

A는 잘못된 것 device-id같습니다 0x0. 예를 들어 Atmel TPM의 경우 0x3204.

시도해 볼 첫 번째 유용한 명령은 tpm_version, then tpm_getpubektpm_selftest, before 입니다 tpm_takeownership.

관련 정보