Trusted Platform Module/1.2
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 フロントエンド。
- opencryptoki — Linux の PKCS#11 実装。IBM の暗号ハードウェアを使用するためのドライバーやライブラリ、テスト用のソフトウェアトークンが含まれています。
基本
まずは基本的なバージョン情報を取得します:
$ 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