非對稱密鑰概述
更新時間 2025-08-27 17:24:41
最近更新時間: 2025-08-27 17:24:41
分享文章
本文為您介紹密鑰管理服務支持的非對稱密鑰運算能力,包括非對稱密鑰類型、功能特性以及應用場景。
相比對稱加密,非對稱密鑰通常用于在信任程度不對等的系統之間,實現數字簽名驗簽或者加密傳遞敏感信息。
非對稱密鑰由一對密鑰組成,分別是公開密鑰(public key,簡稱公鑰)和私有密鑰(private key,簡稱私鑰)。公鑰可以任意對外發布,私鑰必須由用戶自行嚴格秘密保管。非對稱密鑰具有雙向性,即公鑰和私鑰中的任一個均可用作加密,此時另一個則用作解密。
密鑰管理服務(KMS)支持主流的非對稱密鑰算法并且提供足夠的安全強度,保證數據加密和數字簽名的安全性。
KMS支持的非對稱密鑰類型
非對稱密鑰支持的算法類型如下:
| 算法 | 密鑰規格 | 保護級別 |
|---|---|---|
| RSA | RSA_2048 | Software HSM |
| SM2 | Ctyun_SM2 | HSM |
非對稱密鑰功能特性
由于非對稱密鑰公、私鑰使用場景的特殊性,KMS不支持對非對稱的用戶主密鑰進行自動輪轉。您可以自主在指定用戶主密鑰中創建新的密鑰版本,生成全新的一對公鑰和私鑰。
非對稱密鑰區分公鑰運算和私鑰運算,公鑰主要用于數據加密和驗簽,私鑰主要用于數字簽名和數據解密。
| 功能 | 功能描述 |
|---|---|
| 創建密鑰版本 | 支持自主創建新密鑰版本,不支持設置自動輪轉策略。 區別于對稱密鑰,非對稱密鑰無密鑰主版本概念,則在調用非對稱密碼運算API接口時,在指定使用的用戶主密鑰(CMK)的同時,還需指定使用的密鑰版本(keyVersion)。 |
| 公鑰運算 | 大多數情況下,您可以調用GetPublicKey接口獲取公鑰,之后分發給公鑰使用者。使用者在業務端通過OpenSSL、Java JCE等常用的密碼運算庫在本地進行加密、驗簽處理。 密鑰管理服務(KMS)也提供公鑰運算的非對稱密鑰加密接口(asymmetricEncrypt)和數字簽名驗簽接口(asymmetricVerify),滿足特定的業務需求。 |
| 私鑰運算 | 由于私鑰的不公開性,用戶僅能通過調用KMS提供的私鑰運算的產生數字簽名接口(asymmetricSign)和非對稱密鑰解密接口(asymmetricDecrypt),實現簽名、解密處理。 |
非對稱密鑰應用場景
| 場景 | 場景描述 |
|---|---|
| 簽名驗簽 | 數字簽名技術是非對稱加密算法的另一種典型應用。數字簽名分為簽名和驗證兩個過程,消息發送者使用私鑰對數據簽名,消息接收者使用公鑰進行簽名驗證。 由于簽名是使用私鑰加密產生,而私鑰不公開,這使得簽名具有唯一的特征,廣泛用于數據防篡改、身份認證等相關技術領域。 |
| 數據加解密 | 非對稱密鑰加密通信的過程類似于對稱加密,區別在于需要使用公鑰進行數據加密,使用私鑰進行數據解密。 由于密文只有通過私鑰才可以解密,而私鑰是不公開的,所以即使由于傳輸介質的安全性比較低而導致信息泄露,拿到密文的人也無法將其破譯,從而保證了敏感信息的安全。這種敏感信息傳遞的方式,被廣泛用于各類密鑰交換場景。 |