Key management for the Greengrass core device - Amazon IoT Greengrass
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Amazon IoT Greengrass Version 1 no longer receives feature updates, and will receive only security patches and bug fixes until June 30, 2023. For more information, see the Amazon IoT Greengrass V1 maintenance policy. We strongly recommend that you migrate to Amazon IoT Greengrass Version 2, which adds significant new features and support for additional platforms.

Key management for the Greengrass core device

It's the responsibility of the customer to guarantee secure storage of cryptographic (public and private) keys on the Greengrass core device. Amazon IoT Greengrass uses public and private keys for the following scenarios:

  • The IoT client key is used with the IoT certificate to authenticate the Transport Layer Security (TLS) handshake when a Greengrass core connects to Amazon IoT Core. For more information, see Device authentication and authorization for Amazon IoT Greengrass.


    The key and certificate are also referred to as the core private key and the core device certificate.

  • The MQTT server key is used the MQTT server certificate to authenticate TLS connections between core and client devices. For more information, see Device authentication and authorization for Amazon IoT Greengrass.

  • The local secrets manager also uses the IoT client key to protect the data key used to encrypt local secrets, but you can provide your own private key. For more information, see Secrets encryption.

A Greengrass core supports private key storage using file system permissions, hardware security modules, or both. If you use file system-based private keys, you are responsible for their secure storage on the core device.

On a Greengrass core, the location of your private keys are specified in the crypto section of the config.json file. If you configure the core to use a customer-provided key for the MQTT server certificate, it is your responsibility to rotate the key. For more information, see Amazon IoT Greengrass core security principals.

For client devices, it's your responsibility to keep the TLS stack up to date and protect private keys. Private keys are used with device certificates to authenticate TLS connections with the Amazon IoT Greengrass service.