

Avis de fin de support : le 7 octobre 2026, AWS le support de. AWS IoT Greengrass Version 1 Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur [Migrer depuis AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégration de sécurité matérielle
<a name="hardware-security"></a>

Cette fonctionnalité est disponible pour AWS IoT Greengrass Core v1.7 et versions ultérieures.

AWS IoT Greengrass prend en charge l'utilisation de modules de sécurité matériels (HSM) via l'[interface PKCS \$111](#hardware-security-see-also) pour le stockage sécurisé et le déchargement des clés privées. Cela empêche les clés d'être exposées ou dupliquées dans les logiciels. Les clés privées peuvent être stockées en toute sécurité sur des modules matériels HSMs, tels que des modules de plate-forme sécurisée (TPM) ou d'autres éléments cryptographiques.

Recherchez les appareils qualifiés pour cette fonctionnalité dans le [catalogue des AWS Partner appareils](https://devices.amazonaws.com/search?kw=%22HSI%22&page=1).

Le schéma suivant montre l'architecture de sécurité matérielle d'un AWS IoT Greengrass cœur.

![\[AWS IoT Greengrass Core architecture with hardware security and message routing to AWS IoT Core and local devices.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/hardware-security-arch.png)


Sur une installation standard, AWS IoT Greengrass utilise deux clés privées. Une clé est utilisée par le composant AWS IoT client (client IoT) lors de la poignée de main TLS (Transport Layer Security) lorsqu'un noyau Greengrass se connecte à. AWS IoT Core(Cette clé est également appelée la clé privée principale.) L'autre clé est utilisée par le serveur MQTT local, ce qui permet aux appareils Greengrass de communiquer avec le noyau Greengrass. Si vous souhaitez utiliser la sécurité matérielle des deux composants, vous pouvez utiliser une clé privée partagée ou des clés privées séparées. Pour de plus amples informations, veuillez consulter [Pratiques de provisionnement pour la sécurité AWS IoT Greengrass du matériel](#optional-provisioning).

**Note**  
Sur une installation standard, le Secrets Manager local utilise également la clé du client IoT pour ses processus de chiffrement, mais vous pouvez utiliser votre propre clé privée. Il doit s’agir d’une clé RSA avec une longueur minimale de 2 048 bits. Pour de plus amples informations, veuillez consulter [Spécifier la clé privée pour chiffrer un secret](secrets.md#secrets-config-private-key).

## Prérequis
<a name="hardware-security-reqs"></a>

Pour pouvoir configurer la sécurité matérielle d'un noyau Greengrass, vous devez disposer des éléments suivants :
+ Un module de sécurité matériel (HSM) qui prend en charge votre configuration de clé privée cible pour le client IoT, le serveur MQTT local et les composants Secrets Manager locaux. La configuration peut inclure une, deux ou trois clés privées basée sur le matériel, selon que vous configurez les composants pour partager les clés ou non. Pour plus d'informations sur la prise en charge des clés privées, consultez [AWS IoT Greengrass principes de sécurité fondamentaux](gg-sec.md#gg-principals).
  + Pour les clés RSA : une clé RSA de 2 048 bits (ou plus) et un schéma de signature [PKCS\$1 1 v1.5](#hardware-security-see-also).
  + Pour les clés EC : une courbe NIST P-256 ou NIST P-384.
**Note**  
Recherchez les appareils qualifiés pour cette fonctionnalité dans le [catalogue des AWS Partner appareils](https://devices.amazonaws.com/search?kw=%22HSI%22&page=1).
+ Fournisseur de bibliothèque PKCS\$111 qui est chargeable au moment de l'exécution (en utilisant libdl) et qui fournit des fonctions [PKCS\$111](#hardware-security-see-also).
+ Le module matériel doit être résolu par étiquette d'emplacement, tel que défini dans la spécification PKCS\$111.
+ La clé privée doit être générée et chargée sur le HSM en utilisant les outils de mise en service fournis par le fournisseur.
+ La clé privée doit être résolue par étiquette d'objet.
+ Le certificat de l'appareil noyau. Il s'agit d'un certificat client IoT qui correspond à la clé privée.
+ Si vous utilisez l'agent de mise à jour Greengrass OTA, la bibliothèque wrapper [OpenSSL libp11](https://github.com/OpenSC/libp11) PKCS \$111 doit être installée. Pour de plus amples informations, veuillez consulter [Configurer le support pour les over-the-air mises à jour](#hardware-security-ota-updates).

En outre, vérifiez que les conditions suivantes sont réunies :
+ Les certificats clients IoT associés à la clé privée sont enregistrés AWS IoT et activés. Vous pouvez le vérifier dans la AWS IoT console sous **Gérer**, développer **Tous les appareils**, sélectionner **Objets** et choisir l'onglet **Certificats** pour l'élément principal.
+ Le logiciel AWS IoT Greengrass Core v1.7 ou version ultérieure est installé sur le périphérique principal, comme décrit dans le [module 2](module2.md) du didacticiel de démarrage. La version 1.9 ou ultérieure est requise pour utiliser une clé EC pour le serveur MQTT.
+ Les certificats sont attachés au noyau Greengrass. Vous pouvez le vérifier sur la page **Gérer** pour l'essentiel de la AWS IoT console.

**Note**  
Actuellement, AWS IoT Greengrass il n'est pas possible de charger le certificat CA ou le certificat client IoT directement depuis le HSM. Les certificats doivent être chargés en tant que fichiers de texte brut sur le système de fichiers dans un emplacement lisible par Greengrass.

## Configuration de sécurité matérielle pour un AWS IoT Greengrass cœur
<a name="configure-hardware-security"></a>

La sécurité matérielle est configurée dans le fichier de configuration de Greengrass. Il s'agit du fichier [`config.json`](gg-core.md#config-json) qui se trouve dans le répertoire `/greengrass-root/config`.

**Note**  
Pour passer en revue le processus de mise en place d'une configuration HSM à l'aide d'une implémentation purement logicielle, consultez [Module 7 : Simulation de l'intégration de la sécurité matérielle](console-mod7.md).  
La configuration simulée de l'exemple n'apporte aucun avantage de sécurité. Elle a pour objectif de vous permettre de découvrir la spécification PKCS\$111 et d'effectuer des tests initiaux sur votre logiciel si vous prévoyez d'utiliser un HSM basé sur le matériel.

Pour configurer la sécurité matérielle dans AWS IoT Greengrass, vous devez modifier l'`crypto`objet dans`config.json`.

Lorsque vous utilisez la sécurité matérielle, l'objet `crypto` est utilisé pour spécifier les chemins d'accès aux certificats, clés privées et ressources de la bibliothèque du fournisseur PKCS \$1 11 sur le noyau, comme illustré dans l'exemple suivant.

```
"crypto": {
  "PKCS11" : {
    "OpenSSLEngine" : "/path-to-p11-openssl-engine",
    "P11Provider" : "/path-to-pkcs11-provider-so",
    "slotLabel" : "crypto-token-name",
    "slotUserPin" : "crypto-token-user-pin"
  },
  "principals" : {
    "IoTCertificate" : {
      "privateKeyPath" : "pkcs11:object=core-private-key-label;type=private",
      "certificatePath" : "file:///path-to-core-device-certificate"
    },
    "MQTTServerCertificate" : {
      "privateKeyPath" : "pkcs11:object=server-private-key-label;type=private"
    },
    "SecretsManager" : {
      "privateKeyPath": "pkcs11:object=core-private-key-label;type=private"
    }
  },    
  "caPath" : "file:///path-to-root-ca"
```

L'objet `crypto` contient les propriétés suivantes :


| Champ | Description | Remarques | 
| --- |--- |--- |
| caPath |  Le chemin absolu vers l'autorité de certification AWS IoT racine.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  Assurez-vous que vos [points de terminaison correspondent à votre type de certificat](gg-core.md#certificate-endpoints).   | 
| `PKCS11` | 
| --- |
| OpenSSLEngine |  Facultatif. Chemin d'accès absolu au fichier de moteur OpenSSL `.so` pour activer la prise en charge PKCS \$1 11 sur OpenSSL.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers. Cette propriété est requise si vous utilisez l'agent de mise à jour Greengrass OTA avec sécurité matérielle. Pour de plus amples informations, veuillez consulter [Configurer le support pour les over-the-air mises à jour](#hardware-security-ota-updates).  | 
| P11Provider |  Chemin absolu vers la bibliothèque libdl-loadable d'implémentation PKCS \$1 11.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers.  | 
| slotLabel |  Étiquette d'emplacement qui est utilisée pour identifier le module matériel.  |  Doit se conformer aux spécifications d'étiquette PKCS \$1 11.  | 
| slotUserPin |  Le code PIN utilisateur utilisé pour authentifier le noyau de Greengrass auprès du module.  |  Vous devez disposer d'autorisations suffisantes pour exécuter C\$1Sign avec les clés privées configurées.  | 
| `principals` | 
| --- |
| IoTCertificate | Certificat et clé privée que le noyau utilise pour effectuer des demandes à AWS IoT. | 
| IoTCertificate  .privateKeyPath  |  Chemin d'accès à la clé privée principale.  |  Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette.  | 
| IoTCertificate  .certificatePath |  Chemin d'accès absolu au certificat de votre noyau.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  | 
| MQTTServerCertificate |  Facultatif. Clé privée que le noyau utilise en combinaison avec le certificat pour agir en tant que passerelle ou serveur MQTT.  | 
| MQTTServerCertificate  .privateKeyPath |  Chemin d'accès à la clé privée du serveur MQTT local.  |  Utilisez cette valeur pour spécifier votre propre clé privée pour le serveur MQTT local. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. Si cette propriété est omise, fait AWS IoT Greengrass pivoter la clé en fonction de vos paramètres de rotation. Si cette propriété est spécifiée, le client est responsable de la rotation de la clé.  | 
| SecretsManager | Clé privée qui sécurise la clé de données utilisée pour le chiffrement. Pour de plus amples informations, veuillez consulter [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md). | 
| SecretsManager  .privateKeyPath |  Chemin d'accès à la clé privée du Secrets Manager local.  |  Seule une clé RSA est prise en charge. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. La clé privée doit être générée à l'aide du mécanisme de remplissage [PKCS\$11 v1.5](https://tools.ietf.org/html/rfc2313).  | 


| Champ | Description | Remarques | 
| --- |--- |--- |
| caPath |  Le chemin absolu vers l'autorité de certification AWS IoT racine.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  Assurez-vous que vos [points de terminaison correspondent à votre type de certificat](gg-core.md#certificate-endpoints).   | 
| `PKCS11` | 
| --- |
| OpenSSLEngine |  Facultatif. Chemin d'accès absolu au fichier de moteur OpenSSL `.so` pour activer la prise en charge PKCS \$1 11 sur OpenSSL.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers. Cette propriété est requise si vous utilisez l'agent de mise à jour Greengrass OTA avec sécurité matérielle. Pour de plus amples informations, veuillez consulter [Configurer le support pour les over-the-air mises à jour](#hardware-security-ota-updates).  | 
| P11Provider |  Chemin absolu vers la bibliothèque libdl-loadable d'implémentation PKCS \$1 11.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers.  | 
| slotLabel |  Étiquette d'emplacement qui est utilisée pour identifier le module matériel.  |  Doit se conformer aux spécifications d'étiquette PKCS \$1 11.  | 
| slotUserPin |  Le code PIN utilisateur utilisé pour authentifier le noyau de Greengrass auprès du module.  |  Vous devez disposer d'autorisations suffisantes pour exécuter C\$1Sign avec les clés privées configurées.  | 
| `principals` | 
| --- |
| IoTCertificate | Certificat et clé privée que le noyau utilise pour effectuer des demandes à AWS IoT. | 
| IoTCertificate  .privateKeyPath  |  Chemin d'accès à la clé privée principale.  |  Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette.  | 
| IoTCertificate  .certificatePath |  Chemin d'accès absolu au certificat de votre noyau.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  | 
| MQTTServerCertificate |  Facultatif. Clé privée que le noyau utilise en combinaison avec le certificat pour agir en tant que passerelle ou serveur MQTT.  | 
| MQTTServerCertificate  .privateKeyPath |  Chemin d'accès à la clé privée du serveur MQTT local.  |  Utilisez cette valeur pour spécifier votre propre clé privée pour le serveur MQTT local. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. Si cette propriété est omise, fait AWS IoT Greengrass pivoter la clé en fonction de vos paramètres de rotation. Si cette propriété est spécifiée, le client est responsable de la rotation de la clé.  | 
| SecretsManager | Clé privée qui sécurise la clé de données utilisée pour le chiffrement. Pour de plus amples informations, veuillez consulter [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md). | 
| SecretsManager  .privateKeyPath |  Chemin d'accès à la clé privée du Secrets Manager local.  |  Seule une clé RSA est prise en charge. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. La clé privée doit être générée à l'aide du mécanisme de remplissage [PKCS\$11 v1.5](https://tools.ietf.org/html/rfc2313).  | 


| Champ | Description | Remarques | 
| --- |--- |--- |
| caPath |  Le chemin absolu vers l'autorité de certification AWS IoT racine.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  Assurez-vous que vos [points de terminaison correspondent à votre type de certificat](gg-core.md#certificate-endpoints).   | 
| `PKCS11` | 
| --- |
| OpenSSLEngine |  Facultatif. Chemin d'accès absolu au fichier de moteur OpenSSL `.so` pour activer la prise en charge PKCS \$1 11 sur OpenSSL.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers. Cette propriété est requise si vous utilisez l'agent de mise à jour Greengrass OTA avec sécurité matérielle. Pour de plus amples informations, veuillez consulter [Configurer le support pour les over-the-air mises à jour](#hardware-security-ota-updates).  | 
| P11Provider |  Chemin absolu vers la bibliothèque libdl-loadable d'implémentation PKCS \$1 11.  |  Doit être un chemin d'accès à un fichier sur le système de fichiers.  | 
| slotLabel |  Étiquette d'emplacement qui est utilisée pour identifier le module matériel.  |  Doit se conformer aux spécifications d'étiquette PKCS \$1 11.  | 
| slotUserPin |  Le code PIN utilisateur utilisé pour authentifier le noyau de Greengrass auprès du module.  |  Vous devez disposer d'autorisations suffisantes pour exécuter C\$1Sign avec les clés privées configurées.  | 
| `principals` | 
| --- |
| IoTCertificate | Certificat et clé privée que le noyau utilise pour effectuer des demandes à AWS IoT. | 
| IoTCertificate  .privateKeyPath  |  Chemin d'accès à la clé privée principale.  |  Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette.  | 
| IoTCertificate  .certificatePath |  Chemin d'accès absolu au certificat de votre noyau.  |  Il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`.  | 
| MQTTServerCertificate |  Facultatif. Clé privée que le noyau utilise en combinaison avec le certificat pour agir en tant que passerelle ou serveur MQTT.  | 
| MQTTServerCertificate  .privateKeyPath |  Chemin d'accès à la clé privée du serveur MQTT local.  |  Utilisez cette valeur pour spécifier votre propre clé privée pour le serveur MQTT local. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. Si cette propriété est omise, fait AWS IoT Greengrass pivoter la clé en fonction de vos paramètres de rotation. Si cette propriété est spécifiée, le client est responsable de la rotation de la clé.  | 
| SecretsManager | Clé privée qui sécurise la clé de données utilisée pour le chiffrement. Pour de plus amples informations, veuillez consulter [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md). | 
| SecretsManager  .privateKeyPath |  Chemin d'accès à la clé privée du Secrets Manager local.  |  Seule une clé RSA est prise en charge. Pour le stockage de système de fichiers, il doit s'agir de l'URI d'un fichier du formulaire : `file:///absolute/path/to/file`. Pour le stockage HSM, il doit s'agir du chemin d'accès [RFC WF-7512 PKCS \$1 11](https://tools.ietf.org/html/rfc7512) qui spécifie l'objet étiquette. La clé privée doit être générée à l'aide du mécanisme de remplissage [PKCS\$11 v1.5](https://tools.ietf.org/html/rfc2313).  | 

## Pratiques de provisionnement pour la sécurité AWS IoT Greengrass du matériel
<a name="optional-provisioning"></a>

Voici les pratiques de mise en service liées à la sécurité et aux performances.

**Sécurité**  
  
+ Générer des clés privées directement sur le HSM en utilisant le générateur de nombres aléatoires du matériel interne.
**Note**  
[Si vous configurez des clés privées à utiliser avec cette fonctionnalité (en suivant les instructions fournies par le fournisseur du matériel), sachez que seul le mécanisme de rembourrage de la PKCS1 version 1.5 est AWS IoT Greengrass actuellement pris en charge pour le chiffrement et le déchiffrement des secrets locaux.](secrets.md) AWS IoT Greengrass ne prend pas en charge le rembourrage asymétrique optimal (OAEP).
+ Configurer les clés privées pour interdire l'exportation.
+ Utilisez l'outil de provisionnement fourni par le fournisseur du matériel pour générer une demande de signature de certificat (CSR) à l'aide de la clé privée protégée par le matériel, puis utilisez la AWS IoT console pour générer un certificat client.
La pratique de la rotation des clés ne s'applique pas lorsque les clés privées sont générées sur un HSM.

**Performances**  <a name="hsm-performance"></a>
Le schéma suivant montre le composant client IoT et le serveur MQTT local sur le AWS IoT Greengrass cœur. Si vous souhaitez utiliser une configuration HSM pour les deux composants, vous pouvez utiliser la même clé privée partagée ou des clés privées distinctes. Si vous utilisez des clés distinctes, elles doivent être stockées dans le même emplacement.  
AWS IoT Greengrass n'impose aucune limite au nombre de clés que vous stockez sur le HSM. Vous pouvez donc stocker des clés privées pour le client IoT, le serveur MQTT et les composants du gestionnaire de secrets. Toutefois, certains fournisseurs de modules HSM peuvent imposer des limites sur le nombre de clés que vous pouvez stocker dans un emplacement.

![\[IoT client and MQTT server interacting with AWS IoT Greengrass Core and AWS IoT Core.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/multi-key-diagram.png)

En général, la clé client IoT n'est pas utilisée très fréquemment car le logiciel AWS IoT Greengrass Core maintient des connexions de longue durée avec le cloud. Toutefois, la clé de serveur MQTT est utilisée chaque fois qu'un appareil Greengrass se connecte au noyau. Ces interactions affectent directement les performances.  
Lorsque la clé de serveur MQTT est stockée sur le HSM, la vitesse à laquelle les appareils peuvent se connecter dépend du nombre d'opérations de signature RSA par seconde que le HSM peut effectuer. Par exemple, si le HSM met 300 millisecondes pour exécuter une signature RSASSA- PKCS1 -v1.5 sur une clé privée RSA-2048, seuls trois appareils peuvent se connecter au cœur de Greengrass par seconde. Une fois que les connexions sont effectuées, le HSM n'est plus utilisé et les [quotas standard pour AWS IoT Greengrass](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass) s'appliquent.  
Pour réduire les goulets d'étranglement de performances, vous pouvez stocker la clé privée du serveur MQTT sur le système de fichiers plutôt que sur le HSM. Avec cette configuration, le serveur MQTT se comporte comme si la sécurité matérielle n'était pas activée.  
AWS IoT Greengrass prend en charge plusieurs configurations de stockage de clés pour les composants du client IoT et du serveur MQTT, afin que vous puissiez optimiser vos exigences en matière de sécurité et de performances. Le tableau suivant présente des exemples de configurations.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/hardware-security.html)
Pour configurer le noyau de Greengrass afin d'utiliser des clés basées sur le système de fichiers pour le serveur MQTT, omettez la `principals.MQTTServerCertificate` section `config.json` (ou spécifiez un chemin d'accès à la clé basé sur un fichier si vous n'utilisez pas la clé par défaut générée par). AWS IoT Greengrass L'objet `crypto` qui en résulte ressemble à ceci :  

```
"crypto": {
  "PKCS11": {
    "OpenSSLEngine": "...",
    "P11Provider": "...",
    "slotLabel": "...",
    "slotUserPin": "..."
  },
  "principals": {
    "IoTCertificate": {
      "privateKeyPath": "...",
      "certificatePath": "..."
    },      
    "SecretsManager": {
      "privateKeyPath": "..."
    }
  },    
  "caPath" : "..."
}
```

## Suites de chiffrement prises en charge pour l'intégration de sécurité matérielle
<a name="cipher-suites-for-hsm"></a>

AWS IoT Greengrass prend en charge un ensemble de suites de chiffrement lorsque le cœur est configuré pour la sécurité matérielle. Il s'agit d'un sous-ensemble de suites de chiffrement qui sont prises en charge lorsque l’appareil principal (core) est configuré pour utiliser une sécurité basée sur les fichiers. Pour de plus amples informations, veuillez consulter [Prise en charge des suites de chiffrement TLS](gg-sec.md#gg-cipher-suites).

**Note**  
En cas de connexion à l’appareil principal (core) Greengrass à partir d’appareils Greengrass sur le réseau local, veillez à utiliser l'une des suites de chiffrement prises en charge pour effectuer la connexion TLS.

## Configurer le support pour les over-the-air mises à jour
<a name="hardware-security-ota-updates"></a>

Pour activer les mises à jour over-the-air (OTA) du logiciel AWS IoT Greengrass Core lorsque vous utilisez la sécurité matérielle, vous devez installer la [bibliothèque wrapper OpenSC libp11 PKCS](https://github.com/OpenSC/libp11) \$111 et modifier le fichier de configuration Greengrass. Pour plus d'informations sur les mises à jour OTA, consultez [Mises à jour OTA du logiciel AWS IoT Greengrass Core](core-ota-update.md).

1. Arrêtez le démon Greengrass.

   ```
   cd /greengrass-root/ggc/core/
   sudo ./greengrassd stop
   ```
**Note**  
*greengrass-root*représente le chemin d'installation du logiciel AWS IoT Greengrass Core sur votre appareil. Généralement, il s'agit du répertoire `/greengrass`.

1. Installez le moteur OpenSSL. OpenSSL 1.0 ou 1.1 sont pris en charge.

   ```
   sudo apt-get install libengine-pkcs11-openssl
   ```

1. Trouvez le chemin d'accès au moteur OpenSSL (`libpkcs11.so`) sur votre système :

   1. Obtenez la liste des packages installés de la bibliothèque.

      ```
      sudo dpkg -L libengine-pkcs11-openssl
      ```

      Le fichier `libpkcs11.so` est situé dans le répertoire `engines`.

   1. Copiez le chemin complet dans le fichier, par exemple, `/usr/lib/ssl/engines/libpkcs11.so`.

1. Ouvrez le fichier de configuration Greengrass. Il s'agit du fichier [`config.json`](gg-core.md#config-json) dans le répertoire `/greengrass-root/config`.

1. Pour la propriété `OpenSSLEngine`, entrez le chemin d'accès au fichier `libpkcs11.so`.

   ```
   {
    "crypto": {
      "caPath" : "file:///path-to-root-ca",
      "PKCS11" : {
        "OpenSSLEngine" : "/path-to-p11-openssl-engine",
        "P11Provider" : "/path-to-pkcs11-provider-so",
        "slotLabel" : "crypto-token-name",
        "slotUserPin" : "crypto-token-user-pin"
       },
       ...
     }
     ...
   }
   ```
**Note**  
Si la propriété `OpenSSLEngine` n'existe pas dans l'objet `PKCS11`, ajoutez-la.

1. Démarrez le démon Greengrass.

   ```
   cd /greengrass-root/ggc/core/
   sudo ./greengrassd start
   ```

## Rétrocompatibilité avec les versions antérieures du logiciel AWS IoT Greengrass principal
<a name="hardware-security-backward-compatibiity"></a>

Le logiciel AWS IoT Greengrass Core avec prise en charge de la sécurité matérielle est entièrement rétrocompatible avec `config.json` les fichiers générés pour les versions 1.6 et antérieures. Si l'`crypto`objet n'est pas présent dans le fichier `config.json` de configuration, il AWS IoT Greengrass utilise les `coreThing.caPath` propriétés `coreThing.certPath``coreThing.keyPath`, et basées sur des fichiers. Cette rétrocompatibilité s'applique aux mises à jour OTA de Greengrass, qui ne remplacent pas une configuration basée sur un fichier spécifié dans `config.json`.

## Prise en charge du matériel sans PKCS \$1 11
<a name="hardware-without-pkcs11"></a>

La bibliothèque PKCS \$1 11 est généralement fournie par le fournisseur de matériel ou est en open source. Par exemple, avec du matériel conforme aux normes (tel que TPM1 .2), il peut être possible d'utiliser des logiciels open source existants. Toutefois, si votre matériel ne dispose pas d'une implémentation de bibliothèque PKCS \$111 correspondante, ou si vous souhaitez créer un fournisseur PKCS \$111 personnalisé, vous devez contacter votre représentant du AWS Support aux entreprises pour toute question relative à l'intégration.

## Consultez aussi
<a name="hardware-security-see-also"></a>
+ *PKCS \$111 Cryptographic Token Interface Usage Guide Version 2.40*. Révisé par John Leiseboer et Robert Griffin. 16 novembre 2014. Note 02 du comité OASIS. [http://docs.oasis-open. org/pkcs11/pkcs11-ug/v2.40/cn02/pkcs11-ug-v2.40-cn02.html](http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/cn02/pkcs11-ug-v2.40-cn02.html). Dernière version : [http://docs.oasis-open. org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html](http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html).
+ [RFC 7512](https://tools.ietf.org/html/rfc7512)
+ [PKCS \$11 : version de chiffrement RSA 1.5](https://tools.ietf.org/html/rfc2313)