Go to main content

Oracle® Solaris 11.4 でのシステムおよび接続されたデバイスのセキュリティー保護

印刷ビューの終了

更新: 2018 年 8 月
 
 

Oracle Solaris システムでの TPM の初期化とバックアップ

    このセクションには、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 デバイスがオペレーティングシステムで認識されているかどうかを確認する方法

この手順を使用して、インストールされている 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 コマンドを使用しても、同じ情報を取得できます。ただし、この出力に含まれる情報は、prtconf コマンドで提供される情報よりも少ないです。
    # 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: Oracle ILOM インタフェースを使用して TPM を初期化する方法

SPARC システムで TPM を初期化するには、システムの ILOM と Oracle Solaris の両方のインタフェースを使用します。

この手順には、TPM データおよび鍵をバックアップするための手順が含まれています。

始める前に

root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。

  1. ILOM プロンプトで、ホストシステムを停止します。
    • 単一ホストサーバーの場合:
      -> stop /System
    • マルチドメインサーバーの場合:
      -> stop /Servers/PDomains/PDomain_n/HOST

    サーバーの停止にはしばらく時間がかかることがあります。次の手順に進む前に、ホストコンソールに次のメッセージが表示されるまで待つ必要があります。

    -> SP NOTICE: Host is off

    注 -  前のステップでホストが停止しない場合にのみ、–f|force オプションを追加してホストシステムを停止してください。
  2. TPM をアクティブにします。

    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
  3. Oracle Solaris プロンプトで、TPM を初期化します。

    TPM を初期化すると TPM 所有者となり、所有者パスワード (所有者 PIN とも呼ばれる) を割り当てる必要があります。

    # tpmadm init
    TPM Owner PIN:
    Confirm TPM Owner PIN
  4. TPM のステータスを確認します。
    # 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
    
  5. システムの移行またはハードウェアの交換中に、TPM データおよび鍵を将来の使用のためにバックアップします。
    • Oracle Solaris がインストールされているマルチドメインシステムの場合は、TPM を含む SP ボードのフェイルオーバーを有効にします。
      # tpmadm failover
      Enter TPM Owner PIN:
      Enter PIN for the migration key:
      Confirm PIN for the migration key:

      注 -  TPM 所有者の PIN は、TPM を初期化するときに使用された PIN です。

      将来のシステムの移行またはハードウェアの交換のために、移行鍵に指定した PIN を使用して TPM キーストアをバックアップおよび復元できるように、その PIN を記録しておいてください。詳細は、TPM フェイルオーバーオプションおよび tpmadm(8) のマニュアルページを参照してください。

    • その他のすべてのプラットフォームの場合は、TPM データおよび鍵の手動バックアップを実行します。手順については、TPM データおよび鍵をバックアップする方法を参照してください。
  6. (オプション) TPM 暗号化プロバイダを有効にします。

    注 -  TPM 暗号化プロバイダは、Oracle Solaris よりも低速です。この手順は、TPM で暗号化操作を実行する場合にのみ実行してください。
    # cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
    # cryptoadm list -mv provider='/usr/lib/security/$ISA/pkcs11_tpm.so'

SPARC: TPM データおよび鍵をバックアップする方法

システムをはじめてブートしたあと、将来のシステムの移行またはハードウェアの交換中に使用できるように 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を参照してください。

  1. 端末ウィンドウで、TPM が有効になっていることを確認します。
    # tpmadm status

    TPM 所有者がインストールされていないと表示される場合は、TPM が初期化されていません。続行しないでください。

  2. ストレージルート鍵 (SRK) の ID を使用して、移行データをバックアップします。
    #  tpmadm migrate export 00000000-0000-0000-0000-00000000000b

    その鍵に承認が必要な場合は、システムから鍵のパスワードを入力するよう求められます。また、移行鍵のパスワードの入力も求められます。

  3. /var/tpm/system 内の移行ファイルを探すことによって、データがバックアップされたことを確認します。
    # 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: BIOS を使用して TPM を初期化する方法

