DEENESPTFRRUARHIKOZHNL

Secure Onboard Communication (SecOC)

ModulSecOC (Secure Onboard Communication)
BSW-Modul-ID150
Standard-Header#include "SecOC.h"
SWS-SpezifikationAUTOSAR_SWS_SecureOnboardCommunication.pdf
ClusterSecurity & Intrusion Detection

Guide du moduleGÉNÉRÉ PAR IA

Sécurise les I-PDU contre la manipulation et le rejeu au moyen d'un Authenticator et d'une Freshness Value, aux côtés du routeur de PDU.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : e42ecdfc6fe3 Provenance Questions ouvertes (2)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sécurise les I-PDU contre la manipulation et le rejeu au moyen d'un Authenticator et d'une Freshness Value, aux côtés du routeur de PDU.

SecOC protège les I-PDU contre la manipulation et le rejeu. Pour ce faire, il adjoint un Authenticator et une Freshness Value lors de l'émission et vérifie les deux lors de la réception. L'acceptation d'une PDU et le traitement cryptographique sont découplés : ce n'est que lors des fonctions principales cycliques que l'authentification ou la vérification s'effectue en six étapes ([SWS_SecOC_00040]). La cryptographie est fournie par le CSM, la Freshness Value par un Freshness Manager externe. Des tentatives de répétition limitées déterminent le moment où une PDU reçue est rejetée et où un statut de vérification est signalé ([SWS_SecOC_00241]).

SecOC sécurise les I-PDU dans la pile de communication. Il est situé aux côtés du PduR et adjoint à chaque Authentic I-PDU l'Authenticator et une Freshness Value, le cas échéant tronquée. Une Secured I-PDU est ainsi créée (SWS SecOC p. 39). L'Authenticator est calculé à partir du Data Identifier, des données utiles et de la Freshness Value complète (SWS SecOC p. 29). La cryptographie est fournie par le CSM ([SWS_SecOC_00138]), la Freshness Value par un Freshness Manager via la RTE ou une fonction C ([SWS_SecOC_91001], [SWS_SecOC_00230]).

kontext com Com / obere Schicht pdur PduR com->pdur Authentic I-PDU secoc SecOC pdur->secoc SecOC_[If|Tp]Transmit, SecOC_RxIndication, SecOC_StartOfReception lower Untere Schicht (CanIf, FrIf, CanTp …) pdur->lower Secured I-PDU secoc->pdur PduR_SecOCTransmit, PduR_SecOC…RxIndication csm Csm secoc->csm Csm_MacGenerate / Csm_MacVerify fvm Freshness Manager (SW-C via RTE ou fonction C) secoc->fvm Get[Tx|Rx]Freshness…, SPduTxConfirmation, VerificationStatusCallout app SW-C (Verifikationsstatus) secoc->app VerificationStatusIndication det Det secoc->det SECOC_E_… idsm IdsM secoc->idsm Security Events app->secoc SecOC_VerifyStatusOverride, SecOC_SendDefaultAuthenticationInformation lower->pdur Secured I-PDU (Empfang)

