全部產品
Search
文件中心

Key Management Service:使用KMS密鑰線上加密和解密資料

更新時間:Jul 06, 2024

當您部署在阿里雲或其他雲上的公網IP資產,需要對敏感性資料進行加密保護時,如果被加密的資料對象較小時,您可以使用KMS線上對資料進行加解密。本文介紹如何對資料線上加解密。

應用情境

適用於單次使用對稱金鑰加解密的資料不超過6 KB,或者單次使用非對稱金鑰加解密的資料不超過1KB。

說明

單次加密的資料量越大,網路傳輸失敗可能性越大,網路傳輸所需時間越長,KMS執行個體對資料進行加解密所需時間也越長。

典型情境包括以下兩類:

  • 情境一:部署在阿里雲上的應用,需要對資料進行加密和解密

    阿里雲上部署的應用服務會產生或收到明文形式的敏感性資料,敏感性資料需要加密後再通過資料庫等方式儲存,該情境推薦您使用對稱式加密演算法。

  • 情境二:應用部分部署在阿里雲上,部分部署在阿里雲外,需要對資料進行加密和解密

    推薦您使用非對稱式加密演算法,在阿里雲外的應用服務或用戶端程式使用公開金鑰對資料加密,經加密的資料(即密文資料)被傳送至部署於阿里雲上應用服務,阿里雲上的應用服務收到密文資料後通過KMS執行個體使用非對稱密碼演算法私密金鑰解密。

情境一:部署在阿里雲上的應用,需要對資料進行加密和解密

相關API

API名稱

說明

AdvanceEncrypt(推薦)

將明文加密為密文,加密時使用密鑰的當前主要版本。

說明

僅當密鑰為KMS軟體密鑰管理執行個體中的對稱金鑰時,支援使用本介面。

AdvanceDecrypt(推薦)

將密文解密為明文。

說明

僅當密鑰為KMS軟體密鑰管理執行個體中的對稱金鑰時,支援使用本介面。

Encrypt

將明文加密為密文,加密使用密鑰的初始版本。

Decrypt

將密文解密為明文。

操作步驟

  1. 購買並啟用KMS執行個體(軟體密鑰管理執行個體或硬體密鑰管理執行個體)。具體操作,請參見購買和啟用KMS執行個體

  2. 在KMS執行個體中建立對稱金鑰,對資料進行加密和解密。具體操作,請參見建立密鑰

  3. 建立應用存取點AAP,並在應用存取點中建立Client Key。具體操作,請參見建立應用存取點

    說明

    應用存取點AAP用於阿里雲部署的應用服務在開發對接KMS執行個體時使用。如果您有多個應用服務,請分別為其建立應用存取點AAP。

  4. 通過KMS執行個體SDK進行加解密。具體操作,請參見KMS執行個體SDK

    說明

    KMS提供了多種SDK,但密碼運算僅支援使用KMS執行個體SDK。關於SDK接入的更多資訊,請參見SDK參考

情境二:應用部分部署在阿里雲上,部分部署在阿里雲外,需要對資料進行加密和解密

相關API

API名稱

說明

Encrypt

將明文加密為密文,加密使用密鑰的初始版本。

Decrypt

將密文解密為明文。

操作步驟

  1. 購買並啟用KMS執行個體(軟體密鑰管理執行個體或硬體密鑰管理執行個體)。具體操作,請參見購買和啟用KMS執行個體

  2. 在KMS執行個體中建立非對稱金鑰,對資料進行加密和解密。具體操作,請參見建立密鑰

  3. 在KMS控制台查看並儲存公開金鑰,並將公開金鑰內容通過線下方式分發給阿里雲外的業務應用。image.png

  4. 建立應用存取點AAP,並在應用存取點中建立Client Key。具體操作,請參見建立應用存取點

    說明

    應用存取點AAP用於阿里雲部署的應用服務在開發對接KMS執行個體時使用。如果您有多個應用服務,請分別為其建立應用存取點AAP。

  5. 阿里雲外的業務應用或APP使用公開金鑰加密敏感性資料或臨時對稱金鑰,將敏感性資料密文或臨時對稱金鑰密文發送給阿里雲上部署的業務應用。阿里雲上部署的應用,通過KMS執行個體SDK進行解密敏感性資料或臨時對稱金鑰,具體操作,請參見KMS執行個體SDK

    說明

    KMS提供了多種SDK,但密碼運算僅支援使用KMS執行個體SDK。關於SDK接入的更多資訊,請參見SDK參考