Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

tpmadm(8)

名前

tpmadm - トラステッドプラットフォームモジュールの管理

形式

tpmadm status
tpmadm init
tpmadm clear [lock | owner]
tpmadm auth
tpmadm keyinfo [uuid]
tpmadm deletekey uuid
tpmadm migrate export UUID [MigDataFile MigKeyfile]
tpmadm migrate import [MigDataFile MigKeyfile [ParentUUID]
     [NewKeyUUID]]
tpmadm failover
tpmadm pcrextend pcr [filename]
tpmadm pcrreset pcr

説明

トラステッドプラットフォームモジュール (TPM) は、鍵の保護と格納、およびオペレーティングシステムのブートに使用されるソフトウェアの信頼性の測定に対応したハードウェアコンポーネントです。tpmadm ユーティリティーは、オペレーティングシステムやその他のプログラムから TPM を使用できるように、TPM の初期化や管理を行うために使用します。

TPM サブシステムは、オペレーティングシステムやユーザーによって使用される鍵を、任意の数だけ格納して管理できます。各鍵は汎用一意識別子 (UUID) によって識別されます。

TPM は一度に限られた数の鍵しか保持できませんが、サポートソフトウェアによって、必要に応じて鍵の読み込みや読み込み解除が自動的に行われます。TPM の外部に格納される鍵は必ずその親鍵によって暗号化つまり「ラップ」されるため、その鍵が TPM の外部で読み取り可能な形式で公開されることは決してありません。

TPM を使用するには、プラットフォームの所有者が TPM を事前に初期化しておく必要があります。この処理では、特権操作の承認時に使用される、所有者のパスワードを設定します。

TPM 所有者は従来のスーパーユーザーに似ていますが、両者の間には 2 つの重要な違いがあります。まず、プロセス特権は、TPM 機能にアクセスする際は重要ではありません。呼び出し元プロセスの特権レベルにかかわらず、すべての特権操作で所有者のパスワードを把握しておくことが必要になります。第 2 に、TPM 所有者は、TPM 鍵で保護されたデータのアクセス制御を無効にすることはできません。所有者は、TPM を初期化し直すことによってデータを実質的に破棄できますが、ほかのユーザーによって所有されている TPM 鍵を使用して暗号化されたデータにアクセスすることはできません。

サブコマンド

後述の各サブコマンドは、次の形式で使用されます。

# tpamadm <subcommand> [operand]
status

TPM に関するステータス情報を報告します。出力には、TPM の所有権が確立されたかどうか、PCR の現在の内容、および TPM リソース (通信セッションや読み込まれた鍵など) の使用状況に関する基本情報が含まれます。

init

TPM を初期化して使用可能な状態にします。その際、所有者の承認パスワードを設定することで TPM の所有権が取得されます。TPM の所有権を取得すると、この TPM によって作成されるすべての鍵の祖先となる新しいストレージルート鍵が作成されます。このコマンドの発行後に再度初期化を行うには、まず BIOS 操作を使用して TPM をリセットする必要があります。

tpmadm init サブコマンドは、TPM 所有者 PIN (またはパスフレーズ) を作成するよう 2 回要求します。

次に例を示します。PIN は画面には表示されませんが、この例に示されています。

# tpmadm init
Enter TPM Owner PIN: 87654321
Confirm TPM Owner PIN: 87654321

一部の tpmadm サブコマンドではこの PIN を再入力する必要があるため、これを忘れないでください。

auth

TPM の所有者の承認パスワードを変更します。

clear lock

失敗した認証試行の回数をクリアします。失敗した認証試行の回数が多くなると、その後の試行に対する TPM の応答速度が遅くなりますが、これは、総当たり検索で所有者のパスワードを発見しようとする行為の邪魔をするためです。このコマンドは、所有者の正しいパスワードを要求してから、失敗試行の回数をリセットします。

両方をクリアする場合は、このコマンドを「tpmadm clear owner」の前に実行する必要があります。

clear owner

TPM を無効にし、TPM を所有されていない状態に戻します。この処理は、現在の TPM 所有者の正しいパスワードを要求してから、TPM に関連付けられたすべての鍵とデータを無効にします。TPM を再度使用するには、システムを再起動し、BIOS または ILOM ブート前環境から TPM を再度有効化し、tpmadm init コマンドを使用して TPM を再度初期化する必要があります。

keyinfo [uuid]

TPM サブシステムに格納された鍵に関する情報を報告します。追加の引数が指定されなかった場合、このサブコマンドはすべての鍵の簡易一覧を生成します。特定の鍵の UUID が指定された場合は、その鍵の詳細情報が表示されます。

deletekey uuid

指定された UUID の鍵を、TPM サブシステムの永続ストレージから削除します。