Diagramme de contexte : SecOC entre PduR, CSM, Freshness Manager, application, DET et IdsM. Sources : [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

L'émission et la réception sont découplées. Lors de SecOC_[If|Tp]Transmit, SecOC ne copie que les données utiles. Seul le SecOC_MainFunctionTx cyclique calcule l'Authentication Information et déclenche la transmission via le PduR (SWS SecOC p. 40, [SWS_SecOC_00176]). SecOC met entièrement en mémoire tampon les Secured I-PDU reçues et les vérifie dans SecOC_MainFunctionRx en six étapes, de l'analyse syntaxique jusqu'à la transmission vers le haut ([SWS_SecOC_00040], [SWS_SecOC_00255]). Le module ne fonctionne que dans l'état SECOC_INIT, qui est établi par SecOC_Init et révoqué par SecOC_DeInit ([SWS_SecOC_00162], [SWS_SecOC_00161]).

Deux compteurs contrôlent les répétitions lors de la réception ([SWS_SecOC_00237], [SWS_SecOC_00239], [SWS_SecOC_00240], [SWS_SecOC_00241]) :

  • Le compteur de construction compte les goulots d'étranglement temporaires tels que E_BUSY.
  • Le compteur de vérification compte les comparaisons de MAC ayant échoué.
  • Si l'un d'eux atteint sa limite, la PDU est rejetée.

Lors de l'émission, l'atteinte d'une limite entraîne SECOC_E_CRYPTO_FAILURE et, si cela est activé, l'émission avec un motif par défaut ([SWS_SecOC_00155], [SWS_SecOC_00229]).

rxverifikation a Secured I-PDU entièrement reçue Compteur de build = 0, compteur de vérification = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Compteur de build + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e Compteur de build >= SecOCAuthenticationBuildAttempts ? d->e f Répétition dans le prochain SecOC_MainFunctionRx e->f Non g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g Oui f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Compteur de vérification + 1, compteur de build = 0 j->k MAC invalide m Verwerfen: SECOC_VERIFICATIONFAILURE j->m non récupérable (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n réussi l Compteur de vérification >= SecOCAuthenticationVerifyAttempts ? k->l l->b non : valeur de fraîcheur valide suivante l->m Oui

Diagramme d'activité : les compteurs de construction et de vérification décident de la répétition ou du rejet. Sources : [SWS_SecOC_00239], [SWS_SecOC_00241]

SecOC signale le résultat de chaque tentative sous la forme SecOC_VerificationStatusType, selon la configuration aux composants logiciels et au Freshness Manager ([SWS_SecOC_00271], [SWS_SecOC_00243]). Avec SecOC_VerifyStatusOverride, la vérification peut être outrepassée de manière ciblée ([SWS_SecOC_00122]). En cas de division en Authentic et Cryptographic I-PDU, la vérification n'a lieu que lorsque les deux parties sont disponibles avec un Message Linker correspondant ([SWS_SecOC_00211]).

Rôle aux côtés du PduR et limites du système

SecOC se situe dans l'architecture en couches aux côtés du routeur de PDU. Il transforme une Authentic I-PDU en une Secured I-PDU en ajoutant l'Authentication Information directement après les données utiles : l'Authenticator et la Freshness Value, le cas échéant tronquée (SWS SecOC p. 39, SWS SecOC p. 43). Aucun autre module ne doit dépendre de SecOC, de sorte qu'un système peut également être construit sans SecOC. Les MetaData d'une Authentic PDU apparaissent inchangées dans la Secured PDU et inversement ([SWS_SecOC_00212]).

L'Authenticator est calculé par la concaténation de trois parties : SecOCDataId, la partie sécurisée de l'Authentic I-PDU et la Freshness Value complète (SWS SecOC p. 29). La cryptographie est fournie par le CSM, par exemple avec Csm_MacGenerate et Csm_MacVerify ([SWS_SecOC_00138]). La Freshness Value est mise à disposition par un Freshness Manager, soit via le port RTE FreshnessManagement, soit via des fonctions C ([SWS_SecOC_91001], [SWS_SecOC_00230]). Les autres destinataires de messages sont :

kontext com Com / obere Schicht pdur PduR com->pdur Authentic I-PDU secoc SecOC pdur->secoc SecOC_[If|Tp]Transmit, SecOC_RxIndication, SecOC_StartOfReception lower Untere Schicht (CanIf, FrIf, CanTp …) pdur->lower Secured I-PDU secoc->pdur PduR_SecOCTransmit, PduR_SecOC…RxIndication csm Csm secoc->csm Csm_MacGenerate / Csm_MacVerify fvm Freshness Manager (SW-C via RTE ou fonction C) secoc->fvm Get[Tx|Rx]Freshness…, SPduTxConfirmation, VerificationStatusCallout app SW-C (Verifikationsstatus) secoc->app VerificationStatusIndication det Det secoc->det SECOC_E_… idsm IdsM secoc->idsm Security Events app->secoc SecOC_VerifyStatusOverride, SecOC_SendDefaultAuthenticationInformation lower->pdur Secured I-PDU (Empfang)

Diagramme de contexte : SecOC sert d'intermédiaire entre PduR, CSM, Freshness Manager et application et effectue des signalements à DET et IdsM. Sources : SWS SecOC p. 24, [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

Les mêmes mécanismes prennent également en charge les passerelles. SecOC prend en charge les passerelles de ré-authentification entre zones de sécurité, chaque opération étant configurée séparément. Le « gatewaying-on-the-fly » n'est pas pris en charge (SWS SecOC p. 57).

Initialisation, état du module et fonctions principales cycliques

L'état du module SecOC_StateType connaît SECOC_UNINIT et SECOC_INIT ([SWS_SecOC_00162]).

  • SecOC_Init reçoit une SecOC_ConfigType spécifique à l'implémentation et mène en cas de succès à SECOC_INIT. En cas d'attribution à plusieurs partitions, une fonction d'initialisation par partition est possible ([SWS_SecOC_00106], [SWS_SecOC_00104]).
  • SecOC_DeInit rejette toutes les I-PDU mises en mémoire tampon et réinitialise le module à l'état non initialisé ([SWS_SecOC_00161]). Ce faisant, les variables internes et les tampons sont également effacés (SWS SecOC p. 65).
  • Un appel sans initialisation préalable signale SECOC_E_UNINIT ([SWS_SecOC_00101]).

Le traitement effectif est assuré par SecOC_MainFunctionTx et SecOC_MainFunctionRx. Une fonction propre …_<shortName> est créée pour chaque instance configurée ([SWS_SecOC_00176], [SWS_SecOC_00171]). Sa période est configurable (SWS SecOC p. 130, SWS SecOC p. 129). Chaque SecOCTxPduProcessing s'exécute dans l'instance référencée ([SWS_SecOC_00276]).

Sans initialisation, la fonction principale Tx retourne immédiatement. Sinon, elle authentifie toutes les nouvelles Authentic I-PDU dans le même appel et déclenche immédiatement leur transmission via le PduR (SWS SecOC p. 84).

lebenszyklus start commencer uninit SECOC_UNINIT start->uninit uninit->uninit SecOC_MainFunctionTx : retour immédiat ; appel API : SECOC_E_UNINIT init SECOC_INIT uninit->init SecOC_Init(config) erfolgreich init->uninit SecOC_DeInit() : effacer les I-PDU temporisées, les variables et les tampons init->init SecOC_MainFunctionTx/Rx : authentification ou vérification

Diagramme d'états : Init et DeInit basculent entre SECOC_UNINIT et SECOC_INIT ; la fonction principale ne s'exécute que dans l'état initialisé. Sources : [SWS_SecOC_00162], [SWS_SecOC_00106], [SWS_SecOC_00161], SWS SecOC p. 84

Émission : de l'Authentic à la Secured I-PDU

Le chemin d'émission est découplé et se déroule en deux étapes (SWS SecOC p. 40) :

  1. La couche supérieure appelle PduR_<Up>Transmit, le PduR appelle SecOC_[If|Tp]Transmit. SecOC copie l'Authentic I-PDU intégralement dans sa propre mémoire et retourne ([SWS_SecOC_00252]).
  2. Lors de l'exécution suivante de la fonction principale, la Secured I-PDU est générée et SecOC déclenche sa transmission via le PduR.

SecOC transmet vers le haut les confirmations de la couche inférieure via PduR_SecOC[If|Tp]TxConfirmation ([SWS_SecOC_00063]).

L'authentification comprend six étapes : préparer, constituer DataToAuthenticator, générer l'Authenticator, assembler la Secured I-PDU, incrémenter le Freshness Counter, émettre. Le Data Id (16 bits) et la Freshness Value sont intégrés en Big Endian (SWS SecOC p. 33).

Si la source de fraîcheur est une fonction C (CFUNC), SecOC récupère la valeur via SecOC_GetTxFreshness. Si le Freshness Manager doit fournir lui-même la valeur tronquée, SecOC_GetTxFreshnessTruncData est utilisé à cet effet ([SWS_SecOC_00231], [SWS_SecOC_00230]). SecOC signale le déclenchement de l'émission avec SecOC_SPduTxConfirmation ou via la RTE ([SWS_SecOC_00232], [SWS_SecOC_00233]). Les zones non utilisées sont remplies avec SecOCTxPduUnusedAreasDefault ([SWS_SecOC_00269]).

Authentification lors d'une transmission directe (interface de bus)ComPduRSecOCFreshness ManagerCsmUntere Schicht (z. B. CanIf)PduR_ComTransmit()SecOC_IfTransmit()Authentic I-PDU complètein eigenen Puffer kopierenE_OKUse Case: SecOC_MainFunctionTx (prochain appel)SecOC_GetTxFreshness()ou SecOC_GetTxFreshnessTruncData()E_OK, Freshness ValueCsm_MacGenerate(DataToAuthenticator)AuthenticatorAsynchroner Csm-Job: Ergebnis per CallbackSecured I-PDU bilden:Authentic I-PDU | Freshness Value (tronquée) | AuthenticatorPduR_SecOCTransmit()Transmit (Secured I-PDU)SecOC_SPduTxConfirmation()Use Case: ConfirmationTxConfirmation(result)SecOC_TxConfirmation(result)PduR_SecOCIfTxConfirmation(result)TxConfirmation(result)

Diagramme de séquence : l'acceptation de l'Authentic I-PDU et l'authentification lors de la prochaine exécution de la fonction principale sont découplées. Sources : SWS SecOC p. 40, [SWS_SecOC_00231], [SWS_SecOC_00232], [SWS_SecOC_00063]

En cas de transmission déclenchée, au moins un SecOC_IfTransmit doit avoir eu lieu au préalable. Sans données disponibles, SecOC_TriggerTransmit répond par E_NOT_OK, et AlwaysTransmit ne doit pas être utilisé (SWS SecOC p. 44, [SWS_SecOC_00127]).

Pour SECOC_TPPDU, SecOC_TpTransmit lance l'opération. SecOC récupère les données par morceaux au moyen de PduR_SecOCTpCopyTxData ([SWS_SecOC_00253], [SWS_SecOC_00254]). Le module TP effectue ensuite la lecture via SecOC_CopyTxData ([SWS_SecOC_00129]).

Authentification avec protocole de transport (SECOC_TPPDU)ComPduRSecOCCanTpPduR_ComTransmit()SecOC_TpTransmit()loopjusqu'à ce que l'Authentic I-PDU soit entièrement copiéePduR_SecOCTpCopyTxData()Com_CopyTxData()BUFREQ_E_BUSY : répétition au prochain appel de la fonction principaleBUFREQ_E_NOT_OK: AbbruchUse Case: SecOC_MainFunctionTxauthenticate()PduR_SecOCTransmit()CanTp_Transmit()loopje N-PDUPduR_CanTpCopyTxData()SecOC_CopyTxData()PduR_CanTpTxConfirmation()SecOC_TpTxConfirmation()PduR_SecOCTpTxConfirmation()Com_TpTxConfirmation()

Diagramme de séquence : lors de l'émission TP, SecOC est un puits TP vers le haut et une source TP vers le bas. Sources : SWS SecOC p. 109, [SWS_SecOC_00253], [SWS_SecOC_00254]

Avec SecOCTxSecuredPduCollection, la Secured I-PDU est divisée en deux messages :

  • l'Authentic I-PDU,
  • une Cryptographic I-PDU composée d'Authentication Data et d'un Message Linker.

Les deux sont émises au cours du même cycle ([SWS_SecOC_00201], [SWS_SecOC_00209], [SWS_SecOC_00202]). La confirmation vers le haut n'est E_OK que si les deux parties ont été confirmées avec E_OK ([SWS_SecOC_00270]).

Réception et vérification

La vérification comprend six étapes ([SWS_SecOC_00040]) :

  1. analyser syntaxiquement l'Authentic I-PDU, la Freshness Value et l'Authenticator,
  2. interroger la Freshness Value auprès du Freshness Manager,
  3. constituer les données à vérifier,
  4. vérifier l'Authentication Information,
  5. confirmer le Freshness Manager,
  6. transmettre l'Authentic I-PDU à la couche supérieure.

SecOC copie d'abord la Secured I-PDU dans sa propre mémoire et la vérifie lors de la prochaine exécution de la fonction principale (SWS SecOC p. 50). Via les interfaces de bus, elle arrive par SecOC_RxIndication ([SWS_SecOC_00124]). Si une I-PDU de longueur statique est plus courte que configuré, elle est rejetée silencieusement ([SWS_SecOC_00268]). La longueur de l'Authentic I-PDU provient de la configuration, de la couche inférieure ou de l'en-tête ([SWS_SecOC_00257], [SWS_SecOC_00258], [SWS_SecOC_00259]).

Réception via l'interface de bus et gestion de la fraîcheurPduRSecOCSchMFreshness ManagerCsmSecOC_RxIndication()Secured I-PDU puffern,Compteurs de build et de vérification = 0SecOC_MainFunctionRx()loopAuthentication verify attempts [MAC-Verifikation fehlgeschlagen]loopAuthentication build attempts [GetRxFreshness()==E_BUSY || Csm_MacVerify()==E_BUSY]GetRxFreshness()Freshness ValueCsm_MacVerify()VerifikationsergebnisVerificationStatus()

Diagramme de séquence : l'interrogation de fraîcheur et la vérification du MAC s'exécutent dans le contexte de la fonction principale Rx au sein de deux boucles de répétition imbriquées. Sources : SWS SecOC p. 103, [SWS_SecOC_00237], [SWS_SecOC_00238]

Avec le protocole de transport, la réception se déroule comme suit ([SWS_SecOC_00130], [SWS_SecOC_00128], [SWS_SecOC_00125]) :

  • SecOC_StartOfReception réserve de la mémoire tampon pour l'ensemble de la Secured I-PDU,
  • SecOC_CopyRxData prend en charge les différents segments,
  • SecOC_TpRxIndication signale la fin de la réception.

Ce n'est qu'après réception complète que SecOC peut transmettre l'Authentic I-PDU ([SWS_SecOC_00255]). Interprétation d'après le schéma : la transmission à la couche supérieure ne devrait commencer qu'après une vérification réussie (SWS SecOC p. 112). Question Q-d5c1780d034c722e (ouverte) Par dérogation, la version R23-11 transmet le début de réception dès SecOC_StartOfReception (SWS SecOC p. 54).

Vérification avec protocole de transportCanTpPduRSecOCComPduR_CanTpStartOfReception()SecOC_StartOfReception()BUFREQ_OK (tampon pour l'ensemble de la Secured I-PDU)loopje N-PDUPduR_CanTpCopyRxData()SecOC_CopyRxData()BUFREQ_OKPduR_CanTpRxIndication()SecOC_TpRxIndication(E_OK)Use Case: SecOC_MainFunctionRxverify()optvérification réussie (interprétation de l'ordre selon le schéma)PduR_SecOCTpStartOfReception()Com_StartOfReception()loopjusqu'à ce que toutes les données soient copiéesPduR_SecOCTpCopyRxData()Com_CopyRxData()PduR_SecOCTpRxIndication()Com_TpRxIndication()

Diagramme de séquence : SecOC met en mémoire tampon l'intégralité de la Secured I-PDU ; la transmission à Com ne suit (interprétation) qu'après une vérification réussie. Sources : SWS SecOC p. 112, [SWS_SecOC_00255]

Avec SecOCRxSecuredPduCollection, SecOC ne vérifie que lorsque l'Authentic I-PDU et la Cryptographic I-PDU sont disponibles avec un Message Linker correspondant ([SWS_SecOC_00203], [SWS_SecOC_00211]). À cet effet, il maintient des tampons distincts ([SWS_SecOC_00204]) :

  • Après une vérification réussie, les deux tampons sont vidés ([SWS_SecOC_00207]).
  • Après un échec, les deux sont conservés et une nouvelle vérification est effectuée à chaque nouvelle entrée ([SWS_SecOC_00208]).

La stratégie de dépassement de capacité QUEUE exclut cette répartition ([SWS_SecOC_CONSTR_00265]).

Freshness Manager, statut de vérification et Override

SecOC ne gère pas lui-même la fraîcheur. Selon SecOCQueryFreshnessValue (RTE ou CFUNC) et SecOCUseAuthDataFreshness, il interroge GetRxFreshness ou GetRxFreshnessAuthData. Dans le second cas, il transmet en plus un extrait configuré de la PDU reçue ([SWS_SecOC_00244], [SWS_SecOC_00245], [SWS_SecOC_00246], [SWS_SecOC_00247]). Sont également fournis la Freshness Value tronquée ainsi que le nombre de tentatives de vérification effectuées jusqu'ici ([SWS_SecOC_91007], [SWS_SecOC_91006]).

Les valeurs sont disponibles sous forme de SecOC_FreshnessArrayType ([SWS_SecOC_91012]), avec le bit de poids fort dans le premier octet, c'est-à-dire en Big Endian (SWS SecOC p. 80). La valeur de retour E_BUSY signifie que la valeur est temporairement indisponible ([SWS_SecOC_91002]).

SecOC_VerificationStatusType résume le résultat de chaque tentative : freshnessValueID plus une valeur issue de SecOC_VerificationResultType, par exemple SECOC_FRESHNESSFAILURE ([SWS_SecOC_00160], [SWS_SecOC_00149]). Il est signalé selon le mode BOTH, FAILURE_ONLY ou NONE ([SWS_SecOC_00271], [SWS_SecOC_91016]). De manière optionnelle, seul le statut final est transmis ([SWS_SecOC_00272]). Le Freshness Manager reçoit le résultat via SecOC_VerificationStatusCallout ([SWS_SecOC_00119], [SWS_SecOC_00243]).

SecOC_VerifyStatusOverride surcharge la vérification de manière ciblée ([SWS_SecOC_00122]). Dans R20-11, SecOC_OverrideStatusType connaît entre autres …DROP_UNTIL_NOTICE, …DROP_UNTIL_LIMIT, …CANCEL et …PASS_UNTIL_NOTICE ([SWS_SecOC_00991]). R23-11 y ajoute …SKIP_UNTIL_LIMIT et …PASS_UNTIL_LIMIT (SWS SecOC p. 102). Côté émission, SecOC_SendDefaultAuthenticationInformation active ou désactive le motif par défaut pour chaque Freshness Value ID ([SWS_SecOC_91013]).

Configuration et référence d'instance

La configuration se divise en trois conteneurs :

  • SecOCGeneral pour les paramètres généraux, tels que SecOCDefaultAuthenticationInformationPattern (SWS SecOC p. 124),
  • un SecOCTxPduProcessing pour chaque PDU d'émission (SWS SecOC p. 155),
  • un SecOCRxPduProcessing pour chaque PDU de réception (SWS SecOC p. 140).

Les paramètres centraux sont SecOCDataId, SecOCFreshnessValueId, les longueurs de Freshness et d'Authenticator ainsi que la référence CsmJob (SWS SecOC p. 106). Si un job CSM fonctionne de manière asynchrone, SecOC a besoin pour cela de callbacks spécifiques au constructeur (SWS SecOC p. 78).

Certains ports n'existent qu'en présence de la configuration appropriée :

  • SendDefaultAuthenticationInformation uniquement si un motif par défaut est défini ([SWS_SecOC_91020]),
  • FreshnessManagement uniquement en cas d'interrogation via la RTE ([SWS_SecOC_91001]).

Les Security Events ne sont signalés que si SecOCEnableSecurityEventReporting est défini ([SWS_SecOC_00273]).

Comportement en cas d'erreur

Côté émission, les règles suivantes s'appliquent :

  • En cas d'erreurs CSM récupérables telles que E_BUSY ou QUEUE_FULL, SecOC conserve l'Authentic I-PDU et réessaie lors du cycle suivant ([SWS_SecOC_00151]).
  • Si la limite de tentatives est atteinte, il signale SECOC_E_CRYPTO_FAILURE à DET ([SWS_SecOC_00155]).
  • Lorsque la limite est atteinte, en cas de E_NOT_OK de fraîcheur ou d'erreur non récupérable, SecOC utilise le motif par défaut, pour autant qu'il soit libéré ([SWS_SecOC_00229]).
  • Si aucun motif n'est configuré, SecOC interrompt la requête (SWS SecOC p. 124).
  • Si un motif est configuré mais non libéré, SecOC devrait également s'interrompre. Question Q-a3c1cc4b9b925ed4 (ouverte)
txfehler a SecOC_MainFunctionTx: Authentifizierung starten b Freshness abfragen, Csm_MacGenerate a->b c Ergebnis? b->c d Conserver l'Authentic I-PDU, prochain appel de la fonction principale c->d behebbar (E_BUSY, QUEUE_FULL) g Default-Senden per SecOC_SendDefaultAuthenticationInformation freigegeben? c->g Fraîcheur E_NOT_OK ou non récupérable (E_NOT_OK, KEY_FAILURE) j Envoyer la Secured I-PDU via le PduR c->j E_OK e SecOCAuthenticationBuildAttempts erreicht? d->e e->b Non e->g oui (de plus Det : SECOC_E_CRYPTO_FAILURE) h Freshness Value et Authenticator issus de SecOCDefaultAuthenticationInformationPattern g->h Oui i Authentic I-PDU entfernen, Sendeauftrag abbrechen g->i aucun motif configuré ; interprétation : également si le motif n'est pas validé h->j

Diagramme d'activité : les erreurs récupérables mènent à une répétition, la limite ou une erreur critique mène au motif par défaut ou à l'interruption. Sources : [SWS_SecOC_00151], [SWS_SecOC_00155], [SWS_SecOC_00229], SWS SecOC p. 124

SecOC traite comme suit les interruptions et les erreurs des couches adjacentes :

  • SecOC transmet immédiatement SecOC_[If|Tp]CancelTransmit vers le bas et libère tous les tampons (SWS SecOC p. 48, [SWS_SecOC_91009]).
  • Si la couche inférieure signale E_NOT_OK, SecOC omet simplement la confirmation vers le haut.
  • Si la récupération des données lors de l'émission TP renvoie BUFREQ_E_BUSY, SecOC la répète lors du cycle suivant ([SWS_SecOC_00260]).
  • BUFREQ_E_NOT_OK entraîne une interruption immédiate tant à l'émission qu'à la réception ([SWS_SecOC_00266], [SWS_SecOC_00267]).

Côté réception, SecOC gère pour chaque PDU un compteur de construction et un compteur de vérification, tous deux commençant à 0 ([SWS_SecOC_00234], [SWS_SecOC_00235]) :

  • E_BUSY ou une erreur CSM récupérable incrémente le compteur de construction ; SecOC réessaie lors du cycle suivant ([SWS_SecOC_00236], [SWS_SecOC_00237], [SWS_SecOC_00238]).
  • Si le compteur de construction atteint sa limite, SECOC_AUTHENTICATIONBUILDFAILURE s'ensuit ([SWS_SecOC_00240]).
  • Un MAC erroné incrémente le compteur de vérification et réinitialise le compteur de construction ([SWS_SecOC_00239]).
  • Lorsque la limite de vérification est atteinte ou en cas d'erreur critique, SECOC_VERIFICATIONFAILURE s'applique, et en cas de succès, SECOC_VERIFICATIONSUCCESS ([SWS_SecOC_00241], [SWS_SecOC_00242]).
rxverifikation a Secured I-PDU entièrement reçue Compteur de build = 0, compteur de vérification = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Compteur de build + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e Compteur de build >= SecOCAuthenticationBuildAttempts ? d->e f Répétition dans le prochain SecOC_MainFunctionRx e->f Non g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g Oui f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Compteur de vérification + 1, compteur de build = 0 j->k MAC invalide m Verwerfen: SECOC_VERIFICATIONFAILURE j->m non récupérable (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n réussi l Compteur de vérification >= SecOCAuthenticationVerifyAttempts ? k->l l->b non : valeur de fraîcheur valide suivante l->m Oui

Diagramme d'activité : les compteurs de construction et de vérification pilotent la répétition et le rejet lors de la réception. Sources : SWS SecOC p. 42, PRS SecOC p. 19, [SWS_SecOC_00239], [SWS_SecOC_00241]

Pour le E_NOT_OK de fraîcheur, R20-11 contient deux exigences juxtaposées. L'une rejette immédiatement la PDU avec SECOC_FRESHNESSFAILURE ([SWS_SecOC_00256]). L'autre comptabilise une tentative infructueuse et signale SECOC_E_FRESHNESS_FAILURE à DET lorsque la limite est atteinte ([SWS_SecOC_00248]). De plus, des Security Events sont envoyés à l'IdsM, par exemple SECOC_SEV_MAC_VERIFICATION_FAILED avec le DataId comme contexte ([SWS_SecOC_00274], [SWS_SecOC_00275]).

Preuves détaillées supplémentaires

Guide généré par IA sur la base des extraits de spécification contenus dans le payload. Les exigences font foi pour R20-11 ; les références documentaires proviennent en partie d'autres releases. Ne remplace pas la spécification.

Secure Onboard Communication (SecOC)

Provides cryptographic authentication and freshness protection for critical communication PDUs.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

fonction SecOC_Init [SWS_SecOC_00106] 📄 PDF

void SecOC_Init (const SecOC_ConfigType* config);

Initializes the the Sec OC module. Successful initialization leads to state Sec OC_ INIT. In configurations, in which Sec OC is assigned to more than one partition (i.e. Sec OC_ Main Functions are mapped to partition s), Sec OC may provide one init AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_SecureOnboardCommunication function per partition. The decision on whether a single Sec OC_ Init() function or one per partition is provided is implementation - specific. In case a given implementation provides one Sec OC_ Init() function per partition, it is up to the implementation to devise a naming pattern that prevents name clashes among the different Sec OC_ Init() functions (e.g., by adding a suffix containing short name the Ecuc Partition.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4620b5d490e2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone SecOC_Init sert à initialiser le module SecOC et le fait passer à l'état SecOC_INIT en cas de succès [SWS_SecOC_00106]. L'appel s'effectue via l'interface issue de SecOC.h avec l'ID de service 0x01 [SWS_SecOC_00106].

Paramètres et valeurs de retour

  • Paramètre de transmission : Un pointeur vers une structure de configuration sélectionnée de type SecOC_ConfigType est transmis via le paramètre d'entrée config [SWS_SecOC_00106].
  • Valeur de retour : La fonction ne possède pas de valeur de retour (void) [SWS_SecOC_00106].

Concurrence et partitionnement

L'exécution de SecOC_Init est spécifiée comme non réentrante (Non Reentrant) [SWS_SecOC_00106].

Des exigences particulières s'appliquent aux systèmes comportant plusieurs partitions : si le module SecOC est attribué à plusieurs partitions (en distribuant des fonctions principales telles que SecOC_MainFunction sur des partitions), une fonction d'initialisation par partition peut exister [SWS_SecOC_00106]. Le fait qu'une fonction centrale SecOC_Init ou des fonctions distinctes par partition soient fournies est propre à l'implémentation [SWS_SecOC_00106]. Si des fonctions spécifiques aux partitions sont proposées, l'implémentation doit éviter les collisions de noms, par exemple en ajoutant un suffixe contenant le nom court de l'EcucPartition respective [SWS_SecOC_00106].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_DeInit [SWS_SecOC_00161] 📄 PDF

void SecOC_DeInit (void);

This service stops the secure onboard communication. All buffered I - PDU are removed and have to be obtained again, if needed, after Sec OC_ Init has been called. By a call to Sec OC_ De Init the AUTOSAR Sec OC module is put into a not in itialized state (Sec OC_ UNINIT).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c3c9650a2dbc Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone SecOC_DeInit met fin au fonctionnement de la communication sécurisée embarquée (on-board) dans le module SecOC et fait passer celui-ci à l'état SecOC_UNINIT [SWS_SecOC_00161]. La fonction est déclarée dans le fichier d'en-tête SecOC.h et possède le service ID 0x05 ainsi que la signature void SecOC_DeInit(void) [SWS_SecOC_00161]. Elle ne traite aucun paramètre d'entrée ni de sortie et ne fournit aucune valeur de retour [SWS_SecOC_00161].

Purge des mémoires tampon et transition d'état

L'appel de SecOC_DeInit entraîne le rejet et la suppression de toutes les I-PDU mises en mémoire tampon dans le module [SWS_SecOC_00161]. Si ces données demeurent nécessaires après un redémarrage de la communication sécurisée, elles doivent être à nouveau obtenues après un nouvel appel de SecOC_Init [SWS_SecOC_00161].

Concurrence et restrictions

Des règles strictes et des contraintes s'appliquent à l'exécution de la désinitialisation [SWS_SecOC_00161] :

  • Non réentrante : l'interface est spécifiée comme non réentrante (Non Reentrant) et ne doit donc pas être exécutée de manière concurrente [SWS_SecOC_00161].
  • Conditions d'ordonnancement : après l'appel, le module demeure à l'état non initialisé, de sorte que les services de communication ultérieurs requièrent impérativement un nouvel appel de SecOC_Init [SWS_SecOC_00161].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF

Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4ad6d7766599 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction de service synchrone SecOC_IfTransmit sert à demander la transmission d'une PDU dans le module SecOC [SWS_SecOC_00112]. Elle possède l'ID de service 0x49 et est déclarée via le fichier d'en-tête SecOC.h [SWS_SecOC_00112].

La fonction attend deux paramètres d'entrée [SWS_SecOC_00112] :

  • TxPduId : l'identifiant de la PDU à transmettre (type PduIdType).
  • PduInfoPtr : un pointeur vers une structure de type PduInfoType, qui fournit la longueur des données ainsi que des pointeurs vers les données de la PDU et vers les métadonnées.

Il n'existe ni paramètre d'entrée/sortie ni paramètre de sortie pur [SWS_SecOC_00112].

Valeurs de retour et gestion des erreurs

En tant que valeur de retour synchrone, un statut de type Std_ReturnType est renvoyé [SWS_SecOC_00112] :

En cas d'erreur, l'échec de la demande est immédiatement signalé par E_NOT_OK ; aucun code d'erreur spécifique pour DET ou DEM n'est indiqué séparément dans la spécification de la fonction [SWS_SecOC_00112].

Concurrence et restrictions

Concernant la concurrence, la fonction est réentrante pour différents ID de PDU, mais n'est pas réentrante pour le même ID de PDU [SWS_SecOC_00112].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR.

fonction SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF

Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4b4f6d06f1cb Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'interface synchrone SecOC_TpTransmit avec le Service-ID 0x53 sert à demander une transmission de PDU dans le module SecOC et est déclarée via le fichier d'en-tête SecOC.h [SWS_SecOC_91008]. Elle reçoit la demande d'émission et initie la suite du traitement au sein du module.

Utilisation et interaction

En tant que paramètres d'entrée, la fonction attend l'identifiant de PDU TxPduId ainsi que le pointeur PduInfoPtr vers une constante de type PduInfoType, qui comprend des indications sur la longueur de la PDU ainsi que des pointeurs vers les données utiles et les métadonnées [SWS_SecOC_91008]. L'interaction fonctionnelle est déterminée par la configuration : si SecOCPduType est configuré sur SECOC_TPPDU, l'appel de SecOC_TpTransmit déclenche l'opération d'émission concrète pour une Authentic I-PDU [SWS_SecOC_00253].

Valeurs de retour et concurrence

Le résultat de l'appel est retourné via Std_ReturnType : la valeur E_OK confirme que la demande d'émission a été acceptée avec succès, tandis que E_NOT_OK signifie que la demande a été rejetée [SWS_SecOC_91008]. Concernant le comportement en concurrence, la fonction est implémentée pour être réentrante pour différents identifiants de PDU, mais ne doit en aucun cas être appelée de façon réentrante pour le même TxPduId [SWS_SecOC_91008].

Interprétation : le rejet d'une demande avec E_NOT_OK devrait en pratique être principalement imputable à des valeurs de pointeur non valides dans PduInfoPtr ou à une transmission déjà bloquée ou en cours de la même PDU. Question Q-4c6165f6330c4bc2 (ouverte)

Cette note d’utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_IfCancelTransmit [SWS_SecOC_00113] 📄 PDF

Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 93fdfc8c106e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction d'interface synchrone SecOC_IfCancelTransmit demande l'annulation d'une transmission de PDU en cours dans un module de communication sous-jacent [SWS_SecOC_00113]. Elle est déclarée via le fichier d'en-tête SecOC.h et possède l'ID de service 0x4a [SWS_SecOC_00113]. Via le paramètre d'entrée TxPduId de type PduIdType est transmise la PDU dont le processus d'émission doit être annulé [SWS_SecOC_00113]. Il n'existe pas de paramètres d'entrée ou de sortie supplémentaires [SWS_SecOC_00113].

Valeurs de retour et exécution

Le résultat de la demande d'annulation est transmis de manière synchrone à l'appelant via la valeur de retour de type Std_ReturnType [SWS_SecOC_00113] :

  • E_OK : Le module cible sous-jacent a exécuté avec succès l'annulation de la transmission de la PDU [SWS_SecOC_00113].
  • E_NOT_OK : La demande d'annulation a été rejetée par le module cible [SWS_SecOC_00113].

Étant donné qu'aucun code d'erreur spécifique ni notification d'erreur aux gestionnaires d'erreurs de développement ou de diagnostic (DET/DEM) n'est spécifié pour cette fonction, seule la valeur de retour sert à la détection d'erreur [SWS_SecOC_00113].

Concurrence et restrictions

En ce qui concerne les appels parallèles, SecOC_IfCancelTransmit est réentrante pour des identifiants de PDU différents, mais explicitement non réentrante pour un même identifiant TxPduId [SWS_SecOC_00113]. Les modules appelants doivent donc s'assurer, par une synchronisation appropriée, que plusieurs instances ne déclenchent pas simultanément une annulation d'émission pour la même PDU.

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TpCancelTransmit [SWS_SecOC_91009] 📄 PDF

Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 507f9341fb59 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone SecOC_TpCancelTransmit sert à demander l'interruption d'une transmission de PDU en cours dans un module de communication sous-jacent [SWS_SecOC_91009]. Elle est déclarée via le fichier d'en-tête SecOC.h et possède l'ID de service 0x54 [SWS_SecOC_91009].

L'identifiant TxPduId de type PduIdType est transmis en tant que paramètre d'entrée et identifie de manière univoque la PDU d'émission à interrompre [SWS_SecOC_91009]. Le résultat de la demande d'interruption est renvoyé de façon synchrone via la valeur de retour de type Std_ReturnType [SWS_SecOC_91009] :

  • E_OK : l'interruption de la transmission a été exécutée avec succès par le module cible [SWS_SecOC_91009].
  • E_NOT_OK : l'interruption a été rejetée par le module cible [SWS_SecOC_91009].

En ce qui concerne la concurrence, la fonction est réentrante pour des ID de PDU différents, mais explicitement non réentrante pour un même ID de PDU [SWS_SecOC_91009]. Les appelants doivent par conséquent s'assurer d'éviter les appels parallèles avec un TxPduId identique. Comme la charge utile ne prévoit pas de codes d'erreur spécifiques pour le Default Error Tracer (DET) ou le Diagnostic Event Manager (DEM), le traitement direct des erreurs dans le contexte de l'appelant devrait principalement s'effectuer via l'évaluation de la valeur de retour E_NOT_OK [SWS_SecOC_91009]. Question Q-c1f907444c4ca270 (ouverte)

Cette note d'utilisation a été générée automatiquement et repose sur la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TpCancelReceive [SWS_SecOC_91010] 📄 PDF

Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7bc4b1ba75bb Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone SecOC_TpCancelReceive sert à demander l'interruption d'une opération de réception en cours d'une PDU dans un module de protocole de transport sous-jacent [SWS_SecOC_91010]. L'identification univoque de la PDU à interrompre est transmise au module via l'unique paramètre d'entrée RxPduId [SWS_SecOC_91010].

Valeurs de retour et exécution

Le compte rendu du succès de l'annulation s'effectue directement via la valeur de retour de type Std_ReturnType [SWS_SecOC_91010] :

  • E_OK : l'annulation de la réception a été exécutée avec succès par le module cible [SWS_SecOC_91010].
  • E_NOT_OK : l'annulation a été rejetée par le module cible [SWS_SecOC_91010].

Aucun code d'erreur spécifique, erreur de développement (DET) ou erreur de production (DEM) n'est prévu dans les données de spécification de la fonction. Interprétation : le module cible (« destination module ») mentionné dans la spécification désigne vraisemblablement le module de protocole de transport sous-jacent auquel la demande d'interruption est adressée. Question Q-bce6ed77e65a6b9b (ouverte)

Concurrence et intégration

Concernant la concurrence, la fonction est déclarée comme non réentrante (Non Reentrant) [SWS_SecOC_91010]. Par conséquent, aucun appel simultané ou préemptif ne doit avoir lieu ; les unités logicielles appelantes doivent coordonner les accès en conséquence. La fonction possède l'ID de service 0x4c et est déclarée via le fichier d'en-tête SecOC.h [SWS_SecOC_91010].

Cette note d'utilisation a été générée par une IA et repose exclusivement sur les spécifications de la version AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_VerifyStatusOverride [SWS_SecOC_00122] 📄 PDF

Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);

Service SecOC_VerifyStatusOverride.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 87867716fd61 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone SecOC_VerifyStatusOverride permet à l'application de remplacer de manière ciblée le comportement de vérification et de transmission de SecOC, afin d'accepter ou de rejeter des I-PDU indépendamment du résultat de vérification effectif, ainsi que de piloter les traitements d'erreur [SWS_SecOC_00122].

Paramètres et contexte d'appel

L'adressage dépend de la configuration du module : si SecOCOverrideStatusWithDataId est défini sur FALSE, Value ID identifie la Freshness Value de toutes les Secured I-PDU associées ; si le paramètre est réglé sur TRUE, Value ID désigne directement le Data ID d'une Secured I-PDU [SWS_SecOC_00122]. Le comportement souhaité ainsi que sa validité temporelle sont définis via overrideStatus. Le compteur numberOfMessagesToOverride détermine le nombre de vérifications à remplacer séquentiellement, mais n'est évalué qu'exclusivement avec les modes SECOC_OVERRIDE_DROP_UNTIL_LIMIT, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT et SECOC_OVERRIDE_PASS_UNTIL_LIMIT [SWS_SecOC_00122].

Pour les modes SECOC_OVERRIDE_PASS_UNTIL_NOTICE, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT, SECOC_OVERRIDE_PASS_UNTIL_LIMIT et SECOC_OVERRIDE_SKIP_UNTIL_NOTICE, SecOCEnableForcedPassOverride doit obligatoirement être configuré sur TRUE [SWS_SecOC_00122].

Concurrence et valeurs de retour

La fonction est réentrante pour des Freshness Value IDs distincts, mais non réentrante pour le même Freshness Value ID [SWS_SecOC_00122]. Un appel réussi renvoie E_OK, tandis qu'un appel en échec est acquitté par E_NOT_OK [SWS_SecOC_00122].

Interaction lors de la vérification

Un override défini intervient dans la logique de traitement du chemin de réception :

  • Si des Authentic et Cryptographic I-PDU distinctes sont utilisées (SecOCRxSecuredPduCollection), overrideStatus pilote le comportement dès que les deux PDU avec le Message Linker correspondant ont été reçues [SWS_SecOC_00203], [SWS_SecOC_00206], [SWS_SecOC_00211].
  • Même en cas de dépassement de SecOCAuthenticationBuildAttempts ou de SecOCAuthenticationVerifyAttempts ainsi qu'en présence d'erreurs non récupérables (telles que KEY_FAILURE), le résultat de vérification et la transmission des PDU sont régis en priorité par overrideStatus [SWS_SecOC_00240], [SWS_SecOC_00241].

Ce texte a été généré par une IA et repose sur les exigences de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I2)

fonction SecOC_SendDefaultAuthenticationInformation [SWS_SecOC_91013] 📄 PDF

Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);

The service provides the ability to enable the sending of un - authenticated PDU to lower layer. (example: in case authentication build counter has reached the configuration value Sec OCAuthentication Build Attempts or the query of the freshness function returns E_ NOT_ OK or the calculation of the authenticator has returned a non - recoverable error such as returning E_ NOT_ OK or KEY_ FAILURE). T his service is optional (the service is available only if Sec OCDefault Authentication Information Pattern is configured). If the service is not available or the service is available but the service was called with send Default

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 78b64ca2ff88 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone SecOC_SendDefaultAuthenticationInformation ([SWS_SecOC_91013]) permet d'autoriser ou de bloquer de manière ciblée l'émission d'I-PDU non authentifiées vers les couches sous-jacentes. Le service est déclaré via SecOC.h et commande, au moyen du drapeau send Default Authentication Information, le comportement pour un Freshness Value ID spécifique. En cas de requête réussie, la fonction renvoie E_OK, sinon E_NOT_OK ([SWS_SecOC_91013]).

Interaction et comportement en cas d'erreur

La fonction est optionnelle et n'est disponible que si le paramètre SecOCDefaultAuthenticationInformationPattern est configuré ([SWS_SecOC_91013]). Le comportement intervient lorsque la génération des informations d'authentification échoue – par exemple lorsque le compteur SecOCAuthenticationBuildAttempts a été atteint, que la fonction de fraîcheur fournit E_NOT_OK ou que le calcul de l'authentificateur renvoie une erreur irrécupérable telle que KEY_FAILURE ou E_NOT_OK ([SWS_SecOC_91013], [SWS_SecOC_00229]) :

  • Si le service a été appelé avec TRUE, le module utilise le motif SecOCDefaultAuthenticationInformationPattern pour tous les octets de la valeur de fraîcheur et de l'authentificateur afin de construire les informations d'authentification, et n'interrompt pas la demande d'émission ([SWS_SecOC_91013], [SWS_SecOC_00229]).
  • Si le service n'est pas disponible ou s'il a été appelé avec FALSE pour l'ID concerné, le module supprime l'I-PDU authentique de son tampon interne et interrompt la transmission ([SWS_SecOC_91013], [SWS_SecOC_00229]).

concurrence

La fonction n'est pas réentrante pour le même Freshness Value ID, mais peut être appelée de manière réentrante pour des ID différents ([SWS_SecOC_91013]).

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_RxIndication [SWS_SecOC_00124] 📄 PDF

void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f7c10da93bc2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction d'interface synchrone SecOC_RxIndication (ID de service 0x42) est appelée par un module d'interface de communication sous-jacent afin de signaler la réception d'une PDU au module SecOC [SWS_SecOC_00124]. Lors de l'appel, RxPduId identifie la PDU reçue, tandis qu'un pointeur vers les informations de la PDU est transmis via PduInfoPtr. Cette structure contient la longueur des données utiles SduLength, le pointeur de tampon SduDataPtr ainsi que les métadonnées associées de la PDU [SWS_SecOC_00124]. La fonction ne possède pas de valeur de retour et est déclarée via le fichier d'en-tête SecOC.h [SWS_SecOC_00124].

Gestion des erreurs et contrôle de longueur

Un contrôle d'erreur spécifique s'applique à la réception d'I-PDU à configuration statique (I-PDU sécurisées, authentiques ou cryptographiques dont le paramètre EcuC DynamicLength est égal à FALSE) : si la longueur reçue est inférieure à la longueur configurée, le module SecOC rejette silencieusement l'I-PDU [SWS_SecOC_00268]. Interprétation : Étant donné que la fonction renvoie void, les I-PDU erronées ou incomplètes devraient être rejetées sans retour vers la couche appelante. Question Q-6e9a176383e1983b (ouverte)

Concurrence et restrictions

L'exécution de SecOC_RxIndication est réentrante pour les appels avec des ID de PDU différents, mais explicitement non réentrante pour le même ID de PDU [SWS_SecOC_00124]. Les modules appelants doivent donc garantir, par le biais de leur contrôle de flux, que les appels parallèles avec un RxPduId identique soient empêchés.

Cette note d'utilisation a été générée de manière automatisée et repose sur la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TpRxIndication [SWS_SecOC_00125] 📄 PDF

void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4e2c4fc6858d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction SecOC_TpRxIndication sert d'interface de rappel pour le module SecOC et est appelée après la réception d'une I-PDU via l'API Transport Protocol (API TP) [SWS_SecOC_00125]. Cette notification permet à SecOC de savoir si la transmission de l'I-PDU s'est achevée avec succès ou si une erreur de transmission est survenue [SWS_SecOC_00125].

L'interface possède les paramètres et propriétés suivants conformément à [SWS_SecOC_00125] :

  • id (PduIdType) : identification de l'I-PDU reçue pour laquelle l'événement de réception est signalé.
  • result (Std_ReturnType) : résultat de la réception de la PDU indiquant si le transport a réussi ou a échoué.
  • Valeur de retour : aucune (void) ; la fonction ne renvoie aucune valeur d'état à l'appelant.

En ce qui concerne la concurrence, SecOC_TpRxIndication est spécifié comme réentrant (Reentrant) et fonctionne de manière synchrone (Synchronous) sous le service ID 0x45 [SWS_SecOC_00125]. La déclaration est fournie via le fichier d'en-tête SecOC.h [SWS_SecOC_00125]. Interprétation : l'appel devrait typiquement être déclenché par une couche de transport telle que le PduR ou un module TP dès que le transfert de données de la PDU est totalement achevé. Question Q-6448356fa3609004 (ouverte)

Aucun code d'erreur spécifique, contrôle DET ou enregistrement d'erreur DEM n'est défini dans la spécification pour cette fonction [SWS_SecOC_00125]. La gestion des erreurs se limite à la transmission du résultat de transport via le paramètre result, d'après lequel le module SecOC détermine si les données reçues doivent être traitées ou rejetées.

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TxConfirmation [SWS_SecOC_00126] 📄 PDF

void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 73c9975309da Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction SecOC_TxConfirmation est appelée par le module d'interface de communication sous-jacent afin de confirmer de manière synchrone au module SecOC la transmission réussie ou l'échec de l'envoi d'une PDU [SWS_SecOC_00126]. Le service ne possède aucune valeur de retour (void), est déclaré dans le fichier d'en-tête SecOC.h et répertorié sous le Service-ID 0x40 [SWS_SecOC_00126].

La fonction attend deux paramètres d'entrée [SWS_SecOC_00126] :

  • TxPduId : Identifiant de la PDU transmise (type PduIdType).
  • result : Résultat de la transmission (type Std_ReturnType) avec les valeurs E_OK en cas de transmission réussie ou E_NOT_OK en cas d'échec de la transmission.

Gestion des erreurs et concurrence

Les erreurs de transmission des couches inférieures sont directement transmises via l'argument result avec la valeur E_NOT_OK [SWS_SecOC_00126]. Concernant la concurrence, l'appel est réentrant pour différents PDU-ID, mais défini comme non réentrant pour le même PDU-ID [SWS_SecOC_00126]. Le contexte d'exécution concret se situe probablement au niveau tâche ou interruption du module sous-jacent, la spécification ne prévoyant aucune restriction à cet égard. Question Q-8bb15b92df860fc1 (ouverte)

Interaction et retransmission

Si la configuration SecOCTxSecuredPduCollection est utilisée, SecOC ne transmet la confirmation à la couche supérieure qu'une fois que SecOC_TxConfirmation a été appelée à la fois pour l'Authentic I-PDU et pour la Cryptographic I-PDU [SWS_SecOC_00270].

Une condition stricte s'applique alors au statut de résultat envoyé à la couche supérieure : le paramètre result de l'appel relayé n'est E_OK que si les confirmations pour les deux sous-PDU ont chacune été transmises avec E_OK ; dans le cas contraire, le statut est E_NOT_OK [SWS_SecOC_00270].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TpTxConfirmation [SWS_SecOC_00152] 📄 PDF

void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ed0d4b6dacab Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction SecOC_TpTxConfirmation sert à confirmer une I-PDU transmise sur le réseau et informe le module SecOC de manière synchrone du succès ou de l'échec de l'opération d'émission [SWS_SecOC_00152].

Utilisation et paramètres

L'appel s'effectue après la transmission physique d'une I-PDU sur le réseau [SWS_SecOC_00152]. L'interface est déclarée dans l'en-tête SecOC.h et possède le Service-ID 0x48 [SWS_SecOC_00152]. Elle accepte deux paramètres d'entrée et ne renvoie aucune valeur de retour (void) :

  • id (type PduIdType) : identification unique de l'I-PDU transmise [SWS_SecOC_00152].
  • result (type Std_ReturnType) : Indique si la transmission sur le réseau a réussi ou a échoué [SWS_SecOC_00152].

Concurrence et exécution

Selon la spécification, la fonction doit être exécutée de manière synchrone et est entièrement réentrante (Reentrant) [SWS_SecOC_00152]. Elle peut ainsi être appelée en parallèle pour des I-PDU identiques ou différentes, pour autant que le contexte d'appel l'exige.

Traitement des erreurs et interaction

Aucun code d'erreur DET ou DEM spécifique n'est indiqué dans le payload. Le traitement des erreurs relatif à la transmission s'effectue principalement via le paramètre de statut transmis result, qui indique au module si l'opération d'émission a réussi [SWS_SecOC_00152]. Interprétation : la fonction devrait principalement servir d'interface de rappel (callback) pour les instances de protocoles de transport sous-jacentes, afin de notifier le statut d'émission après l'achèvement de transmissions volumineuses ou fragmentées. Question Q-a2957406d76ee65f (ouverte)

Cette note d'utilisation a été générée par une IA et résume les exigences de la spécification AUTOSAR pour le module SecOC.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_TriggerTransmit [SWS_SecOC_00127] 📄 PDF

Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : da47edaa7d8f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'interface synchrone SecOC_TriggerTransmit sert à copier une SDU demandée pour la transmission [SWS_SecOC_00127]. La SDU est adressée via le paramètre TxPduId, tandis que PduInfoPtr fournit, en tant que paramètre d'entrée et de sortie, le pointeur vers le tampon de destination (SduDataPtr) ainsi que des indications sur la taille du tampon (SduLength) [SWS_SecOC_00127].

Utilisation et transmission des données

Au sein de la fonction, le module vérifie si les données à fournir rentrent dans la taille de tampon signalée via PduInfoPtr->SduLength [SWS_SecOC_00127] :

  • Si les données y rentrent, la fonction les copie dans le tampon PduInfoPtr->SduDataPtr, inscrit le nombre réel d'octets copiés dans PduInfoPtr->SduLength et renvoie E_OK [SWS_SecOC_00127].
  • Si l'espace mémoire est insuffisant, la fonction renvoie E_NOT_OK sans modifier le contenu de PduInfoPtr [SWS_SecOC_00127].

Gestion des erreurs et concurrence

Si E_NOT_OK est renvoyé, aucune donnée SDU n'a été copiée. Dans ce cas, l'appelant ne doit pas évaluer ni utiliser PduInfoPtr, car celui-ci peut contenir un pointeur NULL ou pointer vers des données invalides [SWS_SecOC_00127]. La fonction est réentrante pour des ID de PDU distincts, mais non réentrante pour le même TxPduId [SWS_SecOC_00127]. Le service est disponible via l'en-tête SecOC.h [SWS_SecOC_00127].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR Classic Platform Release R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_CopyRxData [SWS_SecOC_00128] 📄 PDF

BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer. Each call to this function provides the next part of the I - PDU data. The si ze of the remaining buffer is written to the position indicated by buffer Size Ptr.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 35610f4482a7 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone SecOC_CopyRxData est appelée pour transmettre à la couche supérieure les données reçues d'un segment d'I-PDU (N-PDU) [SWS_SecOC_00128]. Chaque appel fournit la portion suivante respective des données d'I-PDU [SWS_SecOC_00128]. Le service possède l'ID de service 0x44 et est disponible via le fichier d'en-tête SecOC.h [SWS_SecOC_00128].

Paramètres et interrogation du tampon

Le paramètre id identifie de manière univoque l'I-PDU reçue [SWS_SecOC_00128]. Le tampon source SduDataPtr et le nombre d'octets à copier SduLength sont fournis via le pointeur info [SWS_SecOC_00128]. Une transmission de SduLength avec la valeur 0 sert à interroger le tampon de réception actuellement disponible dans le module supérieur ; dans ce cas, SduDataPtr peut être transmis en tant que NULL_PTR [SWS_SecOC_00128]. La taille de tampon restante est écrite à l'emplacement référencé par bufferSizePtr après la copie [SWS_SecOC_00128].

Valeurs de retour et concurrence

La fonction renvoie l'état BufReq_ReturnType [SWS_SecOC_00128]. En cas de transfert de données réussi, elle signale BUFREQ_OK [SWS_SecOC_00128]. Si une erreur survient, aucune donnée n'est copiée et la fonction renvoie BUFREQ_E_NOT_OK [SWS_SecOC_00128]. SecOC_CopyRxData est spécifiée comme réentrante [SWS_SecOC_00128].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_CopyTxData [SWS_SecOC_00129] 📄 PDF

BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Service SecOC_CopyTxData.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 42779c9fb9b6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone et réentrante SecOC_CopyTxData est appelée pour récupérer des données d'émission pour un segment d'I-PDU (N-PDU) [SWS_SecOC_00129]. Le tampon de destination SduDataPtr ainsi que la quantité d'octets à demander SduLength sont transmis via le paramètre info [SWS_SecOC_00129]. Un appel avec SduLength égal à 0 permet d'interroger la quantité de données disponible ou de signaler des changements d'état via le paramètre retry ; dans ce cas, SduDataPtr peut être un NULL_PTR [SWS_SecOC_00129]. Le module communique en retour la quantité de données résiduelle restant dans le tampon d'émission via availableDataPtr [SWS_SecOC_00129].

Répétition et gestion des erreurs

Le comportement de mise en tampon et de répétition est commandé via retry [SWS_SecOC_00129] :

  • Si retry est un NULL_PTR, les données copiées peuvent être libérées immédiatement [SWS_SecOC_00129].
  • Avec TP_CONFPENDING, les données préalablement copiées restent dans le tampon pour une récupération d'erreur [SWS_SecOC_00129].
  • TP_DATACONF confirme toutes les données transmises avant cet appel en vue de la libération du tampon [SWS_SecOC_00129].
  • TP_DATARETRY déclenche la nouvelle copie des données déjà transmises à partir du décalage d'octets défini par TxTpDataCnt [SWS_SecOC_00129].

Comme valeurs de retour, la fonction fournit BUFREQ_OK en cas d'opération de copie réussie, BUFREQ_E_BUSY si les données d'émission ne sont temporairement pas disponibles en quantité suffisante (ce qui permet à l'appelant de réitérer la tentative ultérieurement), ou BUFREQ_E_NOT_OK en cas d'échec général [SWS_SecOC_00129].

concurrence

La fonction est conçue pour être réentrante, de sorte que des appels parallèles pour des instances de PDU distinctes devraient être autorisés [SWS_SecOC_00129]. Question Q-6420f2ca317efcb4 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_StartReception [SWS_SecOC_00130] 📄 PDF

BufReq_ReturnType SecOC_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Service SecOC_StartReception.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e711d8ef8bcc Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone et réentrante SecOC_StartReception est appelée au début de la réception d'une N-SDU afin de vérifier la connexion et de fournir le tampon de réception requis [SWS_SecOC_00130]. La N-SDU peut alors être reçue sous forme de trame unique (Single Frame, SF) ou de manière fragmentée sur plusieurs N-PDU (First Frame, FF, suivie de Consecutive Frames, CF) [SWS_SecOC_00130]. La déclaration est disponible via l'en-tête SecOC.h [SWS_SecOC_00130].

Paramètres et interrogation du tampon

  • id : Identification de l'I-PDU reçue [SWS_SecOC_00130].
  • info : Pointeur vers une structure PduInfoType contenant les données utiles de la première trame ou de la trame unique ainsi que des métadonnées ; si ni données ni métadonnées ne sont disponibles, NULL_PTR est transmis [SWS_SecOC_00130].
  • TpSduLength : Longueur totale de la N-SDU à recevoir. Si le paramètre est transmis avec la valeur 0, le service renvoie la taille de tampon maximale actuellement disponible [SWS_SecOC_00130].
  • bufferSizePtr : Paramètre de sortie pour le tampon de réception disponible, qui est utilisé par le module de protocole de transport pour calculer la Block Size (BS) [SWS_SecOC_00130].

Valeurs de retour et gestion des erreurs

  • BUFREQ_OK : La connexion a été acceptée et la réception se poursuit ; bufferSizePtr indique la taille de tampon disponible (si aucun tampon de la taille requise n'est disponible, 0 est signalé) [SWS_SecOC_00130].
  • BUFREQ_E_NOT_OK : La connexion a été refusée et la réception est interrompue ; bufferSizePtr reste inchangé [SWS_SecOC_00130].
  • BUFREQ_E_OVFL : Aucun tampon de la longueur requise ne peut être mis à disposition ; la réception s'interrompt et bufferSizePtr reste inchangé [SWS_SecOC_00130].

Cette note d'utilisation a été générée automatiquement sur la base d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_GetRxFreshness [SWS_SecOC_91007] 📄 PDF

Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

Service SecOC_GetRxFreshness.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ef974f5cced3 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction d'interface synchrone SecOC_GetRxFreshness sert au module SecOC à interroger la valeur de fraîcheur actuelle pour une I-PDU sécurisée reçue [SWS_SecOC_91007]. L'appel intervient dès que la PDU sécurisée a été intégralement reçue et que SecOCQueryFreshnessValue == CFUNC ainsi que SecOCUseAuthDataFreshness == FALSE sont définis pour sa configuration [SWS_SecOC_00247], [SWS_SecOC_00250].

La fonction est réentrante [SWS_SecOC_91007] et transmet ou attend les paramètres suivants :

  • SecOCFreshnessValueID : Identifiant de la valeur de fraîcheur à interroger [SWS_SecOC_91007].
  • SecOCTruncatedFreshnessValue et SecOCTruncatedFreshnessValueLength : Pointeur vers la valeur de fraîcheur tronquée contenue dans la PDU reçue et sa longueur en bits [SWS_SecOC_91007].
  • SecOCAuthVerifyAttempts : nombre de tentatives de vérification effectuées depuis la réception de la PDU (commençant à 0, incrémenté à chaque échec) [SWS_SecOC_91007].
  • SecOCFreshnessValue et SecOCFreshnessValueLength : tampon de sortie pour la valeur de fraîcheur déterminée ainsi que paramètre d'entrée/sortie pour sa longueur en bits [SWS_SecOC_91007].

Le résultat de la requête pilote la suite du traitement dans SecOC :

  • E_OK : la valeur de fraîcheur a été fournie avec succès et est utilisée pour le calcul de l'authentificateur [SWS_SecOC_91007].
  • E_NOT_OK : la mise à disposition a échoué en raison de problèmes généraux ou d'un identifiant de fraîcheur erroné [SWS_SecOC_91007].
  • E_BUSY : l'information est temporairement indisponible [SWS_SecOC_91007]. Dans ce cas, SecOC incrémente l'Authentication-Build-Counter et n'effectue aucune tentative de vérification d'authentification [SWS_SecOC_00236].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction SecOC_GetRxFreshnessAuthData [SWS_SecOC_91006] 📄 PDF

Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

Service SecOC_GetRxFreshnessAuthData.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 21909ecce4eb Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante SecOC_GetRxFreshnessAuthData est appelée par le module SecOC afin de déterminer la valeur de fraîcheur actuelle pour l'authentification lors de la réception complète d'I-PDU sécurisées ([SWS_SecOC_91006], [SWS_SecOC_00246]). L'appel intervient spécifiquement lorsque SecOCQueryFreshnessValue = CFUNC ainsi que SecOCUseAuthDataFreshness = TRUE sont paramétrés pour la configuration de PDU respective ([SWS_SecOC_00246], [SWS_SecOC_00249]).

Paramètres et valeurs transmises

  • Données d'entrée : sont transmis l'identifiant SecOCFreshnessValueID, la valeur de fraîcheur tronquée SecOCTruncatedFreshnessValue contenue dans l'I-PDU avec sa longueur en bits SecOCTruncatedFreshnessValueLength ainsi que le compteur SecOCAuthVerifyAttempts, qui est incrémenté lors des tentatives infructueuses ([SWS_SecOC_91006]).
  • Données d'authentification : une portion configurée de la PDU reçue est facultativement transmise via SecOCAuthDataFreshnessValue et SecOCAuthDataFreshnessValueLength ; la position de départ et la longueur sont déterminées par SecOCAuthDataFreshnessStartPosition et SecOCAuthDataFreshnessLen ([SWS_SecOC_91006], [SWS_SecOC_00246]).
  • Données de résultat : la valeur de fraîcheur complète est fournie via le tampon de sortie SecOCFreshnessValue, dont la longueur en bits fait office de paramètre d'entrée-sortie SecOCFreshnessValueLength ([SWS_SecOC_91006]).

Valeurs de retour et gestion des erreurs

La fonction signale le succès de l'interrogation par E_OK ([SWS_SecOC_91006]). Si la valeur de fraîcheur ne peut pas être fournie en raison de problèmes généraux ou d'un identifiant de fraîcheur invalide, elle renvoie E_NOT_OK ; en cas d'indisponibilité temporaire, elle fournit E_BUSY ([SWS_SecOC_91006]). Interpretation : étant donné que la fonction est raccordée en tant que fonction C via CFUNC, l'implémentation devrait être réalisée par un module externe de gestion de la fraîcheur. Question Q-01aa77b7235b9001 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_GetTxFreshness [SWS_SecOC_91004] 📄 PDF

Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value), in big endian format.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : dd021d2527b1 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante SecOC_GetTxFreshness sert à fournir la valeur de fraîcheur actuelle pour les messages à émettre et est déclarée via l'en-tête SecOC.h [SWS_SecOC_91004]. Selon [SWS_SecOC_00231], le module SecOC appelle cette fonction pour une PDU lorsque SecOCQueryFreshnessValue = CFUNC ainsi que SecOCProvideTxTruncatedFreshnessValue = FALSE sont définis dans la configuration. Interprétation : comme SecOC effectue l'appel en cas de configuration correspondante, la fonction devrait probablement devoir être fournie sous forme de callout par un composant externe. Question Q-99a14f896ffddf5f (ouverte)

L'interface utilise les paramètres suivants [SWS_SecOC_91004] :

  • SecOCFreshnessValueID (In) : Identifiant numérique de la valeur de fraîcheur demandée.
  • SecOCFreshnessValueLength (InOut) : Transmet ou reprend la longueur en bits de la valeur de fraîcheur fournie.
  • SecOCFreshnessValue (Out) : Pointeur vers le tableau d'octets destiné à recevoir la valeur de fraîcheur au format gros-boutiste (big-endian), en commençant par les bits de poids fort dans le premier octet.

La valeur de retour de type Std_ReturnType signale le résultat de la mise à disposition [SWS_SecOC_91004] :

  • E_OK : La valeur de fraîcheur a été fournie avec succès.
  • E_BUSY : Les informations de fraîcheur ne peuvent temporairement pas être fournies.
  • E_NOT_OK : La demande a échoué car aucune valeur ne peut être déterminée pour l'ID ou de manière générale.

Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les spécifications de la version R20-11 d'AUTOSAR.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_GetTxFreshnessTruncData [SWS_SecOC_91003] 📄 PDF

Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);

Service SecOC_GetTxFreshnessTruncData.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2ae3128a39ae Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone et réentrante SecOC_GetTxFreshnessTruncData est appelée par le module SecOC pour interroger, lors des opérations d'émission (TX), aussi bien la valeur de fraîcheur complète que la valeur de fraîcheur tronquée (Truncated Freshness) pour la Secured I-PDU à transmettre [SWS_SecOC_91003]. L'appel s'effectue spécifiquement lorsque SecOCQueryFreshnessValue = CFUNC ainsi que SecOCProvideTxTruncatedFreshnessValue = TRUE sont définis pour la configuration de la PDU [SWS_SecOC_00230].

L'interface transmet les paramètres suivants [SWS_SecOC_91003] :

  • SecOCFreshnessValueID (in) : Identifiant de la valeur de fraîcheur demandée.
  • SecOCFreshnessValue (out) : Tampon de destination pour la valeur de fraîcheur complète actuelle.
  • SecOCFreshnessValueLength (inout) : Indique la longueur en bits de la valeur de fraîcheur fournie.
  • SecOCTruncatedFreshnessValue (out) : Tampon optionnel pour la valeur de fraîcheur tronquée qui est intégrée dans la Secured I-PDU.
  • SecOCTruncatedFreshnessValueLength (inout) : Transmet la longueur configurée de la fraîcheur tronquée ; la valeur peut être adaptée par la fonction si nécessaire ou conservée sans modification.

Comme valeur de retour, la fonction renvoie E_OK en cas de fourniture réussie, E_BUSY si l'information est temporairement indisponible, ou E_NOT_OK lorsque la fourniture échoue en raison de problèmes généraux ou spécifiquement pour l'ID transmis [SWS_SecOC_91003]. La déclaration est disponible via l'en-tête SecOC.h [SWS_SecOC_91003].

Cette note d'utilisation a été générée par un assistant d'organisation par IA sur la base des données de spécification issues d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_SPduTxConfirmation [SWS_SecOC_91005] 📄 PDF

void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);

