このトピックでは、最も一般的なデータ暗号化方式である対称暗号化について説明します。 KMS では、操作簡単な API を使用して、クラウド上のデータを暗号化および復号化できます。

KMS でカスタマーマスターキー (CMK) の作成時に KeySpec パラメーターを指定しない場合、CMK は対称キーになります。 Alibaba Cloud は一般的な対称キーアルゴリズムを採用し、強力な暗号化によって高度なデータセキュリティを確保します。

対称キーの分類

KMS は、以下の 2 種類の対称キーをサポートしています。
  • AES

    KMS は 256 ビット AES キーをサポートしています。 AES を使用する場合は、KeySpec パラメーターを Aliyun_AES_256 に設定します。 Encrypt API 操作は、GCM モードでデータを暗号化します。 AES 対称キーは、SOFTWARE と HSM の両方の保護レベルでサポートされています。

  • SM4

    KMS は、中国国家標準で指定されている商用対称アルゴリズム SM4 をサポートしています。 SM4 を使用する場合は、KeySpec パラメーターを Aliyun_SM4 に設定します。 Encrypt API 操作は、GCM モードでデータを暗号化します。 KMSは、Managed HSM を使用して SM4 アルゴリズムを提供します。 詳細については、「サポートするリージョン」をご参照ください。

暗号化および復号化機能

暗号化の場合、CMK ID (または CMK エイリアス) のみを指定する必要があります。 KMS は、暗号化に指定された CMK を使用し、生成された暗号テキストデータを返します。 Decrypt 操作を実行して復号化する際、CMK ID は再指定せず、暗号テキストデータの入力のみが必要になります。 この機能は、次の操作を呼び出して生成された暗号テキストデータで使用できます:EncryptGenerateDataKeyGenerateDataKeyWithoutPlaintext

追加の認証済みデータの使用

KMS の対称キーは、ブロック暗号にGalois/Counter Mode (GCM) を使用します。 追加の認証済みデータ (AAD) を入力することで、暗号化されたデータの整合性の保護を強化できます。 入力した ADD をカプセル化することにより、認証データを簡単にカスタマイズできます。 詳細については、「EncryptionContext」をご参照ください。

エンベロープ暗号化

KMS は GenerateDataKeyGenerateDataKeyWithoutPlaintext API を使用することにより、 2 レベルのキー階層を生成してエンベロープ暗号化を高速化できます。 詳細については、「エンベロープ暗号化とは 」と「エンベロープ暗号化を使用したローカルデータの暗号化および復号化」をご参照ください。

対称キーのローテーション

KMS の各対称 CMK は、複数のキーバージョンをサポートしています。 KMS は、新しいキーバージョンを生成することによって CMK を自動的にローテーションします。 キーローテーションポリシーはカスタマイズ可能です。

CMK に複数のバージョンがある場合、暗号化操作 (Encrypt、GenerateDataKey、GenerateDataKeyWithoutPlaintext を含む) では、指定された CMK の最新バージョンでデータを暗号化します。 復号化の場合、CMK IDまたはキーバージョン ID を指定する必要はありません。 KMS は、暗号化テキストデータの暗号化に使用された CMK とそのキーバージョンを自動的に識別し、適切なバージョンのキーを使用してデータを復号化します。

キーのローテーションはキーの新バージョンの生成によって表されます。 ローテーションが完了すると、KMS は自動的にキーの新バージョンを使用してデータを暗号化します。 ただし、キーの旧バージョンは引き続き復号化に使用できます。 詳細については、「自動キーローテーション」をご参照ください。

BYOK の使用

KMS では、Bring Your Own Key (BYOK) 機能を使用して、クラウドに保存されているデータを暗号化できます。 この機能を利用することで、厳格なセキュリティおよびコンプライアンス要件への準拠を実現します。 保護レベルが HSM である CMK にキーマテリアルをインポートすることで、Managed HSM でキーを保護することを推奨します。 Managed HSM にインポートされたキーは破棄することのみが可能です。プレーンテキストはエクスポートできません。 詳細については、「キーマテリアルのインポート」をご参照ください。