x86 システムでは、Oracle Solaris を使用してサービスを初期化する前に、システムの BIOS で次の手順を実行します。

始める前に

root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。

  1. 端末ウィンドウで、システムをリブートします。
    # reboot -p
  2. システムのブート中に F2 キーを押して、BIOS メニューにアクセスします。
  3. BIOS メニューオプションを使用して、TPM を構成します。
    1. 「Advanced」 -> 「Trusted Computing」に移動します。
    2. 次のメニュー項目の値を指定することで、TPM を設定します。
      TCG/TPM Support [Yes]
      Execute TPM Command [Enabled]
    3. Esc キーを押して、BIOS メニューを終了します。
    4. 「Save Changes and Exit」を選択します。
    5. ブートプロセスを続行するには、「Ok」をクリックします。
  4. ブートプロセスが完了したら、tcsd デーモンを有効にします。
    # svcadm enable -s svc:/application/security/tcsd
  5. TPM を初期化します。

    TPM を初期化すると TPM 所有者となり、所有者パスワードを割り当てる必要があります。

    # tpmadm init
    TPM Owner PIN:
    Confirm TPM Owner PIN
  6. TPM のステータスを確認します。
    # 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
    
  7. (オプション) TPM 暗号化プロバイダを有効にします。

    注 -  TPM 暗号化プロバイダは、Oracle Solaris よりも低速です。この手順は、TPM で暗号化操作を実行する場合にのみ実行してください。
    # cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
    # cryptoadm list -mv provider='/usr/lib/security/$ISA/pkcs11_tpm.so'

セキュアなキーストアとして TPM を使用するために PKCS #11 コンシューマを有効にする方法

始める前に

この手順を実行するには、システムに TPM をインストールし、有効にする必要があります。tcsd デーモンも動作していることを確認します。

root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。

  1. (オプション) TPM PKCS #11 トークンプロバイダがインストールされていない場合、そのプロバイダをインストールします。

    注 -  この手順が必要かどうかを確認するには、cryptoadm list コマンドの実行時に pkcs11_tpm.so プロバイダが含まれていることを確認します。
    # pkg install pkcs11_tpm
    # cryptoadm install provider='/usr/lib/security/$ISA/pkcs11_tpm.so'
  2. TPM デバイスがインストールされていることを確認します。
    # ls -alF /dev/tpm
    lrwxrwxrwx 1 root 39 Dec 27 2011 /dev/tpm -> ../devices/pci@0,0/isa@1/tpm@1,1670:tpm
  3. tcsd デーモンを有効にします。
    # svcadm enable tcsd
  4. (オプション) TPM 所有者がインストールされていない場合、TPM を初期化します。

    注 -  この手順が必要かどうかを確認するには、tpmadm status コマンドを実行します。
    # tpmadm init
  5. 個人用の TPM で保護されたトークンの格納領域を初期化します。
    $ pktool inittoken currlabel=TPM

    注 -  この手順は、個々のユーザーが実行する必要があります。
  6. セキュリティー責任者のトークン PIN を設定します。
    $ pktool setpin token=tpm/TPM usertype=so
  7. ユーザーの PIN を設定します。
    $ pktool setpin token=tpm/TPM
  8. トークンを初期化するときに使用したトークン名を指定することで、TPM デバイスを使用する鍵と証明書を生成します。
    $ pktool gencert token=tpm/TPM -i
    $ pktool list token=tpm/TPM

    既存のアプリケーションで libpkcs11 の暗号化フレームワークがすでに使用されている場合は、アプリケーションでセッション用の TPM トークンデバイスを選択することで、それらの操作で TPM トークンを使用できます。

使用例 2  TPM を使用するための PKCS #11 コンシューマの有効化

この例では、最初に TPM トークンに新しい名前が割り当てられます。トークン上のすべての後続アクションで、この新しい名前が参照されます。

$ pktool inittoken currlabel=TPM newlabel=JanDoeTPM
$ pktool setpin token=tpm/JanDoeTPM so
$ pktool gencert token=tpm/JanDoeTPM -i
$ pktool list token=tpm/JanDoeTPM