Menu Close

17.2.2. KRA での暗号化アルゴリズムの設定

注記
以下の設定では、AES CBC(kra.allowEncDecrypt.archive=true および kra.allowEncDecrypt.recovery=true の場合)および AES Key Wrap(kra.allowEncDecrypt.archive=false および kra.allowEncDecrypt.recovery=falseの場合)だけを使用できます。いずれかのアルゴリズムをサポートする FIPS140-2 で検証された HSM はすべて、KRA が提供する主要なアーカイブおよびリカバリー機能に使用できます。
証明書システムは、/var/lib/pki/pki-instance_name/conf/kra/CS.cfg ファイルで鍵操作暗号化に関連する設定パラメーターのグループを定義します。以下のパラメーターのセットを推奨します (他のオプションについては上記を参照)。
kra.allowEncDecrypt.archive=false
kra.allowEncDecrypt.recovery=false
kra.storageUnit.wrapping.1.sessionKeyLength=256
kra.storageUnit.wrapping.1.sessionKeyWrapAlgorithm=RSA
kra.storageUnit.wrapping.1.payloadEncryptionPadding=PKCS5Padding
kra.storageUnit.wrapping.1.sessionKeyKeyGenAlgorithm=AES
kra.storageUnit.wrapping.1.payloadEncryptionAlgorithm=AES
kra.storageUnit.wrapping.1.payloadEncryptionMode=CBC
kra.storageUnit.wrapping.1.payloadWrapAlgorithm=AES KeyWrap
kra.storageUnit.wrapping.1.sessionKeyType=AES
kra.storageUnit.wrapping.1.payloadWrapIVLen=16
kra.storageUnit.wrapping.choice=1
各グループ (kra.storageUnit.wrapping.0.*kra.storageUnit.wrapping.1.*) には個別の設定があり、番号はどの設定が同じ構成グループに属するかを定義します。現在の設定グループは、/var/lib/pki/pki-instance_name/conf/kra/CS.cfg ファイルの kra.storageUnit.wrapping.choice パラメーターで設定されます。
続行する前に、設定ファイルに kra.storageUnit.wrapping.choice=1 が設定されていることを確認してください。
注記
Certificate System は、KRA データベースのレコードにデータを復号化するのに必要な情報を追加します。したがって、暗号化アルゴリズムを変更した後でも、Certificate System は、別の暗号化アルゴリズムを使用して、以前に KRA に保存されたデータを復号化できます。

17.2.2.1. パラメーターとその値の説明

各シークレット (「payload」) はセッションキーで暗号化されます。この暗号化を制御するパラメーターには、payload というプレフィックスが付けられます。使用するパラメーターは、kra.allowEncDecrypt.archivekra.allowEncDecrypt.recovery の値によって異なります。デフォルトでは、これらは両方とも false です。HSM におけるこの 2 つのパラメーターの効果については、「KRA で AES 暗号化を使用する場合の HSM の制約の解決」 を参照してください。
kra.allowEncDecrypt.archivekra.allowEncDecrypt.recovery がいずれも false の場合:
  • payloadWrapAlgorithm は、使用されるラッピングアルゴリズムを決定します。有効なオプションは AES KeyWrap のみです。
  • payloadWrapAlgorithm=AES/CBC/CBC/PKCS5Padding の場合、payloadWrapIVLength=16 を指定して IV を生成する必要がある PKI に指示する必要があります(CBC に 1 つ必要)。
kra.allowEncDecrypt.archivekra.allowEncDecrypt.recovery がいずれも true の場合:
  • payloadEncryptionAlgorithm は、使用される暗号化アルゴリズムを決定します。唯一の有効な選択肢は AES です。
  • payloadEncryptionMode は、ブロックチェーンモードを決定します。唯一の有効な選択肢は CBC です。
  • payloadEncryptionPadding により、パディングスキームが決まります。唯一の有効な選択肢は PKCS5Padding です。
次に、セッションキーは KRA Storage Certificate (RSA トークン) でラップされます。セッションキーおよびその暗号化を制御するパラメーターには、sessionKey というプレフィックスが付けられます。
  • sessionKeyType は、生成するキーのタイプです。唯一の有効な選択肢は AES です。
  • sessionKeyLength は、生成されたセッションキーの長さです。有効な選択肢は 128256 で、ペイロードをそれぞれ 128 ビット AES または 256 ビット AES で暗号化します。
  • sessionKeyWrapAlgorithm は、KRA Storage 証明書が使用するキーのタイプです。本ガイドで唯一の有効な選択肢は RSA です。