AUTOSAR_SWS_SecureOnboardCommunication
FIG-d19ec99576446e40
897 × 522 px
2 Release(s)
Figure 16: Freshness Handling
SHA-256 Inhalts-Fingerabdruck:
d19ec99576446e402e01c78e1e1a00799259c441b2f83ffa38863137500f7743
✦
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 (Interaktionsdiagramm mit kombinierten Fragmenten / Loops).
- Technischer Zweck: Spezifikation des asynchronen Verifikations- und Entschlüsselungs-/Freshness-Handling-Workflows auf Empfängerseite (Rx-Pfad) innerhalb des AUTOSAR Classic BSW-Moduls
SecOC(Secure Onboard Communication, R4.3.1). - Funktionale Einordnung: Dargestellt wird die Entkopplung zwischen dem PDU-Empfang via Interrupt/Callback-Kontext und der kryptografischen Verifikation im Task-Kontext (
SchM), einschließlich mehrstufiger Wiederholmechanismen (Freshness-Synchronisation bei Fehlversuchen sowie Busy-Handling bei Ressourcenengpässen im CSM/Crypto-Stack).
2. Komponenten, Entitäten & Schnittstellen
Akteure / Instanzen (Lifelines)
«module» PduR(PDU Router): Transportiert die eingehende gesicherte I-PDU (Secured I-PDU) von den unteren Kommunikationsschichten (CanIf, LinIf, FrIf, SoAd) an das SecOC-Modul.«module» SecOC: Zentrales BSW-Modul zur Verifikation von Authentizität, Integrität und Replay-Schutz der I-PDUs.«module» SchM(Schedule Manager / BSW-Scheduler): Triggert zyklisch die Hauptfunktion des SecOC im OS-Task-Kontext.FreshnessManager(auch FVM – Freshness Value Manager): SW-C oder CDD (Complex Device Driver), verantwortlich für Erzeugung, Synchronisation und Rekonstruktion vollständiger Freshness Values (Trip-Counter, Reset-Counter, Message-Counter).«module» Csm(Crypto Service Manager): Abstraktionsschicht für kryptografische Operationen (MAC-Prüfung via Software- oder Hardware-Krypto/HSM).
Schnittstellen & Interaktionsbeziehungen
SecOC_RxIndication(): Standardisiertes AUTOSAR-Rx-Callback gem. PDU-Router-Interface.SecOC_MainFunctionRx(): Zyklischer SchM-Entry-Point für die asynchrone Rx-Verarbeitung.GetRxFreshness(): C-API-Callout oder RTE-Client-Server-Operation zur Rekonstruktion des vollständigen Freshness-Werts aus dem im PDU enthaltenen Truncated Freshness Value.Csm_MacVerify(): Standardisierte CSM-API zur asynchronen oder synchronen Verifikation des berechneten MAC gegen den empfangenen Authentication Tag.VerificationStatus(): Callback/Callout an denFreshnessManagerzur Rückmeldung über Erfolg, MAC-Fehlschlag oder Replay-Verdacht.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger & PDU-Pufferung:
PduRsignalisiert das Eintreffen einer gesicherten PDU viaSecOC_RxIndication().SecOCpuffert Metadaten sowie PDU-Payload im Puffer; zu diesem Zeitpunkt findet im Interrupt-/High-Priority-Kontext noch keine Krypto-Berechnung statt.
- Task-Aktivierung:
- Der
SchMruft im konfigurierten Raster die periodische FunktionSecOC_MainFunctionRx()auf.
- Der
- Äußere Schleife –
loop Authentication verify attempts(Bedingung:[MAC verification failed]):- Steuert die Freshness-Synchronisationsversuche (konfiguriert über
SecOCAuthenticationVerifyAttempts). Schlägt eine MAC-Verifikation fehl, darfSecOCdenFreshnessManagermehrfach nach alternativen Freshness-Werten (z. B. Counter-Window-Suche / Sync-Off-Window) anfragen.
- Steuert die Freshness-Synchronisationsversuche (konfiguriert über
- Innere Schleife –
loop authentication build attempts(Bedingung:[GetRxFreshness()==E_BUSY || CsmMacVerify()==E_BUSY]):- Guard-Handling bei Ressourcenkonflikten: Gibt
GetRxFreshness()oderCsm_MacVerify()den StatusE_BUSYzurück, verharrt der Zustand bis zum Ablauf vonSecOCAuthenticationBuildAttempts. - Freshness-Abfrage: Aufruf von
GetRxFreshness(), um aus dem gekürzten Authentifizierungs-Header und dem internen FVM-Zustand den vollständigen Freshness-Vektor bereitzustellen. - Krypto-Verifikation: Aufruf von
Csm_MacVerify()zur Prüfung des MAC über PDU-Daten + rekonstruierten Freshness-Wert.
- Guard-Handling bei Ressourcenkonflikten: Gibt
- Statusrückmeldung:
- Nach Abschluss der Verifikationsschritte (Erfolg oder finale Erschöpfung der Versuche) übermittelt
SecOCmittelsVerificationStatus()das Verifikationsergebnis an denFreshnessManager, damit dieser seine internen Zustandszähler synchronisieren oder Fehlversuchs-Zähler dekrementieren/inkrementieren kann.
- Nach Abschluss der Verifikationsschritte (Erfolg oder finale Erschöpfung der Versuche) übermittelt
4. Normative Relevanz & Entwickler-Hinweise
- Nicht-blockierendes Design:
GetRxFreshness()undCsm_MacVerify()dürfen dieSecOC_MainFunctionRx()nicht unzulässig lange blockieren. Bei hardwarebeschleunigter Krypto (HSM/SHE) istCsm_MacVerify()asynchron auszuführen; das Guard-KriteriumE_BUSYfängt Wartezyklen ab. - Puffer- und Latenzdimensionierung: Die PDU verbleibt für die Dauer beider Schleifen (
verify attempts×build attempts) im Empfangspuffer vonSecOC. Die Pufferkapazität (SecOCRxPduBufferRef) sowie die Zykluszeit derSecOC_MainFunctionRx()müssen so gewählt werden, dass Folge-PDUs desselben I-PDU-Handles keinen Pufferüberlauf erzeugen. - FVM-Schnittstellenvertrag: Entwickler eines proprietären Freshness Managers müssen sicherstellen, dass
GetRxFreshness()bei aufeinanderfolgenden Aufrufen innerhalb derselben Outer-Loop (Authentication verify attempts) abweichende Synchronisationshypothesen liefert (z. B. Erhöhung/Erniedrigung des Schätzers im Suchfenster). - Rückmeldung bei Verifikationsfehlschlag: Erst nach Verlassen der äußeren Schleife (
VerificationStatus()) entscheidetSecOC, ob die Authentic I-PDU an die oberen Schichten (z. B. viaPduR_SecOCTxConfirmation/ Rx-Weiterleitung) freigegeben oder verworfen wird. Ein finaler Fehlschlag muss optional Security-Events via IdsM (IdsM_SetSecurityEvent) oder Dem/Det melden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.