Secure Onboard Communication (SecOC)
Provides cryptographic authentication and freshness protection for critical communication PDUs.
Funktionen — Übersicht
void SecOC_Init (const SecOC_ConfigType* config);Initializes the the Sec OC module.void SecOC_DeInit (void);This service stops the secure onboard communication.void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);Service SecOC_VerifyStatusOverride.Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);The service provides the ability to enable the sending of un - authenticated PDU to lower layer.void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.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.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.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...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...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.BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Service SecOC_CopyTxData.BufReq_ReturnType SecOC_StartOf SecOC_StartReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr); ⚠️Service SecOC_StartReception.Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshness.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.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),...Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);Service SecOC_GetTxFreshnessTruncData.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.void SecOC_MainFunctionRx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path.void SecOC_MainFunctionTx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path.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.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...
Typen — Übersicht
struct SecOC_ConfigTypeConfiguration data structure of Sec OC moduleenum SecOC_StateTypeStates of the Sec OC moduleSecOC_FreshnessArrayType-enum SecOC_VerificationResultTypeEnumeration to indicate veri fication results.enum SecOC_VerificationStatusTypeData structure to bundle the status of a verification attempt for a specific Freshness Value and Data IDenum SecOC_OverrideStatusTypeType SecOC_OverrideStatusType.
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.
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_ConfigTypeest transmis via le paramètre d'entréeconfig[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).
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_GetVersionInfo [SWS_SecOC_00107] 📄 PDF
void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF
Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
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 (typePduIdType).PduInfoPtr: un pointeur vers une structure de typePduInfoType, 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] :
E_OK: la demande de transmission a été acceptée [SWS_SecOC_00112].E_NOT_OK: la demande de transmission n'a pas été acceptée [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.
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.
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.
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.
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.
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),overrideStatuspilote 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
SecOCAuthenticationBuildAttemptsou deSecOCAuthenticationVerifyAttemptsainsi qu'en présence d'erreurs non récupérables (telles queKEY_FAILURE), le résultat de vérification et la transmission des PDU sont régis en priorité paroverrideStatus[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
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 motifSecOCDefaultAuthenticationInformationPatternpour 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
FALSEpour 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.
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.
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.
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 (typePduIdType).result: Résultat de la transmission (typeStd_ReturnType) avec les valeursE_OKen cas de transmission réussie ouE_NOT_OKen 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.
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(typePduIdType) : identification unique de l'I-PDU transmise [SWS_SecOC_00152].result(typeStd_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.
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 dansPduInfoPtr->SduLengthet renvoieE_OK[SWS_SecOC_00127]. - Si l'espace mémoire est insuffisant, la fonction renvoie
E_NOT_OKsans modifier le contenu dePduInfoPtr[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.
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.
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
retryest unNULL_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_DATACONFconfirme toutes les données transmises avant cet appel en vue de la libération du tampon [SWS_SecOC_00129].TP_DATARETRYdéclenche la nouvelle copie des données déjà transmises à partir du décalage d'octets défini parTxTpDataCnt[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.
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 structurePduInfoTypecontenant 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_PTRest 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 ;bufferSizePtrindique 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 ;bufferSizePtrreste inchangé [SWS_SecOC_00130].BUFREQ_E_OVFL: Aucun tampon de la longueur requise ne peut être mis à disposition ; la réception s'interrompt etbufferSizePtrreste 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.
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].SecOCTruncatedFreshnessValueetSecOCTruncatedFreshnessValueLength: 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].SecOCFreshnessValueetSecOCFreshnessValueLength: 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.
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éeSecOCTruncatedFreshnessValuecontenue dans l'I-PDU avec sa longueur en bitsSecOCTruncatedFreshnessValueLengthainsi que le compteurSecOCAuthVerifyAttempts, 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
SecOCAuthDataFreshnessValueetSecOCAuthDataFreshnessValueLength; la position de départ et la longueur sont déterminées parSecOCAuthDataFreshnessStartPositionetSecOCAuthDataFreshnessLen([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-sortieSecOCFreshnessValueLength([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.
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.
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.
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_
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_
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
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.
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_ConfigType [SWS_SecOC_00104] 📄 PDF
Configuration data structure of Sec OC module
type SecOC_StateType [SWS_SecOC_00162] 📄 PDF
States of the Sec OC module
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_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
type SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
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 actifSecOC_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 deSecOC_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
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.
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 surSECOC_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) etSECOC_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 surSECOC_VERIFICATIONFAILURE_OVERWRITTEN(soit jusqu'à nouvel ordre, soit limité par compteur) [SWS_SecOC_00991].SECOC_OVERRIDE_SKIP_UNTIL_LIMIT(0x41) etSECOC_OVERRIDE_SKIP_UNTIL_NOTICE(0x43) : La vérification est supprimée, le résultat estSECOC_NO_VERIFICATION, et l'I-PDU est transmise à la couche supérieure. SiSecOCRxSecuredPduCollectionest configuré, SecOC traite directement laSecOCRxAuthenticPdusans attendre laSecOCRxCryptographicPdu[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
gemini-3.8-flash-low· 2026-10-13 · Original allemand