

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SES およびセキュリティプロトコル
<a name="security-protocols"></a>

このトピックでは、Amazon SES に接続する際、そして Amazon SES が受信者に E メールを送信する際に使用できるセキュリティプロトコルについて説明します。

## E メール送信者から 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 ラッパーという 2 つのメカニズムをサポートしています。
+ **STARTTLS** – STARTTLS とは、暗号化されていない接続を暗号化された接続にアップグレードする方法です。STARTTLS には、様々なプロトコルに対応したバージョンがあります。SMTP バージョンは、「[RFC 3207](https://www.ietf.org/rfc/rfc3207.txt)」に定義されています。STARTTLS 接続の場合、Amazon SES は TLS 1.2 と TLS 1.3 をサポートします。
+ **TLS Wrapper** – TLS Wrapper (SMTPS またはハンドシェイクプロトコルとも呼ばれる) は、最初に暗号化されていない接続を確立するのではなく、最初から暗号化された接続を開始する方法です。TLS ラッパーを使用する場合、Amazon SES SMTP エンドポイントは TLS ネゴシエーションを実行しません。TLS を使用してエンドポイントに接続し、通信全体で TLS の使用を継続するのはクライアントの役割です。TLS ラッパーは古いプロトコルですが、数多くのクライアントが今もサポートしています。TLS ラッパー接続の場合、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 を使用してメールサーバーに E メールを配信できます。

デフォルトで、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) を使用できます。

**設定セットに TLS 接続を要求するよう Amazon SES を設定するには**
+ コマンドラインで以下のコマンドを入力します。

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

  前述の例では、*MyConfigurationSet* をお客様の設定セットの名前に置き換えます。

  この設定セットを使用して E メールを送信する場合、Amazon SES は、安全な接続を確立できる受信 E メールサーバーに対してのみメッセージを送信します。受信 E メールサーバーへの安全な接続が確立できない場合、Amazon SES はメッセージを破棄します。

## エンドツーエンドの暗号化
<a name="security-end-to-end"></a>

Amazon SES を使用して、S/MIME または PGP を使用して暗号化されたメッセージを送信できます。これらのプロトコルを使用するメッセージは、送信者によって暗号化されます。これらのコンテンツは、メッセージを復号化するために必要なプライベートキーを有する受信者のみが表示できます。

Amazon SES では以下の MIME タイプがサポートされ、S/MIME で暗号化された E メールを送信するために使用できます。
+ `application/pkcs7-mime`
+ `application/pkcs7-signature`
+ `application/x-pkcs7-mime`
+ `application/x-pkcs7-signature`

Amazon SES では以下の MIME タイプ もサポートされており、PGP で暗号化された E メールを送信するために使用できます。
+ `application/pgp-encrypted`
+ `application/pgp-keys`
+ `application/pgp-signature`