This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 802cf05f792c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

L'interface de fonction synchrone SecOC_SPduTxConfirmation est utilisée par le module SecOC pour indiquer que la transmission d'une I-PDU sécurisée (Secured I-PDU) a été initiée [SWS_SecOC_91005]. La fonction est déclarée dans le fichier d'en-tête SecOC.h et ne possède aucune valeur de retour (void) [SWS_SecOC_91005].

Comme unique paramètre de transmission, SecOCFreshnessValueID est transmis en tant que valeur d'entrée (in) de type uint16 [SWS_SecOC_91005]. Ce paramètre transporte l'identifiant de la valeur de fraîcheur respective pour l'I-PDU concernée [SWS_SecOC_91005]. Aucun autre paramètre d'entrée, de sortie ou d'entrée-sortie (inout/out) n'est présent dans l'interface [SWS_SecOC_91005].

Concurrence et propriétés

L'interface possède le Service-ID 0x4d, fonctionne de manière synchrone et est conçue pour être entièrement réentrante [SWS_SecOC_91005]. La propriété de réentrance permet l'appel parallèle dans des contextes d'exécution concurrents [SWS_SecOC_91005]. Les messages d'erreur via DET ou DEM ainsi que des codes d'erreur spécifiques ne sont pas prévus dans la spécification de l'interface [SWS_SecOC_91005].

