DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_KeyManager FIG-2ba045f346bbeec7 852 × 1152 px 1 Release(s)

Figure 9.4: Add Working Certificate

SHA-256 Inhalts-Fingerabdruck: 2ba045f346bbeec7cb18103443f350d838d338d6895e1dbbe74c6032166c0fee
✦ 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

  • Klassifikation: UML-Sequenzdiagramm (Interaction Diagram nach AUTOSAR-Spezifikationsstandard).
  • Funktionale Einordnung: AUTOSAR Classic Platform, BSW-Kryptografie- und Sicherheits-Stack (Security Service Layer).
  • Technischer Zweck: Spezifikation des sequenziellen Ablaufs zur Registrierung, syntaktischen Vorprüfung (Parsing) und kryptografischen Validierung eines Arbeitszertifikats (Working Certificate, z. B. X.509 oder CVC) durch den KeyM (Key Manager) in Kooperation mit StbM (Synchronized Time-Base Manager), NvM (Non-Volatile Memory Manager) und Csm (Crypto Service Manager).

2. Komponenten, Entitäten & Schnittstellen

  • Akteure & BSW-Module (Lifelines):
    • Application: Applikative Software-Komponente (SW-C), fungiert als Initiator.
    • «module» KeyM: Key Manager (Zentrale Zustandsverwaltung für Zertifikate und Schlüsselstrukturen).
    • «module» StbM: Synchronized Time-Base Manager (Liefert fälschungssichere Zeitstempel zur Gültigkeitsprüfung).
    • «module» NvM: Non-Volatile Memory Manager (Bereitstellung persistierter Zertifikate / Trust-Anchors / Intermediate-Zertifikate).
    • «module» Csm: Crypto Service Manager (Ausführung kryptografischer Primitiven und Schlüsselverwaltung im Crypto Stack).
  • Schnittstellen & Datentypen (API-Signatur-Ebene):
    • KeyM_CertGetStatus(KeyM_CertificateIdType, KeyM_CertificateStatusType**): Abfrage des Zertifikatslebenszyklus-Status.
    • KeyM_SetCertificate(KeyM_CertificateIdType, const KeyM_CertDataType*): Injektion der Rohzertifikatsdaten in den flüchtigen Puffer des KeyM.
    • KeyM_VerifyCertificate(KeyM_CertificateIdType): Trigger für die Zertifikatsketten- und Integritätsvalidierung.
    • StbM_GetCurrentTime(StbM_SynchronizedTimeBaseType, StbM_TimeTupleType**, StbM_UserDataType**): Abruf der synchronisierten Systemzeit.
    • NvM_ReadBlock(NvM_BlockIdType, void**): Synchron/asynchron abstrahierter Lesezugriff auf NVM-Blöcke.
    • Csm_KeyElementSet(uint32, uint32, const uint8*, uint32) & Csm_KeySetValid(uint32): Konfiguration und Validierung kryptografischer Schlüsselobjekte im CSM/Crypto-Treiber.
    • Csm_SignatureVerify(uint32, Crypto_OperationModeType, const uint8*, uint32, const uint8*, uint32, Crypto_VerifyResultType**): Asymmetrische Signaturprüfung über das Zertifikat.

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialer Status-Check:
    • Application ruft KeyM_CertGetStatus() auf.
    • Rückgabe: KEYM_CERTIFICATE_NOT_AVAILABLE (Zertifikat existiert noch nicht im KeyM-Arbeitsspeicher).
  2. Zertifikatsübergabe & Parsing:
    • Application ruft KeyM_SetCertificate(certId, &certData) auf.
    • Interne KeyM-Aktion (Self-Call): Parsing („Parsing all sub elements“). Zerlegung der ASN.1/DER- oder CVC-Struktur.
    • Interne KeyM-Aktion (Self-Call): Verifying (KeyMCertificateElementVerification() ausgeführt). Prüfung auf Vorhandensein und Konformität aller Pflichtelemente/Extensions.
    • Synchroner Return zu Application.
  3. Zwischenstatus:
    • Erneuter Aufruf von KeyM_CertGetStatus().
    • Rückgabe: KEYM_CERTIFICATE_PARSED_NOT_VALIDATED.
  4. Verifikationskette (KeyM_VerifyCertificate):
    • Application triggert KeyM_VerifyCertificate().
    • Hierarchieprüfung: Interner Self-Call subject check (Abgleich: Subject des übergeordneten Zertifikats / CA entspricht Issuer des zu prüfenden Zertifikats).
    • Zeitfenster-Validierung: Aufruf StbM_GetCurrentTime(), gefolgt vom Self-Call time stamp check (Prüfung: Aktuelle Zeit liegt strikt im Intervall notBefore bis notAfter).
    • Optionaler Pfad opt [certificate stored in NvM]:
      • Fallback/Abruf des übergeordneten Ausstellerzertifikats bzw. Public Keys aus dem NVM via NvM_ReadBlock().
      • Bereitstellung des Verifikationsschlüssels im CSM via Csm_KeyElementSet() und anschließende Freigabe via Csm_KeySetValid().
    • Kryptografische Signaturprüfung:
      • KeyM ruft Csm_SignatureVerify() mit dem öffentlichen Schlüssel der übergeordneten CA auf, um die Signatur des Zielzertifikats mathematisch zu verifizieren.
    • Synchroner Return zu Application.
  5. Finaler Zustand:
    • Erneuter Aufruf von KeyM_CertGetStatus().
    • Rückgabe: KEYM_CERTIFICATE_VALID (Zertifikat ist einsatzbereit für TLS, SecOC, DoIP etc.).

