加密用戶端的運作方式 - AWS 資料庫加密 SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

加密用戶端的運作方式

注意

我們的客戶端加密庫被重命名為AWS數據庫加密 SDK。下列主題提供有關版本 1 的資訊。 X-2. 適用於 Java 和版本 1 的 x 個加密用戶端。 X — 3. 適用於 Python 的 x 個加密用戶端。如需詳細資訊,請參閱適用於 DynamoDB 版本支援的資AWS料庫加密 SDK

DynamoDB 加密用戶端專為保護您儲存在 DynamoDB 中的資料而設計。程式庫包括您可以擴展或以原狀使用的安全實作。再者,大多數元素是由摘要元素表示,所以您可建立和使用相容的自訂元件。

加密並簽署資料表項目

DynamoDB 加密用戶端的核心是項目加密器,可加密、簽署、驗證和解密表格項目。它會接受資料表項目相關資訊,以及要加密並簽署項目的相關指示。其將從您選取及設定的密碼編譯資料提供者取得加密資料,以及該項資料使用方式的指示。

下圖顯示此程序的高階檢視。

在 DynamoDB 加密用戶端中加密和簽署項目

若要加密和簽署表格項目,DynamoDB 加密用戶端需要:

  • 有關表格的資訊。它會從您提供的 DynamoDB 加密內容取得有關表格的資訊。有些助手會從 DynamoDB 取得必要的資訊,並為您建立 DynamoDB 加密內容。

    注意

    DynamoDB 加密用戶端中的 DynamoDB 加密內容與 AWS Key Management Service () AWS KMS 和中的加密內容無關。AWS Encryption SDK

  • 哪些屬性要加密並簽署。其將從您提供的屬性動作取得這項資訊。

  • 加密資料,包括加密金鑰和簽署金鑰。其將從您選取及設定的密碼編譯資料提供者 (CMP) 取得這些資料。

  • 加密並簽署項目的指示。CMP 會將可供使用加密資料 (包括加密和簽署演算法) 的指示新增至實際資料描述

項目加密程式會使用上述所有元素來加密並簽署項目。項目加密程式也會將兩個屬性新增至此項目:包含加密和簽署指示 (實際資料描述) 的資料描述屬性,以及包含簽章的屬性。您可直接與項目加密程式互動,或使用為您與項目加密程式互動的協助程式功能來實作安全的預設行為。

結果是包含已加密並簽署之資料的 DynamoDB 項目。

驗證並解密資料表項目

如下圖所示,這些元件也會一起運作來驗證並解密項目。

驗證和解密 DynamoDB 加密用戶端中的項目

若要驗證和解密項目,DynamoDB 加密用戶端需要相同的元件、具有相同組態的元件,或是專為解密項目而設計的元件,如下所示:

  • 來自 DynamoDB 加密內容之表格的相關資訊。

  • 要驗證和解密哪些屬性。其將從屬性動作取得這項資訊。

  • 解密資料,包括驗證和加密金鑰,來自您選取和設定的密碼編譯資料提供者 (CMP)。

    已加密的項目不包含用來進行加密的 CMP 相關記錄。您必須提供相同的 CMP、具有相同組態的 CMP,或設計用來解密項目的 CMP。

  • 如何加密並簽署項目的相關資訊,包括加密和簽署演算法。用戶端會從項目中的資料描述屬性取得這些資訊。

項目加密程式會使用上述所有元素來驗證並解密項目。此外,它不會移除資料描述和簽章屬性。結果為純文字 DynamoDB 項目。