Amazon IoT Core 中的传输安全 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Core 中的传输安全

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

TLS 协议

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

  • TLS 1.3

  • TLS 1.2

安全策略

注意

此特征在中国不可用。

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

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

下表描述了 Amazon 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*
TCP 端口

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 仅在以下 Amazon Web Services 区域 中可用: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-gov-west-1、us-gov-west-2、us-west-1。

TLS12_1_0_2015_01 仅在以下 Amazon Web Services 区域 中可用:ap-northeast-1、ap-southeast-1、eu-central-1、eu-west-1、us-east-1、us-west-2。

有关 Amazon IoT Core 中的传输安全性的重要注意事项

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

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

host_name 值不正确或无效的设备尝试的连接将失败。Amazon IoT Core 将针对自定义身份验证的身份验证类型将失败记录到 CloudWatch。

Amazon IoT Core 不支持会话票证 TLS 扩展

LoRaWAN 无线设备的传输安全

LoRaWAN 设备遵循 LoRAWAN™ 安全性:Gemalto、Actility 和 Semtech 为 LoRa Alliance™ 准备的白皮书中所述的安全实践。

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

连接安全性

Amazon IoT Core 消息代理和设备影子服务依赖于使用加密和 TLS 1.2 以及 TLS 1.3 进行通信。Amazon IoT Core 支持以下 TLS 密码包:

  • ECDHE-ECDSA-AES128-GCM-SHA256(推荐)

  • ECDHE-RSA-AES128-GCM-SHA256(推荐)

  • ECDHE-ECDSA-AES128-SHA256

  • ECDHE-RSA-AES128-SHA256

  • ECDHE-ECDSA-AES128-SHA

  • ECDHE-RSA-AES128-SHA

  • ECDHE-ECDSA-AES256- GCM-SHA384

  • ECDHE-RSA-AES256- GCM-SHA384

  • ECDHE-ECDSA-AES256-SHA384

  • ECDHE-RSA-AES256-SHA384

  • ECDHE-RSA-AES256-SHA

  • ECDHE-ECDSA-AES256-SHA

  • AES128-GCM-SHA256

  • AES128-SHA256

  • AES128-SHA

  • AES256-GCM-SHA384

  • AES256-SHA256

  • AES256-SHA