Interprétation : comme SecOC appelle cette fonction pour signaler le démarrage de la transmission de la PDU, et ne transmet ce faisant exclusivement que SecOCFreshnessValueID, l'appel devrait probablement servir à l'incrémentation ou à la confirmation du compteur de fraîcheur dans un composant externe [SWS_SecOC_91005]. Question Q-f234a3c6e9b16362 (ouverte)

Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les données de spécification d'AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_MainFunctionRx [SWS_SecOC_00171] 📄 PDF

void SecOC_MainFunctionRx (void);

This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path. Per configured Sec OCMain Function Rx instance one Sec OC_ Main Function Rx_ shall be implemented. Hereby is the short name of the Sec OCMain Function Rx configuration container in the ECU configuration.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 03542d899cdb Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction SecOC_MainFunctionRx prend en charge le traitement central d'authentification et de vérification du module SecOC pour les messages entrants dans le chemin de réception [SWS_SecOC_00171]. Conformément à sa spécification d'interface, la fonction possède la signature void SecOC_MainFunctionRx (void), présente l'ID de service 0x06, n'attend aucun paramètre de transmission et ne renvoie aucune valeur de retour [SWS_SecOC_00171]. Elle est déclarée via le fichier d'en-tête SchM_SecOC.h [SWS_SecOC_00171] ; il peut en être déduit (interprétation) que son appel s'effectue périodiquement par le BSW Scheduler dans le contexte d'une tâche de système d'exploitation. Question Q-d24cb58f541f6674 (ouverte)

