View a markdown version of this page

运输安全 AWS IoT Core - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

运输安全 AWS IoT Core

TLS(传输层安全性协议)是一种加密协议,旨在通过计算机网络进行安全通信。 AWS IoT Core 设备网关要求客户在设备与网关的连接中使用 TLS 对传输中的所有通信进行加密。TLS 用于实现所支持的应用程序协议(MQTT、HTTP 和 WebSocket)的 AWS IoT Core机密性。TLS 支持适用于许多编程语言和操作系统。 AWS 其中的数据由特定 AWS 服务加密。有关其他 AWS 服务上的数据加密的更多信息,请参阅该服务的安全文档。

TLS 协议

AWS IoT Core 支持以下版本的 TLS 协议:

  • TLS 1.3

  • TLS 1.2

使用 AWS IoT Core,您可以在域配置中配置 TLS 设置(适用于 TLS 1.2 和 TLS 1.3)。有关更多信息,请参阅 在域配置中配置 TLS 设置

安全策略

安全策略是 TLS 协议及其密码的组合,此协议及其密码用于确定在客户端和服务器之间的 TLS 协商期间支持哪些协议和密码。您可以根据需要将设备配置为使用预定义的安全策略。请注意, AWS IoT Core 这不支持自定义安全策略。

连接设备时,您可以为设备选择一种预定义的安全策略 AWS IoT Core。中最新的预定义安全策略的名称 AWS IoT Core 包括基于其发布年份和月份的版本信息。非AWS GovCloud (US) 区域的默认预定义安全策略IoTSecurityPolicy_TLS13_1_2_2022_01IoTSecurityPolicy_TLS13_1_2_2022_10和 AWS GovCloud (US) 区域。要指定安全策略,您可以使用 AWS IoT 控制台或 AWS CLI。有关更多信息,请参阅 在域配置中配置 TLS 设置

下表描述了 AWS IoT Core 支持的最新预定义安全策略。为了使策略名称能够容纳在标题行中,已将 IotSecurityPolicy_ 从名称中删除。

安全策略 TLS13_1_3_2022_10 TLS13_1_2_2022_10 TLS12_1_2_2022_10 TLS12_1_0_2016_01* TLS12_1_0_2015_01* TLS13_1_2_2022_01*
TCP 端口

443/8443/8883

443/8443/8883

443/8443/8883

443 8443/8883 443 8443/8883

443/8443/8883

TLS 协议
TLS 1.2
TLS 1.3
TLS 密码
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
DHE-RSA-AES256-SHA
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA
注意

TLS12_1_0_2016_01仅在以下版本中可用 AWS 区域:ap-east-1、ap-northeast-2、ap-southeast-1、ap-southeast-2、ca-central-1、cn-northeast-1、cn-northeast-1、eu-west-2、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-east-1、us-west-1、us-west-2。

TLS13_1_2_2022_01仅在 AWS GovCloud (US) 地区可用。

有关运输安全的重要注意事项 AWS IoT Core

对于 AWS IoT Core 使用 MQTT 连接的设备,TLS 会加密设备与代理之间的连接,并 AWS IoT Core 使用 TLS 客户端身份验证来识别设备。有关更多信息,请参阅客户端身份验证。对于 AWS IoT Core 使用 HTTP 连接的设备,TLS 会加密设备与代理之间的连接,并将身份验证委托给 AWS 签名版本 4。有关更多信息,请参阅《AWS 一般参考》中的使用签名版本 4 签署请求

将设备连接到时 AWS IoT Core,发送服务器名称指示 (SNI) 扩展名不是必需的,但强烈建议您这样做。要使用多账户注册自定义域VPC 端点以及配置的 TLS 策略等特征,您必须使用 SNI 扩展并在 host_name 字段中提供完整的端点地址。host_name 字段必须包含您调用的端点。该端点必须是以下端点之一:

使用错误或无效host_name值的设备尝试的连接将失败。 AWS IoT Core 将为 “自定义身份验证” CloudWatch 的身份验证类型记录失败。

AWS IoT Core 不支持 SessionTicket TLS 扩展

LoRaWAN 无线设备的传输安全

LoRa广域网设备遵循金雅拓、Actility和Semtech在LoRa广域网™ 安全:为 LoRa 联盟准备的白皮书™ 中描述的安全实践。

有关 LoRa WAN 设备传输安全的更多信息,请参阅 LoRaWAN 数据和传输安全