DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_KeyManager FIG-303efcd12de1aa31 930 × 1195 px 1 Release(s)

Figure 9.5: Add Root or intermediate Certificate

SHA-256 Inhalts-Fingerabdruck: 303efcd12de1aa31f3158771b252cebca24ed14ee3c3a7b1ece75897023bf913
✦ 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: UML-Sequenzdiagramm (AUTOSAR Classic Platform, SWS Key Manager, R22-11, Figure 9.5).
  • Technischer Zweck: Spezifikation des standardisierten Verifikations-, Einbringungs- und Aktualisierungsablaufs von X.509-Root- bzw. Intermediate-Zertifikaten im BSW-Modul KeyM (Key Manager).
  • Architektur-Einordnung: Vertikale Orchestrierung im AUTOSAR-Sicherheits-Stack: Die Application (SW-C) stößt administrative Zertifikatsoperationen über das Service-Interface des KeyM an. Der KeyM interagiert mit StbM (Synchronized Time-Base Manager für Gültigkeitsprüfungen), Csm (Crypto Service Manager für kryptografische Signaturprüfung und Key-Management) sowie optional NvM (Non-Volatile Memory Manager für persistente Zertifikatsspeicherung).

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Instanzen (Lifelines)
  • Application: Aufrufende Applikations-SW-C bzw. Diagnose-Session (z. B. Dcm-Proxy).
  • «module» KeyM: Zentrales BSW-Modul zur Zertifikats- und Schlüsselverwaltung (Crypto Service Layer).
  • «module» StbM: BSW-Modul zur synchronisierten Zeitbereitstellung (System Services).
  • «module» NvM: BSW-Modul zur nichtflüchtigen Speicherverwaltung (Memory Services; gekennzeichnet mit Persistenz-Symbol).
  • «module» Csm: BSW-Modul zur Abstraktion hardware-/softwarebasierter Kryptografietreiber (Crypto Services).
Schnittstellen & Funktionssignaturen
  • KeyM_ServiceCertificate(Std_ReturnType, KeyM_ServiceCertificateType, const uint8*, uint16, const uint8*, uint16, uint8**, uint16): Service-Einsprungpunkt für Zertifikatsoperationen (service-Selektor: KEYM_SERVICE_CERT_SET_ROOT, KEYM_SERVICE_CERT_SET_INTERMEDIATE_CERT, KEYM_SERVICE_CERT_UPDATE_INTERMEDIATE).
  • StbM_GetCurrentTime(Std_ReturnType, StbM_SynchronizedTimeBaseType, StbM_TimeStampType**, StbM_UserDataType**): Abfrage des aktuellen, verifizierten Zeitstempels.
  • Csm_KeyElementSet(Std_ReturnType, uint32, uint32, const uint8*, uint32): Setzen von Schlüsselelementen im Worker-Key bzw. Ziel-Key.
  • Csm_KeySetValid(Std_ReturnType, uint32): Gültig-Schalten eines konfigurierten CSM-Schlüssels.
  • Csm_SignatureVerify(Std_ReturnType, uint32, Crypto_OperationModeType, const uint8*, uint32, const uint8*, uint32, Crypto_VerifyResultType**): Asymmetrische Signaturprüfung des Zertifikats.
  • NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const void*): Persistieren des Zertifikats in einem NVRAM-Block.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger & Identifikation:
    • Aufruf von KeyM_ServiceCertificate() mit dem entsprechenden Service-Kommando.
    • Interner Suchschritt im KeyM: Search for KeyMCertificate über die Konfigurationsreferenz KeyMCertStorageCryptoKeyRef->KeyMCryptoKeyName.
  2. Strukturelle & Semantische Vorprüfung:
    • Parsing: Vollständiges Parsen aller X.509-Subelemente (ASN.1/DER-Decodierung).
    • Verifying: Ausführung von KeyMCertificateElementVerification().
    • subject check: Validierung der Zertifikatskette; das Subject-Feld des übergeordneten Zertifikats muss exakt mit dem Issuer-Feld des untergeordneten Zertifikats übereinstimmen.
  3. Gültigkeitszeitraum-Validierung (StbM):
    • Synchroner Abruf der aktuellen Systemzeit via StbM_GetCurrentTime().
    • time stamp check: Abgleich der StbM-Zeit gegen die Gültigkeitsgrenzen notBefore und notAfter des Zertifikats.
  4. Kryptografische Signaturprüfung (Csm):
    • Belegen eines temporären Worker-Keys via Csm_KeyElementSet() mit dem öffentlichen Schlüssel der Ausstellerinstanz.
    • Statuswechsel auf gültig via Csm_KeySetValid().
    • Aufruf von Csm_SignatureVerify() mit dem Zertifikatsdatenstrom und der Signatur; Rückgabe des Verifikationsergebnisses (Crypto_VerifyResultType).
  5. Konditionale Persistierung (opt [Verification successful]):
    • Nur bei erfolgreicher Verifikation greift das Combined Fragment alt:
      • Pfad 1 ([NvM used for Key storage]): Direktes Schreiben der Zertifikatsdaten in den NvM via NvM_WriteBlock().
      • Pfad 2 ([Csm used for Key storage]): Schlüsseldaten werden via Csm_KeyElementSet() in den persistenten CSM-Key überführt und mittels Csm_KeySetValid() validiert.
  6. Bereinigung (Zeroization) & Rückkehr:
    • Unconditional Execution: Aufruf von Csm_KeyElementSet() zur Zerstörung/Ungültigmachung des ephemeren Worker-Keys (KeyElementSet to destroy the worker key).
    • Rücksprung zu Application mit Erfolgs- oder Fehlercode (Std_ReturnType).

