View a markdown version of this page

の JCE を使用したキー抽出 AWS CloudHSM - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の JCE を使用したキー抽出 AWS CloudHSM

Java Cryptography Extension (JCE) は、さまざまな暗号化実装をプラグインできるアーキテクチャを使用します。 は、暗号化オペレーションを HSM にオフロードする 1 つの JCE プロバイダーを AWS CloudHSM 出荷します。他のほとんどの JCE プロバイダーが AWS CloudHSM に保存されているキーを操作するには、HSM のキーバイトをクリアテキストでマシンのメモリに抽出して使用する必要があります。HSM では通常、キーを ラップされたオブジェクト としてのみ抽出でき、クリアテキストとして抽出することはできません。ただし、プロバイダー間の統合のユースケースをサポートするために、 では、クリアでキーバイトの抽出を有効にするオプトイン設定オプション AWS CloudHSM を許可します。

重要

JCE は、AWS CloudHSM プロバイダーが指定されるか、 AWS CloudHSM キーオブジェクトが使用される AWS CloudHSM たびに、オペレーションを にオフロードします。HSM 内でオペレーションが行われることが予想される場合は、キーを明確に抽出する必要はありません。クリアテキストでのキー抽出が必要なのは、サードパーティのライブラリや JCE プロバイダーの制限により、アプリケーションがキーのラップやラップ解除などの安全なメカニズムを使用できない場合のみです。

AWS CloudHSM JCE プロバイダーは、デフォルトで外部 JCE プロバイダーと連携するパブリックキーの抽出を許可します。以下の方法は常に許可されています。

Class 方法 Format (getEncoded)
EcPublicKey getEncoded () X.509
getW() 該当なし
RSAPublicKey getEncoded () X.509
getPublicExponent() 該当なし
CloudHsmEdDSAPublicKey getEncoded () X.509
CloudHsmMldsaPublicKey getEncoded () X.509

AWS CloudHSM JCE プロバイダーは、デフォルトでプライベートキーまたはシークレットキーに対してクリアなキーバイトの抽出を許可しません。ユースケースで必要な場合は、以下の条件で プライベート または シークレット キーのキーバイトを消去して抽出できます。

  1. プライベートまたはシークレットキーの EXTRACTABLE 属性は「true」に設定されています。

    • デフォルトでは、プライベートキーとシークレットキーの EXTRACTABLE 属性は「true」に設定されています。EXTRACTABLE キーは HSM からのエクスポートが許可されているキーです。詳細については、「クライアント SDK 5 向けサポートされている Java 属性」を参照してください。

  2. プライベートキーとシークレットキーの WRAP_WITH_TRUSTED 属性は「false」に設定されます。

    • getEncodedgetPrivateExponentgetSおよびクリアでエクスポートできないプライベートキーでは使用できません。WRAP_WITH_TRUSTED は、プライベートキーを HSM からクリアにエクスポートすることはできません。詳細については、「信頼できるキーを使ったキーのアンラップの制御」を参照してください。