

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

# 中的傳輸安全性 AWS IoT Core
<a name="transport-security"></a>

TLS (Transport Layer Security) 是一種加密通訊協定，專為透過電腦網路進行安全通訊而設計。 AWS IoT Core Device Gateway 要求客戶在傳輸期間加密所有通訊，方法是使用 TLS 從裝置連線至 Gateway。TLS 可針對 AWS IoT Core支援的應用程式通訊協定 (MQTT、HTTP 和 WebSocket)，達到其機密性。多種程式設計語言與作業系統提供 TLS 支援。內的資料由特定 AWS 服務 AWS 加密。如需其他服務資料加密的詳細資訊 AWS ，請參閱該服務的安全文件。

**Topics**
+ [TLS 通訊協定](#tls-ssl-policy)
+ [安全政策](#tls-policy-table)
+ [中傳輸安全的重要注意事項 AWS IoT Core](#tls-ssl-core)
+ [LoRaWAN 無線裝置的傳輸安全性](#tls-lorawan)

## TLS 通訊協定
<a name="tls-ssl-policy"></a>

AWS IoT Core 支援下列版本的 TLS 通訊協定：
+ TLS 1.3 
+ TLS 1.2

使用 AWS IoT Core，您可以在網域組態中設定 TLS 設定 （適用於 [TLS 1.2](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2) 和 [TLS 1.3)。](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.3)如需詳細資訊，請參閱[在網域組態中設定 TLS 設定](iot-endpoints-tls-config.md)。

## 安全政策
<a name="tls-policy-table"></a>

安全政策是 TLS 通訊協定及其密碼的組合，用來決定在用戶端與伺服器之間進行 TLS 交涉期間所支援的通訊協定和密碼。您可根據需要將裝置設定為使用預先定義的安全政策。請注意， AWS IoT Core 不支援自訂安全政策。

連線裝置時，您可以選擇其中一個預先定義的安全政策 AWS IoT Core。中最新預先定義安全政策的名稱 AWS IoT Core 包括根據發行月份和年份的版本資訊。非AWS GovCloud (US) 區域的預設預先定義安全政策為`IoTSecurityPolicy_TLS13_1_2_2022_01` AWS GovCloud (US) 區域 `IoTSecurityPolicy_TLS13_1_2_2022_10`和 。若要指定安全政策，您可以使用 AWS IoT 主控台或 AWS CLI。如需詳細資訊，請參閱[在網域組態中設定 TLS 設定](iot-endpoints-tls-config.md)。

下表說明 AWS IoT Core 支援的最新預先定義安全政策。已從標頭列的政策名稱移除 `IotSecurityPolicy_`，使其相符。


<table>
<thead>
  <tr><th>安全政策</th><th>TLS13\_1\_3\_2022\_10</th><th>TLS13\_1\_2\_2022\_10</th><th>TLS12\_1\_2\_2022\_10</th><th colspan="2">TLS12\_1\_0\_2016\_01\*</th><th colspan="2">TLS12\_1\_0\_2015\_01\*</th><th>TLS13\_1\_2\_2022\_01\*</th></tr>
</thead>
<tbody>
  <tr><td>TCP 連接埠</td><td>443/8443/8883</td><td>443/8443/8883</td><td>443/8443/8883</td><td>443</td><td>8443/8883</td><td>443</td><td>8443/8883</td><td>443/8443/8883</td></tr>
  <tr><td colspan="9">TLS 通訊協定</td></tr>
  <tr><td>TLS 1.2</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>TLS 1.3</td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td>✓</td></tr>
  <tr><td colspan="9">TLS 加密</td></tr>
  <tr><td>TLS\_AES\_128\_GCM\_SHA256</td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td>✓</td></tr>
  <tr><td>TLS\_AES\_256\_GCM\_SHA384</td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td>✓</td></tr>
  <tr><td>TLS\_CHACHA20\_POLY1305\_SHA256</td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
  <tr><td>ECDHE-RSA-AES128-GCM-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-RSA-AES128-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-RSA-AES128-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-RSA-AES256-GCM-SHA384</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-RSA-AES256-SHA384</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-RSA-AES256-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>AES128-GCM-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
  <tr><td>AES128-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td></td><td>✓</td><td>✓</td><td></td></tr>
  <tr><td>AES128-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>AES256-GCM-SHA384</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
  <tr><td>AES256-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
  <tr><td>AES256-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>DHE-RSA-AES256-SHA</td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td></tr>
  <tr><td>ECDHE-ECDSA-AES128-GCM-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-ECDSA-AES128-SHA256</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-ECDSA-AES128-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-ECDSA-AES256-GCM-SHA384</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-ECDSA-AES256-SHA384</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
  <tr><td>ECDHE-ECDSA-AES256-SHA</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr>
</tbody>
</table>


**注意**  
`TLS12_1_0_2016_01` 僅適用於下列項目 AWS 區域：ap-east-1、ap-northeast-2、ap-south-1、ap-southeast-2、ca-central-1、cn-north-1、cn-northwest-1、eu-north-1、eu-west-2、eu-west-3、me-south-1、sa-east-1、us-east-2、us-west-1。  
`TLS12_1_0_2015_01` 僅適用於下列項目 AWS 區域：ap-northeast-1、ap-southeast-1、eu-central-1、eu-west-1、us-east-1、us-west-2。  
`TLS13_1_2_2022_01` 僅適用於 AWS GovCloud (US) 區域。

## 中傳輸安全的重要注意事項 AWS IoT Core
<a name="tls-ssl-core"></a>

對於 AWS IoT Core 使用 [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) 連線至 的裝置，TLS 會加密裝置與代理程式之間的連線， AWS IoT Core 並使用 TLS 用戶端身分驗證來識別裝置。如需更多資訊，請參閱[用戶端身分驗證](https://docs.aws.amazon.com//iot/latest/developerguide/client-authentication.html)。對於 AWS IoT Core 使用 [HTTP](https://docs.aws.amazon.com//iot/latest/developerguide/http.html) 連線至 的裝置，TLS 會加密裝置與代理程式之間的連線，並將身分驗證委派給 AWS Signature 第 4 版。如需詳細資訊，請參閱《AWS 一般參考》**中的[使用 Signature 第 4 版簽署請求](https://docs.aws.amazon.com//general/latest/gr/create-signed-request.html)。

當您將裝置連線至 時 AWS IoT Core，不需要傳送[伺服器名稱指示 (SNI) 擴充](https://tools.ietf.org/html/rfc3546#section-3.1)功能，但強烈建議您這麼做。若要使用[多帳戶註冊](https://docs.aws.amazon.com//iot/latest/developerguide/x509-client-certs.html#multiple-account-cert)、[自訂網域](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable-custom.html)、[VPC 端點](https://docs.aws.amazon.com//iot/latest/developerguide/IoTCore-VPC.html)和[已設定的 TLS 政策](https://docs.aws.amazon.com//iot/latest/developerguide/iot-endpoints-tls-config.html)等功能，您必須使用 SNI 延伸，並在 `host_name`欄位中提供完整的端點地址。該 `host_name` 欄位必須包含您正在呼叫的端點。該端點必須是下列其中一個：
+ `aws iot [describe-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) --endpoint-type iot:Data-ATS` 返回的 `endpointAddress`
+ `aws iot [describe-domain-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-domain-configuration.html) –-domain-configuration-name "{{domain_configuration_name}}"` 返回的 `domainName`

`host_name` 值不正確或無效的裝置嘗試的連線將會失敗。 AWS IoT Core 會針對[自訂身分驗證](https://docs.aws.amazon.com//iot/latest/developerguide/custom-authentication.html)的身分驗證類型，將失敗記錄到 CloudWatch。

AWS IoT Core 不支援 [SessionTicket TLS 延伸](https://www.ietf.org/rfc/rfc5077.txt)。

## LoRaWAN 無線裝置的傳輸安全性
<a name="tls-lorawan"></a>

LoRaWAN 裝置遵循 [LoRaWAN ™ SECURITY: A White Paper Prepared for the LoRa Alliance™ by Gemalto, Actility, and Semtech](https://lora-alliance.org/sites/default/files/2019-05/lorawan_security_whitepaper.pdf) 中所述的安全實務。

如需使用 LoRaWAN 裝置傳輸安全性的詳細資訊，請參閱 [LoRaWAN 資料和傳輸安全性](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-security.html)。