Instanciation et configuration

Dans les configurations système comportant plusieurs instances de réception, une instance de fonction propre est implémentée pour chaque conteneur SecOCMainFunctionRx configuré selon le schéma SecOC_MainFunctionRx_<shortName> [SWS_SecOC_00171]. Ici, <shortName> correspond au nom court du conteneur attribué dans le modèle de configuration ECU [SWS_SecOC_00171]. Cela permet probablement une commande temporelle distincte ou une hiérarchisation de différents chemins de traitement Rx. Question Q-ebb55c5d3a3da97d (ouverte)

Gestion des erreurs et concurrence

Pour SecOC_MainFunctionRx, ni valeurs de retour spécifiques ni codes d'erreur explicites pour DET ou DEM ne sont documentés dans les exigences [SWS_SecOC_00171]. Les états d'erreur ou les vérifications ayant échoué devraient donc être traités de manière purement interne et signalés de manière asynchrone aux modules supérieurs via le chemin de réception. Question Q-5d1e45f7a779bea9 (ouverte)

Ce texte a été généré par une IA et sert de guide d'orientation. Seule la spécification officielle AUTOSAR fait foi.

fonction SecOC_MainFunctionTx [SWS_SecOC_00176] 📄 PDF

void SecOC_MainFunctionTx (void);

