データ暗号化やデジタル署名などのシナリオでは、コンプライアンス要件 (国家暗号標準への準拠など) 、パフォーマンス要件、またはセキュリティレベルに基づいて、適切なキー管理タイプとキー仕様を選択できます。国家暗号ソフトウェアモジュールを購入すると、ソフトウェアで保護されたキーは EC_SM2 および Aliyun_SM4 仕様をサポートします。このトピックでは、各キー管理タイプでサポートされているキー仕様について説明します。
サポートされる対称キー仕様
対称キー暗号化では、暗号化と復号の両方に同じキーを使用します。Key Management Service (KMS) は、キーマテリアルを安全に保管して不正アクセスを防ぎ、暗号化されたデータの機密性を確保します。
キー仕様
次の表に、対称キーの各キー管理タイプでサポートされているキー仕様を示します。
KeySpec を指定せずに CreateKey API を呼び出してキーを作成すると、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:AES キー、256 ビット。技術標準「Advanced Encryption Standard (AES)」(FIPS PUB 197) に準拠しています。
Aliyun_AES_192:AES キー、192 ビット。技術標準「Advanced Encryption Standard (AES)」(FIPS PUB 197) に準拠しています。
Aliyun_AES_128:AES キー、128 ビット。技術標準「Advanced Encryption Standard (AES)」(FIPS PUB 197) に準拠しています。
HMAC_224:SHA-224 ハッシュアルゴリズムを使用する HMAC キーであり、MAC 出力は 224 ビットです。技術標準「The Keyed-Hash Message Authentication Code (HMAC)」(FIPS 198-1) に準拠しています。
HMAC_256:SHA-256 ハッシュアルゴリズムを使用する HMAC キーであり、MAC 出力は 256 ビットです。技術標準「The Keyed-Hash Message Authentication Code (HMAC)」(FIPS 198-1) に準拠しています。
HMAC_384:SHA-384 ハッシュアルゴリズムを使用する HMAC キーであり、MAC 出力は 384 ビットです。技術標準「The Keyed-Hash Message Authentication Code (HMAC)」(FIPS 198-1) に準拠しています。
HMAC_512:SHA-512 ハッシュアルゴリズムを使用する HMAC キーであり、MAC 出力は 512 ビットです。技術標準「The Keyed-Hash Message Authentication Code (HMAC)」(FIPS 198-1) に準拠しています。
サポートされる非対称キー仕様
非対称キーは、暗号技術的に関連付けられた公開鍵と秘密鍵のキーペアで構成されます。公開鍵は自由に配布できますが、秘密鍵は安全に保護され、所有者または信頼できる関係者のみがアクセスできるようにする必要があります。
KMS で作成された非対称キーの場合、公開鍵は GetPublicKey API または KMS コンソールを使用して取得できます。KMS は秘密鍵のセキュリティを確保しており、秘密鍵をエクスポートする操作は提供していません。
非対称キーは通常、デジタル署名の検証、または対称キーなどの少量のデータの暗号化と配布に使用されます。非対称キーを作成するときにキーの使用法を設定します。
ENCRYPT/DECRYPT:公開鍵と Encrypt API を使用してデータを暗号化し、秘密鍵と Decrypt API を使用してデータを復号します。
SIGN/VERIFY:秘密鍵と Sign API を使用してデジタル署名を計算し、公開鍵と Verify API を使用して署名を検証します。
非対称暗号化操作は計算コストが高いため、非対称キーは、対称キーを安全に配布するなど、小さなデータブロックにのみ使用してください。
キー仕様
次の表に、非対称キーの各キー管理タイプでサポートされているキー仕様を示します。
キー管理タイプ | キー仕様 | サポートされる暗号化アルゴリズム | サポートされる署名アルゴリズム |
ソフトウェアで保護されたキー | 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、鍵導出には KDF2 with SHA-1、MAC アルゴリズムには HMAC-SHA-1、対称暗号化には XOR を使用します。
署名アルゴリズム
RSA_PSS_SHA_256:RFC 3447/PKCS#1 で定義されている RSASSA-PSS アルゴリズムです。MGF1 (SHA-256) を使用します。
RSA_PKCS1_SHA_256:RFC 3447/PKCS#1 で定義されている RSASSA-PKCS1-v1_5 アルゴリズムです。
ECDSA_SHA_256:SHA-256 ハッシュアルゴリズムを使用する ECDSA デジタル署名アルゴリズムです。