DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_SecureOnboardCommunication FIG-4a9527a4416054dc 761 × 1033 px 1 Release(s)

Figure 9.4: Authentication with upper layer TP

SHA-256 Inhalts-Fingerabdruck: 4a9527a4416054dc9a27f3f5fafb5d0adbe3afbc25cff9eb82944bd1c2400f38
✦ 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 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 SecOC gegenü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)

3. Dynamisches Verhalten & Sequenzablauf

  1. Initiierung & Puffer-Vorbereitung (Synchron):
    • Com ruft PduR_ComTransmit() auf, was im PduR auf SecOC_TpTransmit() gemappt wird.
    • SecOC führt intern prepare() 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.
  2. Datentransfer Upper Layer -> SecOC (loop):
    • SecOC ruft über PduR_SecOCTpCopyTxData() die API Com_CopyTxData() auf.
    • Com kopiert (Copy()) die ungesicherten Nutzdaten iterativ in den Bereitstellungspuffer von SecOC, bis die gesamte Authentic I-PDU übertragen ist.
  3. Asynchrone Authentifizierung (scheduled main task):
    • Die zyklische Task SecOC_MainFunctionTx() prüft anstehende Nachrichten.
    • Bei Vorhandensein vollständiger Daten führt SecOC authenticate() aus (Generierung des Freshness Value, Berechnung des MAC/der Signatur via CSM/Crypto Stack).
    • Nach erfolgreicher MAC-Generierung triggert SecOC die Sendung über PduR_SecOCTransmit(), welches in CanTp_Transmit() mündet.
  4. Segmentierter Datentransfer SecOC -> CanTp (loop):
    • CanTp übernimmt die Ablaufsteuerung für CAN-Frames (SF/FF/CF) und fordert segmentweise Daten über PduR_CanTpCopyTxData() an.
    • SecOC_CopyTxData() kopiert (copyData()) die sequenzierten Chunks der fertigen Secured I-PDU (Payload + Freshness Bits + MAC) in den bereitgestellten Puffer des CanTp.
  5. Tx-Confirmation Kaskade:
    • Nach vollständigem Busversand meldet CanTp das Ergebnis via PduR_CanTpTxConfirmation().
    • SecOC empfängt SecOC_TpTxConfirmation(), aktualisiert seinen Zustand (z. B. Finalisierung des Freshness Value Counters) und leitet die Bestätigung via PduR_SecOCTpTxConfirmation() an Com_TpTxConfirmation() weiter.

4. Normative Relevanz & Entwickler-Hinweise

  • Puffer-Dimensionierung in SecOC:
    • SecOC erfordert 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 aus Com erfolgen kann.
  • Entkopplung durch MainFunction & Latenzen:
    • Die Signalweiterleitung erfolgt strikt asynchron über SecOC_MainFunctionTx. Die Task-Periode von SecOC sowie 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.
  • PduR-Routing-Konfiguration:
    • Im PduR müssen zwei unterschiedliche Schnittstellen-Typen für denselben logischen Pfad konfiguriert werden:
      • Oben: TP-Interface-Routing (Com als TP-Upper-Layer zu SecOC als TP-Lower-Layer).
      • Unten: TP-Interface-Routing (SecOC als TP-Upper-Layer zu CanTp als TP-Lower-Layer).
  • Fehlerbehandlung (BufReq_ReturnType):
    • Implementierungen von SecOC_CopyTxData() und Com_CopyTxData() müssen die Rückgabewerte (BUFREQ_OK, BUFREQ_E_BUSY, BUFREQ_E_NOT_OK) konform zu den AUTOSAR-ComStack-Regeln bedienen; insbesondere darf bei BUFREQ_E_BUSY kein Datenverlust oder Puffer-Deadlock in SecOC auftreten.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-bd0554c89e7319ef

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-305422c2af03595a

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

scheduled main task | «module» | CanTp | «module» | Com | «module» | PduR | «module» | SecOC |            |                 |         ! |   "                # |         | $ |   | % | loop | loop | Copy() | PduR_CanTpCopyTxData(BufReq_ReturnType, PduIdType, const PduInfoType*, RetryInfoType*, PduLengthType*) | PduR_SecOCTpCopyTxData() | CanTp_Transmit(Std_ReturnType, PduIdType, const PduInfoType*) | PduR_CanTpTxConfirmation(PduIdType, Std_ReturnType) | SecOC_CopyTxData(BufReq_ReturnType, PduIdType, const PduInfoType*, RetryInfoType*, PduLengthType*) | PduR_ComTransmit(Std_ReturnType, PduIdType, const PduInfoType*) SecOC_TpTransmit() | PduR_SecOCTransmit(Std_ReturnType, PduIdType, const PduInfoType*) | prepare() | Com_TpTxConfirmation(PduIdType, Std_ReturnType) | SecOC_TpTxConfirmation(PduIdType, Std_ReturnType) | PduR_SecOCTpTxConfirmation(PduIdType, Std_ReturnType) | Com_CopyTxData() | authenticate() | copyData()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_SecureOnboardCommunication S. 112 9.4 Figure 9.4: Authentication with upper layer TP