AUTOSAR_CP_SWS_KeyManager
FIG-fd3c2f7ed38cb9af
842 × 1221 px
1 Release(s)
Figure 10.2: KeyMGeneral Definition
SHA-256 Inhalts-Fingerabdruck:
fd3c2f7ed38cb9af8bb3cb6fd8ca55587ebe3bf0b6a30720176af020d1fa4feb
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Diagrammtyp: Metamodell-Klassendiagramm (AUTOSAR ECU Configuration Parameter Definition, ECUC) gemäß AUTOSAR-Metamodell.
- Funktionale Einordnung: AUTOSAR Classic Platform (CP), System Services / Crypto Stack (Release R22-11). Das Diagramm spezifiziert die Struktur des Konfigurations-Containers
KeyMGeneraldes Moduls KeyM (Key Manager, SWS_KeyManager). - Technischer Zweck: Festlegung der globalen Pre-Compile- und Link-Time-Konfigurationsparameter zur Steuerung von Codegenerierung, Speicherauslegung, Schnittstellenumfang (APIs für Zertifikate und kryptografische Schlüssel), Task-Scheduling und IdsM-/DET-Anbindung.
2. Komponenten, Entitäten & Schnittstellen
Wurzelcontainer
KeyMGeneral(EcucParamConfContainerDef): Zentraler Definitionscontainer für allgemeine KeyM-Parameter.
Sub-Container (+subContainer bzw. Komposition zu EcucParamConfContainerDef)
KeyMNvmBlock([0..65535]): Definiert Verknüpfungen zu NvM-Blockkonfigurationen für die nicht-flüchtige Speicherung von Schlüsseln und Zertifikatsdaten.KeyMSecurityEventRefs([0..1]): Referenziert Security-Events zur Meldung von Sicherheitsereignissen an den Intrusion Detection System Manager (IdsM).
Skalare Parameter (+parameter als Komposition)
- Basis- und Diagnoseparameter:
KeyMDevErrorDetect(EcucBooleanParamDef, Default:false): Aktiviert die Entwicklungserkennung und das Reporting via DET (Det_ReportError).KeyMMainFunctionPeriod(EcucFloatParamDef, Wertebereich:0.0 .. INFSekunden): Zykluszeit für die periodische Modulabarbeitung (KeyM_MainFunction/KeyM_MainBackgroundFunction).
- Zertifikatsmanagement-Parameter:
KeyMCertificateManagerEnabled(EcucBooleanParamDef, Default:false): Master-Switch für das Zertifikatsmanagement-Submodul.KeyMCertificateChainMaxDepth(EcucIntegerParamDef, Wertebereich:1 .. 255): Maximale Tiefe/Stufenanzahl bei der Validierung hierarchischer X.509-/CVC-Zertifikatsketten.KeyMKeyCertNameMaxLength(EcucIntegerParamDef, Wertebereich:1 .. 255): Maximale Bytezahl für Bezeichner von Schlüsseln und Zertifikaten im Namensraum.
- Kryptografische Schlüssel- & Funktions-Switches:
KeyMCryptoKeyManagerEnabled(EcucBooleanParamDef, Default:false): Master-Switch für die Verwaltung kryptografischer Schlüssel.- Optionale Service-Funktionsparameter (
Multiplicity: [0..1], Default:false):KeyMCryptoKeyStartFinalizeFunctionEnabled: Schaltet Start-/Finalize-APIs frei.KeyMCryptoKeyPrepareFunctionEnabled: Schaltet Prepare-Funktionalität frei.KeyMCryptoKeyVerifyFunctionEnabled: Schaltet Key-Verifikationsroutinen frei.KeyMCryptoKeyVerifyAsyncMode: Bestimmt, ob Key-Verifikation synchron (false) oder asynchron (true) arbeitet.KeyMServiceCertificateFunctionEnabled: Schaltet Hilfsdienste für Service-Zertifikate frei.
- Handler-Switches (Kardinalität
[1..1], Default:false):KeyMCryptoKeyHandlerStartFinalizeEnabledKeyMCryptoKeyHandlerPrepareEnabledKeyMCryptoKeyHandlerUpdateEnabledKeyMCryptoKeyHandlerVerifyEnabledKeyMCryptoKeyHandlerServiceCertificateEnabled
- Security Reporting:
KeyMEnableSecurityEventReporting(EcucBooleanParamDef, Default:false): Aktiviert die Anbindung an den IdsM.
3. Dynamisches Verhalten & Sequenzablauf
Da es sich um ein statisches Konfigurationsmetamodell handelt, leitet sich das dynamische Verhalten aus den Parameterbelegungen ab:
- Zyklische Ausführung:
KeyMMainFunctionPerioddeterminiert das Aufrufintervall durch den BSW-Scheduler (SchM).- Im MainFunction-Kontext werden asynchrone NvM-Schreib-/Lesezyklen, Parsen umfangreicher Zertifikatsketten sowie asynchrone Krypto-Jobs (CSM/CryIf) schrittweise abgearbeitet.
- Synchron vs. Asynchron:
- Ist
KeyMCryptoKeyVerifyAsyncMode == false, blockiert der Verifikationsaufruf bis zum Vorliegen des CSM-Ergebnisses. - Ist
KeyMCryptoKeyVerifyAsyncMode == true, kehrt der API-Aufruf mitKEYM_E_BUSYoderE_OKsofort zurück; die Zustandsmaschine delegiert die Prüfung an den Scheduler-Task und benachrichtigt über konfigurierte Callbacks (KeyM_VerifyCallback/ Notification).
- Ist
- Fehler- und Event-Pfade:
KeyMDevErrorDetect == true: Laufzeitfehler (z. B. ungültige Pointer, uninitialisierter Zustand) erzeugen synchrone DET-Meldungen.KeyMEnableSecurityEventReporting == true: Sicherheitsrelevante Verletzungen (z. B. ungültige Zertifikatssignatur, abgelaufene Gültigkeit, unautorisierter Key-Update-Versuch) triggern Events an das IdsM viaIdsM_SetSecurityEvent().
4. Normative Relevanz & Entwickler-Hinweise
- Codegenerierung & Footprint-Optimierung:
- Sämtliche
*Enabled-Parameter sind Pre-Compile-Schalter (#if (KEYM_... == STD_ON)). Deaktivierte Features entfernen die entsprechenden Funktionskörper vollständig aus dem Flash (ROM-Footprint). - Werden
KeyMCertificateManagerEnabledoderKeyMCryptoKeyManagerEnabledauffalsebelassen, entfällt der gesamte jeweilige Sub-Stack.
- Sämtliche
- RAM-Dimensionierung:
KeyMCertificateChainMaxDepthundKeyMKeyCertNameMaxLengthbestimmen statische Puffergrößen im RAM. Eine Überdimensionierung führt zu unnötigem BSS-Verbrauch für Chain-Context-Arrays und Namens-Strings.
- NvM-Stack-Kopplung:
- Bei
KeyMNvmBlock > 0muss die Konsistenz der Block-IDs mit dem NvM-Modul über den Integrator sichergestellt werden. Lese-/Schreibzugriffe des KeyM auf NvM-Blöcke müssen im Task-Plan synchronisiert sein (Vermeidung von Reentrancy-Konflikten bei NvM-Queues).
- Bei
- Abhängigkeit der Crypto-Handler:
- Die
KeyMCryptoKeyHandler*Enabled-Parameter schalten die generierten Funktionszeigertabellen und Interfaces zu den darunterliegenden Crypto-Treibern bzw. CSM-Primitives frei.
- Die
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.