나는 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
에서 해당 내용을 확인할 수 있습니다 .top
htop
이러한 단계를 완료한 후 TPM과 대화할 준비가 되었습니다.
답변2
BIOS에서 TPM을 활성화하려면 다음이 필요할 수 있습니다.전원 주기효과적입니다. BIOS 메뉴에는 구성해야 하는 두 가지 항목이 있을 수 있습니다.
추가 모듈이 있습니다: tpm_bios
.
A는 잘못된 것 device-id
같습니다 0x0
. 예를 들어 Atmel TPM의 경우 0x3204
.
시도해 볼 첫 번째 유용한 명령은 tpm_version
, then tpm_getpubek
및 tpm_selftest
, before 입니다 tpm_takeownership
.