翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のバージョン AWS Encryption SDK
AWS Encryption SDK 言語実装では、セマンティックバージョニング
可能な限り、 AWS Encryption SDK 選択したプログラミング言語で最新バージョンの を使用します。各バージョンの メンテナンスとサポートのポリシー は、プログラミング言語の実装によって異なります。お好みのプログラミング言語でサポートされているバージョンの詳細については、GitHub リポジトリ の SUPPORT_POLICY.rst
ファイルを参照してください。
アップグレードに暗号化や復号化エラーを回避するための特別な設定を必要とする新機能が含まれる場合は、中間バージョンとその使用方法の詳細な説明を提供します。例えば、バージョン 1.7.x と 1.8.x は、1.7.x より前のバージョンからバージョン 2.0.x 以降へのアップグレードに役立つ移行バージョンになるように設計されています。 詳細については、「AWS Encryption SDK の移行」を参照してください。
注記
バージョン番号の x は、メジャーバージョンとマイナーバージョンのパッチを示します。例えば、バージョン 1.7.x は 1.7 で始まるすべてのバージョンを表し、1.7.1 および 1.7.9 が含まれます。
新しいセキュリティ機能は、もともと AWS Encryption CLI バージョン 1.7.x および 2.0.x でリリースされました。ただし、 AWS Encryption CLI バージョン 1.8.x はバージョン 1.7.x に置き換わり、Encryption AWS CLI 2.1.x は 2.0.x に置き換わります。詳細については、GitHub の aws-encryption-sdk-cli
次の表は、各プログラミング言語の のサポートされているバージョン間の主な違いの概要 AWS Encryption SDK を示しています。
C
すべての変更の詳細な説明については、GitHub の aws-encryption-sdk-c
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | End-of-Supportフェーズ |
1.7 | Updates to the AWS Encryption SDK that help users of earlier versions upgrade to versions 2.0.x and later. For more information, see バージョン 1.7.x. | ||
2.x | 2.0 | Updates to the AWS Encryption SDK. For more information, see バージョン 2.0.x. | 一般提供 (GA) |
2.2 | Improvements to the message decryption process. | ||
2.3 | Adds support for AWS KMS multi-Region keys. |
C#/.NET
すべての変更の詳細な説明については、GitHub の aws-encryption-sdk-net
コマンドラインインターフェイス (CLI)
すべての変更の詳細な説明については、GitHub の aws-encryption-sdk-cli
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | End-of-Supportフェーズ |
1.7 | Updates to the AWS Encryption SDK that help users of earlier versions upgrade to versions 2.0.x and later. For more information, see バージョン 1.7.x. | ||
2.x | 2.0 | Updates to the AWS Encryption SDK. For more information, see バージョン 2.0.x. | End-of-Supportフェーズ |
2.1 |
Encryption CLI のバージョン AWS 2.1.0 は、他のプログラミング言語のバージョン 2.0 と同等です。 |
||
2.2 | Improvements to the message decryption process. | ||
3.x | 3.0 | Adds support for AWS KMS multi-Region keys. | End-of-Supportフェーズ |
4.x | 4.0 | The AWS Encryption CLI no longer supports Python 2 or Python 3.4. As of major version 4.x of the AWS Encryption CLI, only Python 3.5 or later is supported. | 一般提供 (GA) |
4.1 | The AWS Encryption CLI no longer supports Python 3.5. As of version 4.1.x of the AWS Encryption CLI, only Python 3.6 or later is supported. | ||
4.2 | The AWS Encryption CLI no longer supports Python 3.6. As of version 4.2.x of the AWS Encryption CLI, only Python 3.7 or later is supported. |
Java
すべての変更の詳細については、GitHub の aws-encryption-sdk-java
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | End-of-Supportフェーズ |
1.3 | Adds support for cryptographic materials manager and data key caching. Moved to deterministic IV generation. | ||
1.6.1 |
|
||
1.7 | Updates to the AWS Encryption SDK that help users of earlier versions upgrade to versions 2.0.x and later. For more information, see バージョン 1.7.x. | ||
2.x | 2.0 | Updates to the AWS Encryption SDK. For more information, see バージョン 2.0.x. |
一般提供 (GA) のバージョン 2.x AWS Encryption SDK for Java は 2024 年にメンテナンスモードになります。 |
2.2 | Improvements to the message decryption process. | ||
2.3 | Adds support for AWS KMS multi-Region keys. | ||
2.4 | Adds support for AWS SDK for Java 2.x. | ||
3.x | 3.0 |
をマテリアルプロバイダーライブラリ (MPL) AWS Encryption SDK for Java と統合します。 https://github.com/aws/aws-cryptographic-material-providers-library 対称および非対称 RSA AWS KMS キーリング、 AWS KMS ECDH キーリング、 AWS KMS 階層キーリング、Raw AES キーリング、Raw RSA キーリング、Raw ECDH キーリング、マルチキーリング、および必要な暗号化コンテキスト CMM のサポートが追加されました。 |
一般提供 (GA) |
Go
すべての変更の詳細な説明については、GitHub の aws-encryption-sdk
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
0.1.x | 0.1.0 | Initial release. | 一般提供 (GA) |
JavaScript
すべての変更の詳細については、GitHub の aws-encryption-sdk-javascript
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | End-of-Supportフェーズ |
1.7 | Updates to the AWS Encryption SDK that help users of earlier versions upgrade to versions 2.0.x and later. For more information, see バージョン 1.7.x. | ||
2.x | 2.0 | Updates to the AWS Encryption SDK. For more information, see バージョン 2.0.x. | End-of-Supportフェーズ |
2.2 | Improvements to the message decryption process. | ||
2.3 | Adds support for AWS KMS multi-Region keys. | ||
3.x | 3.0 | Removes CI coverage for Node 10. Upgrades dependencies to no longer support Node 8 and Node 10. |
のバージョン 3.x のサポート AWS Encryption SDK for JavaScript は、2024 年 1 月 17 日に終了します。 |
4.x | 4.0 | Requires version 3 of the AWS Encryption SDK for JavaScript's kms-クライアント
to use the AWS KMS keyring. |
一般提供 (GA) |
Python
すべての変更の詳細については、GitHub の aws-encryption-sdk-python
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | End-of-Supportフェーズ |
1.3 | Adds support for cryptographic materials manager and data key caching. Moved to deterministic IV generation. | ||
1.7 | Updates to the AWS Encryption SDK that help users of earlier versions upgrade to versions 2.0.x and later. For more information, see バージョン 1.7.x. | ||
2.x | 2.0 | Updates to the AWS Encryption SDK. For more information, see バージョン 2.0.x. | End-of-Supportフェーズ |
2.2 | Improvements to the message decryption process. | ||
2.3 | Adds support for AWS KMS multi-Region keys. | ||
3.x | 3.0 | The AWS Encryption SDK for Python no longer supports Python 2 or Python 3.4. As of major version 3.x of the AWS Encryption SDK for Python, only Python 3.5 or later is supported. | 一般提供 (GA) |
4.x | 4.0 |
をマテリアルプロバイダーライブラリ (MPL) AWS Encryption SDK for Python と統合します。 https://github.com/aws/aws-cryptographic-material-providers-library |
一般提供 (GA) |
Rust
すべての変更の詳細な説明については、GitHub の aws-encryption-sdk
メジャーバージョン | 詳細 | SDK メジャーバージョンのライフサイクルフェーズ | |
---|---|---|---|
1.x | 1.0 | Initial release. | 一般提供 (GA) |
バージョンの詳細
以下のリストでは、 AWS Encryption SDKでサポートされているバージョンの主な相違点を示します。
1.7.x より前のバージョン
注記
のすべての 1.x.x バージョン AWS Encryption SDK はend-of-supportフェーズにあります。可能な限り早く、プログラミング言語 AWS Encryption SDK の の最新バージョンにアップグレードしてください。1.7.x より前の AWS Encryption SDK バージョンからアップグレードするには、まず 1.7.x にアップグレードする必要があります。詳細については、「AWS Encryption SDK の移行」を参照してください。
1.7.x より AWS Encryption SDK 前のバージョンでは、Galois/Counter Mode (AES-GCM) の Advanced Encryption Standard アルゴリズムによる暗号化、HMAC extract-and-expandキー取得関数 (HKDF)、署名、256 ビット暗号化キーなど、重要なセキュリティ機能が提供されます。ただし、これらのバージョンでは、キーコミットメントなど、推奨ベストプラクティスがサポートされません。
バージョン 1.7.x
注記
のすべての 1.x.x バージョン AWS Encryption SDK はend-of-supportフェーズにあります。
バージョン 1.7.x は、 の以前のバージョンのユーザーがバージョン 2.0.x 以降に AWS Encryption SDK アップグレードできるように設計されています。を初めて使用する場合は AWS Encryption SDK、このバージョンをスキップして、プログラミング言語で利用可能な最新バージョンから始めることができます。
バージョン 1.7.x には完全な下位互換性があり、重大な変更の導入や AWS Encryption SDKの動作の変更はありません。上位互換性もあり、バージョン 2.0.x と互換性があるようにコードを更新できます。これには新機能が含まれますが、完全に有効になるわけではありません。また、準備が整うまで、すべての新機能をすぐには採用できないようにする設定値が必要です。
バージョン 1.7.x には次の変更が含まれています。
- AWS KMS マスターキープロバイダーの更新 (必須)
-
バージョン 1.7.x では、Strict モードまたは Discovery モードで AWS KMS マスターキープロバイダー AWS Encryption SDK for Python を明示的に作成する新しいコンストラクタが AWS Encryption SDK for Java および に導入されています。このバージョンでは、 AWS Encryption SDK コマンドラインインターフェイス (CLI) に同様の変更が追加されています。詳細については、「AWS KMS マスターキープロバイダーの更新」を参照してください。
-
AWS KMS マスターキープロバイダーでは、Strict モードの場合、ラッピングキーのリストが必要で、指定したラッピングキーのみで暗号化と復号化が行われます。これが AWS Encryption SDK のベストプラクティスで、使用を意図したラッピングキーを使用していることが保証されます。
-
AWS KMS マスターキープロバイダーでは、Discovery モードの場合、ラッピングキーが使用されません。ラッピングキーを暗号化に使用することはできません。復号時には、ラッピングキーを使用して、暗号化されたデータキーを復号できます。ただし、復号化に使用するラッピングキーは、特定の AWS アカウントのものに制限できます。アカウントのフィルタリングはオプションですが、お勧めのベストプラクティスです。
以前のバージョンの AWS KMS マスターキープロバイダーを作成するコンストラクタは、バージョン 1.7.x では廃止され、バージョン 2.0.x では削除されました。これらのコンストラクタは、指定したラッピングキーを使用して暗号化するマスターキープロバイダーをインスタンス化します。ただし、指定したラッピングキーに関係なく、暗号化したラッピングキーを使用して、暗号化されたデータキーを復号化します。ユーザーは、 AWS KMS keys 他の AWS アカウント やリージョンなど、使用を意図していないラッピングキーを使用して意図せずにメッセージを復号する場合があります。
AWS KMS マスターキーのコンストラクタに変更はありません。暗号化および復号時に、 AWS KMS マスターキーは AWS KMS key 指定した のみを使用します。
-
- AWS KMS キーリングの更新 (オプション)
-
バージョン 1.7.x では、AWS KMS 検出キーリングを特定の に制限する新しいフィルターが AWS Encryption SDK for C および AWS Encryption SDK for JavaScript 実装に追加されます AWS アカウント。この新しいアカウントフィルターはオプションですが、お勧めのベストプラクティスです。詳細については、「AWS KMS キーリングの更新」を参照してください。
AWS KMS キーリングのコンストラクタに変更はありません。標準 AWS KMS キーリングは、Strict モードでマスターキープロバイダーのように動作します。 AWS KMS discovery キーリングは、discovery モードで明示的に作成されます。
- 復 AWS KMS 号化にキー ID を渡す
-
バージョン 1.7.x 以降では、暗号化されたデータキーを復号するときに、 は AWS KMS Decrypt オペレーションの呼び出し AWS KMS key で AWS Encryption SDK 常に を指定します。は、暗号化された各データキーのメタデータ AWS KMS key から のキー ID 値 AWS Encryption SDK を取得します。この機能では、コードの変更は必要ありません。
対称暗号化 KMS キーで暗号化された暗号文を復号するには、 のキー ID を指定 AWS KMS key する必要はありませんが、AWS KMS ベストプラクティスです。キープロバイダーでラッピングキーを指定するのと同様に、この方法では、使用するラッピングキーを使用して AWS KMS のみ が復号化されるようにします。
- キーコミットメントで暗号化テキストを復号化する
-
バージョン 1.7.x では、キーコミットメントを使用しているかどうかに関係なく、暗号化された暗号化テキストを復号化できます。ただし、キーコミットメントによって暗号化テキストを暗号化することはできません。このプロパティを使用すると、キーコミットメントで暗号化された暗号化テキストを復号化できるアプリケーションを完全にデプロイしてから、そのような暗号化テキストを処理できます。このバージョンでは、キーコミットメントなしで暗号化されたメッセージを復号化するため、暗号化テキストを再暗号化する必要はありません。
この動作を実装するために、バージョン 1.7.x には、 がキーコミットメントで暗号化または復号化できるかどうかを決定する新しいコミットメントポリシー設定が含まれています。 AWS Encryption SDK バージョン 1.7.x では、コミットメントポリシーの有効な値、
ForbidEncryptAllowDecrypt
が暗号化と復号化のすべてのオペレーションで使用されます。この値により、 AWS Encryption SDK がキーコミットメントを含む新しいアルゴリズムスイートのいずれかで暗号化することが防止されます。これにより、 AWS Encryption SDK はキーコミットメントの有無にかかわらず暗号文を復号できます。バージョン 1.7.x には有効なコミットメントポリシーの値が 1 つしかありませんが、このリリースで導入された新しい API を使用する場合は、この値を明示的に設定してください。値を明示的に設定すると、バージョン 2.1.x へのアップグレード時にコミットメントポリシーが自動的に
require-encrypt-require-decrypt
に変更されなくなります。その代わりに、コミットメントポリシーを段階的に移行できます。 - キーコミットメントを使用するアルゴリズムスイート
-
バージョン 1.7.xには新しい 2 つのアルゴリズムスイートが組み込まれて、キーコミットメントがサポートされます。一方は署名を含み、もう一方は署名を含みません。以前サポートされていたアルゴリズムスイートと同様に、これらの両方の新しいアルゴリズムスイートには、AES-GCM による暗号化、256 ビット暗号化キー、HMAC ベースの抽出および展開キー取得関数 (HKDF) が含まれます。
ただし、暗号化に使用されるデフォルトのアルゴリズムスイートは変更されません。これらのアルゴリズムスイートがバージョン 1.7.x に追加されるのは、バージョン 2.0.x 以降で使用するようにアプリケーションを準備するためです。
- CMM 実装の変更
-
バージョン 1.7.x では、キーコミットメントをサポートするために、デフォルト暗号化マテリアルマネージャ (CMM) インターフェイスが変更されました。この変更は、カスタム CMM を作成した場合にのみ影響します。詳細については、使用しているプログラミング言語の API ドキュメントまたは GitHub リポジトリを参照してください。
バージョン 2.0.x
バージョン 2.0.x は、指定されたラッピングキーやキーコミットメントなど AWS Encryption SDK、 で提供される新しいセキュリティ機能をサポートしています。バージョン 2.0.x では、これらの機能をサポートするため、前バージョンの AWS Encryption SDKが大きく変更されています。バージョン 1.7.x をデプロイすれば、これらの変更に備えることができます。バージョン 2.0.x には、バージョン 1.7.x で導入されたすべての新機能が含まれており、以下の追加・変更点もあります。
注記
のバージョン 2.x.x AWS Encryption SDK for Python AWS Encryption SDK for JavaScript、および AWS Encryption CLI はend-of-supportフェーズにあります。
任意のプログラミング言語でのこの AWS Encryption SDK バージョンのサポートとメンテナンスについては、GitHub リポジトリの SUPPORT_POLICY.rst
ファイルを参照してください。
- AWS KMS マスターキープロバイダー
-
バージョン 1.7.x で廃止された元の AWS KMS マスターキープロバイダーコンストラクタは、バージョン 2.0.x で削除されます。 AWS KMS マスターキープロバイダーは、Strict モードまたは Discovery モードで明示的に構築する必要があります。
- キーコミットメントによる暗号化テキストの暗号化と復号化
-
バージョン 2.0.x では、キーコミットメントを使用しているかどうかに関係なく、暗号化テキストの暗号化と復号化ができます。その動作は、コミットメントポリシー設定によって決まります。デフォルトでは、常にキーコミットメントで暗号化し、キーコミットメントで暗号化された暗号化テキストのみを復号します。コミットメントポリシーを変更しない限り、 AWS Encryption SDK では、バージョン 1.7.x を含む AWS Encryption SDKの旧バージョンで暗号化された暗号化テキストが復号化されません。
重要
デフォルトの場合、バージョン 2.0.x では、キーコミットメントなしで暗号化された暗号化テキストは復号化されません。キーコミットなしで暗号化された暗号化テキストをアプリケーションで処理する可能性がある場合は、コミットメントポリシーの値を
AllowDecrypt
で設定してください。バージョン 2.0.x の場合、コミットメントポリシー設定には次の 3 つの有効な値があります。
-
ForbidEncryptAllowDecrypt
— AWS Encryption SDK では、キーコミットメントで暗号化することはできません。キーコミットメントが使用されているかどうかにかかわらず、暗号化された暗号化テキストを復号化できます。 -
RequireEncryptAllowDecrypt
— AWS Encryption SDK では、キーコミットメントで暗号化する必要があります。キーコミットメントが使用されているかどうかにかかわらず、暗号化された暗号化テキストを復号化できます。 -
RequireEncryptRequireDecrypt
(デフォルト) — はキーコミットメントで暗号化 AWS Encryption SDK する必要があります。キーコミットメントによる暗号化テキストのみを復号化します。
の以前のバージョンから AWS Encryption SDK バージョン 2.0.x に移行する場合は、コミットメントポリシーを、アプリケーションが遭遇する可能性のある既存の暗号文をすべて復号できる値に設定します。この設定は時間の経過とともに調整することになる可能性があります。
-
バージョン 2.2.x
デジタル署名と暗号化データキーの制限のサポートを追加します。
注記
のバージョン 2.x.x AWS Encryption SDK for Python AWS Encryption SDK for JavaScript、および AWS Encryption CLI はend-of-supportフェーズにあります。
任意のプログラミング言語でのこの AWS Encryption SDK バージョンのサポートとメンテナンスについては、GitHub リポジトリの SUPPORT_POLICY.rst
ファイルを参照してください。
- デジタル署名
復号時のデジタル署名の処理を改善するために、 には次の機能 AWS Encryption SDK が含まれています。
-
非ストリーミングモード — デジタル署名が存在する場合の検証を含め、すべての入力を処理した後にのみプレーンテキストを返します。 この機能を使用すると、デジタル署名を検証するまでプレーンテキストを使用できなくなります。この機能は、デジタル署名 (デフォルトのアルゴリズムスイート) で暗号化されたデータを復号化するときに使用します。例えば、 AWS Encryption CLI は常にストリーミングモードでデータを処理するため、デジタル署名を使用して暗号文を復号するときに
- -buffer
パラメータを使用します。 -
署名なし専用復号モード — この機能では署名されていない暗号文のみを復号化します。復号化で暗号化テキスト内にデジタル署名が検出されると、オペレーションは失敗します。この機能を使用して、署名を検証する前に、署名付きメッセージのプレーンテキストを意図せずに処理しないようにします。
-
- 暗号化されたデータキーの制限
-
暗号化されたメッセージ内の暗号化されたデータキーの数を制限できます。この機能は、暗号化時に誤って構成されたマスターキープロバイダーまたはキーリングを検出したり、復号時に悪意のある暗号化テキストを特定したりするのに役立ちます。
信頼できない送信元からのメッセージを復号する場合は、暗号化されたデータキーを制限してください。不必要でコストがかかり、潜在的に網羅的な方法によって、キーインフラストラクチャを呼び出すことを防止できます。
バージョン 2.3.x
AWS KMS マルチリージョンキーのサポートを追加しました。詳細については、「マルチリージョンの使用 AWS KMS keys」を参照してください。
注記
AWS Encryption CLI は、バージョン 3.0.x 以降のマルチリージョンキーをサポートしています。
のバージョン 2.x.x AWS Encryption SDK for Python AWS Encryption SDK for JavaScript、および AWS Encryption CLI はend-of-supportフェーズにあります。
任意のプログラミング言語でのこの AWS Encryption SDK バージョンのサポートとメンテナンスについては、GitHub リポジトリの SUPPORT_POLICY.rst
ファイルを参照してください。