データ暗号化やデジタル署名などのシナリオでは、コンプライアンス要件 (例:国家暗号コンプライアンス)、パフォーマンスニーズ、またはセキュリティレベルに基づいて、適切なキー管理タイプとキー仕様を選択できます。国家暗号ソフトウェアモジュールを購入すると、ソフトウェアで保護されたキーは Aliyun_SM4 仕様をサポートします。このトピックでは、各キー管理タイプでサポートされているキー仕様について説明します。
サポートされている対称キー仕様
対称キーによる暗号化では、暗号化と復号の両方に同じキーを使用します。Key Management Service (KMS) は、キーマテリアルを安全に保存して不正なアクセスを防ぎ、暗号化されたデータの機密性を確保します。
キー仕様
次の表に、各キー管理タイプでサポートされている対称キーの仕様を示します。
-
CreateKey 操作を呼び出してキーを作成する際に KeySpec を指定しない場合、KMS はデフォルトで Aliyun_AES_256 仕様の対称キーを作成します。
-
HMAC キーには KMS インスタンスのバージョン 4.1.0 以降が必要です。そうでない場合、コンソールでインスタンスイメージをアップグレードするように求められます。HMAC キーはキーの自動ローテーションをサポートしていません。
|
キー管理タイプ |
キー仕様 |
サポートされているアルゴリズム |
サポートされているキーの用途 |
パディングモード |
|
デフォルトキー |
Aliyun_AES_256 |
GCM (デフォルト) |
ENCRYPT/DECRYPT |
N/A |
|
ソフトウェアで保護されたキー |
Aliyun_AES_256 |
GCM (デフォルト) |
ENCRYPT/DECRYPT |
N/A |
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
N/A |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
ハードウェアで保護されたキー |
|
GCM (デフォルト)、ECB、CBC |
ENCRYPT/DECRYPT |
|
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
N/A |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
外部キー |
Aliyun_AES_256 |
GCM (デフォルト)、ECB、CBC |
ENCRYPT/DECRYPT |
|
技術標準
-
Aliyun_AES_256:256 ビットの AES キーです。「Advanced Encryption Standard (AES)」 (FIPS PUB 197) の技術標準に準拠しています。
-
Aliyun_AES_192:192 ビットの AES キーです。「Advanced Encryption Standard (AES)」 (FIPS PUB 197) の技術標準に準拠しています。
-
Aliyun_AES_128:128 ビットの AES キーです。「Advanced Encryption Standard (AES)」 (FIPS PUB 197) の技術標準に準拠しています。
-
HMAC_224:SHA-224 ハッシュアルゴリズムを使用し、224 ビットの MAC を出力する HMAC キーです。「The Keyed-Hash Message Authentication Code (HMAC)」 (FIPS 198-1) の技術標準に準拠しています。
-
HMAC_256:SHA-256 ハッシュアルゴリズムを使用し、256 ビットの MAC を出力する HMAC キーです。「The Keyed-Hash Message Authentication Code (HMAC)」 (FIPS 198-1) の技術標準に準拠しています。
-
HMAC_384:SHA-384 ハッシュアルゴリズムを使用し、384 ビットの MAC を出力する HMAC キーです。「The Keyed-Hash Message Authentication Code (HMAC)」 (FIPS 198-1) の技術標準に準拠しています。
-
HMAC_512:SHA-512 ハッシュアルゴリズムを使用し、512 ビットの MAC を出力する HMAC キーです。「The Keyed-Hash Message Authentication Code (HMAC)」 (FIPS 198-1) の技術標準に準拠しています。
サポートされている非対称キー仕様
非対称キーは、暗号技術的に関連付けられた公開鍵と秘密鍵のペアで構成されます。公開鍵は自由に配布できますが、秘密鍵は安全に保護され、所有者または信頼できる当事者のみがアクセスできる必要があります。
KMS で作成された非対称キーの場合、公開キーは GetPublicKey 操作または KMS コンソールから取得できます。KMS はプライベートキーのセキュリティを確保し、エクスポートする操作は提供していません。
非対称キーは、通常、デジタル署名の検証、または対称キーなどの少量のデータを暗号化して配布するために使用されます。非対称キーを作成するときに、キーの用途を設定します。
-
ENCRYPT/DECRYPT:
EncryptAPI を介して公開鍵を使用してデータを暗号化し、DecryptAPI を介して秘密鍵を使用してデータを復号します。 -
SIGN/VERIFY:
SignAPI を介して秘密鍵を使用してデジタル署名を計算し、VerifyAPI を介して公開鍵を使用して署名を検証します。
非対称暗号操作の計算コストが高いため、非対称キーは、対称キーを安全に配布する場合など、少量のデータブロックにのみ使用してください。
キー仕様
次の表に、各キー管理タイプでサポートされている非対称キーの仕様を示します。
|
キー管理タイプ |
キー仕様 |
サポートされている暗号化アルゴリズム |
サポートされている署名アルゴリズム |
|
ソフトウェアで保護されたキー |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (デフォルト) |
RSA_PSS_SHA_256 (デフォルト), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (デフォルト) |
ECDSA_SHA_256 (デフォルト) |
|
|
Ed25519 |
サポートされていません |
EdDSA |
|
|
ハードウェアで保護されたキー |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (デフォルト) |
RSA_PSS_SHA_256 (デフォルト), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (デフォルト) |
ECDSA_SHA_256 (デフォルト) |
技術標準
-
RSA_2048:モジュラス長が 2048 ビットの RSA キーペアです。「PKCS #1: RSA Cryptography Specifications Version 2.2」の技術標準に準拠しています。
-
RSA_3072:モジュラス長が 3072 ビットの RSA キーペアです。「PKCS #1: RSA Cryptography Specifications Version 2.2」の技術標準に準拠しています。
-
RSA_4096:モジュラス長が 4096 ビットの RSA キーペアです。「PKCS #1: RSA Cryptography Specifications Version 2.2」の技術標準に準拠しています。
-
EC_P256:NIST が推奨する P-256 カーブを使用した楕円曲線暗号 (ECC) キーペアです。他の標準では secp256r1 または ANSI prime256v1 とも呼ばれます。「NIST SP800-186 Recommendations for Discrete Logarithm-based Cryptography」の技術標準に準拠しています。
-
EC_P256K:SECG が推奨する secp256k1 カーブを使用した楕円曲線暗号 (ECC) キーペアです。「SEC 2: Recommended Elliptic Curve Domain Parameters」の技術標準に準拠しています。
暗号化アルゴリズム
-
RSAES_OAEP_SHA_256:RFC 3447/PKCS#1 で定義されている RSAES-OAEP モードを使用する RSA 暗号化であり、MGF1 と SHA-256 を使用します。
-
ECIES_DH_SHA_1_XOR_HMAC:SEC 1: Elliptic Curve Cryptography, Version 2.0 標準に準拠しています。キー合意には ECDH を、キー派生には SHA-1 を使用した KDF2 を、MAC アルゴリズムには HMAC-SHA-1 を、対称暗号化には XOR を使用します。
署名アルゴリズム
-
RSA_PSS_SHA_256:データの SHA-256 ハッシュと、RFC 3447/PKCS#1 で定義されている RSASSA-PSS アルゴリズム (MGF1 (SHA-256) を使用) を使用して署名を計算します。
-
RSA_PKCS1_SHA_256:データの SHA-256 ハッシュと、RFC 3447/PKCS#1 で定義されている RSASSA-PKCS1-v1_5 アルゴリズムを使用して署名を計算します。
-
ECDSA_SHA_256:SHA-256 ハッシュアルゴリズムを使用する ECDSA デジタル署名です。