4. Normative Relevanz & Entwickler-Hinweise

  • Zweistufiger Einbringungs- und Verifikationsprozess: Ein Aufruf von KeyM_SetCertificate() validiert das Zertifikat nicht kryptografisch, sondern parst lediglich die Datenstrukturen (KEYM_CERTIFICATE_PARSED_NOT_VALIDATED). Erst der explizite Aufruf von KeyM_VerifyCertificate() prüft Kette, Signatur und Zeit.
  • Synchronisierungsanforderung (StbM): Ohne eine valide synchronisierte Zeitbasis (StbM) schlägt die Prüfung von notBefore/notAfter fehl. Entwickler müssen sicherstellen, dass vor der Zertifikatsverifikation eine valide Zeitquelle (z. B. via CAN/Ethernet-TSyn oder GPS) eingeregelt ist.
  • Blockierende vs. Nicht-blockierende Ausführung: Das Diagramm stellt Aufrufe wie NvM_ReadBlock() und Csm_SignatureVerify() vereinfacht synchron dar. In realen AUTOSAR-Konfigurationen laufen NvM- und CSM/Crypto-Jobs häufig asynchron (Job-Queuing via Csm_MainFunction() bzw. NvM-Callbacks); der KeyM muss über entsprechende State-Machines bzw. Polling-/Callback-Mechanismen konfiguriert werden.
  • Schlüssel-Routing im CSM: Der für die Signaturprüfung benötigte öffentliche Schlüssel des Ausstellers muss im Crypto-Stack unter einer passend konfigurierten CsmKeyId erreichbar sein. Liegt dieser persistent im NVM, muss die Kopplung NvMBlockDescriptor ↔ KeyM/Csm im ARXML konsistent parametriert sein.

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

R22-11 → R23-11 normative Änderung Vorgänger: FIG-383f20c98390d9ff
  • StbM_GetCurrentTime: Der Parametertyp des dritten Parameters wurde von StbM_TimeStampType** zu StbM_TimeTupleType** geändert.
R23-11 → R24-11 keine inhaltliche Änderung Nachfolger: FIG-bbcba14bff8a8126

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Application «module» | Csm | «module» | KeyM | «module» | NvM | «module» | StbM |             |  |    |    |  |  |  |   |  |   |  |   |  |  |  |    |  |  |   |  |  |  |  |  |   |   |  |  |  |  |  |  |  |    |  |  |    |  |  |  |          |  |  |   |  |       |  |  |  |   |  |  |    |  |  |  |      |  |     |  |  ! |  |        |   |  |  |  |  |      |  |  |  |  | ! | ! |     |  |  |  |  |  " | #  |   |  |   | $ |  |  |  |   |  | $ |  |  $ |  |  |   |  |   | $ |     |  ! | opt | [certificate stored in NvM] | status = KEYM_CERTIFICATE_VALID | time stamp check | Verifying | StbM_GetCurrentTime(Std_ReturnType, StbM_SynchronizedTimeBaseType, StbM_TimeTupleType**, StbM_UserDataType**) | status = KEYM_CERTIFICATE_NOT_AVAILABLE | KeyM_CertGetStatus(Std_ReturnType, KeyM_CertificateIdType, KeyM_CertificateStatusType**) | Csm_KeyElementSet(Std_ReturnType, uint32, uint32, const uint8*, uint32) | KeyM_SetCertificate(Std_ReturnType, KeyM_CertificateIdType, const KeyM_CertDataType*) | Csm_SignatureVerify(Std_ReturnType, uint32, Crypto_OperationModeType, const uint8*, uint32, const uint8*, uint32, Crypto_VerifyResultType**) | KeyM_VerifyCertificate(Std_ReturnType, KeyM_CertificateIdType) | Csm_KeySetValid(Std_ReturnType, uint32) | NvM_ReadBlock(Std_ReturnType, NvM_BlockIdType, void**) | Parsing | subject check | status = KEYM_CERTIFICATE_PARSED_NOT_VALIDATED | KeyM_CertGetStatus(Std_ReturnType, KeyM_CertificateIdType, KeyM_CertificateStatusType**) | KeyM_CertGetStatus(Std_ReturnType, KeyM_CertificateIdType, KeyM_CertificateStatusType**) | E_OK

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_CP_SWS_KeyManager S. 103 9.4 Figure 9.4: Add Working Certificate