PKCSfournisseur #11 - AWS IoT Greengrass

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.

PKCSfournisseur #11

Le composant fournisseur PKCS #11 (aws.greengrass.crypto.Pkcs11Provider) vous permet de configurer le logiciel AWS IoT Greengrass Core pour utiliser un module de sécurité matériel (HSM) via l'interface PKCS #11. Ce composant vous permet de stocker en toute sécurité les fichiers de certificats et de clés privées afin qu'ils ne soient pas exposés ou dupliqués dans le logiciel. Pour de plus amples informations, veuillez consulter Intégration de sécurité matérielle.

Pour approvisionner un appareil principal Greengrass qui stocke son certificat et sa clé privée dans unHSM, vous devez spécifier ce composant en tant que plug-in de provisionnement lorsque vous installez le AWS IoT Greengrass logiciel Core. Pour de plus amples informations, veuillez consulter Installation AWS IoT Greengrass du logiciel Core avec provisionnement manuel des ressources.

AWS IoT Greengrass fournit ce composant sous forme de JAR fichier que vous pouvez télécharger pour le spécifier en tant que plugin de provisionnement lors de l'installation. Vous pouvez télécharger la dernière version du JAR fichier du composant à l'adresse suivante URL : https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versions

Les versions de ce composant sont les suivantes :

  • 2,0.x

Type

Ce composant est un composant de plugin (aws.greengrass.plugin). Le noyau Greengrass exécute ce composant dans la même machine virtuelle Java (JVM) que le noyau. Le noyau redémarre lorsque vous modifiez la version de ce composant sur le périphérique principal.

Ce composant utilise le même fichier journal que le noyau Greengrass. Pour de plus amples informations, veuillez consulter AWS IoT GreengrassJournaux de surveillance.

Pour de plus amples informations, veuillez consulter Types de composants.

Système d’exploitation

Ce composant ne peut être installé que sur les appareils principaux de Linux.

Prérequis

Ce composant répond aux exigences suivantes :

  • Module de sécurité matériel qui prend en charge le schéma de signature PKCS#1 v1.5 et RSA les clés d'une taille de clé de RSA -2048 (ou plus) ou de clés. ECC

    Note

    Pour utiliser un module de sécurité matériel avec des ECC clés, vous devez utiliser Greengrass nucleus v2.5.6 ou version ultérieure.

    Pour utiliser un module de sécurité matériel et un gestionnaire de secrets, vous devez utiliser un module de sécurité matériel avec des RSA clés.

  • Une bibliothèque de fournisseur PKCS #11 que le logiciel AWS IoT Greengrass Core peut charger au moment de l'exécution (à l'aide de libdl) pour invoquer les fonctions PKCS #11. La bibliothèque du fournisseur PKCS #11 doit implémenter les API opérations PKCS #11 suivantes :

    • C_Initialize

    • C_Finalize

    • C_GetSlotList

    • C_GetSlotInfo

    • C_GetTokenInfo

    • C_OpenSession

    • C_GetSessionInfo

    • C_CloseSession

    • C_Login

    • C_Logout

    • C_GetAttributeValue

    • C_FindObjectsInit

    • C_FindObjects

    • C_FindObjectsFinal

    • C_DecryptInit

    • C_Decrypt

    • C_DecryptUpdate

    • C_DecryptFinal

    • C_SignInit

    • C_Sign

    • C_SignUpdate

    • C_SignFinal

    • C_GetMechanismList

    • C_GetMechanismInfo

    • C_GetInfo

    • C_GetFunctionList

  • Le module matériel doit pouvoir être résolu par étiquette d'emplacement, comme défini dans la spécification PKCS #11.

  • Vous devez stocker la clé privée et le certificat HSM dans le même emplacement, et ils doivent utiliser le même libellé et le même identifiant d'objet, s'ils sont compatibles HSM avec l'objetIDs.

  • Le certificat et la clé privée doivent pouvoir être résolus par des libellés d'objets.

  • La clé privée doit disposer des autorisations suivantes :

    • sign

    • decrypt

  • (Facultatif) Pour utiliser le composant secret manager, vous devez utiliser la version 2.1.0 ou ultérieure, et la clé privée doit disposer des autorisations suivantes :

    • unwrap

    • wrap

  • (Facultatif) Si vous utilisez la TPM2 bibliothèque et exécutez le noyau de Greengrass en tant que service, vous devez fournir une variable d'environnement indiquant l'emplacement du magasin PKCS #11. L'exemple suivant est un fichier de service systemd contenant la variable d'environnement requise :

    [Unit] Description=Greengrass Core After=network.target [Service] Type=simple PIDFile=/var/run/greengrass.pid Environment=TPM2_PKCS11_STORE=/path/to/store/directory RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target

Dépendances

Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances de chaque version du composant dans la AWS IoT Greengrass console. Sur la page de détails du composant, recherchez la liste des dépendances.

2.0.8

Le tableau suivant répertorie les dépendances pour la version 2.0.8 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,14,0 Flexible
2.0.7

Le tableau suivant répertorie les dépendances pour la version 2.0.7 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,13,0 Flexible
2.0.6

Le tableau suivant répertorie les dépendances pour la version 2.0.6 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,12,0 Flexible
2.0.5

Le tableau suivant répertorie les dépendances pour la version 2.0.5 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,11,0 Flexible
2.0.4

Le tableau suivant répertorie les dépendances pour la version 2.0.4 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,1,0 Flexible
2.0.3

Le tableau suivant répertorie les dépendances pour la version 2.0.3 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,9,0 Flexible
2.0.2

Le tableau suivant répertorie les dépendances pour la version 2.0.2 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,8,0 Flexible
2.0.1

Le tableau suivant répertorie les dépendances pour la version 2.0.1 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,7,0 Flexible
2.0.0

Le tableau suivant répertorie les dépendances pour la version 2.0.0 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,5,3 <2,6,0 Flexible

Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.

Configuration

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

name

Nom de la configuration PKCS #11.

library

Le chemin de fichier absolu vers la bibliothèque de l'implémentation PKCS #11 que le logiciel AWS IoT Greengrass Core peut charger avec libdl.

slot

L'ID du slot qui contient la clé privée et le certificat de l'appareil. Cette valeur est différente de l'index ou de l'étiquette du slot.

userPin

L'utilisateur PIN à utiliser pour accéder au slot.

Exemple : mise à jour de la fusion de configurations
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

Fichier journal local

Ce composant utilise le même fichier journal que le composant Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Pour consulter les journaux de ce composant
  • Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacer /greengrass/v2 ou C:\greengrass\v2 avec le chemin d'accès au dossier AWS IoT Greengrass racine.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Journal des modifications

Le tableau suivant décrit les modifications apportées à chaque version du composant.

Version

Modifications

2.0.8

Version mise à jour pour la version 2.13.0 de Greengrass Nucleus.

2.0.7

Version mise à jour pour la version 2.12.0 de Greengrass Nucleus.

2.0.6

Version mise à jour pour la version 2.11.0 de Greengrass Nucleus.

2.0.5

Version mise à jour pour la version 2.10.0 de Greengrass Nucleus.

2.0.4

Version mise à jour pour la version 2.9.0 de Greengrass Nucleus.

2.0.3

Version mise à jour pour la version 2.8.0 de Greengrass Nucleus.

2.0.2

Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.

2.0.1

Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.

2.0.0

Première version.