16.2.2.2. KRA で AES 暗号化を使用する場合の HSM の制約の解決

KRA で AES を有効にして Certificate System を実行していても、ハードウェアセキュリティーモジュール (HSM) が AES キーラッピング機能をサポートしていない場合、キーのアーカイブは失敗します。この問題を解決するには、以下のソリューションがサポートされます。

キーラッピングの差分アルゴリズムの選択

KRA は、デフォルトのキーラッピングアルゴリズムをサポートしていない場合がありますが、他のアルゴリズムはサポートしています。たとえば、キーのラッピングアルゴリズムとして AES-128-CBC を使用するには、次のコマンドを実行します。
  1. /var/lib/pki/pki-instance_name/conf/kra/CS.cfg ファイルに以下のパラメーターを設定します。
    kra.storageUnit.wrapping.1.payloadWrapAlgorithm=AES KeyWrap
    kra.storageUnit.wrapping.1.payloadWrapIVLen=16
    kra.storageUnit.wrapping.1.sessionKeyLength=128
  2. インスタンスを再起動します。
    # systemctl restart pki-tomcatd@instance_name.service
    または
    # systemctl restart pki-tomcatd-nuxwdog@instance_name.service (if using nuxwdog watchdog)
    KRA が異なるインスタンスで実行されている場合、CA は両方のインスタンスを再起動する必要があります。
キーラッピングに別のアルゴリズムを選択すると、HSM が後で AES キーラッピングのサポートを追加した場合に、キーレコードに関連情報が設定されているため、設定を元に戻すことができるという利点があります。
この設定では、kra.storageUnit.wrapping.1.payloadWrap{Algorithm,IVLen} パラメーターおよび kra.storageUnit.wrapping.1.payloadEncryption{Algorithm,Mode,Padding} パラメーターを使用します。

KRA の暗号化モードへの設定

HSM が KeyWrap アルゴリズムをサポートしていない場合、場合によっては、KRA を暗号化モードにする必要があります。KRA を暗号化モードに設定すると、すべてのキーは、キーラッピングアルゴリズムではなく暗号化アルゴリズムを使用して保存されます。
KRA を暗号化モードに設定するには、以下を行います。
  1. /var/lib/pki/pki-instance_name/conf/kra/CS.cfg ファイルを編集し、以下のパラメーターを true に設定します。
    kra.allowEncDecrypt.archive=true
    kra.allowEncDecrypt.recovery=true
  2. サービスを再起動します。
    # systemctl restart pki-tomcatd@instance_name.service
    または
    # systemctl restart pki-tomcatd-nuxwdog@instance_name.service (if using nuxwdog watchdog)
    KRA が CA 以外のインスタンスで実行している場合は、両方のインスタンスを再起動する必要があります。
この設定は、kra.storageUnit.wrapping.1.payloadEncryption{Algorithm,Mode,Padding} パラメーターおよび kra.storageUnit.wrapping.1.payloadWrap{Algorithm,IVLen} パラメーターを使用します。
注記
後で、「キーラッピングの差分アルゴリズムの選択」 に従ってキーラッピングのために別のアルゴリズムに切り替える場合は、KRA を暗号化モードに設定する前に、作成されたレコードに適切なメタデータを手動で追加する必要があります。