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メニューには、構成する必要がある2つの項目があります。

追加モジュールがありますtpm_bios

Aは間違っているようdevice-idです0x0。たとえば、Atmel TPMの場合0x3204

試してみる最初の便利なコマンドはtpm_version、thenとtpm_getpubektpm_selftestbeforeですtpm_takeownership

関連情報