X-CUBE-SAFEA1 Softwarepaket
Technische Daten
- Produktname: STSAFE-A110 Secure Element
- Version: X-CUBE-SAFEA1 v1.2.1
- Integriert in: STM32CubeMX Softwarepaket
- Hauptmerkmale:
- Sicherer Kanalaufbau mit Remote-Host inklusive
TLS-Handshake (Transport Layer Security). - Signaturüberprüfungsdienst (sicherer Start und Firmware).
Aktualisierung) - Nutzungsüberwachung mit sicheren Zählern
- Kopplung und sicherer Kanal mit Host-Anwendungsprozessor
- Ein- und Auspacken von lokalen oder Remote-Host-Umschlägen
- Generierung von On-Chip-Schlüsselpaaren
- Sicherer Kanalaufbau mit Remote-Host inklusive
Anweisungen zur Produktverwendung
1. Allgemeine Informationen
Das Sicherheitselement STSAFE-A110 ist dafür konzipiert
Authentifizierungs- und Datenverwaltungsdienste lokal oder remote
Gastgeber. Es eignet sich für verschiedene Anwendungen wie IoT-Geräte,
Smart-Home-Systeme, industrielle Anwendungen und mehr.
2. Erste Schritte
So beginnen Sie mit der Verwendung des sicheren Elements STSAFE-A110:
- Weitere Informationen finden Sie im Datenblatt des offiziellen STSAFE-A110
web Seite für detaillierte Informationen. - Laden Sie das Middleware-Softwarepaket STSAFE-A1xx von herunter
STSAFE-A110-Internetseite oder STM32CubeMX. - Stellen Sie die Kompatibilität mit unterstützten IDEs wie STM32Cube IDE oder sicher
System Workbench für STM32.
3. Beschreibung der Middleware
3.1 Allgemeine Beschreibung
Die STSAFE-A1xx-Middleware erleichtert die Interaktion zwischen
Das Secure-Element-Gerät und eine MCU ermöglichen verschiedene Anwendungsfälle.
Zur Erhöhung der Sicherheit ist es in ST-Softwarepakete integriert
Merkmale.
3.2 Architektur
Die Middleware besteht aus verschiedenen Softwarekomponenten,
einschließlich:
- STSAFE-A1xx API (Kernschnittstelle)
- KERNKRYPTO
- MbedTLS Kryptografische Dienstschnittstelle SHA/AES
- Hardware-Serviceschnittstelle X-CUBECRYPTOLIB
Häufig gestellte Fragen (FAQ)
F: Wo finde ich das STSAFE-A110-Datenblatt?
A: Das Datenblatt ist auf dem STSAFE-A110 verfügbar web Seite für
zusätzliche Informationen zum Gerät.
F: Welche integrierten Entwicklungsumgebungen werden unterstützt?
für die STSAFE-A1xx-Middleware?
A: Zu den unterstützten IDEs gehören STM32Cube IDE und System Workbench
für STM32 (SW4STM32) im X-CUBE-SAFEA1 v1.2.1-Paket.
UM2646
Benutzerhandbuch
Erste Schritte mit dem Softwarepaket X-CUBE-SAFEA1
Einführung
Dieses Benutzerhandbuch beschreibt den Einstieg in das Softwarepaket X-CUBE-SAFEA1. Das X-CUBE-SAFEA1-Softwarepaket ist eine Softwarekomponente, die mehrere Demonstrationscodes bereitstellt, die die STSAFE-A110-Gerätefunktionen eines Host-Mikrocontrollers nutzen. Diese Demonstrationscodes nutzen die STSAFE-A1xx-Middleware, die auf der STM32Cube-Softwaretechnologie basiert, um die Portabilität zwischen verschiedenen STM32-Mikrocontrollern zu erleichtern. Darüber hinaus ist es MCU-agnostisch und somit auf andere MCUs portierbar. Diese Demonstrationscodes veranschaulichen die folgenden Funktionen: · Authentifizierung · Paarung · Schlüsselerstellung · Lokale Umschlagumhüllung · Schlüsselpaargenerierung
UM2646 – Rev. 4 – März 2024 Weitere Informationen erhalten Sie von Ihrem STMicroelectronics-Vertriebsbüro vor Ort.
www.st.com
1
Hinweis: Hinweis:
UM2646
allgemeine Informationen
allgemeine Informationen
Das X-CUBE-SAFEA1-Softwarepaket ist eine Referenz zur Integration der sicheren STSAFE-A110-Elementdienste in das Betriebssystem (OS) einer Host-MCU und deren Anwendung. Es enthält den STSAFE-A110-Treiber und Demonstrationscodes zur Ausführung auf STM32 32-Bit-Mikrocontrollern basierend auf dem Arm® Cortex®-M-Prozessor. Arm ist eine eingetragene Marke von Arm Limited (oder seinen Tochtergesellschaften) in den USA und/oder anderswo. Das Softwarepaket X-CUBE-SAFEA1 ist in ANSI C entwickelt. Dennoch ermöglicht die plattformunabhängige Architektur eine einfache Portabilität auf eine Vielzahl unterschiedlicher Plattformen. Die folgende Tabelle enthält die Definition der Akronyme, die für ein besseres Verständnis dieses Dokuments relevant sind.
Das Softwarepaket STSAFE-A1xx ist als Middleware in X-CUBE-SAFEA1 v1.2.1 integriert und als BSP für das Softwarepaket für den STM32CubeMX integriert.
UM2646 – Rev. 4
2 / 23-Seite
UM2646
Sicheres Element STSAFE-A110
2
Sicheres Element STSAFE-A110
Der STSAFE-A110 ist eine hochsichere Lösung, die als sicheres Element Authentifizierungs- und Datenverwaltungsdienste für einen lokalen oder Remote-Host bereitstellt. Es handelt sich um eine schlüsselfertige Komplettlösung mit einem sicheren Betriebssystem, das auf sicheren Mikrocontrollern der neuesten Generation läuft.
Der STSAFE-A110 kann in IoT-Geräte (Internet der Dinge), Smart-Home-, Smart-City- und Industrieanwendungen, Geräte der Unterhaltungselektronik, Verbrauchsmaterialien und Zubehör integriert werden. Seine Hauptmerkmale sind:
·
Authentifizierung (von Peripheriegeräten, IoT- und USB Type-C®-Geräten)
·
Sicherer Kanalaufbau mit Remote-Host einschließlich TLS-Handshake (Transport Layer Security).
·
Signaturüberprüfungsdienst (sicherer Start und Firmware-Upgrade)
·
Nutzungsüberwachung mit sicheren Zählern
·
Kopplung und sicherer Kanal mit Host-Anwendungsprozessor
·
Ein- und Auspacken von lokalen oder Remote-Host-Umschlägen
·
Generierung von On-Chip-Schlüsselpaaren
Weitere Informationen finden Sie im STSAFE-A110-Datenblatt, das für den STSAFE-A110 verfügbar ist web Weitere Informationen zum Gerät finden Sie auf dieser Seite.
UM2646 – Rev. 4
3 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
3
Beschreibung der STSAFE-A1xx-Middleware
In diesem Abschnitt werden der Inhalt des STSAFE-A1xx-Middleware-Softwarepakets und die Art und Weise seiner Verwendung beschrieben.
3.1
Allgemeine Beschreibung
Die STSAFE-A1xx-Middleware besteht aus einer Reihe von Softwarekomponenten, die für Folgendes konzipiert sind:
·
Schnittstelle des sicheren Elementgeräts STSAFE-A110 mit einer MCU
·
Implementieren Sie die allgemeinsten STSAFE-A110-Anwendungsfälle
Die STSAFE-A1xx-Middleware ist als Middleware-Komponente vollständig in ST-Softwarepakete integriert, um sichere Elementfunktionen hinzuzufügen (z. Bample X-CUBE-SBSFU oder X-CUBE-SAFEA1).
Es kann von der STSAFE-A110-Internetseite über die Registerkarte „Tools & Software“ oder von STM32CubeMX heruntergeladen werden.
Die Software wird als Quellcode im Rahmen einer ST-Softwarelizenzvereinbarung (SLA0088) bereitgestellt (weitere Einzelheiten finden Sie in den Lizenzinformationen).
Die folgenden integrierten Entwicklungsumgebungen werden unterstützt:
·
IAR Embedded Workbench® für Arm® (EWARM)
·
Keil® Mikrocontroller-Entwicklungskit (MDK-ARM)
·
STM32Cube-IDE (STM32CubeIDE)
·
System Workbench für STM32 (SW4STM32) wird nur im Paket X-CUBE-SAFEA1 v1.2.1 unterstützt
Informationen zu den unterstützten IDE-Versionen finden Sie in den Versionshinweisen im Paketstammordner.
3.2
Architektur
In diesem Abschnitt werden die Softwarekomponenten des Middleware-Softwarepakets STSAFE-A1xx beschrieben.
Die folgende Abbildung zeigt a view der STSAFE-A1xx-Middleware-Architektur und zugehörigen Schnittstellen.
Abbildung 1. STSAFE-A1xx-Architektur
STSAFE-A1xx API (Kernschnittstelle)
KERN
KRYPTO
MbedTM TLS
Kryptografische Dienstschnittstelle SHA/AES
SERVICE
Isolierter Bereich
Geeignet für den Schutz durch MCU-Sicherheitsfunktionen
(MPU, Firewall, TrustZone® usw.)
Hardware-Serviceschnittstelle
X-CUBECRYPTOLIB
UM2646 – Rev. 4
4 / 23-Seite
Notiz:
UM2646
Beschreibung der STSAFE-A1xx-Middleware
Die Middleware verfügt über drei verschiedene Schnittstellen:
·
STSAFE-A1xx-API: Dies ist die wichtigste Anwendungsprogrammierschnittstelle (API), die allen vollständigen Zugriff bietet
die in die oberen Schichten (Anwendung, Bibliotheken und Stacks) exportierten STSAFE-A110-Dienste. Diese Schnittstelle ist
Wird auch als Kernschnittstelle bezeichnet, da alle exportierten APIs im CORE-Modul implementiert sind.
Die oberen Schichten, die die STSAFE-A1xx-Middleware integrieren müssen, müssen auf den STSAFE-A110 zugreifen
Funktionen über diese Schnittstelle.
·
Hardware-Service-Schnittstelle: Diese Schnittstelle wird von der STSAFE-A1xx-Middleware verwendet, um die höchste zu erreichen
Unabhängigkeit von der Hardwareplattform. Es enthält eine Reihe allgemeiner Funktionen zum Verbinden des spezifischen MCU- und IO-Busses
und Timing-Funktionen. Diese Struktur verbessert die Wiederverwendbarkeit des Bibliothekscodes und garantiert eine einfache Portabilität
andere Geräte.
Diese als schwache Funktionen definierten generischen Funktionen müssen nach dem Beispiel auf Anwendungsebene implementiert werdenampDie in der Vorlage „stsafea_service_interface_template.c“ bereitgestellte Datei erleichtert die Integration
und Anpassung innerhalb der oberen Schichten.
·
Kryptografische Dienstschnittstelle: Diese Schnittstelle wird von der STSAFE-A1xx-Middleware für den Zugriff verwendet
kryptografische Plattform- oder Bibliotheksfunktionen wie SHA (sicherer Hash-Algorithmus) und AES (erweitert).
Verschlüsselungsstandard), der von der Middleware für einige Demonstrationen benötigt wird.
Diese als schwache Funktionen definierten kryptografischen Funktionen müssen auf Anwendungsebene implementiert werden
im Anschluss an den Example mit zwei verschiedenen Vorlagen ausgestattet:
stsafea_crypto_mbedtls_interface_template.c, wenn die kryptografische Arm® MbedTM TLS-Bibliothek verwendet wird; stsafea_crypto_stlib_interface_template.c, wenn die ST-Kryptografiebibliothek verwendet wird;
·
Durch einfaches Anpassen der Vorlagenquelle können alternative kryptografische Bibliotheken verwendet werden files. Die
Vorlage fileFür eine einfache Integration und Anpassung innerhalb der oberen Schichten werden s bereitgestellt.
Arm und Mbed sind eingetragene Marken oder Marken von Arm Limited (oder seinen Tochtergesellschaften) in den USA und/oder anderswo.
UM2646 – Rev. 4
5 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
Die folgende Abbildung zeigt die STSAFE-A1xx-Middleware, die in eine Standard-STM32Cube-Anwendung integriert ist und auf einer X-NUCLEO-SAFEA1-Erweiterungskarte läuft, die auf einer STM32-Nucleo-Karte montiert ist.
Abbildung 2. STSAFE-A1xx-Anwendungsblockdiagramm
STSAFE-A1xx-Middleware in einer STM32Cube-Anwendung
X-CUBE-SAFEA1-Blockdiagramm für STM32CubeMX
Um die größtmögliche Hardware- und Plattformunabhängigkeit zu gewährleisten, ist die STSAFE-A1xx-Middleware nicht direkt mit dem STM32Cube HAL verbunden, sondern über eine Schnittstelle files wird auf Anwendungsebene implementiert (stsafea_service_interface_template.c, stsafea_interface_conf.h).
UM2646 – Rev. 4
6 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
3.3
Kern Modul
Das CORE-Modul ist der Kern der Middleware. Es implementiert die von den oberen Schichten (Anwendung, Bibliotheken, Stack usw.) aufgerufenen Befehle, um die STSAFE-A1xx-Funktionen ordnungsgemäß zu nutzen.
Die folgende Abbildung zeigt a view der CORE-Modularchitektur.
Abbildung 3. Architektur des CORE-Moduls
Externe obere Schichten (Anwendung, Bibliotheken, Stapel usw.)
KERN
Internes CRYPTO-Modul
Internes Modul SERVICE
Das CORE-Modul ist eine Multi-Interface-Softwarekomponente, verbunden mit:
·
Obere Schichten: externe Verbindung über die exportierten APIs, die in den beiden folgenden Tabellen beschrieben sind;
·
Kryptografische Schicht: interne Verbindung zum CRYPTO-Modul;
·
Hardware-Serviceschicht: interne Verbindung zum SERVICE-Modul;
Das Middleware-Softwarepaket STSAFE-A1xx stellt eine vollständige API-Dokumentation des CORE-Moduls im Stammordner bereit (siehe STSAFE-A1xx_Middleware.chm). file).
Eine kurze Erläuterung des Befehlssatzes, auf den sich die in der folgenden Tabelle aufgeführten Befehls-APIs beziehen, finden Sie im STSAFE-A110-Datenblatt.
API-Kategorie Initialisierungskonfiguration
Allzweckbefehle
Befehle zur Datenpartitionierung
Tabelle 1. Exportierte API des CORE-Moduls
Funktion StSafeA_Init Zum Erstellen, Initialisieren und Zuweisen des STSAFE-A1xx-Gerätehandles. StSafeA_GetVersion Um die STSAFE-A1xx-Middleware-Revision zurückzugeben. StSafeA_Echo Zum Empfangen der im Befehl übergebenen Daten. StSafeA_Reset Zum Zurücksetzen der flüchtigen Attribute auf ihre Anfangswerte. StSafeA_GenerateRandom To generiert eine Anzahl zufälliger Bytes. StSafeA_Hibernate Um das STSAFE-Axxx-Gerät in den Ruhezustand zu versetzen. StSafeA_DataPartitionQuery
UM2646 – Rev. 4
7 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
API-Kategorie
Funktionsabfragebefehl zum Abrufen der Datenpartitionskonfiguration.
StSafeA_Decrement Zum Dekrementieren des Einwegzählers in einer Zählerzone.
Befehle zur Datenpartitionierung
StSafeA_Read Zum Lesen von Daten aus einer Datenpartitionszone.
StSafeA_Update Zum Aktualisieren von Daten über die Zonenpartition.
StSafeA_GenerateSignature Um die ECDSA-Signatur über einen Nachrichten-Digest zurückzugeben.
Private und öffentliche Schlüsselbefehle
StSafeA_GenerateKeyPair Zum Generieren eines Schlüsselpaars in einem privaten Schlüsselslot.
StSafeA_VerifyMessageSignature Zur Überprüfung der Nachrichtenauthentifizierung.
StSafeA_EstablishKey Zum Einrichten eines gemeinsamen Geheimnisses zwischen zwei Hosts mithilfe asymmetrischer Kryptografie.
StSafeA_ProductDataQuery Abfragebefehl zum Abrufen der Produktdaten.
StSafeA_I2cParameterQuery Abfragebefehl zum Abrufen der I²C-Adresse und der Energiesparmodus-Konfiguration.
StSafeA_LifeCycleStateQuery Abfragebefehl zum Abrufen des Lebenszyklusstatus (Born, Operational, Terminated, Born and Locked oder Operational and Locked).
Verwaltungsbefehle
StSafeA_HostKeySlotQuery Abfragebefehl zum Abrufen der Host-Schlüsselinformationen (Anwesenheit und Host-C-MAC-Zähler).
StSafeA_PutAttribute Zum Einfügen von Attributen in das STSAFE-Axxx-Gerät, wie Schlüssel, Passwort, I²C-Parameter entsprechend dem Attribut TAG.
StSafeA_DeletePassword Zum Löschen des Passworts aus seinem Slot.
StSafeA_VerifyPassword Zum Überprüfen des Kennworts und Speichern des Ergebnisses der Überprüfung für zukünftige Befehlsautorisierungen.
StSafeA_RawCommand Um einen Rohbefehl auszuführen und die entsprechende Antwort zu empfangen.
StSafeA_LocalEnvelopeKeySlotQuery Abfragebefehl zum Abrufen lokaler Umschlagschlüsselinformationen (Steckplatznummer, Vorhandensein und Schlüssellänge) für die verfügbaren Schlüsselsteckplätze.
Lokale Hüllkurvenbefehle
StSafeA_GenerateLocalEnvelopeKey Zum Generieren eines Schlüssels in einem lokalen Umschlagschlüsselsteckplatz.
StSafeA_WrapLocalEnvelope Zum Umschließen von Daten (normalerweise Schlüssel), die vollständig vom Host verwaltet werden, mit einem lokalen Umschlagschlüssel und dem [AES-Schlüsselumbruch]-Algorithmus.
StSafeA_UnwrapLocalEnvelope Zum Auspacken eines lokalen Umschlags mit einem lokalen Umschlagschlüssel.
UM2646 – Rev. 4
8 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
API-Kategorie
Befehl zur Konfiguration der Befehlsautorisierung
Tabelle 2. Exportierte STSAFE-A110 CORE-Modul-APIs
Funktion StSafeA_CommandAuthorizationConfigurationQuery Abfragebefehl zum Abrufen von Zugriffsbedingungen für Befehle mit konfigurierbaren Zugriffsbedingungen.
3.4
SERVICE-Modul
Das SERVICE-Modul ist die untere Schicht der Middleware. Es implementiert eine vollständige Hardware-Abstraktion in Bezug auf MCU und Hardware-Plattform.
Die folgende Abbildung zeigt a view der SERVICE-Modularchitektur.
Abbildung 4. Architektur des SERVICE-Moduls
CORE-internes Modul
SERVICE
Äußere untere Schichten (BSP, HAL, LL usw.)
Das SERVICE-Modul ist eine Dual-Interface-Softwarekomponente, verbunden mit:
·
Äußere untere Schichten: wie BSP, HAL oder LL. Schwache Funktionen müssen extern höher implementiert werden
Ebenen und basieren auf der Vorlage stsafea_service_interface_template.c file;
·
Kernschicht: interne Verbindung zum CORE-Modul über die in der Tabelle beschriebenen exportierten APIs
unten;
Das Middleware-Softwarepaket STSAFE-A1xx stellt eine vollständige API-Dokumentation des SERVICE-Moduls im Stammordner bereit (siehe STSAFE-A1xx_Middleware.chm). file).
Tabelle 3. Exportierte APIs des SERVICE-Moduls
API-Kategorie Initialisierungskonfiguration
Betriebsfunktionen auf niedriger Ebene
Funktion
StSafeA_BSP_Init Zum Initialisieren des Kommunikationsbusses und der E/A-Pins, die für den Betrieb des STSAFE-Axxx-Geräts erforderlich sind.
StSafeA_Transmit Zur Vorbereitung des zu übertragenden Befehls und zum Aufrufen der auszuführenden Low-Level-Bus-API. Berechnen und verketten Sie einen CRC, sofern unterstützt.
StSafeA_Receive Zum Empfangen von Daten vom STSAFE-Axxx unter Verwendung der Low-Level-Busfunktionen zum Abrufen. Überprüfen Sie den CRC, falls unterstützt.
UM2646 – Rev. 4
9 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
3.5
CRYPTO-Modul
Das CRYPTO-Modul stellt den kryptografischen Teil der Middleware dar. Es muss auf die kryptografischen Ressourcen der Plattform angewiesen sein.
Das CRYPTO-Modul ist völlig unabhängig von den anderen Middleware-Modulen und kann aus diesem Grund problemlos in einem isolierten sicheren Bereich gekapselt werden, der durch MCU-Sicherheitsfunktionen wie eine Memory Protection Unit (MPU), eine Firewall oder eine TrustZone® geschützt werden kann.
Die folgende Abbildung zeigt a view der CRYPTO-Modularchitektur.
Abbildung 5. Architektur des CRYPTO-Moduls
CORE-internes Modul
KRYPTO
Externe kryptografische Schichten
(MbedTM TLS, X-CUBE-CRYPTOLIB)
Das CRYPTO-Modul ist eine Dual-Interface-Softwarekomponente, verbunden mit:
·
eine externe Kryptografiebibliothek: Mbed TLS und X-CUBE-CRYPTOLIB werden derzeit unterstützt. Schwach
Funktionen müssen auf externen höheren Schichten implementiert werden und basieren auf:
stsafea_crypto_mbedtls_interface_template.c Vorlage file für die kryptografische Bibliothek Mbed TLS;
stsafea_crypto_stlib_interface_template.c Vorlage file für die kryptografische ST-Bibliothek;
Durch die Anpassung der kryptografischen Schnittstelle können weitere kryptografische Bibliotheken problemlos unterstützt werden
Vorlage file.
·
die Kernschicht: interne Verbindung zum CORE-Modul über die in der Tabelle beschriebenen exportierten APIs
unten;
Das Middleware-Softwarepaket STSAFE-A1xx stellt eine vollständige API-Dokumentation des CRYPTO-Moduls im Stammordner bereit (siehe STSAFE-A1xx_Middleware.chm). file).
Tabelle 4. Vom CRYPTO-Modul exportierte APIs
API-Kategorie
Funktion
StSafeA_ComputeCMAC Zur Berechnung des CMAC-Werts. Wird für den vorbereiteten Befehl verwendet.
StSafeA_ComputeRMAC Zur Berechnung des RMAC-Werts. Wird für die empfangene Antwort verwendet.
StSafeA_DataEncryption Kryptografische APIs Zum Ausführen der Datenverschlüsselung (AES CBC) auf dem STSAFE-Axxx-Datenpuffer.
StSafeA_DataDecryption Zum Ausführen der Datenentschlüsselung (AES CBC) im STSAFE-Axxx-Datenpuffer.
StSafeA_MAC_SHA_PrePostProcess Zur Vor- oder Nachbearbeitung des MAC und/oder SHA vor der Übertragung oder nach dem Empfang von Daten vom STSAFE_Axxx-Gerät.
UM2646 – Rev. 4
10 / 23-Seite
3.6
Notiz:
UM2646
Beschreibung der STSAFE-A1xx-Middleware
Vorlagen
Dieser Abschnitt enthält eine detaillierte Beschreibung der im STSAFE-A1xx-Middleware-Softwarepaket verfügbaren Vorlagen.
Alle in der folgenden Tabelle aufgeführten Vorlagen werden im Ordner „Interface“ bereitgestellt, der auf der Stammebene des Middleware-Softwarepakets verfügbar ist.
Vorlage files werden als Beispiel bereitgestelltampDateien können in die oberen Ebenen kopiert und angepasst werden, um eine einfache Bearbeitung zu ermöglichen
Integrieren und konfigurieren Sie die STSAFE-A1xx-Middleware:
·
Schnittstellenvorlage files bieten example Implementierungen der __weak-Funktionen, angeboten als leere oder
teilweise leere Funktionen innerhalb der Middleware. Sie müssen ordnungsgemäß im Benutzerbereich oder in implementiert werden
die oberen Schichten entsprechend der kryptografischen Bibliothek und der Hardwareauswahl des Benutzers.
·
Konfigurationsvorlage files bieten eine einfache Möglichkeit, die STSAFE-A1xx-Middleware und -Funktionen zu konfigurieren
die in der Benutzeranwendung genutzt werden können, wie etwa Optimierungen oder spezifische Hardware.
Vorlagenkategorie
Schnittstellenvorlagen
Konfigurationsvorlagen
Tabelle 5. Vorlagen
Vorlage file
stsafea_service_interface_template.c BspampDie Vorlage zeigt, wie die von der STSAFE-A-Middleware benötigten und von der im Benutzerbereich ausgewählten spezifischen Hardware, Low-Level-Bibliothek oder BSP angebotenen Hardwaredienste unterstützt werden. stsafea_crypto_mbedtls_interface_template.c BspampDie Vorlage zeigt, wie die kryptografischen Dienste unterstützt werden, die von der STSAFE-A-Middleware benötigt und von der kryptografischen Bibliothek Mbed TLS angeboten werden (Schlüsselverwaltung, SHA, AES usw.). stsafea_crypto_stlib_interface_template.c BspampDie Vorlage zeigt, wie die kryptografischen Dienste unterstützt werden, die von der STSAFE-A-Middleware benötigt und von der STM32-Kryptografiebibliothekssoftwareerweiterung für STM32Cube (XCUBE-CRYPTOLIB) angeboten werden (Schlüsselverwaltung, SHA, AES usw.). stsafea_conf_template.h BspampDie Vorlage zeigt, wie die STSAFE-A-Middleware konfiguriert wird (insbesondere für Optimierungszwecke). stsafea_interface_conf_template.h BspampDie Vorlage zeigt, wie die Schnittstelle konfiguriert und angepasst wird files oben aufgeführt.
Die oben genannten Vorlagen sind nur im BSP-Ordner des X-CUBE-SAFEA1-Pakets vorhanden.
UM2646 – Rev. 4
11 / 23-Seite
UM2646
Beschreibung der STSAFE-A1xx-Middleware
3.7
Ordnerstruktur
Die folgende Abbildung zeigt die Ordnerstruktur des STSAFE-A1xx-Middleware-Softwarepakets v1.2.1.
Abbildung 6. Projekt file Struktur
Projekt file Struktur der STSAFE-A1xx-Middleware
UM2646 – Rev. 4
Projekt file Struktur für X-CUBE-SAFEA1 für STM32CubeMX
12 / 23-Seite
3.8
3.8.1
3.8.2
UM2646
Beschreibung der STSAFE-A1xx-Middleware
Anleitung: Integration und Konfiguration
In diesem Abschnitt wird beschrieben, wie Sie die STSAFE-A1xx-Middleware in die Benutzeranwendung integrieren und konfigurieren.
Integrationsschritte
Befolgen Sie diese Schritte, um die STSAFE-A1xx-Middleware in die gewünschte Anwendung zu integrieren:
·
Schritt 1: Kopieren Sie die Datei „stsafea_service_interface_template.c“ (und benennen Sie sie optional um). file und eines von beiden
stsafea_crypto_mbedtls_interface_template.c oder stsafea_crypto_stlib_interface_template.c an den Benutzer
Speicherplatz entsprechend der kryptografischen Bibliothek, die der Anwendung hinzugefügt wurde (unabhängig von der
Benutzer können die kryptografische Bibliothek auswählen/verwenden und sogar ihre eigene kryptografische Bibliothek erstellen/implementieren
Schnittstelle file von Grund auf durch Anpassung der passenden Vorlage).
·
Schritt 2: Kopieren (und optional umbenennen) Sie stsafea_conf_template.h und stsafea_interface_conf_template.h
files in den Benutzerbereich.
·
Schritt 3: Stellen Sie sicher, dass Sie die richtigen Includes zu Ihrer Haupt- oder einer anderen User-Space-Quelle hinzufügen file das muss
Schnittstelle zur STSAFE-A1xx-Middleware:
#include „stsafea_core.h“ #include „stsafea_interface_conf.h“
·
Schritt 4: Passen Sie das an files wird in den drei oben genannten Schritten je nach Benutzerpräferenzen verwendet.
Konfigurationsschritte
Um die STSAFE-A1xx-Middleware in der Benutzeranwendung ordnungsgemäß zu konfigurieren, bietet ST zwei verschiedene an
Konfigurationsvorlage files können im Benutzerbereich entsprechend den Entscheidungen des Benutzers kopiert und angepasst werden:
·
stsafea_interface_conf_template.h: Dieses BeispielampDie Vorlage dient dazu und zeigt, wie die konfiguriert wird
kryptografische und Service-Middleware-Schnittstellen im Benutzerbereich durch das folgende #define
Aussagen:
USE_PRE_LOADED_HOST_KEYS
MCU_PLATFORM_INCLUDE
MCU_PLATFORM_BUS_INCLUDE
MCU_PLATFORM_CRC_INCLUDE
·
stsafea_conf_template.h: Dieses BeispielampDie Vorlage dient zur Konfiguration von STSAFE-A und zeigt, wie diese konfiguriert wird
Middleware durch die folgenden #define-Anweisungen:
STSAFEA_USE_OPTIMIZATION_SHARED_RAM
STSAFEA_USE_OPTIMIZATION_NO_HOST_MAC_ENCRYPT
STSAFEA_USE_FULL_ASSERT
USE_SIGNATURE_SESSION (nur für STSAFE-A100)
Befolgen Sie diese Schritte, um die STSAFE-A1xx-Middleware in die gewünschte Anwendung zu integrieren:
·
Schritt 1: Kopieren Sie die Dateien stsafea_interface_conf_template.h und stsafea_conf_template.h (und benennen Sie sie optional um).
files in den Benutzerbereich.
·
Schritt 2: Bestätigen oder ändern Sie die #define-Anweisung der beiden oben genannten Header files nach
die Benutzerplattform und kryptografische Optionen.
UM2646 – Rev. 4
13 / 23-Seite
4
4.1
Notiz:
4.2
Notiz:
UM2646
Vorführsoftware
Vorführsoftware
In diesem Abschnitt wird Demonstrationssoftware basierend auf der STSAFE-A1xx-Middleware veranschaulicht.
Authentifizierung
Diese Demonstration veranschaulicht den Befehlsablauf, bei dem der STSAFE-A110 auf einem Gerät montiert ist, das sich bei einem Remote-Host authentifiziert (IoT-Gerätefall), wobei der lokale Host als Pass-Through zum Remote-Server verwendet wird. Das Szenario, in dem der STSAFE-A110 auf einem Peripheriegerät montiert ist, das sich beispielsweise bei einem lokalen Host authentifiziertample für Spiele, mobiles Zubehör oder Verbrauchsmaterialien, ist genau das Gleiche.
Befehlsablauf Zu Demonstrationszwecken handelt es sich hier bei den lokalen und Remote-Hosts um dasselbe Gerät. 1. Extrahieren, analysieren und überprüfen Sie das öffentliche Zertifikat des STSAFE-A110, das in der Datenpartitionszone 0 des Geräts gespeichert ist
Um den öffentlichen Schlüssel zu erhalten: Lesen Sie das Zertifikat mit der STSAFE-A1xx-Middleware über die Zone 110 des STSAFE-A0. Analysieren Sie das Zertifikat mit dem Parser der kryptografischen Bibliothek. Lesen Sie das CA-Zertifikat (verfügbar über den Code). Analysieren Sie das CA-Zertifikat mit dem Parser der kryptografischen Bibliothek. Überprüfen Sie die Gültigkeit des Zertifikats mithilfe des CA-Zertifikats über die kryptografische Bibliothek. Holen Sie sich den öffentlichen Schlüssel aus dem STSAFE-A110 X.509-Zertifikat. 2. Generieren und überprüfen Sie die Signatur über eine Challenge-Nummer: Generieren Sie eine Challenge-Nummer (Zufallszahl). Nehmen Sie die Herausforderung an. Rufen Sie mithilfe des privaten Schlüsselsteckplatzes 110 des STSAFE-A0 eine Signatur über die Hash-Challenge ab
STSAFE-A1xx-Middleware. Analysieren Sie die generierte Signatur mithilfe der kryptografischen Bibliothek. Überprüfen Sie die generierte Signatur mithilfe des öffentlichen Schlüssels des STSAFE-A110 über die kryptografische Bibliothek. Wenn dies gültig ist, weiß der Host, dass das Peripheriegerät oder IoT authentisch ist.
Paarung
Dieser Code example stellt eine Kopplung zwischen einem STSAFE-A110-Gerät und der MCU her, mit der es verbunden ist. Durch die Kopplung kann der Austausch zwischen dem Gerät und der MCU authentifiziert (d. h. signiert und verifiziert) werden. Das STSAFE-A110-Gerät kann nur in Kombination mit der MCU verwendet werden, mit der es gekoppelt ist. Die Paarung besteht darin, dass die Host-MCU einen Host-MAC-Schlüssel und einen Host-Verschlüsselungsschlüssel an den STSAFE-A110 sendet. Beide Schlüssel werden im geschützten NVM des STSAFE-A110 gespeichert und sollten im Flash-Speicher des STM32-Geräts gespeichert werden. Standardmäßig ist in diesem Beispielample, sendet die Host-MCU bekannte Schlüssel an den STSAFE-A110 (siehe Befehlsablauf unten), deren Verwendung zu Demonstrationszwecken dringend empfohlen wird. Der Code ermöglicht auch die Generierung zufälliger Schlüssel. Darüber hinaus ist der Code example generiert einen lokalen Umschlagschlüssel, wenn der entsprechende Steckplatz im STSAFE-A110 noch nicht belegt ist. Wenn der lokale Umschlagsteckplatz bestückt ist, ermöglicht das STSAFE-A110-Gerät der Host-MCU, einen lokalen Umschlag einzupacken/auszupacken, um einen Schlüssel sicher auf der Seite der Host-MCU zu speichern. Der Pairing-Code z.BampDie Datei muss erfolgreich ausgeführt werden, bevor der gesamte folgende Code ausgeführt werden kannamples.
Befehlsablauf
1. Generieren Sie den lokalen Umschlagschlüssel im STSAFE-A110 mithilfe der STSAFE-A1xx-Middleware. Standardmäßig ist dieser Befehl aktiviert. Beachten Sie, dass Sie die folgenden Define-Anweisungen in der Datei „pairing.c“ auskommentieren müssen file deaktiviert die lokale Umschlagschlüsselgenerierung: /* #define _FORCE_DEFAULT_FLASH_ */
Dieser Vorgang erfolgt nur, wenn der lokale Kuvertschlüsselsteckplatz des STSAFE-A110 nicht bereits belegt ist.
UM2646 – Rev. 4
14 / 23-Seite
UM2646
Vorführsoftware
2. Definieren Sie zwei 128-Bit-Zahlen, die als Host-MAC-Schlüssel und Host-Verschlüsselungsschlüssel verwendet werden sollen. Standardmäßig werden goldene bekannte Schlüssel verwendet. Sie haben die folgenden Werte: 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xAA,0xBB,0xCC,0xDD,0xEE,0xFF / * Host MAC key */ 0x11,0x11,0x22,0, 22,0x33,0x33,0x44,0x44,0x55,0x55,0x66,0x66,0x77,0x77,0x88,0x88xXNUMX / * Host-Verschlüsselungsschlüssel */
Um die zufällige Schlüsselgenerierung zu aktivieren, fügen Sie die folgende define-Anweisung zu „pairing.c“ hinzu file: #define USE_HOST_KEYS_SET_BY_PAIRING_APP 1
3. Speichern Sie den Host-MAC-Schlüssel und den Host-Verschlüsselungsschlüssel in ihrem jeweiligen Steckplatz im STSAFE-A110. 4. Speichern Sie den Host-MAC-Schlüssel und den Host-Verschlüsselungsschlüssel im Flash-Speicher des STM32.
4.3
Schlüsselermittlung (Geheimnis etablieren)
Diese Demonstration veranschaulicht den Fall, in dem das STSAFE-A110-Gerät auf einem Gerät (z. B. einem IoT-Gerät) montiert ist, das mit einem Remote-Server kommuniziert und einen sicheren Kanal für den Datenaustausch mit ihm einrichten muss.
In diesem Beispielample, das STM32-Gerät spielt sowohl die Rolle des Remote-Servers (Remote-Host) als auch des lokalen Hosts, der mit dem STSAFE-A110-Gerät verbunden ist.
Das Ziel dieses Anwendungsfalls besteht darin, zu zeigen, wie ein gemeinsames Geheimnis zwischen dem lokalen Host und dem Remote-Server mithilfe des Diffie-Hellman-Schemas mit elliptischer Kurve und einem statischen (ECDH) oder ephemeren (ECDHE) Schlüssel im STSAFE-A110 hergestellt werden kann.
Das gemeinsame Geheimnis sollte weiter auf einen oder mehrere Arbeitsschlüssel abgeleitet werden (hier nicht dargestellt). Diese Arbeitsschlüssel können dann beispielsweise in Kommunikationsprotokollen wie TLS verwendet werdenampDatei zum Schutz der Vertraulichkeit, Integrität und Authentizität der Daten, die zwischen dem lokalen Host und dem Remote-Server ausgetauscht werden.
Befehlsablauf
Abbildung 7. Der Befehlsablauf zur Schlüsselerstellung veranschaulicht den Befehlsablauf.
·
Die privaten und öffentlichen Schlüssel des Remote-Hosts sind im Code ex fest codiertample.
·
Der lokale Host sendet den Befehl StSafeA_GenerateKeyPair an den STSAFE-A110, um den zu generieren
Schlüsselpaar auf seinem kurzlebigen Steckplatz (Steckplatz 0xFF).
·
Der STSAFE-A110 sendet den öffentlichen Schlüssel (der dem Steckplatz 0xFF entspricht) an den STM32 zurück (der darstellt).
der Remote-Host).
·
Der STM32 berechnet das Geheimnis des Remote-Hosts (unter Verwendung des öffentlichen Schlüssels des STSAFE-Geräts und des Remote-Hosts).
privater Schlüssel des Hosts).
·
Der STM32 sendet den öffentlichen Schlüssel des Remote-Hosts an den STSAFE-A110 und fordert den STSAFE-A110 dazu auf
Berechnen Sie das Geheimnis des lokalen Hosts mithilfe der StSafeA_EstablishKey-API.
·
Der STSAFE-A110 sendet das Geheimnis des lokalen Hosts an den STM32 zurück.
·
Der STM32 vergleicht die beiden Geheimnisse und gibt das Ergebnis aus. Wenn die Geheimnisse gleich sind, das Geheimnis
Die Gründung ist erfolgreich.
UM2646 – Rev. 4
15 / 23-Seite
Abbildung 7. Befehlsablauf zur Schlüsselerstellung
UM2646
Vorführsoftware
Remote-Host
STM32
Lokaler Gastgeber
STSICHER
Berechnen des Geheimnisses des Remote-Hosts (unter Verwendung des privaten Schlüssels des Remote-Hosts und des öffentlichen Schlüssels des lokalen Hosts (STSAFE-Steckplatz 0xFF))
Geheimnis des Remote-Hosts
Schlüsselpaar generieren
Schlüsselpaar auf Steckplatz 0xFF generieren
Der öffentliche Schlüssel von STSAFE wurde am generiert
Generierter öffentlicher Schlüssel von STSAFE
Steckplatz 0xFF
Öffentlicher Schlüssel des Remote-Hosts
STM32 vergleicht das Remote-Host-Geheimnis mit dem
ruft das lokale Host-Geheimnis ab und gibt das Ergebnis aus
Schlüssel einrichten (öffentlicher Schlüssel des Remote-Hosts)
Senden des Geheimnisses des lokalen Hosts
Berechnen des Geheimnisses des lokalen Hosts (unter Verwendung des privaten Schlüssels des lokalen Hosts (STSAFE-Steckplatz 0xFF) und des öffentlichen Schlüssels des Remote-Hosts)
Das Geheimnis des lokalen Gastgebers
4.4
Notiz:
4.5
Lokale Umschläge ein-/auspacken
Diese Demonstration veranschaulicht den Fall, in dem der STSAFE-A110 den lokalen Umschlag ein- und auspackt, um ein Geheimnis sicher in einem beliebigen nichtflüchtigen Speicher (NVM) zu speichern. Verschlüsselungs-/Entschlüsselungsschlüssel können auf diese Weise sicher im zusätzlichen Speicher oder im Benutzerdatenspeicher des STSAFEA110 gespeichert werden. Der Wrapping-Mechanismus dient zum Schutz eines geheimen oder Klartextes. Die Ausgabe von Wrapping ist ein Umschlag, der mit einem AES-Key-Wrap-Algorithmus verschlüsselt ist und den zu schützenden Schlüssel oder Klartext enthält.
Befehlsablauf
Der lokale und der Remote-Host sind hier dasselbe Gerät. 1. Generieren Sie Zufallsdaten, die einem lokalen Umschlag angepasst sind. 2. Wickeln Sie den lokalen Umschlag mit der Middleware des STSAFE-A110 ein. 3. Bewahren Sie den verpackten Umschlag auf. 4. Packen Sie den verpackten Umschlag mithilfe der Middleware des STSAFE-A110 aus. 5. Vergleichen Sie den ausgepackten Umschlag mit dem ursprünglichen lokalen Umschlag. Sie sollten gleich sein.
Schlüsselpaargenerierung
Diese Demonstration veranschaulicht den Befehlsablauf, bei dem das STSAFE-A110-Gerät auf einem lokalen Host gemountet wird. Ein Remote-Host fordert diesen lokalen Host auf, ein Schlüsselpaar (einen privaten Schlüssel und einen öffentlichen Schlüssel) auf Steckplatz 1 zu generieren und dann eine Challenge (Zufallszahl) mit dem generierten privaten Schlüssel zu signieren.
Der Remote-Host ist dann in der Lage, die Signatur mit dem generierten öffentlichen Schlüssel zu überprüfen.
Diese Demonstration ähnelt der Authentifizierungsdemonstration mit zwei Unterschieden:
·
Das Schlüsselpaar in der Authentifizierungsdemonstration ist bereits generiert (auf Steckplatz 0), wohingegen in diesem Beispielampich,
Wir generieren das Schlüsselpaar auf Steckplatz 1. Das STSAFE-A110-Gerät kann das Schlüsselpaar auch auf Steckplatz 0xFF generieren.
aber nur für wichtige Einrichtungszwecke.
·
Der öffentliche Schlüssel in der Authentifizierungsdemonstration wird aus dem Zertifikat in Zone 0 extrahiert. In diesem
example, der öffentliche Schlüssel wird mit der Antwort des STSAFE-A110 an die zurückgesendet
Befehl StSafeA_GenerateKeyPair.
UM2646 – Rev. 4
16 / 23-Seite
UM2646
Vorführsoftware
Notiz:
Befehlsablauf
Zu Demonstrationszwecken handelt es sich hier bei den lokalen und Remote-Hosts um dasselbe Gerät. 1. Der Host sendet den Befehl StSafeA_GenerateKeyPair an den STSAFE-A110, der ihn zurücksendet
öffentlicher Schlüssel zur Host-MCU. 2. Der Host generiert mithilfe der StSafeA_GenerateRandom-API eine Challenge (48-Byte-Zufallszahl). Der
STSAFE-A110 sendet die generierte Zufallszahl zurück. 3. Der Host berechnet den Hash der generierten Zahl mithilfe der kryptografischen Bibliothek. 4. Der Host fordert den STSAFE-A110 auf, mithilfe des eine Signatur des berechneten Hashs zu generieren
StSafeA_GenerateSignature-API. Der STSAFE-A110 sendet die generierte Signatur zurück.
5. Der Host überprüft die generierte Signatur mit dem vom STSAFE-A110 in Schritt 1 gesendeten öffentlichen Schlüssel. 6. Das Ergebnis der Signaturüberprüfung wird ausgedruckt.
UM2646 – Rev. 4
17 / 23-Seite
UM2646
Versionsgeschichte
Tabelle 6. Revisionsverlauf des Dokuments
Datum
Revision
Änderungen
09. Dezember 2019
1
Erstveröffentlichung.
13. Januar 2020
2
Abschnitt mit Lizenzinformationen entfernt.
Aktualisierte Liste der Funktionen, die durch Demonstrationscodes in der Einführung veranschaulicht werden. Die Liste der Akronyme wurde entfernt und am Ende ein Glossar eingefügt.
Kleine Textänderung und aktualisierte Farben in Abbildung 1. STSAFE-A1xx-Architektur.
Aktualisierte Abbildung 2. STSAFE-A1xx-Anwendungsblockdiagramm.
Aktualisierte Tabelle 1. CORE-Modul exportierte API.
07. Februar 2022
3
StSafeA_InitHASH und StSafeA_ComputeHASH wurden aus Tabelle 4 entfernt. Vom CRYPTO-Modul exportierte APIs.
Aktualisierter Abschnitt 3.8.2: Konfigurationsschritte.
Aktualisierter Abschnitt 4.2: Kopplung.
Aktualisierter Abschnitt 4.3: Schlüsselerstellung (Geheimnis festlegen).
Abschnitt 4.5: Schlüsselpaargenerierung hinzugefügt.
Kleine Textänderungen.
Das hinzugefügte Softwarepaket STSAFE-A1xx ist als Middleware in X-CUBE-SAFEA1 v1.2.1 integriert
und es ist als BSP für das Softwarepaket für den STM32CubeMX integriert. und Die oben genannten Vorlagen
07. März 2024
4
sind nur im BSP-Ordner des X-CUBE-SAFEA1-Pakets vorhanden.
Abschnitt 3.1: Allgemeine Beschreibung, Abschnitt 3.2: Architektur und Abschnitt 3.7: Ordnerstruktur aktualisiert.
UM2646 – Rev. 4
18 / 23-Seite
Glossar
AES Erweiterter Verschlüsselungsstandard ANSI American National Standards Institute API Anwendungsprogrammierschnittstelle BSP Board-Supportpaket CA Zertifizierungsstelle CC Common Criteria C-MAC Authentifizierungscode für Befehlsnachrichten ECC Elliptische Kurvenkryptographie ECDH Elliptische Kurve DiffieHellman ECDHE Elliptische Kurve DiffieHellman – kurzlebig EWARM IAR Embedded Workbench® für Arm® HAL Hardware-Abstraktionsschicht I/O Eingabe/Ausgabe IAR Systems® Weltmarktführer bei Softwaretools und Dienstleistungen für die Entwicklung eingebetteter Systeme. IDE Integrierte Entwicklungsumgebung. Eine Softwareanwendung, die Computerprogrammierern umfassende Möglichkeiten zur Softwareentwicklung bietet. IoT Internet der Dinge I²C Inter-Integrated Circuit (IIC) LL Low-Level-Treiber MAC Nachrichtenauthentifizierungscode MCU Mikrocontroller-Einheit MDK-ARM Keil® Mikrocontroller-Entwicklungskit für Arm® MPU Speicherschutzeinheit NVM Nichtflüchtiger Speicher
Betriebssystem Betriebssystem SE Sicheres Element SHA Sicherer Hash-Algorithmus SLA Softwarelizenzvereinbarung ST STMicroelectronics TLS Transportschichtsicherheit USB Universeller serieller Bus
UM2646
Glossar
UM2646 – Rev. 4
19 / 23-Seite
UM2646
Inhalt
Inhalt
1. Allgemeine Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 2 STSAFE-A110 Sicherungselement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 STSAFE-A1xx Middleware-Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Allgemeine Beschreibung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 CORE-Modul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 SERVICE-Modul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 CRYPTO-Modul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6 Vorlagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.7 Ordnerstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.8 How to: Integration und Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8.1 Integrationsschritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.8.2 Konfigurationsschritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Demonstrationssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.1 Authentifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Kopplung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3 Schlüsselermittlung (Geheimnis festlegen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4 Lokale Umschläge ein-/auspacken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.5 Schlüsselpaargenerierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Revisionshistorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Tabellenverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Abbildungsverzeichnis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
UM2646 – Rev. 4
20 / 23-Seite
UM2646
Tabellenverzeichnis
Tabellenverzeichnis
Tabelle 1. Tabelle 2. Tabelle 3. Tabelle 4. Tabelle 5. Tabelle 6.
CORE-Modul exportierte API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Exportierte APIs des STSAFE-A110 CORE-Moduls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 exportierte APIs des SERVICE-Moduls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Vom CRYPTO-Modul exportierte APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Vorlagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Dokumentrevisionsverlauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
UM2646 – Rev. 4
21 / 23-Seite
UM2646
Abbildungsverzeichnis
Abbildungsverzeichnis
Abbildung 1. Abbildung 2. Abbildung 3. Abbildung 4. Abbildung 5. Abbildung 6. Abbildung 7.
STSAFE-A1xx-Architektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 STSAFE-A1xx-Anwendungsblockdiagramm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 CORE-Modularchitektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Architektur des SERVICE-Moduls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 CRYPTO-Modularchitektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Projekt file Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Befehlsablauf zur Schlüsselerstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
UM2646 – Rev. 4
22 / 23-Seite
UM2646
WICHTIGER HINWEIS SORGFÄLTIG LESEN STMicroelectronics NV und seine Tochtergesellschaften („ST“) behalten sich das Recht vor, jederzeit ohne Vorankündigung Änderungen, Korrekturen, Erweiterungen, Modifikationen und Verbesserungen an ST-Produkten und/oder an diesem Dokument vorzunehmen. Käufer sollten die neuesten relevanten Informationen über ST-Produkte einholen, bevor sie Bestellungen aufgeben. ST-Produkte werden gemäß den Verkaufsbedingungen von ST verkauft, die zum Zeitpunkt der Auftragsbestätigung gelten. Käufer sind allein verantwortlich für die Auswahl, Auswahl und Verwendung von ST-Produkten, und ST übernimmt keine Haftung für Anwendungsunterstützung oder das Design von Käuferprodukten. ST gewährt hierin keine ausdrückliche oder stillschweigende Lizenz an geistigen Eigentumsrechten. Der Weiterverkauf von ST-Produkten mit Bestimmungen, die von den hierin enthaltenen Informationen abweichen, führt zum Erlöschen jeglicher von ST für dieses Produkt gewährten Garantien. ST und das ST-Logo sind Warenzeichen von ST. Weitere Informationen zu ST-Marken finden Sie unter www.st.com/trademarks. Alle anderen Produkt- oder Dienstleistungsnamen sind Eigentum ihrer jeweiligen Inhaber. Informationen in diesem Dokument ersetzen und ersetzen Informationen, die zuvor in früheren Versionen dieses Dokuments bereitgestellt wurden.
© 2024 STMicroelectronics Alle Rechte vorbehalten
UM2646 – Rev. 4
23 / 23-Seite
Dokumente / Ressourcen
![]() |
STMicroelectronics X-CUBE-SAFEA1 Softwarepaket [pdf] Benutzerhandbuch STSAFE-A100, STSAFE-A110, X-CUBE-SAFEA1 Softwarepaket, X-CUBE-SAFEA1, Softwarepaket, Paket |




