AUTOSAR_AP_EXP_SWArchitecture
FIG-0f3ce3b04cf4263b
723 × 373 px
1 Release(s)
Figure 9.110: Interfaces for security
SHA-256 Inhalts-Fingerabdruck:
0f3ce3b04cf4263b14048dc04933abf112786abff030c6db6a7063b065241345
✦
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-Komponenten- und Schnittstellendiagramm (AUTOSAR Adaptive Platform Architecture Modeling).
- Funktionaler Kontext: Das Diagramm spezifiziert die Interaktion zwischen dem zentralen Diagnostic Management (DM) Functional Cluster (
ara::diag, daemon-basiert) und einer Adaptive Application (AA) für sicherheitskritische Diagnosefunktionen gemäß ISO 14229-1 (UDS). - Architektonischer Zweck: Trennung von protokollarischer Diagnoseabwicklung (UDS/DoIP-Terminierung im Daemon) und applikativer Autorisierungs-, Validierungs- sowie Kryptologielogik im Prozesskontext der Adaptive Application.
2. Komponenten, Entitäten & Schnittstellen
Akteure & Komponenten
Adaptive Application: Applikationsprozess im POSIX User Space der Adaptive Platform, der Diagnose- und Security-Funktionen als Service-Consumer nutzt und Handler-Methoden als Callbacks bereitstellt.«aapFunctionalCluster» Diagnostic Management(Attribut:daemon-based): Zentraler Plattformdienst (Daemon), der als UDS-Server fungiert und die Port-Schnittstellen implementiert bzw. bereitstellt.
Port-Schnittstellen («aapPortInterface,aapAPI» bzw. «aapAPI,aapPortInterface»)
SecurityAccess(UDS Service 0x27):+ Offer()/+ StopOffer(): Reguläre Service-Methoden zur Lebenszyklus- und Registrierungssteuerung.«aapCallbackMethod» + CompareKey(): Callback zur Schlüsselverifikation (Key Comparison) durch die Applikation.«aapCallbackMethod» + GetSeed(): Callback zur Anforderung eines kryptografischen Zufallswerts (Seed) von der Applikation.
ServiceValidation:+ Offer()/+ StopOffer(): Reguläre Methoden zur Lebenszyklus-Steuerung der Validierungsinstanz.«aapCallbackMethod» + Confirmation(): Callback zur Bestätigung über Abschluss oder Statusänderung einer Diagnoseanfrage.«aapCallbackMethod» + Validate(): Callback zur Prüfung von System-Vorbedingungen vor der Service-Ausführung.
Authentication(UDS Service 0x29):+ Offer()/+ StopOffer(): Reguläre Methoden zur Lebenszyklus-Steuerung.«aapCallbackMethod» + VerifyCertificateBidirectional(): Callback zur gegenseitigen Zertifikatsauthentifizierung.«aapCallbackMethod» + VerifyCertificateUnidirectional(): Callback zur einseitigen Zertifikatsprüfung (Tester gegen ECU).«aapCallbackMethod» + VerifyOwnership(): Callback zur Verifikation des Besitznachweises (Proof of Ownership).
TransmitCertificate(UDS Service 0x29 Subfunktionen):+ Offer()/+ StopOffer(): Reguläre Methoden zur Lebenszyklus-Steuerung.«aapCallbackMethod» + Process(): Callback zur Verarbeitung und Übertragung von Zertifikatsdaten.
Beziehungen & Ports
- Applikationsseite (Adaptive Application): Greift auf alle vier Schnittstellen (
SecurityAccess,ServiceValidation,Authentication,TransmitCertificate) jeweils über einen«aapRequiredPort»mit«use»-Abhängigkeit zu. - Daemon-Seite (Diagnostic Management): Realisiert alle vier Schnittstellen vollständig (UML-Schnittstellenrealisierung: gestrichelte Linien mit geschlossener, nicht ausgefüllter Pfeilspitze vom Diagnostic Management zur jeweiligen Schnittstelle).
3. Dynamisches Verhalten & Sequenzablauf
Lifecycle & Registrierung
- Service Announcement: Die Applikation initialisiert ihre Diagnose-Handler und ruft
Offer()auf. Dies publiziert die Instanz per IPC (z. B. UNIX Domain Sockets/Shared Memory) beim DM-Daemon. - Shutdown: Bei Prozessbeendigung oder Degradation wird
StopOffer()ausgeführt, woraufhin der DM-Daemon UDS-Anfragen für diesen Service mit NRCs abweist (z. B.0x31 RequestOutOfRangeoder0x22 ConditionsNotCorrect).
UDS 0x27 SecurityAccess-Ablauf
- Seed-Request: Tester sendet Subfunktion
0x01(RequestSeed). DM parst die PDU und ruft asynchronGetSeed()an der Applikation auf. - Seed-Response: Applikation generiert den Seed (typischerweise via
ara::crypto) und gibt ihn an den DM zurück; DM kapselt ihn in die UDS-Antwort. - Key-Verifikation: Tester sendet Subfunktion
0x02(SendKey). DM ruftCompareKey()auf. Bei Übereinstimmung setzt DM die Sicherheitsstufe aktiv; bei Fehlschlag wird der Fehlversuchszähler (Attempt Counter / Penalty Timer) inkrementiert.
Service-Validierung (Pre-Condition Check)
- Eingehender UDS-Request triggert
Validate(). Die Applikation prüft interne Zustände. - Gibt
Validate()ein negatives Resultat zurück, antwortet DM unmittelbar mit NRC0x22(ConditionsNotCorrect) oder herstellerspezifischen NRCs, ohne den Service auszuführen. - Nach erfolgreicher Verarbeitung informiert DM die Applikation via
Confirmation().
UDS 0x29 Authentication & Zertifikatsaustausch
- Tester initiiert Zertifikatsübertragung (
TransmitCertificate::Process()), um Certificate Chains in den ECU-Puffer zu laden. - Validierung erfolgt über
VerifyCertificateUnidirectional()bzw.VerifyCertificateBidirectional(). - Asymmetrischer Besitznachweis wird über
VerifyOwnership()verifiziert, bevor erweiterte Diagnoserechte freigeschaltet werden.
4. Normative Relevanz & Entwickler-Hinweise
- Asynchroner API-Vertrag (
ara::core::Future/ara::core::Result): Methoden wieGetSeed(),CompareKey()undVerifyCertificate*()sind nicht-blockierend zu implementieren. Da kryptografische Berechnungen Latenzen erzeugen, muss der DM-Daemon bei Überschreitung des UDS-Timers P2_Server automatisch Response Pending (0x78) an den Tester senden, bis dasFutureaufgelöst ist. - ARXML-Modellierung (Manifest):
DiagnosticSecurityAccessInterfaceundDiagnosticServiceValidationInterfacemüssen im Execution- und Service-Instance-Manifest korrekt an die Port-Prototypen der AA gebunden werden.- Zuweisung der Security-Levels (
SecurityLevel-Referenzen) und Zuordnung der UDS-Service-IDs zurServiceValidationmuss im Diagnose-Extrakt konsistent definiert sein.
- Interaktion mit
ara::crypto: FürAuthentication(UDS 0x29) undSecurityAccess(UDS 0x27) darf die Applikation Schlüsselmaterial nicht im Klartext halten; private Keys und Root-Zertifikate müssen über die Krypto-APIs (X509Provider,KeyStorageProvider) in Hardware-Vertrauensankern (HSM/Secure Element) abgesichert sein.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.