migrate export UUID [MigDataFile MigKeyfile]

永続的鍵 UUID の初期移行 BLOB および鍵を作成します。必要に応じて、ユーザーは移行する鍵にアクセスするためのパスワードの入力を求められます。さらに、ユーザーは、移行鍵の承認パスワードを作成するよう求められます。この操作によって、将来の移行で使用される移行 BLOB (ラップされた鍵) と移行鍵の 2 つのファイルが作成されます。コマンド行で指定されている場合を除き、出力ファイルの名前は、tpm-migration.dattpm-migration.key です。この操作では、エクスポートする鍵をロードするためにロードする必要がある親鍵の承認パスワードに加えて、TPM 所有者の承認が必要です。ユーザーは、必要に応じてすべての承認パスワードを入力するよう求められます。

ストレージルート鍵 (SRK) をエクスポートしている場合は、SRK UUID に対して 00000000-0000-0000-0000-00000000000b を使用します。

tpmadm migrate export サブコマンドは、tpmadm init サブコマンドで作成された TPM 所有者 PIN の入力を要求します。さらに、tpmadm migrate import サブコマンドで使用する移行 PIN を作成するよう要求します。

次に例を示します。PIN は画面には表示されませんが、この例に示されています。

# tpmadm migrate export 00000000-0000-0000-0000-00000000000b
Enter TPM Owner PIN: 87654321
Enter PIN for the migration key: BAKUP555
Confirm PIN for the migration key: BAKUP555
migrate import [MigDataFile MigKeyFile [ParentUUID] NewKeyUUID]

鍵をユーザーの永続的な鍵 DB にインポートします。鍵は、特定の ParentUUID の子になります。ParentUUID が指定されていない場合、インポートされた鍵は、システム MRK UUID の子になります。NewKeyUUID が指定されていない場合、システムによって新しい UUID が生成され、コマンドの完了時にユーザーに報告されます。ユーザーは、「エクスポート」ステップで使用される移行パスワードの入力を求められます。引数を使用せずに migrate import コマンドを指定すると、インポート操作によって、SYSTEM MRK UUID はシステム鍵 db 内の現在の SRK に移行されます。MRK のインポート時には、「Migratable Root Key file(s) already exist; overwrite [y/N]?」という質問には「y」と回答します。それ以外の場合、既存の MRK はインポートされる MRK で上書きされません。ユーザーは、TPM 管理権利 (prof_attr(5) を参照) または root 特権 (euid == 0) を持っている必要があります。この操作では、エクスポートする鍵をロードするためにロードする必要がある親鍵の承認パスワードに加えて、TPM 所有者の承認が必要です。ユーザーは、必要に応じてすべての承認パスワードを入力するよう求められます。

tpmadm migrate import

このサブコマンドは、tpmadm migrate export サブコマンドで作成された移行 PIN の入力を要求します。

次に例を示します。PIN は画面には表示されませんが、この例に示されています。

# tpmadm migrate import
Enter TPM Owner PIN: BAKUP555
Enter PIN for the migration key: BAKUP555
failover

TPM フェイルオーバーを有効にします (SPARC T7 以降のプラットフォームの場合)。これにより、TPM 所有者 PIN と移行鍵の新しい PIN の入力が求められます。これらは、TPM チップが別の SPARC SP/SPP ボード上の新しい TPM チップにフェイルオーバーした場合に TPM キーストアをバックアップおよび復元するために使用されます。

pcrextend pcr [filename]

filename の内容の SHA-1 ハッシュを作成し、そのハッシュ値を拡張対象データとして使用して、指定された PCR で PCR 拡張操作を実行します。ファイル名が指定されていない場合、データは標準入力から読み込まれます。

pcrreset pcr

指定された PCR を初期状態 (すべてゼロ) にリセットします。

終了ステータス

要求された処理の完了後に、tpmadm は次のいずれかのステータス値を返して終了します。

0

終了に成功しました。

1

失敗。要求された操作を完了できませんでした。

2

使用方法のエラー。tpmadm コマンドの呼び出し時に無効な引数が指定されました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実

関連項目

prof_attr(5)attributes(7)

pkg:/library/security/trousers パッケージで利用可能な tcsd(8) のマニュアルページも参照してください。

TCG ソフトウェアスタック (TSS) 仕様: https://www.trustedcomputinggroup.org/specs/TSS (公開時点のアドレス)

tpmadm は、tcsd サービス経由で TPM デバイスと通信します。tpmadm コマンドを使用する前に tcsd が動作している必要があります。tcsd が動作していない場合、tpmadm から次のエラーが生成されます。

Connect context: Communication failure (0x3011)

詳細は、tcsd(8) を参照してください。