This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path. Per configured Sec OCMain Function Tx instance one Sec OC_ Main Function Tx_ shall be implemented. Hereby is t he short name of the Sec OCMain Function Tx configuration container in the ECU configuration.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0a9d6b2d7e1e Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction principale SecOC_MainFunctionTx prend en charge, conformément à [SWS_SecOC_00176], le traitement d'authentification et de vérification du module SecOC sur le chemin d'émission (Tx-Pfad). Elle possède la signature void SecOC_MainFunctionTx(void), ne prend donc aucun paramètre en entrée et ne renvoie aucune valeur de retour ; le service ID 0x03 lui est assigné [SWS_SecOC_00176]. La déclaration est fournie via l'en-tête SchM_SecOC.h [SWS_SecOC_00176]. Interprétation : l'intégration étant assurée par le gestionnaire d'ordonnancement (Schedule Manager), l'appel devrait typiquement avoir lieu cycliquement par le BSW Scheduler dans le contexte d'une tâche de système d'exploitation. Question Q-34b30208648c8e30 (ouverte)

Instanciation et convention de nommage

La spécification prévoit une implémentation spécifique à l'instance pour les configurations multiples : pour chaque conteneur d'instance configuré SecOCMainFunctionTx dans la configuration de l'ECU, exactement une fonction doit être implémentée selon le schéma de nommage SecOC_MainFunctionTx_<shortName>, où <shortName> correspond au nom court du conteneur de configuration concerné [SWS_SecOC_00176].

