AUTOSAR_SWS_SecureOnboardCommunication
FIG-b6cfb93c3bb2b48a
894 × 1217 px
1 Release(s)
Figure 11: Authentication with upper layer TP
SHA-256 Inhalts-Fingerabdruck:
b6cfb93c3bb2b48a3b990fa3913c7cfe9cc496b4a68e3c8b72bb0e506205d4be
✦
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 2.x Sequenzdiagramm (Interaction Diagram).
- Architektur-Kontext: AUTOSAR Classic Platform (Release R19-11), Kommunikations-Stack (ComStack), Schnittstelle zwischen Anwendungsschicht/Signal-Routing (
Com), Security-Subsystem (SecOC), Abstraktionsschicht (PduR) und Transportprotokoll (CanTp). - Funktionaler Zweck: Detaillierung des Sendeablaufs (Tx-Pfad) einer gesicherten PDU über ein Transportprotokoll, wenn
SecOCgegenüber der oberen Schicht (Com) als TP-Senke agiert und die authentifizierte PDU anschließend über ein unterlagerte TP-Modul (CanTp) segmentiert versendet.
2. Komponenten, Entitäten & Schnittstellen
- Module / Lifelines («module»):
Com: Oberer Kommunikations-Layer; initiiert die Übertragung großer Nutzdaten-I-PDUs und stellt Daten segmentweise via TP-Copy-Interface bereit.PduR: PDU-Router; entkoppelt Schichten und routet TP- und IF-APIs anhand der Routing-Tabellen zwischen Quell- und Zielmodulen.SecOC: Secure Onboard Communication; verwaltet Zwischenpufferung, Freshness-Werte, MAC-/Signaturgenerierung (Authentifizierung) und bedient sowohl obere als auch untere TP-Schnittstellen.CanTp: CAN Transport Protocol; segmentiert die von SecOC übergebene Secured I-PDU für den physikalischen CAN-Bus (Tx-Pufferabruf).
- Schnittstellen & Service-APIs:
- Tx-Initiierung (Upper Layer):
PduR_ComTransmit(Std_ReturnType, PduIdType, const PduInfoType*)SecOC_TpTransmit()
- Payload-Abruf durch SecOC (Loop 1):
PduR_SecOCTpCopyTxData()Com_CopyTxData()
- Sende-Anstoß untere Schicht:
PduR_SecOCTransmit(Std_ReturnType, PduIdType, const PduInfoType*)CanTp_Transmit(Std_ReturnType, PduIdType, const PduInfoType*)
- Segment-Abruf durch CanTp (Loop 2):
PduR_CanTpCopyTxData(BufReq_ReturnType, PduIdType, const PduInfoType*, RetryInfoType*, PduLengthType*)SecOC_CopyTxData(BufReq_ReturnType, PduIdType, const PduInfoType*, RetryInfoType*, PduLengthType*)
- Bestätigungskette (Tx-Confirmation):
PduR_CanTpTxConfirmation(PduIdType, Std_ReturnType)SecOC_TpTxConfirmation(PduIdType, Std_ReturnType)PduR_SecOCTpTxConfirmation(PduIdType, Std_ReturnType)Com_TpTxConfirmation(PduIdType, Std_ReturnType)
- Tx-Initiierung (Upper Layer):
3. Dynamisches Verhalten & Sequenzablauf
- Initiierung & Puffer-Vorbereitung (Synchron):
ComruftPduR_ComTransmit()auf, was im PduR aufSecOC_TpTransmit()gemappt wird.SecOCführt internprepare()aus (Prüfung und Reservierung des internen Puffers für die Gesamtlänge der Nutzdaten zzgl. Security-Header/Trailer) und bestätigt den Request synchron.
- Datentransfer Upper Layer -> SecOC (
loop):SecOCruft überPduR_SecOCTpCopyTxData()die APICom_CopyTxData()auf.Comkopiert (Copy()) die ungesicherten Nutzdaten iterativ in den Bereitstellungspuffer vonSecOC, bis die gesamte Authentic I-PDU übertragen ist.
- Asynchrone Authentifizierung (
scheduled main task):- Die zyklische Task
SecOC_MainFunctionTx()prüft anstehende Nachrichten. - Bei Vorhandensein vollständiger Daten führt
SecOCauthenticate()aus (Generierung des Freshness Value, Berechnung des MAC/der Signatur via CSM/Crypto Stack). - Nach erfolgreicher MAC-Generierung triggert
SecOCdie Sendung überPduR_SecOCTransmit(), welches inCanTp_Transmit()mündet.
- Die zyklische Task
- Segmentierter Datentransfer SecOC -> CanTp (
loop):CanTpübernimmt die Ablaufsteuerung für CAN-Frames (SF/FF/CF) und fordert segmentweise Daten überPduR_CanTpCopyTxData()an.SecOC_CopyTxData()kopiert (copyData()) die sequenzierten Chunks der fertigen Secured I-PDU (Payload + Freshness Bits + MAC) in den bereitgestellten Puffer desCanTp.
- Tx-Confirmation Kaskade:
- Nach vollständigem Busversand meldet
CanTpdas Ergebnis viaPduR_CanTpTxConfirmation(). SecOCempfängtSecOC_TpTxConfirmation(), aktualisiert seinen Zustand (z. B. Finalisierung des Freshness Value Counters) und leitet die Bestätigung viaPduR_SecOCTpTxConfirmation()anCom_TpTxConfirmation()weiter.
- Nach vollständigem Busversand meldet
4. Normative Relevanz & Entwickler-Hinweise
- Puffer-Dimensionierung in SecOC:
SecOCerfordert dedizierten RAM-Zwischenspeicher. Die Puffergröße muss so konfiguriert sein, dass sie die maximale Länge der Authentic I-PDU plus Authentifizierungs-Overhead (SecOCAuthInfoTxLength+SecOCFreshnessValueTxLength) vollständig aufnehmen kann, da die MAC-Berechnung erst nach vollständigem Einlesen aller Nutzdatenblöcke ausComerfolgen kann.
- Entkopplung durch MainFunction & Latenzen:
- Die Signalweiterleitung erfolgt strikt asynchron über
SecOC_MainFunctionTx. Die Task-Periode vonSecOCsowie die Ausführungszeit der kryptografischen Operationen (synchron im Task-Kontext oder asynchron via Crypto-Treiber/HSM) bestimmen maßgeblich die Gesamt-Latenz und den Jitter des TP-Sendepfads.
- Die Signalweiterleitung erfolgt strikt asynchron über
- PduR-Routing-Konfiguration:
- Im PduR müssen zwei unterschiedliche Schnittstellen-Typen für denselben logischen Pfad konfiguriert werden:
- Oben: TP-Interface-Routing (
Comals TP-Upper-Layer zuSecOCals TP-Lower-Layer). - Unten: TP-Interface-Routing (
SecOCals TP-Upper-Layer zuCanTpals TP-Lower-Layer).
- Oben: TP-Interface-Routing (
- Im PduR müssen zwei unterschiedliche Schnittstellen-Typen für denselben logischen Pfad konfiguriert werden:
- Fehlerbehandlung (
BufReq_ReturnType):- Implementierungen von
SecOC_CopyTxData()undCom_CopyTxData()müssen die Rückgabewerte (BUFREQ_OK,BUFREQ_E_BUSY,BUFREQ_E_NOT_OK) konform zu den AUTOSAR-ComStack-Regeln bedienen; insbesondere darf beiBUFREQ_E_BUSYkein Datenverlust oder Puffer-Deadlock in SecOC auftreten.
- Implementierungen von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.