

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

# Amazon SES 和安全通訊協定
<a name="security-protocols"></a>

本主題說明在連線至 Amazon SES 以及 Amazon SES 遞送郵件給接收者時，可使用的安全通訊協定。

## 電子郵件寄件者對 Amazon SES
<a name="security-client-to-ses"></a>

您連線至 Amazon SES 所使用的安全通訊協定，取決於您使用的是 Amazon SES API 還是 Amazon SES SMTP 界面，詳情如下。

### HTTPS
<a name="security-client-to-ses-api"></a>

如果您使用 Amazon SES API （直接或透過 AWS SDK)，則所有通訊都會透過 Amazon SES HTTPS 端點由 TLS 加密。Amazon SES HTTPS 端點支援 TLS 1.2 和 TLS 1.3。

### SMTP 界面
<a name="security-client-to-ses-smtp"></a>

如果您透過 SMTP 界面存取 Amazon SES，則需使用 Transport Layer Security (TLS) 加密連線。請注意，TLS 通常是指前置工作通訊協定的名稱，Secure Sockets Layer (SSL)。

Amazon SES 支援透過兩種機制來建立 TLS 加密連線：STARTTLS 和 TLS Wrapper。
+ **STARTTLS** - STARTTLS 是一種將未加密連線升級為加密連線的方法。各種通訊協定適用的 STARTTLS 版本各不相同，[RFC 3207](https://www.ietf.org/rfc/rfc3207.txt) 定有 SMTP 版本的規範。對於 STARTTLS 連線，Amazon SES 支援 TLS 1.2 和 TLS 1.3。
+ **TLS Wrapper** - TLS Wrapper (也稱為 SMTPS 或 Handshake 通訊協定) 是一種無需先建立未加密連線來啟動加密連線的方法。使用 TLS Wrapper 時，Amazon SES SMTP 端點不會執行 TLS 交涉：使用 TLS 連接端點、在整個對話過程中使用 TLS 來繼續等工作都是用戶端的責任。TLS Wrapper 是較舊的通訊協定，但是仍受許多用戶端支援。針對 TLS Wrapper 連線，Amazon SES 支援 TLS 1.2 和 TLS 1.3。

如需使用這些方法連線至 Amazon SES SMTP 界面的資訊，請參閱「[連線到 Amazon SES SMTP 端點](smtp-connect.md)」。

## Amazon SES 對接收者
<a name="security-ses-to-receiver"></a>

 雖然 TLS 1.3 是我們的預設交付方法，但 SES 可以使用舊版 TLS 將電子郵件交付至郵件伺服器。

預設情況下，Amazon SES 使用*隨機 TLS*。SES 中的機會式 TLS 一律使用 STARTTLS，且不包含 TLS 包裝函式。流程涉及建立初始純文字連線，如果用戶端和伺服器都支援 STARTTLS，則升級到 TLS 加密工作階段。如果 SES 無法建立安全連線，它會傳送未加密的訊息。

您可以透過使用組態集來變更這種行為。使用 [PutConfigurationSetDeliveryOptions](https://docs.aws.amazon.com/ses/latest/APIReference/API_PutConfigurationSetDeliveryOptions.html) API 操作來將組態集的 `TlsPolicy` 屬性設為 `Require`。您可以使用 [AWS CLI](https://aws.amazon.com/cli) 來進行此變更。

**將 Amazon SES 設定為需要組態集的 TLS 連線**
+ 在命令列中輸入以下命令：

  ```
  aws sesv2 put-configuration-set-delivery-options --configuration-set-name {{MyConfigurationSet}} --tls-policy REQUIRE
  ```

  在上述範例中，使用您組態集的名稱來取代 {{MyConfigurationSet}}。

  如果 Amazon SES 能建立安全連線，當您傳送使用此組態集的電子郵件時，就只會將此訊息傳送至接收電子郵件伺服器。如果 Amazon SES 無法與接收電子郵件伺服器建立安全連線，則會捨棄此訊息。

## 端對端加密
<a name="security-end-to-end"></a>

您可以使用 Amazon SES 傳送以 S/MIME 或 PGP 加密的訊息。使用這些通訊協定的訊息會由寄件者加密。其內容只能由擁有解密訊息所需之私有金鑰的收件人檢視。

Amazon SES 支援以下 MIME 類型，您可以用來傳送 S/MIME 加密的電子郵件：
+ `application/pkcs7-mime`
+ `application/pkcs7-signature`
+ `application/x-pkcs7-mime`
+ `application/x-pkcs7-signature`

Amazon SES 也支援以下 MIME 類型，您可以用來傳送 PGP 加密的電子郵件：
+ `application/pgp-encrypted`
+ `application/pgp-keys`
+ `application/pgp-signature`