PKCS#11 Anbieter - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PKCS#11 Anbieter

Mit der Anbieterkomponente PKCS #11 (aws.greengrass.crypto.Pkcs11Provider) können Sie die AWS IoT Greengrass Core-Software so konfigurieren, dass sie über die PKCS#11 -Schnittstelle ein Hardware-Sicherheitsmodul (HSM) verwendet. Mit dieser Komponente können Sie Zertifikats- und private Schlüsseldateien sicher speichern, sodass sie nicht offengelegt oder in der Software dupliziert werden. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.

Um ein Greengrass-Core-Gerät bereitzustellen, das sein Zertifikat und seinen privaten Schlüssel in einem speichertHSM, müssen Sie diese Komponente bei der Installation der AWS IoT Greengrass Core-Software als Provisioning-Plugin angeben. Weitere Informationen finden Sie unter Installieren Sie die AWS IoT Greengrass Core-Software mit manueller Ressourcenbereitstellung.

AWS IoT Greengrass stellt diese Komponente als JAR Datei bereit, die Sie herunterladen können, um sie bei der Installation als Provisioning-Plugin anzugeben. Sie können die neueste Version der JAR Komponentendatei wie folgt herunterladenURL: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 2.0.x

Typ

Diese Komponente ist eine Plugin-Komponente (aws.greengrass.plugin). Der Greengrass-Kern führt diese Komponente in derselben Java Virtual Machine (JVM) wie der Nucleus aus. Der Nucleus wird neu gestartet, wenn Sie die Version dieser Komponente auf dem Core-Gerät ändern.

Diese Komponente verwendet dieselbe Protokolldatei wie der Greengrass-Kern. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann nur auf Linux-Core-Geräten installiert werden.

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Ein Hardware-Sicherheitsmodul, das das PKCS#1 v1.5-Signaturschema und RSA Schlüssel mit einer Schlüsselgröße von RSA -2048 (oder größer) oder mehr unterstützt. ECC

    Anmerkung

    Um ein Hardware-Sicherheitsmodul mit ECC Schlüsseln zu verwenden, müssen Sie Greengrass Nucleus v2.5.6 oder höher verwenden.

    Um ein Hardware-Sicherheitsmodul und einen Secret Manager zu verwenden, müssen Sie ein Hardware-Sicherheitsmodul mit Schlüsseln verwenden. RSA

  • Eine PKCS #11 -Anbieterbibliothek, die die AWS IoT Greengrass Core-Software zur Laufzeit laden kann (mit libdl), um PKCS #11 -Funktionen aufzurufen. Die PKCS #11 -Anbieterbibliothek muss die folgenden PKCS #11 API -Operationen implementieren:

    • 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

  • Das Hardwaremodul muss anhand der Steckplatzbezeichnung aufgelöst werden können, wie in der Spezifikation PKCS #11 definiert.

  • Sie müssen den privaten Schlüssel und das HSM Zertifikat im selben Steckplatz speichern, und sie müssen dieselbe Objektbezeichnung und Objekt-ID verwenden, sofern sie ein Objekt HSM IDs unterstützen.

  • Das Zertifikat und der private Schlüssel müssen durch Objektbezeichnungen aufgelöst werden können.

  • Der private Schlüssel muss über die folgenden Berechtigungen verfügen:

    • sign

    • decrypt

  • (Optional) Um die Secret Manager-Komponente verwenden zu können, müssen Sie Version 2.1.0 oder höher verwenden, und der private Schlüssel muss über die folgenden Berechtigungen verfügen:

    • unwrap

    • wrap

  • (Optional) Wenn Sie die TPM2 Bibliothek verwenden und den Greengrass Core als Service ausführen, müssen Sie eine Umgebungsvariable mit dem Speicherort des PKCS #11 -Speichers angeben. Das folgende Beispiel ist eine Systemd-Dienstdatei mit der erforderlichen Umgebungsvariablen:

    [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

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, stellt sie AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können auch die Abhängigkeiten für jede Version der Komponente in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

2.0.8

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.8 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.5.3 <2.14.0 Weich
2.0.7

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2,5,3 <2,13,0 Weich
2.0.6

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.6 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.5.3 <2.12.0 Weich
2.0.5

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.5 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.5.3 <2.11.0 Weich
2.0.4

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.5.3 <2.10.0 Weich
2.0.3

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.3 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2,5,3 <2,9,0 Weich
2.0.2

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2,5,3 <2,8,0 Weich
2.0.1

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2,5,3 <2,7,0 Weich
2.0.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2,5,3 <2,6,0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

name

Ein Name für die PKCS #11 -Konfiguration.

library

Der absolute Dateipfad zur Bibliothek der PKCS #11 -Implementierung, die die AWS IoT Greengrass Core-Software mit libdl laden kann.

slot

Die ID des Steckplatzes, der den privaten Schlüssel und das Gerätezertifikat enthält. Dieser Wert unterscheidet sich vom Steckplatzindex oder der Steckplatzbezeichnung.

userPin

Der BenutzerPIN, der für den Zugriff auf den Steckplatz verwendet werden soll.

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

Lokale Protokolldatei

Diese Komponente verwendet dieselbe Protokolldatei wie die Greengrass Nucleus-Komponente.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen /greengrass/v2 oder C:\greengrass\v2 mit dem Pfad zum AWS IoT Greengrass Stammordner.

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

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

2.0.8

Die Version wurde für die Version 2.13.0 von Greengrass Nucleus aktualisiert.

2.0.7

Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert.

2.0.6

Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert.

2.0.5

Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert.

2.0.4

Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert.

2.0.3

Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert.

2.0.2

Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert.

2.0.1

Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert.

2.0.0

Erste Version