Trusted Platform Module/1.2

提供: ArchWiki
2024年1月14日 (日) 00:37時点におけるKgx (トーク | 投稿記録)による版 (項目修正)
ナビゲーションに移動 検索に移動

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 によって管理します。Trusted Computing リソースを管理するユーザー空間のデーモンで、(TSS の仕様によれば) TPM デバイスドライバーの唯一のポータルです。tcsd は AUR パッケージの trousersAUR に含まれています。IBM によって開発・リリースされており、/etc/tcsd.conf で設定することが可能です。

tcsd を起動して出力を監視するには、次を実行:

# tcsd -f

もしくは tcsd.service起動/有効化 してください。

tcsd を実行したら、tpm-toolsAUR もインストールすると良いでしょう。TPM を管理するためのコマンドラインツールが多数入っています。

他の便利なツール:

  • tpmmanager — tpm-tools の Qt フロントエンド。
https://sourceforge.net/projects/tpmmanager || tpmmanagerAUR
  • opencryptoki — Linux の PKCS#11 実装。IBM の暗号ハードウェアを使用するためのドライバーやライブラリ、テスト用のソフトウェアトークンが含まれています。
https://sourceforge.net/projects/opencryptoki || opencryptokiAUR

基本

まずは基本的なバージョン情報を取得します:

$ tpm_version

そしてセルフテストを実行します:

$ 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

次に、適切な PKCS11 プロバイダーを使用するように SSH を設定します:

~/.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 サービスが正しく開始されない可能性があります。[1] この問題は、再起動するか、trousersAUR パッケージに含まれる udev ルールをトリガーすることで修正できます。

# udevadm control --reload-rules
# udevadm trigger

参照