AUTOSAR_SWS_SecureOnboardCommunication
FIG-0d5a4627ecec958a
903 × 656 px
2 Release(s)
Figure 6: Verification of MAC
SHA-256 Inhalts-Fingerabdruck:
0d5a4627ecec958aec6cdacbaa008e4271f1020d10693ee38159ca0adc6beba6
✦
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-Aktivitätsdiagramm (Activity Diagram) / Kontrollflussgraph mit Entscheidungsknoten (Decision Node) und Guard-Bedingungen.
- Funktionale Einordnung: AUTOSAR Classic Platform (Release 4.2.2), BSW Communication Services Layer, Modul
SecOC(Secure Onboard Communication). - Technischer Zweck: Spezifiziert den normativen Algorithmus zur Freshness-Wert-Synchronisation und Retry-Schleife während der Authentizitäts- und Integritätsprüfung einer empfangenen Secured I-PDU (Rx-Pfad) gemäß SWS_SecOC_00053. Werden zur Bandbreitenreduktion nur die Least Significant Bits (LSBs) des Freshness-Wertes über den Bus übertragen, ermöglicht diese Logik die Resynchronisation bei verpassten Botschaften/LSB-Überläufen durch schrittweises Inkrementieren der lokal rekonstruierten Most Significant Bits (MSBs).
2. Komponenten, Entitäten & Schnittstellen
- Akteure & Module:
SecOC: Ausführende BSW-Entität.Crypto Service Manager (CSM): Unterlagerte Krypto-Schnittstelle zur Ausführung der Signatur-/MAC-Prüfung (Csm_MacVerifybzw.Csm_SignatureVerify).PduR(PDU Router): Überlagerte Empfangsschicht (PduR_SecOCRxIndication).
- Zustands- & Konfigurationsvariablen:
Attempts: Lokale Laufzeitvariable (Schleifenzähler für Verifikationsiterationen, initial0).SecOCFreshnessValueSyncAttempts(ECUC-Parameter): Maximal zulässige Anzahl an Re-Synchronisationsversuchen zur Rekonstruktion des vollständigen Freshness-Wertes.FreshnessVerifyValue: Zusammengesetzter Verifikations-Vektor bestehend aus lokal gehaltenen MSBs und den in der Secured I-PDU übertragenen LSBs.
- Kontrollfluss-Knoten & Konnektoren:
- Initial Node: Eintritt über eingehende gesicherte PDU.
- Decision Node (Raute): Auswertung des Verifikationsergebnisses und der Guard-Bedingungen.
- Exit-Konnektoren:
continue(grün): Erfolgreicher Abschluss, Übergang zur Nutzdaten-Auslieferung.step back(gelb): Rücksprung zur Wiederholung der Krypto-Prüfung.abort(rot): Terminaler Fehlerzustand, Verwerfen der PDU.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger: Aufruf von
SecOC_RxIndication()durch die unterlagerte Schnittstelle (z. B. CanIf, FrIf, SoAd).SecOCbaut den ersten PrüfvektorFreshnessVerifyValueauf. - MAC Verification:
- Ausführung der MAC-Verifikation über Nutzdaten (Authentic I-PDU) und
FreshnessVerifyValuevia CSM (synchron oder asynchron).
- Ausführung der MAC-Verifikation über Nutzdaten (Authentic I-PDU) und
- Verzweigung via Guard-Bedingungen:
- Pfad 1 (
passes):- MAC ist valide.
- Fluss terminiert auf Konnektor
continue. SecOCaktualisiert den lokalen Freshness-Wert (persistente MSBs) und leitet die Authentic I-PDU viaPduR_SecOCRxIndication()an den PduR weiter.
- Pfad 2 (
fails && [Attempts < SecOCFreshnessValueSyncAttempts]):- MAC ist ungültig, das Synchronisationsfenster ist noch nicht ausgeschöpft.
- Aktion 1:
Attempts++(Inkrementierung des Versuchszählers). - Aktion 2:
most significant bits of FreshnessVerifyValue ++1(Annahme: LSB-Überlauf fand auf Senderseite bereits statt, Empfänger verpasste mindestens ein Sendeintervall). - Fluss terminiert auf Konnektor
step back: Rücksprung zur erneuten Ausführung vonMAC Verificationmit dem modifiziertenFreshnessVerifyValue.
- Pfad 3 (
fails && [Attempts >= SecOCFreshnessValueSyncAttempts]):- MAC ist ungültig und das Limit der Re-Synchronisationsversuche ist erreicht oder überschritten.
- Aktion:
Drop message(PDU wird verworfen, keine Weiterleitung an PduR). - Fluss geht auf
abort: Fehlermeldung anDem(z. B.SECOC_E_VERIFICATION_FAILURE) bzw. Sicherheits-Event-Logging viaIdsM.
- Pfad 1 (
4. Normative Relevanz & Entwickler-Hinweise
- WCET & Task-Scheduling-Einfluss:
- Ist
SecOCFreshnessValueSyncAttemptsauf N konfiguriert, resultiert dies im Worst Case in (N + 1) sequentiellen CSM-Aufrufen für einen einzigen Rx-Frame. - Bei synchroner CSM-Verarbeitung im Kontext der Kommunikations-Task (
SecOC_MainFunctionRxoder Rx-ISR) führt dies zu massiven CPU-Lastspitzen und potenziellen Task-Overruns. Bei hohen Datenraten oder CAN-Bursts muss die asynchrone CSM-Anbindung mit PDU-Queuing implementiert werden.
- Ist
- Denial-of-Service (DoS) & Buslast-Exposition:
- Ein Angreifer kann durch bewusst manipulierte MACs die Empfänger-ECU dazu zwingen, für jede injizierte PDU das maximale Synchronisationsfenster vollständig abzuarbeiten. Der Parameter
SecOCFreshnessValueSyncAttemptsist daher so klein wie möglich zu wählen (typisch 1 … 3).
- Ein Angreifer kann durch bewusst manipulierte MACs die Empfänger-ECU dazu zwingen, für jede injizierte PDU das maximale Synchronisationsfenster vollständig abzuarbeiten. Der Parameter
- Zustandskonsistenz der Freshness-Quelle:
- Das Inkrementieren der MSBs (
FreshnessVerifyValue ++1) darf während der Iterationen ausschließlich auf einer lokalen Arbeitskopie für die Verifikation erfolgen. Eine Übernahme in den persistenten lokalen Freshness-Zustand des Empfängers darf erst und ausschließlich bei Traversierung descontinue-Pfades erfolgen.
- Das Inkrementieren der MSBs (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.