このセクションには、Oracle Solaris システムで TPM を初期化したり、TPM データおよび鍵をバックアップしたりするための手順が含まれています。SPARC システムと x86 システムとでは、手順が異なります。ただし、TPM を初期化するための特定の前提条件は、両方のプラットフォームで共通です。
システムに TPM デバイス /dev/tpm をインストールする必要があります。
TPM では TCG Trusted Platform Module 仕様バージョン 1.2 (別名 ISO/IEC 11889-1:2009) が使用されている必要があります。https://trustedcomputinggroup.org//tpm-main-specification/ で公開されている仕様を参照してください。
次の Oracle Solaris TPM パッケージがインストールされている必要があります。
Trusted Platform Module ドライバ (driver/crypto/TPM)
TrouSerS TCG ソフトウェア (library/security/trousers)
これらのパッケージをインストールするには、次のコマンドを使用します。
# pkg install driver/crypto/tpm # pkg install library/security/trousers
この手順を使用して、インストールされている TPM デバイスが Oracle Solaris で認識されているかどうかを確認します。この手順は、SPARC システムと x86 システムの両方に適用されます。
始める前に
root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。
# prtconf -v |grep tpm
TPM デバイスが認識されている場合は、コマンドで次のような出力が生成されます。
# prtconf -v |grep tpm tpm, instance #0 dev_path=/pci@0,0/isa@lf/tpm@0,fed40000:tpm dev_link=/dev/tpm
出力が生成されない場合は、TPM が無効になっている可能性があります。デバイスを有効にする方法については、システムのプラットフォームに応じて、Oracle ILOM インタフェースを使用して TPM を初期化する方法またはBIOS を使用して TPM を初期化する方法を参照してください。
# ls -l /dev/tpm lrwxrwxrwx 1 root root 44 May 22 2012 /dev/tpm -> ../devices/pci@0,0/isa@lf/tpm@0,fed40000:tpm
SPARC システムで TPM を初期化するには、システムの ILOM と Oracle Solaris の両方のインタフェースを使用します。
この手順には、TPM データおよび鍵をバックアップするための手順が含まれています。
始める前に
root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。
-> stop /System
-> stop /Servers/PDomains/PDomain_n/HOST
サーバーの停止にはしばらく時間がかかることがあります。次の手順に進む前に、ホストコンソールに次のメッセージが表示されるまで待つ必要があります。
-> SP NOTICE: Host is off
SPARC システムに応じて、次のコマンドセットのいずれかを使用して TPM をアクティブにします。
SPARC M5 シリーズサーバーおよび SPARC T5 シリーズサーバーでは、次のコマンドを使用します。
-> set /HOST/tpm mode=activated
SPARC M5-32 シリーズサーバーでは、次のコマンドを使用します。
-> set /HOST0/tpm mode=activated
SPARC T4 サーバーでは、次のコマンドを使用します。
-> set /HOST/tpm enable=true activate=true -> show /HOST/tpm
TPM を初期化すると TPM 所有者となり、所有者パスワード (所有者 PIN とも呼ばれる) を割り当てる必要があります。
# tpmadm init TPM Owner PIN: Confirm TPM Owner PIN
# tpmadm status TPM Version: 1.2 (ATML Rev: 13.9, SpecLevel: 2, ErrataRev: 1) TPM resources Contexts: 16/16 available Sessions: 2/3 available Auth Sessions: 2/3 available Loaded Keys: 18/21 available Platform Configuration Registers (24) PCR 0: E1 EE 40 D8 66 28 A9 08 B6 22 8E AF DC 3C BC 23 71 15 49 31 PCR 1: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 2: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 3: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 4: AF 98 77 B8 72 82 94 7D BE 09 25 10 2E 60 F9 60 80 1E E6 7C PCR 5: E1 AA 8C DF 53 A4 23 BF DB 2F 4F 0F F2 90 A5 45 21 D8 BF 27 PCR 6: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 7: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 17: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 18: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 19: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 21: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 22: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# tpmadm failover Enter TPM Owner PIN: Enter PIN for the migration key: Confirm PIN for the migration key:
将来のシステムの移行またはハードウェアの交換のために、移行鍵に指定した PIN を使用して TPM キーストアをバックアップおよび復元できるように、その PIN を記録しておいてください。詳細は、TPM フェイルオーバーオプションおよび tpmadm(8) のマニュアルページを参照してください。
# cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so' # cryptoadm list -mv provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
システムをはじめてブートしたあと、将来のシステムの移行またはハードウェアの交換中に使用できるように TPM データおよび鍵をバックアップするようにしてください。
Oracle Solaris がインストールされているマルチドメインシステムの場合は、tpmadm failover コマンドを使用して、TPM データおよび鍵がサーバー上のスタンバイ SP に自動的にバックアップされるように指定します。そのバックアップされた TPM データおよび鍵を新しい SP 上でシステムの移行またはハードウェアの交換に使用できます。手順については、BIOS を使用して TPM を初期化する方法のバックアップステップを参照してください。
その他のすべてのプラットフォームの場合は、システムの移行またはハードウェアの交換中に使用できるように、次の手順を使用して TPM データおよび鍵を手動でバックアップします。
始める前に
root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。
# tpmadm status
TPM 所有者がインストールされていないと表示される場合は、TPM が初期化されていません。続行しないでください。
# tpmadm migrate export 00000000-0000-0000-0000-00000000000b
その鍵に承認が必要な場合は、システムから鍵のパスワードを入力するよう求められます。また、移行鍵のパスワードの入力も求められます。
# ls -l /var/tpm/system/tpm-migration.* -rw------- 1 root root 563 July 21 10:45 /var/tpm/system/tpm-migration.dat -r-------- 1 root root 766 July 21 10:36 /var/tpm/system/tpm-migration.key
x86 システムでは、Oracle Solaris を使用してサービスを初期化する前に、システムの BIOS で次の手順を実行します。
始める前に
root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。
# reboot -p
TCG/TPM Support [Yes] Execute TPM Command [Enabled]
# svcadm enable -s svc:/application/security/tcsd
TPM を初期化すると TPM 所有者となり、所有者パスワードを割り当てる必要があります。
# tpmadm init TPM Owner PIN: Confirm TPM Owner PIN
# tpmadm status TPM Version: 1.2 (ATML Rev: 13.9, SpecLevel: 2, ErrataRev: 1) TPM resources Contexts: 16/16 available Sessions: 2/3 available Auth Sessions: 2/3 available Loaded Keys: 18/21 available Platform Configuration Registers (24) PCR 0: E1 EE 40 D8 66 28 A9 08 B6 22 8E AF DC 3C BC 23 71 15 49 31 PCR 1: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 2: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 3: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 4: AF 98 77 B8 72 82 94 7D BE 09 25 10 2E 60 F9 60 80 1E E6 7C PCR 5: E1 AA 8C DF 53 A4 23 BF DB 2F 4F 0F F2 90 A5 45 21 D8 BF 27 PCR 6: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 7: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR 8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR 17: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 18: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 19: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 21: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 22: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR 23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so' # cryptoadm list -mv provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
始める前に
この手順を実行するには、システムに TPM をインストールし、有効にする必要があります。tcsd デーモンも動作していることを確認します。
root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。
# pkg install pkcs11_tpm # cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
# ls -alF /dev/tpm lrwxrwxrwx 1 root 39 Dec 27 2011 /dev/tpm -> ../devices/pci@0,0/isa@1/tpm@1,1670:tpm
# svcadm enable tcsd
# tpmadm init
$ pktool inittoken currlabel=TPM
$ pktool setpin token=tpm/TPM usertype=so
$ pktool setpin token=tpm/TPM
$ pktool gencert token=tpm/TPM -i $ pktool list token=tpm/TPM
既存のアプリケーションで libpkcs11 の暗号化フレームワークがすでに使用されている場合は、アプリケーションでセッション用の TPM トークンデバイスを選択することで、それらの操作で TPM トークンを使用できます。
この例では、最初に TPM トークンに新しい名前が割り当てられます。トークン上のすべての後続アクションで、この新しい名前が参照されます。
$ pktool inittoken currlabel=TPM newlabel=JanDoeTPM $ pktool setpin token=tpm/JanDoeTPM so $ pktool gencert token=tpm/JanDoeTPM -i $ pktool list token=tpm/JanDoeTPM