Trusted Platform Module/1.2
TPM 1.2 uses the "TrouSerS" TSS (TCG software stack) by IBM, which is packaged as trousersAUR (tcsd) and tpm-toolsAUR (userspace). All software access the TPM through the tcsd daemon.
目次
Drivers
TPM drivers are natively supported in modern kernels, but might need to be loaded:
# modprobe tpm
Depending on your chipset, you might also need to load one of the following:
# 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 の暗号ハードウェアを使用するためのドライバーやライブラリ、テスト用のソフトウェアトークンが含まれています。
Basics
Start off by getting basic version info:
$ tpm_version
and running a selftest:
$ tpm_selftest -l info
TPM Test Results: 00000000 ... tpm_selftest succeeded
Securing SSH keys
There are several methods to use TPM to secure keys, but here we show a simple method based on simple-tpm-pk11-gitAUR.
First, create a new directory and generate the key:
$ mkdir ~/.simple-tpm-pk11 $ stpm-keygen -o ~/.simple-tpm-pk11/my.key
Point the configuration to the key:
~/.simple-tpm-pk11/config
key my.key
Now configure SSH to use the right PKCS11 provider:
~/.ssh/config
Host * PKCS11Provider /usr/lib/libsimple-tpm-pk11.so
It is now possible to generate keys with the PKCS11 provider:
$ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so
Troubleshooting
tcsd.service failed to start
After installing trousersAUR, the tcsd.service
service may not start correctly due to permission issues.[1] It is possible to fix this either by rebooting or by triggering the udev rule that is included in the trousersAUR package:
# udevadm control --reload-rules # udevadm trigger