Fornitore PKCS #11 - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fornitore PKCS #11

Il componente provider PKCS #11 (aws.greengrass.crypto.Pkcs11Provider) consente di configurare il software AWS IoT Greengrass Core per l'utilizzo di un modulo di sicurezza hardware (HSM) tramite l'interfaccia PKCS #11. Questo componente consente di archiviare in modo sicuro i file di certificati e chiavi private in modo che non vengano esposti o duplicati nel software. Per ulteriori informazioni, consulta Integrazione della sicurezza hardware.

Per effettuare il provisioning di un dispositivo core Greengrass che memorizza il certificato e la chiave privata in un HSM, è necessario specificare questo componente come plug-in di provisioning quando si installa il software Core. AWS IoT Greengrass Per ulteriori informazioni, consulta Installa il software AWS IoT Greengrass Core con provisioning manuale delle risorse.

AWS IoT Greengrassfornisce questo componente come file JAR che potete scaricare e specificare come plug-in di provisioning durante l'installazione. È possibile scaricare la versione più recente del file JAR del componente al seguente URL: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versioni

Questo componente ha le seguenti versioni:

  • 2.0.x

Type

Questo componente è un componente del plugin ()aws.greengrass.plugin. Il nucleo Greengrass esegue questo componente nella stessa Java Virtual Machine (JVM) del nucleo. Il nucleo si riavvia quando si modifica la versione di questo componente sul dispositivo principale.

Questo componente utilizza lo stesso file di registro del nucleo Greengrass. Per ulteriori informazioni, consulta Monitora AWS IoT Greengrass i registri.

Per ulteriori informazioni, consultare Tipi di componenti.

Sistema operativo

Questo componente può essere installato solo sui dispositivi principali di Linux.

Requisiti

Questo componente ha i seguenti requisiti:

  • Un modulo di sicurezza hardware che supporta lo schema di firma PKCS #1 v1.5 e le chiavi RSA con chiave RSA-2048 (o superiore) o chiavi ECC.

    Nota

    Per utilizzare un modulo di sicurezza hardware con chiavi ECC, è necessario utilizzare Greengrass nucleus v2.5.6 o versione successiva.

    Per utilizzare un modulo di sicurezza hardware e un gestore segreto, è necessario utilizzare un modulo di sicurezza hardware con chiavi RSA.

  • Una libreria di provider PKCS #11 che il software AWS IoT Greengrass Core può caricare in fase di esecuzione (usando libdl) per richiamare le funzioni PKCS #11. La libreria del provider PKCS #11 deve implementare le seguenti operazioni API PKCS #11:

    • 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

  • Il modulo hardware deve essere risolvibile mediante l'etichetta dello slot, come definito nella specifica PKCS#11.

  • È necessario archiviare la chiave privata e il certificato nell'HSM nello stesso slot e utilizzare la stessa etichetta e lo stesso ID dell'oggetto, se l'HSM supporta gli ID degli oggetti.

  • Il certificato e la chiave privata devono essere risolvibili mediante etichette di oggetti.

  • La chiave privata deve avere le seguenti autorizzazioni:

    • sign

    • decrypt

  • (Facoltativo) Per utilizzare il componente Secret Manager, è necessario utilizzare la versione 2.1.0 o successiva e la chiave privata deve disporre delle seguenti autorizzazioni:

    • unwrap

    • wrap

  • (Facoltativo) Se si utilizza la libreria TPM2 e si esegue il core Greengrass come servizio, è necessario fornire una variabile di ambiente con la posizione dell'archivio PKCS #11. L'esempio seguente è un file di servizio systemd con la variabile di ambiente richiesta:

    [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

Dipendenze

Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console. AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.0.7

La tabella seguente elenca le dipendenze per la versione 2.0.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.13.0 Flessibili
2.0.6

La tabella seguente elenca le dipendenze per la versione 2.0.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.12.0 Flessibili
2.0.5

La tabella seguente elenca le dipendenze per la versione 2.0.5 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.11.0 Flessibili
2.0.4

La tabella seguente elenca le dipendenze per la versione 2.0.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.10.0 Flessibili
2.0.3

La tabella seguente elenca le dipendenze per la versione 2.0.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.9.0 Flessibili
2.0.2

La tabella seguente elenca le dipendenze per la versione 2.0.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.8.0 Flessibili
2.0.1

La tabella seguente elenca le dipendenze per la versione 2.0.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.7.0 Flessibili
2.0.0

La tabella seguente elenca le dipendenze per la versione 2.0.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.5.3 <2.6.0 Flessibili

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

name

Un nome per la configurazione PKCS #11.

library

Il percorso assoluto del file alla libreria dell'implementazione PKCS #11 che il software AWS IoT Greengrass Core può caricare con libdl.

slot

L'ID dello slot che contiene la chiave privata e il certificato del dispositivo. Questo valore è diverso dall'indice o dall'etichetta dello slot.

userPin

Il PIN utente da utilizzare per accedere allo slot.

Esempio: fusione e aggiornamento della configurazione
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

File di registro locale

Questo componente utilizza lo stesso file di registro del componente Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

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

Changelog

La tabella seguente descrive le modifiche in ogni versione del componente.

Versione

Modifiche

2.0.7

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

2.0.6

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.0.5

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.0.4

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.0.3

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.0.2

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

2.0.1

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.0.0

Versione iniziale.