選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

什麼是 AWS Encryption SDK? - AWS Encryption SDK

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

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

什麼是 AWS Encryption SDK?

AWS Encryption SDK 是用戶端加密程式庫,旨在讓每個人都能輕鬆使用產業標準和最佳實務來加密和解密資料。這樣一來,您就能夠專注於應用程式的核心功能,而不用擔心如何讓資料獲得最好的加密與解密操作。根據 Apache 2.0 授權 AWS Encryption SDK 免費提供 。

這些會為您 AWS Encryption SDK 解答如下的問題:

  • 我應該使用哪種加密演算法?

  • 這種演算法應該如何使用?或是我該使用哪種模式?

  • 我應該如何產生加密金鑰?

  • 我應該如何保護加密金鑰?還有這份金鑰該存放在哪裡?

  • 我可以如何製作可攜式的加密資料?

  • 我應該如何確保預定收件人可以讀取我的加密資料?

  • 我應該如何確保已加密資料在寫入和讀取的這段期間不會遭到竄改?

  • 如何使用 AWS KMS 傳回的資料金鑰?

使用 AWS Encryption SDK,您可以定義主金鑰提供者keyring,以決定您用來保護資料的包裝金鑰。然後,您可以使用 提供的簡單方法來加密和解密資料 AWS Encryption SDK。會 AWS Encryption SDK 執行其餘動作。

如果沒有 AWS Encryption SDK,您可能在建置加密解決方案上花費的精力會比在應用程式的核心功能上更多。提供下列項目來 AWS Encryption SDK 回答這些問題。

符合加密最佳實務的預設實作

依預設, 會針對其加密的每個資料物件 AWS Encryption SDK 產生唯一的資料金鑰。這個做法符合使用唯一資料金鑰進行每次加密操作的加密最佳實務要求。

會使用安全、經過驗證的對稱金鑰演算法來 AWS Encryption SDK 加密您的資料。如需詳細資訊,請參閱AWS Encryption SDK中的支援演算法套件

使用包裝金鑰保護資料金鑰的架構

AWS Encryption SDK 會在一或多個包裝金鑰下加密資料,以保護加密資料的資料金鑰。透過提供架構來加密具有多個包裝金鑰的資料金鑰, AWS Encryption SDK 有助於讓您的加密資料可攜。

例如,加密 AWS KMS key 中的資料, AWS KMS 以及內部部署 HSM 中的金鑰。您可以使用任一包裝金鑰來解密資料,以防資料無法使用,或發起人沒有使用這兩個金鑰的許可。

儲存已加密資料金鑰和已加密資料的格式化訊息

AWS Encryption SDK 會將加密的資料和加密的資料金鑰存放在使用定義資料格式的加密訊息中。這表示您不需要追蹤或保護加密資料的資料金鑰,因為 會為您 AWS Encryption SDK 執行。

的某些語言實作 AWS Encryption SDK 需要 AWS 開發套件,但 AWS Encryption SDK 不需要 AWS 帳戶 ,也不依賴任何 AWS 服務。 AWS 帳戶 只有在您選擇使用 AWS KMS keys 來保護資料時,才需要 。

在開放原始碼儲存庫中開發

AWS Encryption SDK 是在 GitHub 上的開放原始碼儲存庫中開發。您可以使用這些儲存庫來檢視程式碼、讀取和提交問題,以及尋找語言實作特有的資訊。

與加密程式庫和服務的相容性

AWS Encryption SDK 支援多種程式設計語言的 。所有語言實作都是可互通的。您可以使用一種語言實作加密,並使用另一種語言進行解密。互通性可能受到語言限制。如果是這樣,這些限制會在語言實作的主題中加以說明。此外,加密和解密時,您必須使用相容的 Keyring,或主金鑰和主金鑰提供者。如需詳細資訊,請參閱 Keyring 相容性

不過, AWS Encryption SDK 無法與其他程式庫互通。由於每個程式庫都會以不同的格式傳回加密資料,因此您無法使用一個程式庫加密,並使用另一個程式庫解密。

DynamoDB 加密用戶端和 Amazon S3 用戶端加密

AWS Encryption SDK 無法解密 DynamoDB Encryption ClientAmazon S3 用戶端加密所加密的資料。這些程式庫無法解密 AWS Encryption SDK 傳回的加密訊息。 

AWS Key Management Service (AWS KMS)

AWS Encryption SDK 可以使用 AWS KMS keys資料金鑰來保護您的資料,包括多區域 KMS 金鑰。例如,您可以設定 AWS Encryption SDK 來加密您 AWS KMS keys 中一或多個 下的資料 AWS 帳戶。不過,您必須使用 AWS Encryption SDK 解密該資料。

AWS Encryption SDK 無法解密 AWS KMS EncryptReEncrypt 操作傳回的加密文字。同樣地, AWS KMS 解密操作無法解密 AWS Encryption SDK 傳回的加密訊息

僅 AWS Encryption SDK 支援對稱加密 KMS 金鑰。您不能使用非對稱 KMS 金鑰來加密或登入 AWS Encryption SDK。 AWS Encryption SDK 會針對簽署訊息的演算法套件產生自己的 ECDSA 簽署金鑰。

支援和維護

AWS Encryption SDK 使用與 AWS SDK 和工具相同的維護政策,包括其版本控制和生命週期階段。最佳實務是,建議您 AWS Encryption SDK 針對程式設計語言使用最新的可用版本 ,並在新版本發佈時升級。當版本需要重大變更時,例如從 1.7.x 之前的 AWS Encryption SDK 版本升級至 2.0.x 版及更新版本,我們會提供詳細說明來協助您。

的每個程式設計語言實作 AWS Encryption SDK 都是在單獨的開放原始碼 GitHub 儲存庫中開發。每個版本的生命週期和支援階段可能隨儲存庫而異。例如,指定版本的 AWS Encryption SDK 可能處於一種程式設計語言的一般可用性 (完整支援) 階段,但end-of-support階段的程式設計語言可能不同。我們建議您盡可能使用完全支援的版本,並避免不再支援的版本。

若要尋找您程式設計語言的 AWS Encryption SDK 版本生命週期階段,請參閱每個 AWS Encryption SDK 儲存庫中的 SUPPORT_POLICY.rst 檔案。

如需詳細資訊,請參閱《 AWS SDKs 和工具參考指南》中的 和 的版本 AWS Encryption SDK 開發套件和工具維護政策。 AWS SDKs

進一步了解

如需 AWS Encryption SDK 和用戶端加密的詳細資訊,請嘗試這些來源。

如需 AWS Encryption SDK 不同程式設計語言之 實作的相關資訊。

傳送意見回饋

我們誠摯歡迎您提供意見回饋。如果您有問題或意見、問題或報告,請使用以下資源。

  • 如果您在 中發現潛在的安全性漏洞 AWS Encryption SDK,請通知 AWS 安全性。請勿建立公有 GitHub 問題。

  • 若要提供 的意見回饋 AWS Encryption SDK,請在 GitHub 儲存庫中針對您正在使用的程式設計語言提出問題。

  • 若要提供本文件的意見回饋,請使用此頁面上的意見回饋連結。您也可以對 aws-encryption-sdk-docs (GitHub 上此文件的開放原始碼儲存庫) 提出問題或使其更加完善。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。