可信平台模块/1.2 - Arch Linux 中文维基

跳至內容

# 可信平台模块/1.2

出自 Arch Linux 中文维基
< 可信平台模块
翻譯狀態：

- 本文（或部分內容）譯自 Trusted Platform Module/1.2，最近一次同步於 2026-05-03，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

TPM 1.2 使用 IBM 開發的 「TrouSerS」 TSS (TCG軟體棧) 。該軟體棧包主要包含兩個主要部分：trousersAUR (提供tcsd守護進程) 和tpm-toolsAUR (提供用戶空間工具) 。所有軟體都通過tcsd守護進程訪問 TPM。

## 驅動程序

現代內核已原生支持 TPM 驅動程序，但可能需要手動加載：

    # modprobe tpm

根據晶片組的不同，你可能還需要加載以下驅動程序之一：

    # modprobe -a tpm_{atmel,infineon,nsc,tis,crb}

## 使用方法

TPM 1.2 由`tcsd`管理，這是一個管理可信計算機資源的普通用戶空間守護進程。根據 TSS 規範，它是訪問 TPM 設備驅動程序的唯一門戶。`tcsd`是trousersAUR軟體包的一部分 (由 IBM 創建並發布) ，可以通過`/etc/tcsd.conf`進行配置。

若要啟動`tcsd`並查看輸出，請運行：

    # tcsd -f

或直接啟動並啟用`tcsd.service`。

當`tcsd`運行後，你可能還想安裝tpm-toolsAUR，它提供了許多用於管理 TPM 的命令行工具。

其他值得關注的工具：

- tpmmanager — tpm-tools的 Qt 圖形界面前端

  https://github.com/Rohde-Schwarz/TPMManager || tpmmanagerAUR

- opencryptoki — Linux下的 PKCS#11 實現。它包含啟用 IBM 加密硬體的驅動程序和庫，以及用於測試軟體的令牌 (Token)。

  https://sourceforge.net/projects/opencryptoki || opencryptokiAUR

## 基礎操作

首先，獲取基礎版本信息：

    $ tpm_version

接著運行自檢 (selftest)：

    $ tpm_selftest -l info

    TPM Test Results: 00000000 ...
    tpm_selftest succeeded

## 保護 SSH 密鑰

利用 TPM 保護密鑰的方法有很多種，這裡介紹一種基於simple-tpm-pk11-gitAUR的簡便方法。

首先，創建一個新目錄並生成密鑰：

    $ mkdir ~/.simple-tpm-pk11
    $ stpm-keygen -o ~/.simple-tpm-pk11/my.key

在配置文件中指向該密鑰：

    ~/.simple-tpm-pk11/config

    key my.key

現在配置 SSH 以使用正確的 PKCS11提供程序 (Provider)：

    ~/.ssh/config

    Host *
        PKCS11Provider /usr/lib/libsimple-tpm-pk11.so

之後便可以使用該 PKCS11 提供程序來生成密鑰 (用於提取公鑰)：

    $ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so

注意：該方法目前不支持生成和使用多個密鑰。

## 故障排除

### tcsd.service 啟動失敗

安裝trousersAUR後，由於權限問題，`tcsd.service`服務可能無法正常啟動。你可以通過重啟系統或觸發trousersAUR軟體包中包含的udev規則來解決此問題：

    # udevadm control --reload-rules
    # udevadm trigger

## 另見

- Protecting systems with the TPM
- Embedded Security Subsystem on Thinkwiki
- TPM Fundamentals (PDF)
- Using a TPM

分類：​

- 安全
- 硬體

可信平台模块/1.2
新增話題