キー管理は、キー管理サービス (KMS) のコア機能です。 この機能により、ソフトウェアで保護されたキー、ハードウェアで保護されたキー、およびデフォルトのキーをライフサイクル全体で管理および保存できます。 この機能では、クラウドネイティブAPI操作に基づいてデータを暗号化および署名することもできます。 このトピックでは、KMSでサポートされているキータイプと暗号化API操作について説明します。
キータイプ
KMSは、ソフトウェアで保護されたキー、ハードウェアで保護されたキー、デフォルトキー、外部キーを提供し、ビジネス、セキュリティ、コンプライアンスの要件を満たします。 次の表に、キーの種類を示します。
デフォルトキーを使用する場合、KMSインスタンスを購入する必要はありません。 ただし、ソフトウェア保護キー、ハードウェア保護キー、または外部キーを使用する場合は、KMSインスタンスの購入が必要です。 インスタンスの機能の違いについては、「インスタンスの選択」をご参照ください。
キータイプ | シナリオ | サポートされる操作 | アルゴリズム | キー仕様 | 説明 |
デフォルトキー | デフォルトキーは、KMSと統合されているAlibaba Cloudサービスのサーバー側暗号化に使用されます。 詳細については、「KMSとの統合」をご参照ください。 | データ暗号化とデータ解読のみがサポートされています。 | AES | Aliyun_AES_256 | デフォルトキーには、次のいずれかのキーを指定できます。
|
ソフトウェア保護されたキー |
| データ暗号化、データ復号化、署名と検証がサポートされています。 | AES、RSA、および楕円曲線暗号 (ECC) |
詳細については、「キータイプとキー仕様」をご参照ください。 | KMSによって生成されたキーマテリアルのみを使用して、ソフトウェアで保護されたキーを作成できます。 説明 KMSによって生成されたキーマテリアルをインポートして、ソフトウェアで保護されたキーを作成することはできません。 |
ハードウェア保護キー |
| データ暗号化、データ復号化、署名と検証がサポートされています。 | AES、RSA、およびECC |
詳細については、「キータイプとキー仕様」をご参照ください。 | KMSによって生成されたキーマテリアルを使用するか、キーマテリアルをインポートして、ハードウェアで保護されたキーを作成し、そのライフサイクル全体を通してキーを管理できます。 重要 ハードウェアで保護されたキーを使用する前に、ハードウェアセキュリティモジュール (HSM) を購入し、クラウドハードウェアセキュリティモジュールでHSMクラスターを設定する必要があります。 HSMがに準拠していることを確認してください 連邦情報処理規格 (FIPS) 140-2レベル3 |
外部キー |
| データ暗号化とデータ解読がサポートされています。 | AES | Aliyun_AES_256 | キー管理インフラストラクチャ (KMI) でキーを作成し、そのキーをKMSにインポートできます。 KMIで作成されたキーのライフサイクルを管理します。 |
暗号化API操作
KMSは、従来のHSMや暗号化ソフトウェアライブラリのAPI操作よりも使いやすいクラウドネイティブの暗号化API操作をサポートしています。 さらに、KMSは開発プロセスを加速するために複数のSDKを提供します。 キーを使用してデータを暗号化および復号化する方法の詳細については、「SDKリファレンス」をご参照ください。
キー関連の操作を呼び出す前に、次の情報に注意してください。
AdvanceEncrypt、AdvanceDecrypt、AdvanceGenerateDataKey、およびGenerateDataKey: これらの操作を呼び出すには、対称キーを使用する必要があります。
暗号化と復号化: これらの操作を呼び出すには、対称キーまたは非対称キーを使用する必要があります。
Sign、Verify、およびGetPublicKey: これらの操作を呼び出すには、非対称キーを使用する必要があります。
API 操作 | 説明 |
平文を暗号文に暗号化します。 重要
| |
暗号文を平文に復号化します。 | |
データキーを生成し、KMSのエンベロープ暗号化を使用してデータを暗号化します。 重要 AdvanceDecrypt操作を呼び出す前に、AdvanceGenerateDataKey操作によって返される暗号文 (CiphertextBlob) と認証データ (Aad) を保存する必要があります。 | |
平文を暗号文に暗号化します。 重要 DecryptまたはAdvanceDecrypt操作を呼び出す前に、暗号化操作によって返されるキーID (KeyId) 、暗号文 (CiphertextBlob) 、暗号化アルゴリズム (algorithm) 、初期ベクトル (Iv) 、パディングモード (PaddingMode) 、および認証データ (Aad) を保存する必要があります。 | |
暗号文を平文に復号化します。 | |
データキーを生成し、KMSのエンベロープ暗号化を使用してデータを暗号化します。 | |
非対称キーを使用して署名を生成します。 重要 署名を検証するには、Verify操作を呼び出します。 また、公開鍵 (GetPublicKey) を取得して、コンピューター上の署名を検証することもできます。 | |
非対称キーを使用して署名を検証します。 | |
指定された非対称キーの公開キーを照会します。 |