當您部署在阿里云或其他云上的公網IP資產,需要對敏感數據進行加密保護時,如果被加密的數據對象較小時,您可以使用KMS在線對數據進行加解密。本文介紹如何對數據在線加解密。
應用場景
適用于單次使用對稱密鑰加解密的數據不超過6 KB,或者單次使用非對稱密鑰加解密的數據不超過1KB。
單次加密的數據量越大,網絡傳輸失敗可能性越大,網絡傳輸所需時間越長,KMS實例對數據進行加解密所需時間也越長。
典型場景包括以下兩類:
場景一:部署在阿里云上的應用,需要對數據進行加密和解密
阿里云上部署的應用服務會產生或收到明文形式的敏感數據,敏感數據需要加密后再通過數據庫等方式存儲,該場景推薦您使用對稱加密算法。
場景二:應用部分部署在阿里云上,部分部署在阿里云外,需要對數據進行加密和解密
推薦您使用非對稱加密算法,在阿里云外的應用服務或客戶端程序使用公鑰對數據加密,經加密的數據(即密文數據)被傳送至部署于阿里云上應用服務,阿里云上的應用服務收到密文數據后通過KMS實例使用非對稱密碼算法私鑰解密。
場景一:部署在阿里云上的應用,需要對數據進行加密和解密
相關API
API名稱 | 說明 |
AdvanceEncrypt(推薦) | 將明文加密為密文,加密時使用密鑰的當前主版本。 說明 僅當密鑰為KMS軟件密鑰管理實例中的對稱密鑰時,支持使用本接口。 |
AdvanceDecrypt(推薦) | 將密文解密為明文。 說明 僅當密鑰為KMS軟件密鑰管理實例中的對稱密鑰時,支持使用本接口。 |
將明文加密為密文,加密使用密鑰的初始版本。 | |
將密文解密為明文。 |
操作步驟
購買并啟用KMS實例(軟件密鑰管理實例或硬件密鑰管理實例)。具體操作,請參見購買和啟用KMS實例。
在KMS實例中創建對稱密鑰,對數據進行加密和解密。具體操作,請參見創建密鑰。
創建應用接入點AAP,并在應用接入點中創建Client Key。具體操作,請參見創建應用接入點。
說明應用接入點AAP用于阿里云部署的應用服務在開發對接KMS實例時使用。如果您有多個應用服務,請分別為其創建應用接入點AAP。
通過KMS實例SDK進行加解密。具體操作,請參見KMS實例SDK。
說明KMS提供了多種SDK,但密碼運算僅支持使用KMS實例SDK。關于SDK接入的更多信息,請參見SDK參考。
場景二:應用部分部署在阿里云上,部分部署在阿里云外,需要對數據進行加密和解密
相關API
API名稱 | 說明 |
將明文加密為密文,加密使用密鑰的初始版本。 | |
將密文解密為明文。 |
操作步驟
購買并啟用KMS實例(軟件密鑰管理實例或硬件密鑰管理實例)。具體操作,請參見購買和啟用KMS實例。
在KMS實例中創建非對稱密鑰,對數據進行加密和解密。具體操作,請參見創建密鑰。
在KMS控制臺查看并保存公鑰,并將公鑰內容通過線下方式分發給阿里云外的業務應用。
創建應用接入點AAP,并在應用接入點中創建Client Key。具體操作,請參見創建應用接入點。
說明應用接入點AAP用于阿里云部署的應用服務在開發對接KMS實例時使用。如果您有多個應用服務,請分別為其創建應用接入點AAP。
阿里云外的業務應用或APP使用公鑰加密敏感數據或臨時對稱密鑰,將敏感數據密文或臨時對稱密鑰密文發送給阿里云上部署的業務應用。阿里云上部署的應用,通過KMS實例SDK進行解密敏感數據或臨時對稱密鑰,具體操作,請參見KMS實例SDK。
說明KMS提供了多種SDK,但密碼運算僅支持使用KMS實例SDK。關于SDK接入的更多信息,請參見SDK參考。