

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 数据加密
<a name="data-encryption"></a>

AWS IoT Greengrass 使用加密来保护传输中的数据（通过 Internet 或本地网络）和静态数据（存储在 AWS 云）。

 AWS IoT Greengrass 环境中的设备通常会收集发送到 AWS 服务以供进一步处理的数据。有关其他 AWS 服务上的数据加密的更多信息，请参阅该服务的安全文档。

**Topics**
+ [传输中加密](encryption-in-transit.md)
+ [静态加密](encryption-at-rest.md)
+ [Greengrass 核心设备的密钥管理](key-management.md)

# 传输中加密
<a name="encryption-in-transit"></a>

AWS IoT Greengrass 在传输数据时有三种通信模式：
+ [通过 Internet 传输的数据](#data-in-transit-internet)。 Greengrass 核心与互联网之间的通信是加密的 AWS IoT Greengrass 。
+ [通过本地网络传输的数据](#data-in-transit-local-network). Greengrass 核心设备和客户端设备通过本地网络进行的通信是加密的。
+ [核心设备上的数据](#data-in-transit-locally). Greengrass 核心设备上的组件之间的通信未加密

## 通过 Internet 传输的数据
<a name="data-in-transit-internet"></a>

AWS IoT Greengrass 使用传输层安全 (TLS) 加密互联网上的所有通信。发送到的所有数据都使用 MQTT 或 HTTPS 协议通过 TLS 连接发送，因此默认情况下它是安全的。 AWS 云 AWS IoT Greengrass 使用 AWS IoT 传输安全模型。有关更多信息，请参阅 *AWS IoT Core 开发人员指南*中的[传输安全](https://docs.aws.amazon.com/iot/latest/developerguide/transport-security.html)。

## 通过本地网络传输的数据
<a name="data-in-transit-local-network"></a>

AWS IoT Greengrass 使用 TLS 对 Greengrass 核心设备和客户端设备之间通过本地网络进行的所有通信进行加密。有关详细信息，请参阅[用于本地网络通信的支持密码套件](gg-sec.md#gg-cipher-suites)。

您需要负责保护本地网络和私钥的安全。<a name="customer-responsibility-device-security"></a>

对于 Greengrass 核心设备，您需要负责：  
+ 使用最新的安全补丁保持内核为最新状态。
+ 使用最新的安全补丁保持系统库为最新状态。
+ 保护私钥安全。有关更多信息，请参阅 [Greengrass 核心设备的密钥管理](key-management.md)。

对于客户端设备，您需要负责：  
+ 使 TLS 堆栈保持最新状态。
+ 保护私钥安全。

## 核心设备上的数据
<a name="data-in-transit-locally"></a>

AWS IoT Greengrass 不会加密在 Greengrass 核心设备上本地交换的数据，因为数据不会离开设备。这包括用户定义的 Lambda 函数、连接器、 AWS IoT Greengrass Core SDK 和系统组件（例如流管理器）之间的通信。

# 静态加密
<a name="encryption-at-rest"></a>

AWS IoT Greengrass 存储您的数据：
+ [中的静态数据 AWS 云](#data-at-rest-cloud). 此数据已加密。
+ [Greengrass 核心上的静态数据](#data-at-rest-device). 此数据未加密（密钥的本地副本除外）。

## 中的静态数据 AWS 云
<a name="data-at-rest-cloud"></a>

AWS IoT Greengrass 对存储在. 中的客户数据进行加密。 AWS 云这些数据使用由管理的 AWS KMS 密钥进行保护 AWS IoT Greengrass。

## Greengrass 核心上的静态数据
<a name="data-at-rest-device"></a>

AWS IoT Greengrass 依靠 Unix 文件权限和全盘加密（如果启用）来保护核心上的静态数据。您负责确保文件系统和设备的安全性。

但是， AWS IoT Greengrass 会对从中检索到的机密的本地副本进行加密 AWS Secrets Manager。有关更多信息，请参阅 [密钥加密](secrets.md#secrets-encryption)。

# Greengrass 核心设备的密钥管理
<a name="key-management"></a>

客户有责任保证在 Greengrass 核心设备上安全存储加密（公共和私有）密钥。在以下情况下， AWS IoT Greengrass 使用公钥和私钥：
+ IoT 客户端密钥与 IoT 证书一起使用，以便在 Greengrass 核心连接 AWS IoT Core时对传输层安全性 (TLS) 握手进行身份验证。有关更多信息，请参阅 [设备身份验证和授权 AWS IoT Greengrass](device-auth.md)。
**注意**  
密钥和证书也称为核心私钥和核心设备证书。
+ MQTT 服务器密钥用于 MQTT 服务器证书对核心设备和客户端设备之间的 TLS 连接进行身份验证。有关更多信息，请参阅 [设备身份验证和授权 AWS IoT Greengrass](device-auth.md)。
+ 本地 Secrets Manager 还使用 IoT 客户端密钥来保护用于加密本地机密的数据密钥，但您可以提供自己的私钥。有关更多信息，请参阅 [密钥加密](secrets.md#secrets-encryption)。

Greengrass 核心支持使用文件系统权限、[硬件安全模块](hardware-security.md)或同时使用两者进行的私钥存储。如果您使用基于文件系统的私钥，您需要负责在核心设备上安全存储这些私钥。

在 Greengrass 核心上，您的私钥位置在 `config.json` 文件的 `crypto` 部分中指定。如果您将核心配置为使用客户提供的 MQTT 服务器证书的密钥，您需要负责轮换该密钥。有关更多信息，请参阅 [AWS IoT Greengrass 核心安全主体](gg-sec.md#gg-principals)。

对于客户端设备，您需要负责使 TLS 堆栈保持最新状态并保护私钥安全。私钥与设备证书一起使用，用于对与 AWS IoT Greengrass 服务的 TLS 连接进行身份验证。