Key Management Service (KMS) は、共通の対称キーと非対称キーをサポートし、暗号化されたデータのセキュリティを保証します。 このトピックでは、KMSのキーの種類ごとのキー仕様について説明します。
対称暗号化でサポートされるキー仕様
対称暗号化は通常、機密データを保護するために実装されます。 同じキーを使用してデータを暗号化および復号化できます。 KMSは、対称鍵の鍵材料を秘密にして、対称鍵が許可されていないユーザによって使用されたり盗まれたりしないようにします。 これにより、暗号化データのセキュリティが確保される。
キー仕様
ほとんどの場合、対称鍵はデータ暗号化に使用されます。 次の表に、さまざまなタイプの対称キーでサポートされているキーの仕様を示します。
キータイプ | キー仕様 | データ暗号化モード | パディングモード |
デフォルトキー | Aliyun_AES_256 | GCM (デフォルト) | 非該当 |
ソフトウェア保護されたキー | Aliyun_AES_256 | GCM (デフォルト) | 非該当 |
ハードウェア保護キー |
| GCM (デフォルト) 、电子コードブック (ECB) 、および暗号ブロックチェーン (CBC) |
|
外部キー | Aliyun_AES_256 | GCM (デフォルト) 、ECB、およびCBC |
|
CreateKey操作を呼び出してキーを作成し、KeySpecを設定しない場合、KMSはキー仕様がAliyun_AES_256である対称キーを作成します。
技術仕様
Aliyun_AES_256: 256ビットAES (Advanced Encryption Standard) キー。 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) 。
非対称暗号化でサポートされるキー仕様
非対称鍵は、互いに数学的に関連する公開鍵および秘密鍵からなる。 公開鍵はすべてのユーザーが使用できますが、秘密鍵は所有者または信頼できるユーザーのみが使用できます。
KMSで非対称キーを作成した後、KMSコンソールで、またはGetPublicKey操作を呼び出して公開キーを取得できます。 KMSは秘密鍵のセキュリティを確保し、呼び出し操作による秘密鍵のエクスポートはサポートしていません。
ほとんどの場合、非対称鍵ペアは、署名と検証のため、または対称鍵などの少量の機密情報を暗号化して送信するために使用されます。 非対称キーを作成するときに、キーの目的を指定できます。
キーの目的がENCRYPT/DECRYPTの場合、Encrypt操作を呼び出して公開キーを使用してデータを暗号化し、Decrypt操作を呼び出して秘密キーを使用してデータを復号化できます。
キーの目的がSIGN/VERIFYの場合、Sign操作を呼び出して秘密鍵を使用してデジタル署名を生成し、Verify操作を呼び出して公開鍵を使用して署名を検証できます。
非対称暗号化は、計算集約的である。 ほとんどの場合、対称鍵を安全に配布するなど、非対称暗号操作を使用してデータを小さな断片に暗号化します。
キー仕様
次の表に、さまざまなタイプの非対称キーでサポートされているキーの仕様を示します。
キータイプ | キー仕様 | サポートされる暗号化アルゴリズム | サポートされる署名アルゴリズム |
ソフトウェア保護されたキー | RSA_2048およびRSA_3072 | 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、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ビットのRivest-Shamir-Adleman (RSA) 鍵ペア。 PKCS #1: RSA暗号化仕様バージョン2.2に従ってください。
RSA_3072: 3072ビットRSAキーペア。 PKCS #1: RSA暗号化仕様バージョン2.2に従ってください。
RSA_4096: 4096ビットRSAキーペア。 PKCS #1: RSA暗号化仕様バージョン2.2に従ってください。
EC_P256: National Institute of Standards and Technology (NIST) が推奨する楕円曲線P-256を使用する楕円曲線暗号 (ECC) キーペア。 NIST SP800-186のDiscrete Logarithm-based Cryptographyに従ってください。
EC_P256K: SECG (Standard for Efficient Cryptography Group) を使用するECCキーペア-推奨される楕円曲線secp256k1。 SEC 2: 推奨楕円曲線ドメインパラメータに従ってください。
暗号化アルゴリズムの説明
RSAES_OAEP_SHA_256: RFC 3447のPKCS #1で定義されているRSAES-OAEPパディングモードでMGF1およびSHA-256を使用するRSA暗号化アルゴリズム。
ECIES_DH_SHA_1_XOR_HMAC: SEC1: Elliptic Curve Cryptography、Version 2.0に従い、鍵合意にElliptic-curve Diffie-Hellman (ECDH) を使用し、鍵導出にSHA-1とともに鍵導出関数2 (KDF2) を使用し、HMAC-SHA-1をメッセージ認証コード (MAC) アルゴリズムとして使用し、XORを対称暗号化します。
署名アルゴリズムの説明
RSA_PSS_SHA_256: SHA-256アルゴリズムを使用してハッシュ値を計算し、MGF1を使用してSHA-256を使用して、RFC 3447のPKCS #1に定義されているRSASSA-PSSアルゴリズムに基づいて署名を計算します。
RSA_PKCS1_SHA_256: SHA-256アルゴリズムを使用して、RFC 3447のPKCS #1に定義されているRSASSA-PKCS1-v1_5アルゴリズムに基づいてハッシュ値を計算し、署名を計算します。
ECDSA_SHA_256: 楕円曲線デジタル署名アルゴリズム (ECDSA) を使用して署名を計算し、SHA-256ハッシュ値を計算します。