翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS KMS は設定可能な暗号化アルゴリズムを使用するため、システムは承認されたアルゴリズムまたはモードから別のアルゴリズムにすばやく移行できます。初期の暗号化アルゴリズムのデフォルトセットは、安全性とパフォーマンスのため、連邦情報処理標準 (FIPS 承認) のアルゴリズムから選択されています。
エントロピーと乱数生成
AWS KMS キーの生成は、 AWS KMS HSMs で実行されます。HSM では、AES-256 を使った NIST SP800-90A 決定論的ランダムビットジェネレーター (DRBG) CTR_DRBG
対称キーのオペレーション (暗号化のみ)
HSM 内で使用されるすべての対称キーの暗号化コマンドには、高度暗号化規格 (AES)
AES-GCM は認証済みの暗号化スキームです。プレーンテキストの暗号化による暗号文の生成に加えて、暗号文と認証が必要な追加データ (追加で認証されたデータ、または AAD) に対する認証タグを計算します。認証タグは、データが意図されたソースからのものであり、暗号文および AAD が変更されていないことを確認するのに役立ちます。
多くの場合、特にデータキーの暗号化を参照する場合、 は説明に AAD を含めることを AWS 省略します。これらのケースでは周囲のテキストにより、暗号化される構造が、暗号化されるプレーンテキストと保護されるクリアテキスト AAD の間で分割されることが暗示されます。
AWS KMS には、キーマテリアルの生成に に依存する AWS KMS key 代わりに、キーマテリアルを AWS KMS にインポートするオプションが用意されています。このインポートされたキーマテリアルは、RSAES-OAEP
非対称キーのオペレーション (暗号化、デジタル署名、署名の検証)
AWS KMS は、暗号化オペレーションとデジタル署名オペレーションの両方で非対称キーオペレーションの使用をサポートしています。非対称キーのオペレーションは、数学的に関連するパブリックキーとプライベートキーのペアに依存します。これらは暗号化および復号化、または署名およびその検証に使用できますが、両方には使用できません。プライベートキーが暗号化 AWS KMS されていないままになることはありません。API AWS KMS オペレーションを呼び出し AWS KMS て 内でパブリックキーを使用するか、パブリックキーをダウンロードして の外部で使用できます AWS KMS。
AWS KMS は、2 種類の非対称暗号をサポートしています。
-
RSA-OAEP (暗号化用) および RSA-PSS/RSA-PKCS-#1-v1_5 (署名および検証用) – さまざまなセキュリティ要件に対応できるよう、RSA キーの長さは 2048、3072、4096 (ビット単位) がサポートされています。
-
楕円曲線 (ECC) – 署名と検証にのみ使用できます。ECC 曲線 NIST P256、P384、P521、SECP 256k1 がサポートされています。
キー導出関数
キー導出関数は、最初のシークレットまたはキーから追加のキーを取得するために使用されます。 AWS KMS では、キー導出関数 (KDF) を使用して、 AWS KMS keyでの暗号化の呼び出しごとにキーを取得します。すべての KDF オペレーションでは、SHA256 [FIPS180]
AWS KMS デジタル署名の内部使用
デジタル署名は、 AWS KMS
エンティティ間のコマンドや通信を認証するためにも使用されます。すべてのサービスエンティティには、楕円曲線デジタル署名アルゴリズム (ECDSA) のキーペアがあります。Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (CMS)
エンベロープ暗号化
エンベロープ暗号化は、多くの暗号化システムで使用されている基本的な構造です。エンベロープ暗号化では、2 つ以上の暗号化キーを使用してメッセージを保護します。通常、キーのうち 1 つはより長期的な静的キー k から取得します。もう 1 つはメッセージの暗号化のために生成されるメッセージごとのキー msgKey です。エンベロープは、メッセージ ciphertext = Encrypt(msgKey, message) の暗号化により形成されます。その後、長期的な静的キー encKey = Encrypt(k, msgKey) でメッセージキーが暗号化されます。最後に、2 つの値 (encKey, ciphertext) が、1 つの構造またはエンベロープで暗号化されたメッセージにパッケージ化されます。
k へのアクセス権を持つ受信者は、最初に暗号化されたキーを復号化してからメッセージを復号化することで、エンベロープされたメッセージを開くことができます。
AWS KMS は、これらの長期的な静的キーを管理し、データのエンベロープ暗号化のプロセスを自動化する機能を提供します。
AWS Encryption SDK は、 AWS KMS サービス内で提供される暗号化機能に加えて、クライアント側のエンベロープ暗号化ライブラリを提供します。これらのライブラリを使用して、データとその暗号化に使用している暗号化キーを保護できます。