Trusted Platform Module

提供: ArchWiki
2016年1月31日 (日) 01:19時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:セキュリティ Category:他のハードウェア en:Trusted Platform Module Trusted Platform Module (TPM) はセキュアな暗号プロセッサ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Trusted Platform Module (TPM) はセキュアな暗号プロセッサの国際規格です。暗号鍵をデバイスに統合することによりハードウェアを保護する専用のマイクロプロセッサとして設計されています。

実際に TPM を Secure Boot や Key Storage など様々なセキュリティアプリケーションで使うことができます。

当然ながら TPM が使えるのは TPM ハードウェアに対応しているデバイスだけです。あなたのハードウェアは TPM をサポートしているのに認識されない場合、BIOS の設定で TPM を有効にする必要があります。

ドライバー

TPM ドライバーは新しいカーネルならネイティブで含まれていますが、ロードする必要があります:

# modprobe tpm

さらに、使用しているチップセットにあわせて、以下のモジュールのどれかをロードしてください:

# modprobe tpm_atmel tpm_bios tpm_infineon tpm_nsc tpm_tis tpm_crb

使用方法

TPM は 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 フロントエンド。
http://sourceforge.net/projects/tpmmanager || tpmmanagerAUR
  • openssl_tpm_engine — TSS API と対話する OpenSSL エンジン。
http://sourceforge.net/projects/trousers || openssl_tpm_engineAUR[リンク切れ: アーカイブ: aur-mirror]
  • tpm_keyring2 — TPM ベースの eCryptfs 鍵を管理するキーマネージャ。
http://sourceforge.net/projects/trousers || tpm_keyring2AUR[リンク切れ: アーカイブ: aur-mirror]
  • opencryptoki — Linux の PKCS#11 実装。IBM の暗号ハードウェアを使用するためのドライバーやライブラリ、テスト用のソフトウェアトークンが含まれています。
http://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

SSH を設定して適切な PKCS11 プロバイダを使用する:

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

これで PKCS11 プロバイダで鍵を生成することができます:

$ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so
ノート: 上記の方法では複数の鍵を生成・使用することはできません。

参照