AUTOSAR_AP_EXP_SWArchitecture
FIG-dbe10d5d26d0b330
723 × 361 px
1 Release(s)
Figure 9.100: Interfaces for security
SHA-256 Inhalts-Fingerabdruck:
dbe10d5d26d0b330f228eeadd14233adfa45cfe54b714d037ff49c4a1e740fb1
✦
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
- 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 anwendungsspezifische Diagnose- und Security-Funktionen ausführt.«aapFunctionalCluster» Diagnostic Management(Attribut:daemon-based): Zentraler Plattformdienst (Daemon), der als UDS-Server fungiert und eingehende Diagnoseanfragen an die zuständigen Applikationen routet.
Port-Schnittstellen («aapPortInterface,aapAPI» bzw. «aapAPI,aapPortInterface»)
SecurityAccess(UDS Service 0x27):+ GetSeed(): Anforderung eines kryptografischen Zufallswerts (Seed) von der Applikation.+ CompareKey(): Übergabe des vom Diagnosetester empfangenen Schlüssels (Key) zur Verifikation.+ Offer()/+ StopOffer(): Registrierung bzw. Deregistrierung der Service-Instanz am Diagnose-Daemon.
ServiceValidation:+ Validate(): Zustands- und Vorbedingungsprüfung vor Ausführung eines Diagnose-Services (z. B. Fahrzeugstillstand, Klemme 15).+ Confirmation(): Rückmeldung über Abschluss oder Statusänderung einer Diagnoseanfrage.+ Offer()/+ StopOffer(): Lebenszyklus-Steuerung der Validierungs-Instanz.
Authentication(UDS Service 0x29):+ VerifyCertificateUnidirectional(): Einseitige Zertifikatsprüfung (Tester gegenüber ECU).+ VerifyCertificateBidirectional(): Gegenseitige Authentifizierung zwischen Tester und ECU.+ VerifyOwnership(): Überprüfung des Besitznachweises (Proof of Ownership / Challenge-Response via Private Key).+ Offer()/+ StopOffer(): Lebenszyklus-Steuerung.
TransmitCertificate(UDS Service 0x29 Subfunktionen):+ Process(): Verarbeitung und Segmentierungs-Handling eingehender/ausgehender Zertifikatsdaten.+ Offer()/+ StopOffer(): Lebenszyklus-Steuerung.
Beziehungen & Ports
- Applikationsseite: Die
Adaptive Applicationrealisiert die Schnittstellen (UML-Schnittstellenrealisierung: gestrichelte Linie mit geschlossener, nicht ausgefüllter Pfeilspitze zur jeweiligen Schnittstelle). - Daemon-Seite (Diagnostic Management):
- Verwendet
SecurityAccessundServiceValidationüber«aapRequiredPort»mit«use»-Abhängigkeit (DM agiert als Client/Aufrufer der Applikationslogik). - Verwendet
AuthenticationundTransmitCertificateüber«aapProvidedPort»mit«use»-Abhängigkeit (Modellierungszuordnung als bereitgestellter Service-Port im Kontext des Daemons).
- Verwendet
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.