

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

# 的加密最佳實務 AWS Encryption SDK
<a name="encryption-sdk"></a>

[AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html) 是開放原始碼的用戶端加密程式庫。它使用產業標準和最佳實務來支援多種[程式設計語言](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/programming-languages.html)的實作和互通性。 使用安全、經過驗證的對稱金鑰演算法 AWS Encryption SDK 來加密資料，並提供遵循密碼編譯最佳實務的預設實作。如需詳細資訊，請參閱 [AWS Encryption SDK中的支援演算法套件](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/supported-algorithms.html)。

的其中一個主要功能 AWS Encryption SDK 是支援加密使用中的資料。透過採用encrypt-then-use方法，您可以在應用程式邏輯處理敏感資料之前對其進行加密。這有助於保護資料免受潛在的暴露或竄改，即使應用程式本身受到安全事件的影響。

請考慮此服務的下列最佳實務：
+ 遵循 [AWS Encryption SDK的最佳實務](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/best-practices.html)中的所有建議。
+ 選取一或多個包裝金鑰，以協助保護您的資料金鑰。如需詳細資訊，請參閱[選取包裝金鑰](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/configure.html#config-keys)。
+ 將 `KeyId`** **參數傳遞給 [ReEncrypt](https://docs.aws.amazon.com/cli/latest/reference/kms/re-encrypt.html) 操作以協助防止使用不受信任的 KMS 金鑰。如需詳細資訊，請參閱[改善用戶端加密：明確 KeyIds 和金鑰承諾](https://aws.amazon.com/blogs/security/improved-client-side-encryption-explicit-keyids-and-key-commitment/) (AWS 部落格文章）。
+  AWS Encryption SDK 搭配 使用 時 AWS KMS，請使用本機`KeyId`篩選。如需詳細資訊，請參閱[改善用戶端加密：明確 KeyIds 和金鑰承諾](https://aws.amazon.com/blogs/security/improved-client-side-encryption-explicit-keyids-and-key-commitment/) (AWS 部落格文章）。
+ 對於需要加密或解密大量流量的應用程式，或您的帳戶超過 AWS KMS [請求配額](https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html)，您可以使用 [的資料金鑰快取](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/data-key-caching.html)功能 AWS Encryption SDK。請注意資料金鑰快取的下列最佳實務：
  + 設定[快取安全閾值](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/thresholds.html)以限制每個已快取資料金鑰可使用的時間長度，以及依據每個資料金鑰可以保護的資料數量。如需設定這些閾值時的建議，請參閱[設定快取安全閾值](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/thresholds.html)。
  + 將本機快取限制為實現特定應用程式使用案例效能改進所需的最小資料金鑰數。如需設定本機快取限制的指示和範例，請參閱[使用資料金鑰快取：逐步](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/implement-caching.html)。

  如需詳細資訊，請參閱[AWS Encryption SDK：如何判斷資料金鑰快取是否適合您的應用程式](https://aws.amazon.com/blogs/security/aws-encryption-sdk-how-to-decide-if-data-key-caching-is-right-for-your-application/) (AWS 部落格文章）。