阿里雲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: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)。
支援的非對稱金鑰規格
非對稱金鑰由一對公開金鑰和私密金鑰組成,它們在密碼學上互相關聯,其中的公開金鑰可以被分發給任何人,而私密金鑰必須被安全地保護起來,只有擁有者或受信任者可以使用。
您在KMS建立的非對稱金鑰,可通過GetPublicKey介面或控制台擷取公開金鑰內容;私密金鑰內容由KMS確保安全性,且KMS不提供匯出非對稱金鑰私密金鑰的介面。
非對稱金鑰通常用於實現數位簽章驗簽或者加密傳遞對稱金鑰等資料量較小的機密資訊,您可以在建立非對稱金鑰時設定密鑰用途。
當密鑰用途為ENCRYPT/DECRYPT時:您可通過KMS的加密(Encrypt)介面使用公開金鑰進行加密,通過解密(Decrypt)介面使用私密金鑰進行解密。
當密鑰用途為SIGN/VERIFY時:您可通過KMS的數位簽章(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:RSA金鑰組,模(modulus)長2048位元。遵循技術規範《PKCS #1: RSA Cryptography Specifications Version 2.2》。
RSA_3072:RSA金鑰組,模(modulus)長3072位元。遵循技術規範《PKCS #1: RSA Cryptography Specifications Version 2.2》。
RSA_4096:RSA金鑰組,模(modulus)長4096位元。遵循技術規範《PKCS #1: RSA Cryptography Specifications Version 2.2》。
EC_P256:橢圓曲線密碼Elliptic Curve Cryptography (ECC) 金鑰組,NIST推薦使用的曲線之一:P-256。遵循技術規範《NIST SP800-186 Recommendations for Discrete Logarithm-based Cryptography 》
EC_P256K:橢圓曲線密碼 Elliptic Curve Cryptography (ECC) 金鑰組,Secg推薦的曲線之一: secp256k1。遵循技術規範《SEC 2: Recommended Elliptic Curve Domain Parameters》。
密碼編譯演算法說明
RSAES_OAEP_SHA_256:RSA加密,按照RFC 3447/PKCS#1中定義的RSAES-OAEP模式,使用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:對資料使用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:ECDSA數位簽章,使用SHA-256雜湊演算法。