6.14. TKS/TPS 共有対称キーの設定

共有対称キーは、TPS サブシステムと TKS サブシステムの両方の NSS データベースに存在する必要があります。このキーは、TPS サブシステムの作成時に自動的に生成されます。TPS と TKS の両方が同じ Tomcat インスタンスにインストールされている場合は、TKS により自動的に鍵を使用するため、追加の設定は必要ありません。ただし、両方のサブシステムが別のインスタンス上にある場合や、別の物理ホストがある場合は、本セクションで説明されている手順に従って鍵を TKS に安全に転送する必要があります。
TPS と TKS との間で共有キーを安全に転送するには、いくつかの方法を使用できます。
  • authomatic メソッド: このメソッドは、TPS のサブシステム証明書がソフトウェア NSS データベースに保持されている場合に機能します。
  • 上記の方法が失敗した場合は、フォールバック手動の方法を使用できます。この方法では、TPS からキーをラップできる tkstool ユーティリティーを使用して TPS で共有キーを生成できます。これにより、転送中にキーを公開せずに安全な転送を可能にし、TKS NSS データベースにアンラップします。
以下は、鍵のインポートに使用される方法に関係なく、TPS と TKS の両方の一般的な設定を説明します。自動方式により、これらの設定が自動的に生成されることに注意してください。
TKS
tks.useNewSharedSecretNames=true
tps.0.host=dhcp-16-206.sjc.example.com
tps.0.nickname=TPS-<tps host name>-8443 sharedSecret
tps.0.port=8443
tps.0.userid=,TPS-<tps host name>-8443
tps.list=0
注記
上記のリストは、TKS が複数の TPS インスタンスに接続している場合に拡張できます。
TPS
conn.tks1.tksSharedSymKeyName=TPS-<tps host name>-8443 sharedSecret
注記
ホスト名は、TKS 側で設定されるホスト名と同じでなければなりません。

6.14.1. 共有対称キーを手動で生成して転送

本セクションでは、共有対称鍵を手動で生成および転送する方法を説明します。この方法は、自動生成およびトランスポートが失敗した場合に便利ですが、それ以外の場合には回避する必要があります。
手動の方法は、2 つの手順で設定されています。最初のインスタンスは Token Key Service 側で実行され、トークン処理システムの 2 番目のサービスで実行されます。

手順6.3 手動共有シークレットキーメソッド - TKS 側

  1. 最初のシステムにトークンキーサービスをインストールします。インストール手順については、Red Hat Certificate System 計画、インストール、およびデプロイメントのガイド を参照してください。
  2. TKS サービスを停止します。
    #systemctl stop pki-tomcatd@pki-tomcat.service
  3. /var/lib/pki/pki-tomcat/alias ディレクトリーに移動し、tkstool を使用して TKS で共有の秘密鍵を作成します。新しい TKS インスタンスを再起動する前に、共有鍵を生成してください。
    重要
    tkstool スクリプトにより、キーの作成プロセス中に鍵に関する情報が表示されます。後でキーを TPS にインポートするのに必要となるため、この情報を書き留めてください。
    #cd /var/lib/pki/pki-tomcat/alias
    #tkstool -T -d /var/lib/pki/pki-tomcat/tks/alias -n TPS-<tps host name>-8443 sharedSecret
    Generating the first session key share . . .
        first session key share:      792F AB89 8989 D902
                                      9429 6137 8632 7CC4
        first session key share KCV:  D1B6 14FD
    Generating the second session key share . . .
        second session key share:      4CDF C8E0 B385 68EC
                                       380B 6D5E 1C19 3E5D
        second session key share KCV:  1EC7 8D4B
    Generating the third session key share . . .
        third session key share:      CD32 3140 25B3 C789
                                      B54F 2C94 26C4 9752
        third session key share KCV:  73D6 8633
    Generating first symmetric key . . .
    Generating second symmetric key . . .
    Generating third symmetric key . . .
    Extracting transport key from operational token . . .
        transport key KCV:  A8D0 97A2
    Storing transport key on final specified token . . .
    Naming transport key "sharedSecret" . . .
    Successfully generated, stored, and named the transport key!
  4. TKS に新しいキーを設定します。
    tks.useNewSharedSecretNames=true
    tps.0.host=dhcp-16-206.sjc.redhat.com
    tps.0.nickname=TPS-<tps host name>-8443 sharedSecret
    tps.0.port=8443
    tps.0.userid=TPS-<tps host name>-8443 sharedSecret
    tps.list=0
    
  5. TKS を起動します。
    #systemctl start pki-tomcatd@pki-tomcat.service

手順6.4 手動による共有シークレットキーメソッド - TPS 側

  1. 2 番目のシステムに Token Processing System をインストールします。インストール手順については、Red Hat Certificate System 9 計画、インストール、およびデプロイメントのガイド を参照してください。
  2. TPS サービスを停止します。
    #systemctl stop pki-tomcatd@pki-tomcat.service
  3. /var/lib/pki/pki-tomcat/alias ディレクトリーに移動し、tkstool を使用して NSS ソフトウェアトークンに共有鍵をインポートします。
    #cd /var/lib/pki/pki-tomcat/alias
    #tkstool -I -d . -n TPS-<tps host name>-8443 sharedSecret
    この時点で、スクリプトは上記の手順の TKS 側で共有鍵を生成およびラップする際に表示されるセッションキー共有を求めるプロンプトを表示します。
  4. TPS で共有シークレットを設定します。
    conn.tks1.tksSharedSymKeyName=TPS-<tps host name>-8443 sharedSecret
  5. TPS サービスを起動します。
    #systemctl start pki-tomcatd@pki-tomcat.service