DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_KeyManager FIG-21d8290a2dc9642f 842 × 1221 px 1 Release(s)

Figure 10.2: KeyMGeneral Definition

SHA-256 Inhalts-Fingerabdruck: 21d8290a2dc9642faacc0fcf7107335a5d9377e05a3964ed4549c04c1a52b849
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

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 KeyMGeneral des 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 .. INF Sekunden): 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):
      • KeyMCryptoKeyHandlerStartFinalizeEnabled
      • KeyMCryptoKeyHandlerPrepareEnabled
      • KeyMCryptoKeyHandlerUpdateEnabled
      • KeyMCryptoKeyHandlerVerifyEnabled
      • KeyMCryptoKeyHandlerServiceCertificateEnabled
  • 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:
    • KeyMMainFunctionPeriod determiniert 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 mit KEYM_E_BUSY oder E_OK sofort zurück; die Zustandsmaschine delegiert die Prüfung an den Scheduler-Task und benachrichtigt über konfigurierte Callbacks (KeyM_VerifyCallback / Notification).
  • 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 via IdsM_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 KeyMCertificateManagerEnabled oder KeyMCryptoKeyManagerEnabled auf false belassen, entfällt der gesamte jeweilige Sub-Stack.
  • RAM-Dimensionierung:
    • KeyMCertificateChainMaxDepth und KeyMKeyCertNameMaxLength bestimmen 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 > 0 muss 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).
  • Abhängigkeit der Crypto-Handler:
    • Die KeyMCryptoKeyHandler*Enabled-Parameter schalten die generierten Funktionszeigertabellen und Interfaces zu den darunterliegenden Crypto-Treibern bzw. CSM-Primitives frei.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R22-11 → R23-11 keine inhaltliche Änderung Nachfolger: FIG-fd3c2f7ed38cb9af

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

KeyMGeneral: EcucParamConfContainerDef | KeyMDevErrorDetect: EcucBooleanParamDef | defaultValue = false | KeyMMainFunctionPeriod: EcucFloatParamDef | min = 0 max = INF | KeyMCertificateChainMaxDepth: | EcucIntegerParamDef | min = 1 max = 255 | KeyMCertificateManagerEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMKeyCertNameMaxLength: | EcucIntegerParamDef | min = 1 max = 255 | KeyMCryptoKeyManagerEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMCryptoKeyStartFinalizeFunctionEnabled: | EcucBooleanParamDef | defaultValue = false lowerMultiplicity = 0 upperMultiplicity = 1 | KeyMCryptoKeyPrepareFunctionEnabled: | EcucBooleanParamDef | defaultValue = false lowerMultiplicity = 0 upperMultiplicity = 1 KeyMCryptoKeyVerifyFunctionEnabled: | EcucBooleanParamDef | defaultValue = false lowerMultiplicity = 0 upperMultiplicity = 1 | KeyMCryptoKeyVerifyAsyncMode: | EcucBooleanParamDef | defaultValue = false lowerMultiplicity = 0 upperMultiplicity = 1 KeyMServiceCertificateFunctionEnabled: | EcucBooleanParamDef | defaultValue = false lowerMultiplicity = 0 upperMultiplicity = 1 | KeyMCryptoKeyHandlerStartFinalizeEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMCryptoKeyHandlerUpdateEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMCryptoKeyHandlerPrepareEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMCryptoKeyHandlerVerifyEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMCryptoKeyHandlerServiceCertificateEnabled: | EcucBooleanParamDef | defaultValue = false | KeyMNvmBlock: EcucParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = 65535 | KeyMEnableSecurityEventReporting: | EcucBooleanParamDef | defaultValue = false KeyMSecurityEventRefs: EcucParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = 1 | +parameter | +subContainer | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_SWS_KeyManager S. 111 10.2 Figure 10.2: KeyMGeneral Definition