Restrictions et traitement des erreurs

Aucun code d'erreur spécifique, retour DET ou DEM, ni détail sur la réentrance n'est mentionné séparément dans l'élément de spécification [SWS_SecOC_00176]. Interprétation : en raison de la liaison à des conteneurs de configuration spécifiques à l'instance, chaque instance générée devrait être responsable d'un sous-ensemble isolé de traitements de PDU Tx et ne devrait pas, selon la planification prévue, être interrompue de façon concurrente par le même contexte de tâche. Question (ouverte)

Cette note d'utilisation a été générée automatiquement par un assistant de curation IA sur la base de la spécification AUTOSAR R20-11.

fonction SecOC_VerificationStatusCallout [SWS_SecOC_00119] 📄 PDF

void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);

Service is used to propagate the status of each verification attempt from the Sec OC module to other modules. This service can be configured such that:  Only: "False" Verifica tion Status is propagated to modules  Both: "True" and "False" Verification Status are propagated to modules  None: No Verification Status is propagated

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a7aa9530a7de Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction de callout synchrone SecOC_VerificationStatusCallout sert à transmettre l'état des tentatives de vérification depuis le module SecOC vers des modules logiciels externes [SWS_SecOC_00119]. Elle est déclarée via l'en-tête SecOC_Externals.h et possède l'ID de service 0x50 [SWS_SecOC_00119]. Une structure de données regroupant le résultat de vérification pour un Freshness Value ID et un Data ID spécifiques est transmise via le paramètre d'entrée verificationStatus (type SecOC_VerificationStatusType) [SWS_SecOC_00119]. La fonction ne possède aucun paramètre de sortie et aucune valeur de retour (type de retour void) [SWS_SecOC_00119].

Le comportement de transmission d'état est configurable et prend en charge trois variantes [SWS_SecOC_00119] :

  • Only : Seules les tentatives de vérification ayant échoué (« False ») sont propagées.
  • Both : Les états de vérification tant réussis (« True ») qu'en échec (« False ») sont transmis aux modules.
  • None : Aucun état de vérification n'est transmis.

En ce qui concerne la concurrence, SecOC_VerificationStatusCallout est réentrante pour des Freshness Value IDs distincts, mais non réentrante pour le même Freshness Value ID [SWS_SecOC_00119]. Les modules d'implémentation doivent donc s'assurer qu'aucun appel concurrent n'a lieu en cas de Freshness Value ID identique. Le contexte d'appel devrait être synchrone dans le cadre de la routine de vérification interne du module SecOC. Question Q-cd6928ca22d48f54 (ouverte) Aucun code d'erreur spécifique ni message vers DET et DEM n'est défini pour ce callout [SWS_SecOC_00119].

Cette note d'utilisation a été générée par une IA et repose exclusivement sur les données de spécification de la version AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction SecOC_VerifyStatus [SWS_SecOC_91014] 📄 PDF

void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);

This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by the Sec OC module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 40383ff847fc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction synchrone SecOC_VerifyStatus informe l'application du résultat de la tentative de vérification d'une PDU reçue par le module SecOC [SWS_SecOC_91014]. L'interface possède le service ID 0x53, ne renvoie aucune valeur (void) et est mise à disposition via l'en-tête SecOC_Externals.h [SWS_SecOC_91014].

paramètre

Le seul paramètre de transmission utilisé est le paramètre d'entrée verificationStatus de type SecOC_VerificationStatusType [SWS_SecOC_91014]. Cette structure fournit des détails sur l'état de vérification ainsi que l'information indiquant pour quels Data-ID et Freshness-Value-ID la vérification a été effectuée [SWS_SecOC_91014]. Il n'existe aucun paramètre d'entrée ou de sortie supplémentaire [SWS_SecOC_91014].

Gestion des erreurs et concurrence

Aucun code d'erreur spécifique ni aucune notification à DET ou DEM ne sont définis pour ce service [SWS_SecOC_91014]. Interpretation : les vérifications ayant échoué devraient principalement être communiquées à l'application par le biais des valeurs d'état au sein de la structure transmise verificationStatus. Question Q-177be3d746f99b24 (ouverte) En ce qui concerne la concurrence, SecOC_VerifyStatus n'est pas réentrante pour le même Freshness-Value-ID, mais est réentrante pour des Freshness-Value-ID différents [SWS_SecOC_91014].

Ce texte a été généré par une IA et sert de guide d'orientation. La spécification AUTOSAR fait foi.