4. Normative Relevanz & Entwickler-Hinweise

  • Key-Lifecycle & Hygiene: Das Diagramm erzwingt eine strikte ephemere Handhabung des Verifikationsschlüssels. Nach Abschluss der Verifikation muss der Worker-Key im Krypto-Treiber (Crypto Driver Object) überschrieben bzw. gelöscht werden, um Key-Leakage im RAM zu verhindern.
  • Konfigurationsabhängigkeit der Persistierung: In KeyM muss über Konfigurationsparameter (z. B. KeyMCertificateStorage) festgelegt werden, ob Zertifikate transparent im NvM (Dateisystem/Block) oder geschützt über den Krypto-Stack (Csm/Crypto-Hardware-Flash) hinterlegt werden.
  • StbM-Zeitbasis-Restriktion: Schlägt StbM_GetCurrentTime() fehl oder liefert StbM keinen synchronisierten Zeitstatus (STBM_TIMEOUT_COUNTER überschritten oder Status unvalidiert), schlägt die Zertifikatsinstallation fehl. Entwickler müssen sicherstellen, dass die Synchronisationsquelle (z. B. via PTP/CAN-TSyn/GPS) vor Zertifikatsupdates verriegelt ist, sofern nicht via Konfiguration (KeyMValidCertTime) eine Lockerung definiert ist.
  • Synchronität vs. Asynchronität: Obwohl das Sequenzdiagramm vereinfacht synchrone Returns darstellt, arbeiten Csm_SignatureVerify und NvM_WriteBlock im AUTOSAR-Standard primär asynchron (CRYPTO_PROCESSING_ASYNC / Job-Queue). Der KeyM-Zustandsautomat muss zyklisch in KeyM_MainFunction() bzw. über Modul-Callbacks (KeyM_CsmNotification, NvM_SingleBlockCallback) synchronisiert werden.

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

R22-11 → R23-11 normative Änderung Nachfolger: FIG-a65d45f45691fd24
  • StbM_GetCurrentTime: Der Typ des dritten Parameters wurde von StbM_TimeStampType** auf StbM_TimeTupleType** geändert.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Application «module» | KeyM | «module» | NvM | «module» | Csm | «module» | StbM |                      |                    |  |   |  |  |  |     |                   |   |   |  |   |  |  |  |  |                    ! "    #        $   %    & '   %  |  |  (  |      " $  # #  | ) *  #  (  "  |          # (  "       " + ,  -   | ) |  !  | ) |      | ) | # # |     | ) * .    # !            "   | ) | % %          (        |    | ) |    # !            "   #          / |     | ) |   "  (  %    !  ! | *    (       +  /  /   (  %    !  ! | *   0 , | (        | 1 " | *    | 1  " ! | 1 "   | 1  (  %   ! / | opt | [Verification successful] | alt | [NvM uesd for Key storage] | [Csm uesd for Key storage] |  #  (  "  !       2   2  | KeyM_ServiceCertificate(Std_ReturnType, KeyM_ServiceCertificateType, const uint8*, uint16, const uint8*, uint16, uint8**, uint16): int | Csm_KeyElementSet(Std_ReturnType, uint32, uint32, const uint8*, uint32) | Csm_KeyElementSet(Std_ReturnType, uint32, uint32, const uint8*, uint32) | StbM_GetCurrentTime(Std_ReturnType, StbM_SynchronizedTimeBaseType, StbM_TimeStampType**, StbM_UserDataType**) | subject check | Csm_KeyElementSet(Std_ReturnType, uint32, uint32, const uint8*, uint32) | Csm_KeySetValid(Std_ReturnType, uint32) | Search for KeyMCertificate | Csm_KeySetValid(Std_ReturnType, uint32) | NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const void*) | time stamp check | Verifying | Parsing | Csm_SignatureVerify(Std_ReturnType, uint32, Crypto_OperationModeType, const uint8*, uint32, const uint8*, uint32, Crypto_VerifyResultType**)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_SWS_KeyManager S. 102 9.5 Figure 9.5: Add Root or intermediate Certificate