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 mitStbM(Synchronized Time-Base Manager),NvM(Non-Volatile Memory Manager) undCsm(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
- Initialer Status-Check:
ApplicationruftKeyM_CertGetStatus()auf.- Rückgabe:
KEYM_CERTIFICATE_NOT_AVAILABLE(Zertifikat existiert noch nicht im KeyM-Arbeitsspeicher).
- Zertifikatsübergabe & Parsing:
ApplicationruftKeyM_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.
- Zwischenstatus:
- Erneuter Aufruf von
KeyM_CertGetStatus(). - Rückgabe:
KEYM_CERTIFICATE_PARSED_NOT_VALIDATED.
- Erneuter Aufruf von
- Verifikationskette (
KeyM_VerifyCertificate):ApplicationtriggertKeyM_VerifyCertificate().- Hierarchieprüfung: Interner Self-Call
subject check(Abgleich:Subjectdes übergeordneten Zertifikats / CA entsprichtIssuerdes zu prüfenden Zertifikats). - Zeitfenster-Validierung: Aufruf
StbM_GetCurrentTime(), gefolgt vom Self-Calltime stamp check(Prüfung: Aktuelle Zeit liegt strikt im IntervallnotBeforebisnotAfter). - 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 viaCsm_KeySetValid().
- Fallback/Abruf des übergeordneten Ausstellerzertifikats bzw. Public Keys aus dem NVM via
- Kryptografische Signaturprüfung:
KeyMruftCsm_SignatureVerify()mit dem öffentlichen Schlüssel der übergeordneten CA auf, um die Signatur des Zielzertifikats mathematisch zu verifizieren.
- Synchroner Return zu
Application.
- Finaler Zustand:
- Erneuter Aufruf von
KeyM_CertGetStatus(). - Rückgabe:
KEYM_CERTIFICATE_VALID(Zertifikat ist einsatzbereit für TLS, SecOC, DoIP etc.).
- Erneuter Aufruf von
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 vonKeyM_VerifyCertificate()prüft Kette, Signatur und Zeit. - Synchronisierungsanforderung (StbM): Ohne eine valide synchronisierte Zeitbasis (
StbM) schlägt die Prüfung vonnotBefore/notAfterfehl. 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()undCsm_SignatureVerify()vereinfacht synchron dar. In realen AUTOSAR-Konfigurationen laufen NvM- und CSM/Crypto-Jobs häufig asynchron (Job-Queuing viaCsm_MainFunction()bzw. NvM-Callbacks); derKeyMmuss ü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
CsmKeyIderreichbar sein. Liegt dieser persistent im NVM, muss die KopplungNvMBlockDescriptor↔KeyM/Csmim ARXML konsistent parametriert sein.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.