AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
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.
Integration von Hardware-Sicherheit
Diese Funktion ist für AWS IoT Greengrass Core v1.7 und höher verfügbar.
AWS IoT Greengrass unterstützt die Verwendung von Hardware-Sicherheitsmodulen (HSM) über die PKCS#11 -Schnittstelle für die sichere Speicherung und Übertragung von privaten Schlüsseln. Dadurch wird verhindert, dass Schlüssel in der Software freigelegt oder dupliziert werden. Private Schlüssel können sicher auf Hardwaremodulen wie HSMs Trusted Platform Modules (TPM) oder anderen kryptografischen Elementen gespeichert werden.
Suchen Sie im AWS Partner Gerätekatalog
Das folgende Diagramm zeigt die Hardware-Sicherheitsarchitektur für einen AWS IoT Greengrass Kern.
AWS IoT Greengrass Verwendet bei einer Standardinstallation zwei private Schlüssel. Ein Schlüssel wird von der AWS IoT Client-Komponente (IoT-Client) während des Transport Layer Security (TLS) -Handshakes verwendet, wenn ein Greengrass-Core eine Verbindung herstellt. AWS IoT Core(Dieser Schlüssel wird auch als privater Kernschlüssel bezeichnet.) Der andere Schlüssel wird vom lokalen MQTT Server verwendet, wodurch Greengrass-Geräte mit dem Greengrass-Core kommunizieren können. Wenn Sie die Hardware-Sicherheit für beide Komponenten verwenden möchten, können Sie einen gemeinsamen privaten Schlüssel oder separate private Schlüssel verwenden. Weitere Informationen finden Sie unter Bereitstellungspraktiken für die Hardwaresicherheit AWS IoT Greengrass.
Anmerkung
Bei einer Standardinstallation verwendet der lokale Secrets-Manager auch den IoT-Client-Schlüssel für seinen Verschlüsselungsprozess, aber Sie können auch Ihren eigenen privaten Schlüssel verwenden. Es muss sich um einen RSA Schlüssel mit einer Mindestlänge von 2048 Bit handeln. Weitere Informationen finden Sie unter Angeben des privaten Schlüssels für die Verschlüsselung von Secrets.
Voraussetzungen
Bevor Sie die Hardwaresicherheit für einen Greengrass Core konfigurieren können, müssen Sie Folgendes beachten:
-
Ein Hardware-Sicherheitsmodul (HSM), das Ihre private Zielschlüsselkonfiguration für die Komponenten IoT-Client, lokalen MQTT Server und Local Secrets Manager unterstützt. Die Konfiguration kann einen, zwei oder drei hardwarebasierte private Schlüssel beinhalten, je nachdem, ob Sie die Komponenten für die Freigabe von Schlüsseln konfigurieren. Weitere Informationen zur Unterstützung von privaten Schlüsseln finden Sie unter AWS IoT Greengrass zentrale Sicherheitsprinzipale.
Für RSA Schlüssel: Eine Schlüsselgröße von RSA -2048 (oder größer) und das Signaturschema PKCS#1 v1.5.
Für EC-Schlüssel: Eine NIST P-256- oder P-384-Kurve. NIST
Anmerkung
Suchen Sie im AWS Partner Gerätekatalog
nach Geräten, die für diese Funktion qualifiziert sind. -
Eine PKCS #11 -Anbieterbibliothek, die zur Laufzeit geladen werden kann (mit libdl) und PKCS#11 -Funktionen bereitstellt.
-
Das Hardwaremodul muss anhand der Steckplatzbezeichnung aufgelöst werden können, wie in der PKCS Spezifikation #11 definiert.
-
Der private Schlüssel muss mithilfe der HSM vom Hersteller bereitgestellten Bereitstellungstools generiert und auf den geladen werden.
-
Der private Schlüssel muss durch ein Objektlabel auflösbar sein.
-
Das Core-Gerätezertifikat. Dies ist ein IoT-Client-Zertifikat, das dem privaten Schlüssel entspricht.
-
Wenn Sie den Greengrass OTA Update Agent verwenden, muss die Open SSL libp11 PKCS #11
Wrapper-Bibliothek installiert sein. Weitere Informationen finden Sie unter Konfigurieren Sie die Unterstützung für Updates over-the-air .
Stellen Sie außerdem sicher, dass die folgenden Bedingungen erfüllt sind:
-
Die IoT-Client-Zertifikate, die dem privaten Schlüssel zugeordnet sind, sind registriert AWS IoT und aktiviert. Sie können dies in der AWS IoT Konsole unter Verwalten überprüfen, Alle Geräte erweitern, Dinge auswählen und dann die Registerkarte Zertifikate für den Kern auswählen.
-
Die AWS IoT Greengrass Core-Software v1.7 oder höher ist auf dem Core-Gerät installiert, wie in Modul 2 des Tutorials Erste Schritte beschrieben. Version 1.9 oder höher ist erforderlich, um einen EC-Schlüssel für den MQTT Server zu verwenden.
-
Die Zertifikate sind dem Greengrass Core angefügt. Sie können dies auf der Seite „Verwalten“ für das Kernelement in der AWS IoT Konsole überprüfen.
Anmerkung
Unterstützt derzeit AWS IoT Greengrass nicht das Laden des CA-Zertifikats oder des IoT-Client-Zertifikats direkt aus demHSM. Die Zertifikate müssen als Klartextdateien an einem Ort im Dateisystem geladen werden, der von Greengrass gelesen werden kann.
Hardwaresicherheitskonfiguration für einen AWS IoT Greengrass Kern
Die Hardware-Sicherheit wird in der Greengrass-Konfigurationsdatei konfiguriert. Dies ist die Datei config.json, die sich im Verzeichnis /
befindet.greengrass-root
/config
Anmerkung
Eine schrittweise Anleitung zum Einrichten einer HSM Konfiguration mithilfe einer reinen Softwareimplementierung finden Sie unterModul 7: Simulation der Hardware-Sicherheitsintegration.
Wichtig
Die simulierte Konfiguration im Beispiel bietet keine Sicherheitsvorteile. Es soll Ihnen ermöglichen, mehr über die PKCS #11 -Spezifikation zu erfahren und erste Tests Ihrer Software durchzuführen, falls Sie HSM in future eine hardwarebasierte Software verwenden möchten.
Um die Hardwaresicherheit in zu konfigurieren AWS IoT Greengrass, bearbeiten Sie das crypto
Objekt in. config.json
Bei Verwendung der Hardwaresicherheit wird das crypto
Objekt verwendet, um Pfade zu Zertifikaten, privaten Schlüsseln und Ressourcen für die PKCS #11 -Anbieterbibliothek auf dem Core anzugeben, wie im folgenden Beispiel gezeigt.
"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
"
Das crypto
-Objekt enthält die folgenden Eigenschaften:
Feld | Beschreibung | Hinweise |
---|---|---|
caPath |
Der absolute Pfad zur AWS IoT Stammzertifizierungsstelle. |
Muss eine Datei URI der Form sein: AnmerkungStellen Sie sicher, dass Ihre Endpunkte Ihrem Zertifikatstyp entsprechen. |
PKCS11 |
||
OpenSSLEngine |
Optional. Der absolute Pfad zur Open SSL |
Muss ein Pfad zu einer Datei im Dateisystem sein. Diese Eigenschaft ist erforderlich, wenn Sie den Greengrass OTA Update Agent mit Hardwaresicherheit verwenden. Weitere Informationen finden Sie unter Konfigurieren Sie die Unterstützung für Updates over-the-air . |
P11Provider |
Der absolute Pfad zur PKCS libdl-loadable-Bibliothek der #11 -Implementierung. |
Muss ein Pfad zu einer Datei im Dateisystem sein. |
slotLabel |
Das Slot-Label, das zur Identifizierung des Hardwaremoduls verwendet wird. |
Muss den Spezifikationen des #11 -Labels entsprechen. PKCS |
slotUserPin |
Der BenutzerPIN, der verwendet wird, um den Greengrass-Kern für das Modul zu authentifizieren. |
Muss über ausreichende Berechtigungen verfügen, um C_Sign mit den konfigurierten privaten Schlüsseln auszuführen. |
principals |
||
IoTCertificate |
Das Zertifikat und der private Schlüssel, die Core verwendet, um Anfragen AWS IoT zu stellen. | |
IoTCertificate .privateKeyPath
|
Der Pfad zum privaten Core-Schlüssel. |
Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln:. Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Der absolute Pfad zum Core-Gerätezertifikat. |
Muss eine Datei URI der Form sein: |
MQTTServerCertificate |
Optional. Der private Schlüssel, den der Kern in Kombination mit dem Zertifikat verwendet, um als MQTT Server oder Gateway zu fungieren. |
|
MQTTServerCertificate .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen MQTT Servers. |
Verwenden Sie diesen Wert, um Ihren eigenen privaten Schlüssel für den lokalen MQTT Server anzugeben. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 Wenn diese Eigenschaft weggelassen wird, wird der Schlüssel auf der Grundlage Ihrer Rotationseinstellungen AWS IoT Greengrass gedreht. Sofern angegeben, ist der Kunde für das Rotieren des Schlüssels verantwortlich. |
SecretsManager |
Der private Schlüssel, der den für die Verschlüsselung verwendeten Datenschlüssel schützt. Weitere Informationen finden Sie unter Bereitstellen von Secrets für den AWS IoT Greengrass Core. | |
SecretsManager .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen Secrets Managers. |
Es wird nur ein RSA Schlüssel unterstützt. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
Feld | Beschreibung | Hinweise |
---|---|---|
caPath |
Der absolute Pfad zur AWS IoT Root-CA. |
Muss eine Datei URI der Form sein: AnmerkungStellen Sie sicher, dass Ihre Endpunkte Ihrem Zertifikatstyp entsprechen. |
PKCS11 |
||
OpenSSLEngine |
Optional. Der absolute Pfad zur Open SSL |
Muss ein Pfad zu einer Datei im Dateisystem sein. Diese Eigenschaft ist erforderlich, wenn Sie den Greengrass OTA Update Agent mit Hardwaresicherheit verwenden. Weitere Informationen finden Sie unter Konfigurieren Sie die Unterstützung für Updates over-the-air . |
P11Provider |
Der absolute Pfad zur PKCS libdl-loadable-Bibliothek der #11 -Implementierung. |
Muss ein Pfad zu einer Datei im Dateisystem sein. |
slotLabel |
Das Slot-Label, das zur Identifizierung des Hardwaremoduls verwendet wird. |
Muss den Spezifikationen des #11 -Labels entsprechen. PKCS |
slotUserPin |
Der BenutzerPIN, der verwendet wird, um den Greengrass-Kern für das Modul zu authentifizieren. |
Muss über ausreichende Berechtigungen verfügen, um C_Sign mit den konfigurierten privaten Schlüsseln auszuführen. |
principals |
||
IoTCertificate |
Das Zertifikat und der private Schlüssel, die Core verwendet, um Anfragen AWS IoT zu stellen. | |
IoTCertificate .privateKeyPath
|
Der Pfad zum privaten Core-Schlüssel. |
Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln:. Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Der absolute Pfad zum Core-Gerätezertifikat. |
Muss eine Datei URI der Form sein: |
MQTTServerCertificate |
Optional. Der private Schlüssel, den der Kern in Kombination mit dem Zertifikat verwendet, um als MQTT Server oder Gateway zu fungieren. |
|
MQTTServerCertificate .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen MQTT Servers. |
Verwenden Sie diesen Wert, um Ihren eigenen privaten Schlüssel für den lokalen MQTT Server anzugeben. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 Wenn diese Eigenschaft weggelassen wird, wird der Schlüssel auf der Grundlage Ihrer Rotationseinstellungen AWS IoT Greengrass gedreht. Sofern angegeben, ist der Kunde für das Rotieren des Schlüssels verantwortlich. |
SecretsManager |
Der private Schlüssel, der den für die Verschlüsselung verwendeten Datenschlüssel schützt. Weitere Informationen finden Sie unter Bereitstellen von Secrets für den AWS IoT Greengrass Core. | |
SecretsManager .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen Secrets Managers. |
Es wird nur ein RSA Schlüssel unterstützt. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
Feld | Beschreibung | Hinweise |
---|---|---|
caPath |
Der absolute Pfad zur AWS IoT Root-CA. |
Muss eine Datei URI der Form sein: AnmerkungStellen Sie sicher, dass Ihre Endpunkte Ihrem Zertifikatstyp entsprechen. |
PKCS11 |
||
OpenSSLEngine |
Optional. Der absolute Pfad zur Open SSL |
Muss ein Pfad zu einer Datei im Dateisystem sein. Diese Eigenschaft ist erforderlich, wenn Sie den Greengrass OTA Update Agent mit Hardwaresicherheit verwenden. Weitere Informationen finden Sie unter Konfigurieren Sie die Unterstützung für Updates over-the-air . |
P11Provider |
Der absolute Pfad zur PKCS libdl-loadable-Bibliothek der #11 -Implementierung. |
Muss ein Pfad zu einer Datei im Dateisystem sein. |
slotLabel |
Das Slot-Label, das zur Identifizierung des Hardwaremoduls verwendet wird. |
Muss den Spezifikationen des #11 -Labels entsprechen. PKCS |
slotUserPin |
Der BenutzerPIN, der verwendet wird, um den Greengrass-Kern für das Modul zu authentifizieren. |
Muss über ausreichende Berechtigungen verfügen, um C_Sign mit den konfigurierten privaten Schlüsseln auszuführen. |
principals |
||
IoTCertificate |
Das Zertifikat und der private Schlüssel, die Core verwendet, um Anfragen AWS IoT zu stellen. | |
IoTCertificate .privateKeyPath
|
Der Pfad zum privaten Core-Schlüssel. |
Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln:. Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Der absolute Pfad zum Core-Gerätezertifikat. |
Muss eine Datei URI der Form sein: |
MQTTServerCertificate |
Optional. Der private Schlüssel, den der Kern in Kombination mit dem Zertifikat verwendet, um als MQTT Server oder Gateway zu fungieren. |
|
MQTTServerCertificate .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen MQTT Servers. |
Verwenden Sie diesen Wert, um Ihren eigenen privaten Schlüssel für den lokalen MQTT Server anzugeben. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 Wenn diese Eigenschaft weggelassen wird, wird der Schlüssel auf der Grundlage Ihrer Rotationseinstellungen AWS IoT Greengrass gedreht. Sofern angegeben, ist der Kunde für das Rotieren des Schlüssels verantwortlich. |
SecretsManager |
Der private Schlüssel, der den für die Verschlüsselung verwendeten Datenschlüssel schützt. Weitere Informationen finden Sie unter Bereitstellen von Secrets für den AWS IoT Greengrass Core. | |
SecretsManager .privateKeyPath |
Der Pfad zum privaten Schlüssel des lokalen Secrets Managers. |
Es wird nur ein RSA Schlüssel unterstützt. Für den Dateisystemspeicher muss es sich um eine Datei URI der Form handeln: Für die HSM Speicherung muss es sich um einen RFC7512 PKCS #11 |
Bereitstellungspraktiken für die Hardwaresicherheit AWS IoT Greengrass
Im Folgenden werden die sicherheits- und leistungsbezogenen Bereitstellungspraktiken beschrieben.
- Sicherheit
-
-
Generieren Sie private Schlüssel direkt auf dem, HSM indem Sie den internen Hardware-Zufallszahlengenerator verwenden.
Anmerkung
Wenn Sie private Schlüssel für die Verwendung mit dieser Funktion konfigurieren (indem Sie die Anweisungen des Hardwareanbieters befolgen), beachten Sie, dass AWS IoT Greengrass derzeit nur der Padding-Mechanismus der Version PKCS1 1.5 für die Verschlüsselung und Entschlüsselung von lokalen Geheimnissen unterstützt wird. AWS IoT Greengrass unterstützt Optimal Asymmetric Encryption Padding () nicht. OAEP
-
Konfigurieren Sie private Schlüssel, um den Export zu verhindern.
-
Verwenden Sie das vom Hardwareanbieter bereitgestellte Bereitstellungstool, um mithilfe des hardwaregeschützten privaten Schlüssels eine Zertifikatsignieranforderung (CSR) zu generieren, und verwenden Sie dann die AWS IoT Konsole, um ein Client-Zertifikat zu generieren.
Anmerkung
Die Praxis, Schlüssel zu rotieren, gilt nicht, wenn private Schlüssel auf einem generiert werden. HSM
-
- Leistung
-
Das folgende Diagramm zeigt die IoT-Client-Komponente und den lokalen MQTT Server auf dem AWS IoT Greengrass Core. Wenn Sie eine HSM Konfiguration für beide Komponenten verwenden möchten, können Sie denselben privaten Schlüssel oder separate private Schlüssel verwenden. Wenn Sie separate Schlüssel verwenden, müssen diese im gleichen Slot gespeichert sein.
Anmerkung
AWS IoT Greengrass schränkt die Anzahl der Schlüssel, die Sie auf dem speichern, nicht einHSM, sodass Sie private Schlüssel für die IoT-Client-, MQTT Server- und Secrets-Manager-Komponenten speichern können. Einige HSM Anbieter beschränken jedoch möglicherweise die Anzahl der Schlüssel, die Sie in einem Steckplatz speichern können.
Im Allgemeinen wird der IoT-Clientschlüssel nicht sehr häufig verwendet, da die AWS IoT Greengrass Core-Software langlebige Verbindungen zur Cloud unterhält. Der MQTT Serverschlüssel wird jedoch jedes Mal verwendet, wenn ein Greengrass-Gerät eine Verbindung zum Core herstellt. Diese Interaktionen wirken sich direkt auf die Leistung aus.
Wenn der MQTT Serverschlüssel auf dem gespeichert ist, hängt die GeschwindigkeitHSM, mit der Geräte eine Verbindung herstellen können, von der Anzahl der RSA Signaturvorgänge pro Sekunde ab, die sie ausführen HSM können. Wenn es beispielsweise 300 Millisekunden HSM dauert, eine Signatur von PKCS1 -v1.5 für einen privaten Schlüssel von RSASSA RSA -2048 auszuführen, können nur drei Geräte pro Sekunde eine Verbindung zum Greengrass-Core herstellen. Nachdem die Verbindungen hergestellt wurden, wird der nicht mehr verwendet und HSM es gelten die Standardkontingente für. AWS IoT Greengrass
Um Leistungsengpässe zu vermeiden, können Sie den privaten Schlüssel für den MQTT Server im Dateisystem statt auf dem speichern. HSM Bei dieser Konfiguration verhält sich der MQTT Server so, als ob die Hardwaresicherheit nicht aktiviert wäre.
AWS IoT Greengrass unterstützt mehrere Schlüsselspeicherkonfigurationen für die IoT-Client- und MQTT -Serverkomponenten, sodass Sie Ihre Sicherheits- und Leistungsanforderungen optimieren können. Die folgende Tabelle enthält Beispielkonfigurationen.
Konfiguration IoT-Schlüssel MQTTSchlüssel Leistung HSMGemeinsamer Schlüssel HSM: Schlüssel A HSM: Schlüssel A Eingeschränkt durch das HSM oder CPU HSMSeparate Schlüssel HSM: Schlüssel A HSM: Schlüssel B Limitiert durch das HSM oder CPU HSMnur für IoT HSM: Schlüssel A Dateisystem: Schlüssel B Limitiert durch CPU Veraltet Dateisystem: Schlüssel A Dateisystem: Schlüssel B Limitiert durch CPU Um den Greengrass-Kern so zu konfigurieren, dass er dateisystembasierte Schlüssel für den MQTT Server verwendet, lassen Sie den
principals.MQTTServerCertificate
Abschnitt von wegconfig.json
(oder geben Sie einen dateibasierten Pfad zum Schlüssel an, wenn Sie nicht den Standardschlüssel verwenden, der von generiert wurde). AWS IoT Greengrass Das resultierende Objektcrypto
sieht folgendermaßen aus:"crypto": { "PKCS11": { "OpenSSLEngine": "...", "P11Provider": "...", "slotLabel": "...", "slotUserPin": "..." }, "principals": { "IoTCertificate": { "privateKeyPath": "...", "certificatePath": "..." }, "SecretsManager": { "privateKeyPath": "..." } }, "caPath" : "..." }
Unterstützte Verschlüsselungs-Suiten für die Hardware-Sicherheitsintegration
AWS IoT Greengrass unterstützt eine Reihe von Cipher Suites, wenn der Kern für Hardware-Sicherheit konfiguriert ist. Dies ist eine Teilmenge der Verschlüsselungs-Suiten, die unterstützt werden, wenn der Kern für die Verwendung dateibasierter Sicherheit konfiguriert ist. Weitere Informationen finden Sie unter Support für TLS-Verschlüsselungs-Suites.
Anmerkung
Wenn Sie von Greengrass-Geräten über das lokale Netzwerk eine Verbindung zum Greengrass Core herstellen, stellen Sie sicher, dass Sie eine der unterstützten Cipher Suites verwenden, um die Verbindung herzustellen. TLS
Konfigurieren Sie die Unterstützung für Updates over-the-air
Um over-the-air (OTA) -Updates der AWS IoT Greengrass Core-Software bei Verwendung von Hardwaresicherheit zu aktivieren, müssen Sie die OpenSC-Wrapper-Bibliothek libp11 PKCS #11 installieren und die Greengrass-Konfigurationsdatei
Stoppen Sie den Greengrass-Daemon.
cd /
greengrass-root
/ggc/core/ sudo ./greengrassd stopAnmerkung
greengrass-root
steht für den Pfad, in dem die AWS IoT Greengrass Core-Software auf Ihrem Gerät installiert ist. Normalerweise ist dies das Verzeichnis/greengrass
.Installieren Sie die Open SSL Engine. Open SSL 1.0 oder 1.1 werden unterstützt.
sudo apt-get install libengine-pkcs11-openssl
Suchen Sie den Pfad zur Open SSL Engine (
libpkcs11.so
) auf Ihrem System:Holen Sie sich die Liste der installierten Pakete für die Bibliothek.
sudo dpkg -L libengine-pkcs11-openssl
Die Datei
libpkcs11.so
befindet sich im Verzeichnisengines
.Kopieren Sie den vollständigen Pfad in die Datei (z. B.
/usr/lib/ssl/engines/libpkcs11.so
).
Öffnen Sie die Greengrass-Konfigurationsdatei. Dies ist die Datei config.json im Verzeichnis
/
.greengrass-root
/config-
Geben Sie für die Eigenschaft
OpenSSLEngine
den Pfad zur Dateilibpkcs11.so
ein.{ "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
" }, ... } ... }Anmerkung
Wenn die Eigenschaft
OpenSSLEngine
im ObjektPKCS11
nicht vorhanden ist, dann fügen Sie sie hinzu. Halten Sie den Greengrass-Daemon an.
cd /
greengrass-root
/ggc/core/ sudo ./greengrassd start
Abwärtskompatibilität mit früheren Versionen der AWS IoT Greengrass Kernsoftware
Die AWS IoT Greengrass Core-Software mit Unterstützung für Hardwaresicherheit ist vollständig abwärtskompatibel mit config.json
Dateien, die für Version 1.6 und frühere Versionen generiert wurden. Wenn das crypto
Objekt nicht in der config.json
Konfigurationsdatei vorhanden ist, werden die dateibasierten EigenschaftencoreThing.certPath
, coreThing.keyPath
und AWS IoT Greengrass verwendet. coreThing.caPath
Diese Abwärtskompatibilität gilt für OTA Greengrass-Updates, die eine dateibasierte Konfiguration, die in angegeben ist, nicht überschreiben. config.json
PKCSHardware ohne #11 -Unterstützung
Die PKCS #11 -Bibliothek wird in der Regel vom Hardwareanbieter bereitgestellt oder ist Open Source. Bei standardkonformer Hardware (wie TPM1 .2) könnte es beispielsweise möglich sein, vorhandene Open-Source-Software zu verwenden. Wenn Ihre Hardware jedoch nicht über eine entsprechende PKCS #11 -Bibliotheksimplementierung verfügt oder wenn Sie einen benutzerdefinierten PKCS #11 -Anbieter schreiben möchten, sollten Sie sich mit Fragen zur Integration an Ihren AWS Enterprise Support-Mitarbeiter wenden.
Weitere Informationen finden Sie auch unter
-
PKCS#11 Nutzungshandbuch für kryptografische Token-Schnittstellen Version 2.40. Herausgegeben von John Leiseboer und Robert Griffin. 16. November 2014. OASISAnmerkung des Ausschusses 02. http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/cn02/pkcs11-ug-v2.40-cn02.html
. Letzte Version: http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html .