Guide de l'implémenteur à venir (complexité I1)

type SecOC_StateType [SWS_SecOC_00162] 📄 PDF

States of the Sec OC module

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9d4be727e8c2 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré SecOC_StateType sert à la représentation formelle des états de fonctionnement internes du module SecOC et est fourni via le fichier d'en-tête SecOC.h [SWS_SecOC_00162]. Il permet une gestion cohérente des états tout au long du cycle de vie du composant logiciel.

Conformément à la spécification, la plage de valeurs de ce type énuméré comprend exactement deux états discrets [SWS_SecOC_00162] :

  • SECOC_UNINIT : indique sans ambiguïté que le module SecOC n'est pas initialisé [SWS_SecOC_00162].
  • SECOC_INIT : indique de manière contraignante que le module SecOC a été initialisé [SWS_SecOC_00162].

En ce qui concerne les interactions et les conditions d'ordonnancement, SECOC_UNINIT représente vraisemblablement l'état par défaut immédiatement après le démarrage du système. Question Q-4d02fe3a0979113f (ouverte) Durant cette phase, les appels fonctionnels pour la sécurisation cryptographique ou la vérification des messages devraient être rejetés, car les structures de données requises ne sont pas encore disponibles. L'état ne passe probablement à SECOC_INIT qu'après l'initialisation réussie du module. Les modules appelants ou les routines de surveillance internes devraient utiliser SecOC_StateType pour vérifier l'état de fonctionnement actuel de manière synchrone et empêcher de façon fiable tout accès non autorisé avant l'initialisation.

Ce texte a été généré par une IA et repose exclusivement sur les données de spécification d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

type SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF

Enumeration to indicate veri fication results.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9b4c5c47c73b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré SecOC_VerificationResultType sert à signaler les résultats lors de la vérification d'I-PDU sécurisées dans le module SecOC et est mis à disposition via l'en-tête Rte_SecOC_Type.h [SWS_SecOC_00149].

L'énumération spécifie ici les valeurs de résultat suivantes afin de différencier l'état de vérification [SWS_SecOC_00149] :

  • SECOC_VERIFICATIONSUCCESS (0x00) : La vérification des données a réussi [SWS_SecOC_00149].
  • SECOC_VERIFICATIONFAILURE (0x01) : La vérification n'a pas réussi [SWS_SecOC_00149].
  • SECOC_FRESHNESSFAILURE (0x02) : La vérification a échoué en raison d'une valeur de fraîcheur erronée [SWS_SecOC_00149].
  • SECOC_AUTHENTICATIONBUILDFAILURE (0x03) : La vérification n'a pas réussi en raison de codes d'authentification mal structurés [SWS_SecOC_00149].
  • SECOC_NO_VERIFICATION (0x04) : La vérification a été ignorée et les données ont été transmises sans modification à la couche supérieure ; cet état n'est possible que lors d'un remplacement d'état actif SecOC_VerifyStatusOverride [SWS_SecOC_00149].
  • SECOC_VERIFICATIONFAILURE_OVERWRITTEN (0x05) : La vérification a échoué, mais l'I-PDU a néanmoins été transmise à la couche supérieure en raison de l'état de remplacement ; cet état survient également exclusivement lors de l'utilisation de SecOC_VerifyStatusOverride [SWS_SecOC_00149].

À l'aide de ces valeurs, les couches supérieures peuvent analyser avec précision si une vérification a normalement réussi, si elle a échoué en raison de codes cryptographiques ou de valeurs de fraîcheur, ou si des états d'override administratifs ont piloté la transmission des données [SWS_SecOC_00149].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.

type SecOC_VerificationStatusType [SWS_SecOC_00160] 📄 PDF

Data structure to bundle the status of a verification attempt for a specific Freshness Value and Data ID

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 98b8726de1ab Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation de la structure d'état de vérification

Le type de structure SecOC_VerificationStatusType regroupe, conformément à [SWS_SecOC_00160], le résultat d'une tentative de vérification pour une I-PDU sécurisée ainsi que le Data-ID associé et la valeur de fraîcheur utilisée. La définition est fournie via le fichier d'en-tête Rte_SecOC_Type.h et comprend les éléments suivants :

  • freshnessValueID (uint16) : identifiant de la valeur de fraîcheur ayant conduit à l'état de vérification ([SWS_SecOC_00160]).
  • verificationStatus (SecOC_VerificationResultType) : résultat détaillé de la tentative de vérification ([SWS_SecOC_00160]).
  • secOCDataId (uint16) : Data-ID de la PDU concernée ([SWS_SecOC_00160]).

L'élément verificationStatus différencie des états de succès et d'erreur spécifiques ([SWS_SecOC_00160]) :

  • SECOC_VERIFICATIONSUCCESS : la vérification cryptographique a réussi.
  • SECOC_VERIFICATIONFAILURE : la vérification a échoué.
  • SECOC_FRESHNESSFAILURE : la vérification a échoué en raison d'une valeur de fraîcheur invalide.
  • SECOC_AUTHENTICATIONBUILDFAILURE : échec de vérification dû à des codes d'authentification générés de manière erronée.
  • SECOC_NO_VERIFICATION : aucune tentative de vérification n'a été exécutée pour cette I-PDU ; elle a été transmise telle quelle à la couche supérieure.
  • SECOC_VERIFICATIONFAILURE_OVERWRITTEN : la vérification a échoué, mais l'I-PDU a été transmise à la couche supérieure en raison d'un état d'override actif.

Interprétation : dans la mesure où ce type regroupe les détails de la vérification, il devrait principalement être employé dans les interfaces de retour d'état et de notification afin d'informer les couches supérieures de l'état d'authentification des données reçues. Question Q-a1099bc88a2981e2 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

type SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF

Type SecOC_OverrideStatusType.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a5d2888a2f81 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énumération SecOC_OverrideStatusType définit les différents modes de dérogation de l'état de vérification des I-PDU dans le module SecOC et est fourni via l'en-tête Rte_SecOC_Type.h [SWS_SecOC_00991].

Les valeurs du type énuméré contrôlent si et comment la vérification de l'authentificateur a lieu, et la manière dont l'I-PDU entrante est traitée [SWS_SecOC_00991] :

  • SECOC_OVERRIDE_DROP_UNTIL_NOTICE (0x00) : La vérification est supprimée sans appel du CSM, l'I-PDU est rejetée et le résultat de vérification est défini sur SECOC_NO_VERIFICATION [SWS_SecOC_00991].
  • SECOC_OVERRIDE_DROP_UNTIL_LIMIT (0x01) : Comme précédemment, la vérification est suspendue et l'I-PDU est rejetée, mais de façon limitée, jusqu'à ce que le nombre configuré de messages à déroger soit atteint [SWS_SecOC_00991].
  • SECOC_OVERRIDE_CANCEL (0x02) : Interrompt la dérogation active de l'état de vérification et rétablit le comportement normal [SWS_SecOC_00991].
  • SECOC_OVERRIDE_PASS_UNTIL_NOTICE (0x40) et SECOC_OVERRIDE_PASS_UNTIL_LIMIT (0x42) : La vérification de l'authentificateur est exécutée et l'I-PDU est transmise à la couche supérieure indépendamment du résultat ; si la vérification échoue, le résultat est défini sur SECOC_VERIFICATIONFAILURE_OVERWRITTEN (soit jusqu'à nouvel ordre, soit limité par compteur) [SWS_SecOC_00991].
  • SECOC_OVERRIDE_SKIP_UNTIL_LIMIT (0x41) et SECOC_OVERRIDE_SKIP_UNTIL_NOTICE (0x43) : La vérification est supprimée, le résultat est SECOC_NO_VERIFICATION, et l'I-PDU est transmise à la couche supérieure. Si SecOCRxSecuredPduCollection est configuré, SecOC traite directement la SecOCRxAuthenticPdu sans attendre la SecOCRxCryptographicPdu [SWS_SecOC_00991].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_SecOC
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_SecOC@rel:R20-11#af29c6e8
Content hash
af29c6e8
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_SecureOnboardCommunication.pdf#nameddest=SWS_SecOC_00106

Initialisation et état

SecOC_DeInit fonction

This service stops the secure onboard communication. All buffered I - PDU are removed and have to be obtained again, if needed, after Sec OC_ Init has been called. By a call to Sec OC_ De Init the AUTOSAR Sec OC module is put into a not in itialized state (Sec OC_ UNINIT).

void SecOC_DeInit (void);

Returns the version information of this module.

void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
SecOC_Init fonction

Initializes the the Sec OC module. Successful initialization leads to state Sec OC_ INIT. In configurations, in which Sec OC is assigned to more than one partition (i.e. Sec OC_ Main Functions are mapped to partition s), Sec OC may provide one init AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_SecureOnboardCommunication function per partition. The decision on whether a single Sec OC_ Init() function or one per partition is provided is implementation - specific. In case a given implementation provides one Sec OC_ Init() function per partition, it is up to the implementation to devise a naming pattern that prevents name clashes among the different Sec OC_ Init() functions (e.g., by adding a suffix containing short name the Ecuc Partition.

void SecOC_Init (const SecOC_ConfigType* config);

Services · Get…

Service SecOC_GetRxFreshness.

Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

Service SecOC_GetRxFreshnessAuthData.

Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value), in big endian format.

Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);

Service SecOC_GetTxFreshnessTruncData.

Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);

Services · Tp…

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);

Requests transmission of a PDU.

Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Services · Autres

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);

Requests transmission of a PDU.

Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

The service provides the ability to enable the sending of un - authenticated PDU to lower layer. (example: in case authentication build counter has reached the configuration value Sec OCAuthentication Build Attempts or the query of the freshness function returns E_ NOT_ OK or the calculation of the authenticator has returned a non - recoverable error such as returning E_ NOT_ OK or KEY_ FAILURE). T his service is optional (the service is available only if Sec OCDefault Authentication Information Pattern is configured). If the service is not available or the service is available but the service was called with send Default

Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);

This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by the Sec OC module.

void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);

Service SecOC_VerifyStatusOverride.

Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);

Callbacks

This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer. Each call to this function provides the next part of the I - PDU data. The si ze of the remaining buffer is written to the position indicated by buffer Size Ptr.

BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service SecOC_CopyTxData.

BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Indication of a received PDU from a lower layer communication interface module.

void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.

void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);

Service SecOC_StartReception.

BufReq_ReturnType SecOC_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Callouts et interfaces attendues

Service is used to propagate the status of each verification attempt from the Sec OC module to other modules. This service can be configured such that:  Only: "False" Verifica tion Status is propagated to modules  Both: "True" and "False" Verification Status are propagated to modules  None: No Verification Status is propagated

void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);

Cyclique

This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path. Per configured Sec OCMain Function Rx instance one Sec OC_ Main Function Rx_ shall be implemented. Hereby is the short name of the Sec OCMain Function Rx configuration container in the ECU configuration.

void SecOC_MainFunctionRx (void);

This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path. Per configured Sec OCMain Function Tx instance one Sec OC_ Main Function Tx_ shall be implemented. Hereby is t he short name of the Sec OCMain Function Tx configuration container in the ECU configuration.

void SecOC_MainFunctionTx (void);

Types

Configuration data structure of Sec OC module

Type SecOC_OverrideStatusType.

States of the Sec OC module

Enumeration to indicate veri fication results.

Data structure to bundle the status of a verification attempt for a specific Freshness Value and Data ID