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

Guía del móduloGENERADO POR IA

Protege las I-PDU frente a manipulación y repetición junto al router de PDU mediante Authenticator y Freshness Value.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: e42ecdfc6fe3 Procedencia Preguntas abiertas (2)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Protege las I-PDU frente a manipulación y repetición junto al router de PDU mediante Authenticator y Freshness Value.

SecOC protege las I-PDU frente a manipulación y repetición. Para ello, añade durante la transmisión un Authenticator y un Freshness Value, y comprueba ambos durante la recepción. La aceptación de una PDU y el procesamiento criptográfico están desacoplados: solo las funciones principales periódicas autentican o verifican en seis pasos ([SWS_SecOC_00040]). La criptografía la proporciona el CSM, y el Freshness Value un Freshness Manager externo. Reintentos limitados deciden cuándo se descarta una PDU recibida y se notifica un estado de verificación ([SWS_SecOC_00241]).

SecOC protege las I-PDU en la pila de comunicación. Se sitúa junto al PduR y añade a cada Authentic I-PDU el Authenticator y un Freshness Value posiblemente truncado. Así se genera una Secured I-PDU (SWS SecOC p. 39). El Authenticator se calcula a partir del Data Identifier, los datos útiles y el Freshness Value completo (SWS SecOC p. 29). La criptografía la proporciona el CSM ([SWS_SecOC_00138]), y el Freshness Value un Freshness Manager a través de RTE o función 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 mediante RTE o función 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)

Diagrama de contexto: SecOC entre PduR, CSM, Freshness Manager, aplicación, DET e IdsM. Fuentes: [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

La transmisión y la recepción están desacopladas. En SecOC_[If|Tp]Transmit, SecOC solo copia los datos útiles. Solo la SecOC_MainFunctionTx periódica calcula la Authentication Information e inicia la transmisión a través del PduR (SWS SecOC p. 40, [SWS_SecOC_00176]). SecOC almacena en búfer completamente las Secured I-PDU recibidas y las comprueba en SecOC_MainFunctionRx en seis pasos, desde el análisis sintáctico hasta la transmisión hacia arriba ([SWS_SecOC_00040], [SWS_SecOC_00255]). El módulo solo opera en el estado SECOC_INIT, el cual SecOC_Init establece y SecOC_DeInit anula ([SWS_SecOC_00162], [SWS_SecOC_00161]).

Dos contadores controlan los reintentos en la recepción ([SWS_SecOC_00237], [SWS_SecOC_00239], [SWS_SecOC_00240], [SWS_SecOC_00241]):

  • El contador Build cuenta cuellos de botella temporales como E_BUSY.
  • El contador Verify cuenta comparaciones fallidas de MAC.
  • Si uno de ellos alcanza su límite, la PDU se descarta.

Durante la transmisión, alcanzar un límite conduce a SECOC_E_CRYPTO_FAILURE y, si está habilitado, a la transmisión con un patrón por defecto ([SWS_SecOC_00155], [SWS_SecOC_00229]).

rxverifikation a Secured I-PDU recibida completamente contador de compilación = 0, contador de verificación = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Contador de compilación + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e ¿Contador de compilación >= SecOCAuthenticationBuildAttempts? d->e f Repetición en la siguiente SecOC_MainFunctionRx e->f No g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g Sí f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Contador de verificación + 1, contador de compilación = 0 j->k MAC no válido m Verwerfen: SECOC_VERIFICATIONFAILURE j->m no recuperable (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n exitoso l ¿Contador de verificación >= SecOCAuthenticationVerifyAttempts? k->l l->b no: siguiente Freshness Value válido l->m Sí

Diagrama de actividades: los contadores Build y Verify deciden sobre el reintento o el descarte. Fuentes: [SWS_SecOC_00239], [SWS_SecOC_00241]

SecOC notifica el resultado de cada intento como SecOC_VerificationStatusType, según la configuración a componentes de software y al Freshness Manager ([SWS_SecOC_00271], [SWS_SecOC_00243]). Con SecOC_VerifyStatusOverride se puede anular la comprobación de forma selectiva ([SWS_SecOC_00122]). En caso de división en Authentic y Cryptographic I-PDU, solo se comprueba cuando ambas partes están disponibles con el Message Linker adecuado ([SWS_SecOC_00211]).

Función junto al PduR y límites del sistema

SecOC se sitúa en la arquitectura en capas junto al router de PDU. Transforma una Authentic I-PDU en una Secured I-PDU añadiendo Authentication Information directamente detrás de los datos útiles: el Authenticator y el Freshness Value posiblemente truncado (SWS SecOC p. 39, SWS SecOC p. 43). Ningún otro módulo debe depender de SecOC, de modo que un sistema también pueda construirse sin SecOC. Los MetaData de una Authentic PDU aparecen sin cambios en la Secured PDU y viceversa ([SWS_SecOC_00212]).

El Authenticator se calcula mediante la concatenación de tres partes: SecOCDataId, parte asegurada de la Authentic I-PDU y Freshness Value completo (SWS SecOC p. 29). La criptografía la proporciona el CSM, por ejemplo con Csm_MacGenerate y Csm_MacVerify ([SWS_SecOC_00138]). El Freshness Value lo proporciona un Freshness Manager, ya sea a través del puerto RTE FreshnessManagement o mediante funciones C ([SWS_SecOC_91001], [SWS_SecOC_00230]). Otros destinatarios de notificaciones son:

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 mediante RTE o función 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)

Diagrama de contexto: SecOC media entre PduR, CSM, Freshness Manager y la aplicación, y notifica a DET e IdsM. Fuentes: SWS SecOC p. 24, [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

Los mismos mecanismos también dan soporte a pasarelas. SecOC admite pasarelas de reautenticación entre zonas de seguridad, configurándose cada proceso por separado. El «gatewaying-on-the-fly» no está admitido (SWS SecOC p. 57).

Inicialización, estado del módulo y funciones principales periódicas

El estado del módulo SecOC_StateType comprende SECOC_UNINIT y SECOC_INIT ([SWS_SecOC_00162]).

  • SecOC_Init recibe una SecOC_ConfigType específica de la implementación y, en caso de éxito, conduce a SECOC_INIT. En caso de asignación a varias particiones, es posible una función de inicialización por partición ([SWS_SecOC_00106], [SWS_SecOC_00104]).
  • SecOC_DeInit descarta todas las I-PDU almacenadas en búfer y restablece el módulo al estado no inicializado ([SWS_SecOC_00161]). Durante este proceso también se borran las variables internas y los búferes (SWS SecOC p. 65).
  • Una llamada sin inicialización previa notifica SECOC_E_UNINIT ([SWS_SecOC_00101]).

El procesamiento real lo llevan a cabo SecOC_MainFunctionTx y SecOC_MainFunctionRx. Para cada instancia configurada se genera una función propia …_<shortName> ([SWS_SecOC_00176], [SWS_SecOC_00171]). Su período es configurable (SWS SecOC p. 130, SWS SecOC p. 129). Cada SecOCTxPduProcessing se ejecuta en la instancia referenciada ([SWS_SecOC_00276]).

Sin inicialización, la función principal de transmisión (Tx) retorna de inmediato. En caso contrario, autentica todas las nuevas Authentic I-PDU en la misma llamada e inicia su transmisión de inmediato a través del PduR (SWS SecOC p. 84).

lebenszyklus start comenzar uninit SECOC_UNINIT start->uninit uninit->uninit SecOC_MainFunctionTx: retorno inmediato; llamada a la API: SECOC_E_UNINIT init SECOC_INIT uninit->init SecOC_Init(config) erfolgreich init->uninit SecOC_DeInit(): borrar I-PDUs en búfer, variables y búferes init->init SecOC_MainFunctionTx/Rx: autenticación o verificación

Diagrama de estados: Init y DeInit conmutan entre SECOC_UNINIT y SECOC_INIT; la función principal solo opera en el estado inicializado. Fuentes: [SWS_SecOC_00162], [SWS_SecOC_00106], [SWS_SecOC_00161], SWS SecOC p. 84

Transmisión: de la Authentic a la Secured I-PDU

La ruta de transmisión está desacoplada y se ejecuta en dos etapas (SWS SecOC p. 40):

  1. La capa superior llama a PduR_<Up>Transmit, el PduR llama a SecOC_[If|Tp]Transmit. SecOC copia la Authentic I-PDU por completo en memoria propia y retorna ([SWS_SecOC_00252]).
  2. En la siguiente ejecución de la función principal, se genera la Secured I-PDU y SecOC inicia su transmisión a través del PduR.

SecOC reenvía las confirmaciones de la capa inferior hacia arriba a través de PduR_SecOC[If|Tp]TxConfirmation ([SWS_SecOC_00063]).

La autenticación comprende seis pasos: preparar, componer DataToAuthenticator, generar Authenticator, ensamblar Secured I-PDU, incrementar Freshness Counter, transmitir. Data Id (16 bits) y Freshness Value se incorporan en formato Big Endian (SWS SecOC p. 33).

Si la fuente de frescura es una función C (CFUNC), SecOC obtiene el valor a través de SecOC_GetTxFreshness. Si el Freshness Manager debe suministrar el valor truncado él mismo, para ello se utiliza SecOC_GetTxFreshnessTruncData ([SWS_SecOC_00231], [SWS_SecOC_00230]). SecOC notifica el desencadenamiento de la transmisión con SecOC_SPduTxConfirmation o bien a través de la RTE ([SWS_SecOC_00232], [SWS_SecOC_00233]). Las áreas no utilizadas se rellenan con SecOCTxPduUnusedAreasDefault ([SWS_SecOC_00269]).

Autenticación en transmisión directa (interfaz de bus)ComPduRSecOCFreshness ManagerCsmUntere Schicht (z. B. CanIf)PduR_ComTransmit()SecOC_IfTransmit()Authentic I-PDU completain eigenen Puffer kopierenE_OKUse Case: SecOC_MainFunctionTx (siguiente llamada)SecOC_GetTxFreshness()o bien SecOC_GetTxFreshnessTruncData()E_OK, Freshness ValueCsm_MacGenerate(DataToAuthenticator)AuthenticatorAsynchroner Csm-Job: Ergebnis per CallbackSecured I-PDU bilden:Authentic I-PDU | Freshness Value (truncado) | AuthenticatorPduR_SecOCTransmit()Transmit (Secured I-PDU)SecOC_SPduTxConfirmation()Use Case: ConfirmaciónTxConfirmation(result)SecOC_TxConfirmation(result)PduR_SecOCIfTxConfirmation(result)TxConfirmation(result)

Diagrama de secuencia: La aceptación de la Authentic I-PDU y la autenticación en la siguiente ejecución de la función principal están desacopladas. Fuentes: SWS SecOC p. 40, [SWS_SecOC_00231], [SWS_SecOC_00232], [SWS_SecOC_00063]

En caso de transmisión disparada, previamente debe haberse producido al menos un SecOC_IfTransmit. Sin datos disponibles, SecOC_TriggerTransmit responde con E_NOT_OK, y AlwaysTransmit no debe utilizarse (SWS SecOC p. 44, [SWS_SecOC_00127]).

Para SECOC_TPPDU, SecOC_TpTransmit inicia el proceso. SecOC obtiene los datos en fragmentos con PduR_SecOCTpCopyTxData ([SWS_SecOC_00253], [SWS_SecOC_00254]). A continuación, el módulo TP realiza la lectura mediante SecOC_CopyTxData ([SWS_SecOC_00129]).

Autenticación con protocolo de transporte (SECOC_TPPDU)ComPduRSecOCCanTpPduR_ComTransmit()SecOC_TpTransmit()loophasta que la Authentic I-PDU esté completamente copiadaPduR_SecOCTpCopyTxData()Com_CopyTxData()BUFREQ_E_BUSY: repetición en la siguiente llamada a Main FunctionBUFREQ_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()

Diagrama de secuencia: En la transmisión TP, SecOC actúa hacia arriba como sumidero TP y hacia abajo como fuente TP. Fuentes: SWS SecOC p. 109, [SWS_SecOC_00253], [SWS_SecOC_00254]

Con SecOCTxSecuredPduCollection, la Secured I-PDU se divide en dos mensajes:

  • la Authentic I-PDU,
  • una Cryptographic I-PDU compuesta por Authentication Data y Message Linker.

Ambas se transmiten en el mismo ciclo ([SWS_SecOC_00201], [SWS_SecOC_00209], [SWS_SecOC_00202]). La confirmación hacia la capa superior solo es E_OK si ambas partes fueron confirmadas con E_OK ([SWS_SecOC_00270]).

Recepción y verificación

La verificación comprende seis pasos ([SWS_SecOC_00040]):

  1. analizar sintácticamente la Authentic I-PDU, el Freshness Value y el autenticador,
  2. solicitar el Freshness Value al Freshness Manager,
  3. formar los datos a comprobar,
  4. comprobar la Authentication Information,
  5. confirmar al Freshness Manager,
  6. transferir la Authentic I-PDU a la capa superior.

SecOC copia primero la Secured I-PDU en su propia memoria y la comprueba en la siguiente ejecución de la función principal (SWS SecOC p. 50). A través de interfaces de bus llega mediante SecOC_RxIndication ([SWS_SecOC_00124]). Si una I-PDU de longitud estática es más corta de lo configurado, se descarta silenciosamente ([SWS_SecOC_00268]). La longitud de la Authentic I-PDU procede de la configuración, de la capa inferior o de la cabecera ([SWS_SecOC_00257], [SWS_SecOC_00258], [SWS_SecOC_00259]).

Recepción mediante interfaz de bus y gestión de frescura (freshness)PduRSecOCSchMFreshness ManagerCsmSecOC_RxIndication()Secured I-PDU puffern,Contadores de compilación y verificación = 0SecOC_MainFunctionRx()loopAuthentication verify attempts [MAC-Verifikation fehlgeschlagen]loopAuthentication build attempts [GetRxFreshness()==E_BUSY || Csm_MacVerify()==E_BUSY]GetRxFreshness()Freshness ValueCsm_MacVerify()VerifikationsergebnisVerificationStatus()

Diagrama de secuencia: La consulta de frescura y la comprobación del MAC se ejecutan en el contexto de la función principal de Rx en dos bucles de reintento anidados. Fuentes: SWS SecOC p. 103, [SWS_SecOC_00237], [SWS_SecOC_00238]

Con el protocolo de transporte, la recepción se desarrolla de la siguiente manera ([SWS_SecOC_00130], [SWS_SecOC_00128], [SWS_SecOC_00125]):

  • SecOC_StartOfReception reserva búfer para toda la Secured I-PDU,
  • SecOC_CopyRxData asume los segmentos individuales,
  • SecOC_TpRxIndication notifica el fin de la recepción.

SecOC solo puede transferir la Authentic I-PDU tras la recepción completa ([SWS_SecOC_00255]). Interpretación según el diagrama: la transferencia a la capa superior solo debería comenzar tras una verificación exitosa (SWS SecOC p. 112). Pregunta Q-d5c1780d034c722e (abierta) A diferencia de esto, la versión R23-11 reenvía el inicio de la recepción ya en SecOC_StartOfReception (SWS SecOC p. 54).

Verificación con protocolo de transporteCanTpPduRSecOCComPduR_CanTpStartOfReception()SecOC_StartOfReception()BUFREQ_OK (búfer para la Secured I-PDU completa)loopje N-PDUPduR_CanTpCopyRxData()SecOC_CopyRxData()BUFREQ_OKPduR_CanTpRxIndication()SecOC_TpRxIndication(E_OK)Use Case: SecOC_MainFunctionRxverify()optverificación exitosa (interpretación del orden según el diagrama)PduR_SecOCTpStartOfReception()Com_StartOfReception()loopHasta que se hayan copiado todos los datosPduR_SecOCTpCopyRxData()Com_CopyRxData()PduR_SecOCTpRxIndication()Com_TpRxIndication()

Diagrama de secuencia: SecOC almacena en búfer toda la Secured I-PDU; la transferencia a Com sigue (interpretación) solo tras una verificación exitosa. Fuentes: SWS SecOC p. 112, [SWS_SecOC_00255]

Con SecOCRxSecuredPduCollection, SecOC solo realiza la comprobación cuando están disponibles la Authentic I-PDU y la Cryptographic I-PDU con un Message Linker coincidente ([SWS_SecOC_00203], [SWS_SecOC_00211]). Para ello mantiene búferes separados ([SWS_SecOC_00204]):

  • Tras una comprobación exitosa, se vacían ambos búferes ([SWS_SecOC_00207]).
  • Tras un fallo, ambos se conservan y, con cada nueva entrada, se comprueba de nuevo ([SWS_SecOC_00208]).

La estrategia de desbordamiento QUEUE excluye esta división ([SWS_SecOC_CONSTR_00265]).

Freshness Manager, estado de verificación y Override

SecOC no gestiona la frescura por sí mismo. En función de SecOCQueryFreshnessValue (RTE o CFUNC) y de SecOCUseAuthDataFreshness, consulta GetRxFreshness o GetRxFreshnessAuthData. En el segundo caso, transfiere adicionalmente una sección configurada de la PDU recibida ([SWS_SecOC_00244], [SWS_SecOC_00245], [SWS_SecOC_00246], [SWS_SecOC_00247]). También se suministran el Freshness Value truncado y el número de intentos de verificación realizados hasta el momento ([SWS_SecOC_91007], [SWS_SecOC_91006]).

Los valores se proporcionan como SecOC_FreshnessArrayType ([SWS_SecOC_91012]), con el bit más significativo en el primer byte, es decir, Big Endian (SWS SecOC p. 80). El valor de retorno E_BUSY significa que el valor no está disponible temporalmente ([SWS_SecOC_91002]).

SecOC_VerificationStatusType resume el resultado de cada intento: freshnessValueID más un valor de SecOC_VerificationResultType, por ejemplo SECOC_FRESHNESSFAILURE ([SWS_SecOC_00160], [SWS_SecOC_00149]). Según el modo, se notifica como BOTH, FAILURE_ONLY o NONE ([SWS_SecOC_00271], [SWS_SecOC_91016]). Opcionalmente, solo se transfiere el estado final ([SWS_SecOC_00272]). El Freshness Manager recibe el resultado mediante SecOC_VerificationStatusCallout ([SWS_SecOC_00119], [SWS_SecOC_00243]).

SecOC_VerifyStatusOverride anula la verificación de forma selectiva ([SWS_SecOC_00122]). En R20-11, SecOC_OverrideStatusType incluye, entre otros, …DROP_UNTIL_NOTICE, …DROP_UNTIL_LIMIT, …CANCEL y …PASS_UNTIL_NOTICE ([SWS_SecOC_00991]). R23-11 añade …SKIP_UNTIL_LIMIT y …PASS_UNTIL_LIMIT (SWS SecOC p. 102). En el lado de transmisión, SecOC_SendDefaultAuthenticationInformation activa o desactiva el patrón predeterminado por cada Freshness Value ID ([SWS_SecOC_91013]).

Configuración y referencia de instancia

La configuración se estructura en tres contenedores:

  • SecOCGeneral para parámetros generales, como SecOCDefaultAuthenticationInformationPattern (SWS SecOC p. 124),
  • un SecOCTxPduProcessing por cada PDU de transmisión (SWS SecOC p. 155),
  • un SecOCRxPduProcessing por cada PDU de recepción (SWS SecOC p. 140).

Los parámetros centrales son SecOCDataId, SecOCFreshnessValueId, las longitudes de frescura y de autenticador, así como la referencia a CsmJob (SWS SecOC p. 106). Si un trabajo de CSM opera de forma asíncrona, SecOC requiere callbacks específicos del fabricante para ello (SWS SecOC p. 78).

Algunos puertos solo existen con la configuración correspondiente:

  • SendDefaultAuthenticationInformation solo si se ha establecido un patrón predeterminado ([SWS_SecOC_91020]),
  • FreshnessManagement solo en caso de consulta a través de RTE ([SWS_SecOC_91001]).

Los eventos de seguridad solo se notifican si SecOCEnableSecurityEventReporting está configurado ([SWS_SecOC_00273]).

Comportamiento en caso de error

En el lado de transmisión se aplica lo siguiente:

  • En caso de errores recuperables de CSM como E_BUSY o QUEUE_FULL, SecOC conserva la Authentic I-PDU y vuelve a intentarlo en la siguiente ejecución ([SWS_SecOC_00151]).
  • Si se alcanza el límite de intentos, notifica SECOC_E_CRYPTO_FAILURE a DET ([SWS_SecOC_00155]).
  • Al alcanzarse el límite, un E_NOT_OK de frescura o un error no recuperable, SecOC utiliza el patrón predeterminado, siempre que esté habilitado ([SWS_SecOC_00229]).
  • Si no hay ningún patrón configurado, SecOC cancela la orden (SWS SecOC p. 124).
  • Con un patrón configurado pero no habilitado, es probable que SecOC cancele de igual manera. Pregunta Q-a3c1cc4b9b925ed4 (abierta)
txfehler a SecOC_MainFunctionTx: Authentifizierung starten b Freshness abfragen, Csm_MacGenerate a->b c Ergebnis? b->c d Mantener Authentic I-PDU, siguiente llamada a Main Function c->d behebbar (E_BUSY, QUEUE_FULL) g Default-Senden per SecOC_SendDefaultAuthenticationInformation freigegeben? c->g Freshness E_NOT_OK o no recuperable (E_NOT_OK, KEY_FAILURE) j Enviar Secured I-PDU mediante PduR c->j E_OK e SecOCAuthenticationBuildAttempts erreicht? d->e e->b No e->g sí (adicionalmente Det: SECOC_E_CRYPTO_FAILURE) h Freshness Value y Authenticator desde SecOCDefaultAuthenticationInformationPattern g->h Sí i Authentic I-PDU entfernen, Sendeauftrag abbrechen g->i ningún patrón configurado; interpretación: también si el patrón no está habilitado h->j

Diagrama de actividades: Los errores recuperables provocan un reintento; el límite o un error crítico provocan el uso del patrón predeterminado o la cancelación. Fuentes: [SWS_SecOC_00151], [SWS_SecOC_00155], [SWS_SecOC_00229], SWS SecOC p. 124

SecOC gestiona las cancelaciones y los errores de las capas adyacentes de la siguiente manera:

  • SecOC transfiere SecOC_[If|Tp]CancelTransmit inmediatamente hacia abajo y libera todos los búferes (SWS SecOC p. 48, [SWS_SecOC_91009]).
  • Si la capa inferior notifica E_NOT_OK, SecOC simplemente omite la confirmación hacia arriba.
  • Si la recuperación de datos devuelve BUFREQ_E_BUSY en la transmisión TP, SecOC la repite en la siguiente ejecución ([SWS_SecOC_00260]).
  • BUFREQ_E_NOT_OK provoca una cancelación inmediata tanto en la transmisión como en la recepción ([SWS_SecOC_00266], [SWS_SecOC_00267]).

En el lado de recepción, SecOC mantiene por cada PDU un contador de construcción y un contador de verificación; ambos comienzan en 0 ([SWS_SecOC_00234], [SWS_SecOC_00235]):

  • E_BUSY o un error recuperable de CSM incrementa el contador de construcción; SecOC reintenta en la siguiente ejecución ([SWS_SecOC_00236], [SWS_SecOC_00237], [SWS_SecOC_00238]).
  • Si el contador de construcción alcanza su límite, sigue SECOC_AUTHENTICATIONBUILDFAILURE ([SWS_SecOC_00240]).
  • Un MAC incorrecto incrementa el contador de verificación y restablece el contador de construcción ([SWS_SecOC_00239]).
  • Al alcanzarse el límite de verificación o ante un error crítico, rige SECOC_VERIFICATIONFAILURE; en caso de éxito, SECOC_VERIFICATIONSUCCESS ([SWS_SecOC_00241], [SWS_SecOC_00242]).
rxverifikation a Secured I-PDU recibida completamente contador de compilación = 0, contador de verificación = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Contador de compilación + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e ¿Contador de compilación >= SecOCAuthenticationBuildAttempts? d->e f Repetición en la siguiente SecOC_MainFunctionRx e->f No g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g Sí f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Contador de verificación + 1, contador de compilación = 0 j->k MAC no válido m Verwerfen: SECOC_VERIFICATIONFAILURE j->m no recuperable (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n exitoso l ¿Contador de verificación >= SecOCAuthenticationVerifyAttempts? k->l l->b no: siguiente Freshness Value válido l->m Sí

Diagrama de actividades: Los contadores de construcción y verificación controlan el reintento y el descarte en la recepción. Fuentes: SWS SecOC p. 42, PRS SecOC p. 19, [SWS_SecOC_00239], [SWS_SecOC_00241]

Para E_NOT_OK de frescura, R20-11 contiene dos requisitos en paralelo. Uno descarta la PDU de inmediato con SECOC_FRESHNESSFAILURE ([SWS_SecOC_00256]). El otro cuenta un intento fallido y, al alcanzar el límite, notifica SECOC_E_FRESHNESS_FAILURE a DET ([SWS_SecOC_00248]). Además, se envían eventos de seguridad al IdsM, como SECOC_SEV_MAC_VERIFICATION_FAILED con el DataId como contexto ([SWS_SecOC_00274], [SWS_SecOC_00275]).

Más evidencia detallada

Guía generada por IA sobre la base de los extractos de especificación contenidos en el payload. Los requisitos son normativos para R20-11; las referencias documentales proceden en parte de otras versiones. No sustituye a la especificación.

Secure Onboard Communication (SecOC)

Provides cryptographic authentication and freshness protection for critical communication PDUs.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4620b5d490e2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona SecOC_Init sirve para la inicialización del módulo SecOC y, tras una finalización con éxito, lo transfiere al estado SecOC_INIT [SWS_SecOC_00106]. La llamada se realiza a través de la interfaz de SecOC.h con el Service-ID 0x01 [SWS_SecOC_00106].

Parámetros y valores de retorno

  • Parámetros de transferencia: A través del parámetro de entrada config se transfiere un puntero a una estructura de configuración seleccionada del tipo SecOC_ConfigType [SWS_SecOC_00106].
  • Valor de retorno: La función no tiene valor de retorno (void) [SWS_SecOC_00106].

Concurrencia y particionamiento

La ejecución de SecOC_Init está especificada como no reentrante (Non Reentrant) [SWS_SecOC_00106].

Se aplican disposiciones especiales para sistemas con varias particiones: si el módulo SecOC está asignado a varias particiones (distribuyendo funciones principales como SecOC_MainFunction entre particiones), puede existir una función de inicialización por partición [SWS_SecOC_00106]. La provisión de una función central SecOC_Init o de funciones separadas por partición es específica de la implementación [SWS_SecOC_00106]. Si se ofrecen funciones específicas de la partición, la implementación debe evitar colisiones de nombres, por ejemplo añadiendo un sufijo con el nombre corto de la EcucPartition correspondiente [SWS_SecOC_00106].

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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).

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c3c9650a2dbc Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona SecOC_DeInit finaliza el funcionamiento de la comunicación segura a bordo en el módulo SecOC y lo transfiere al estado SecOC_UNINIT [SWS_SecOC_00161]. La función está declarada en el archivo de cabecera SecOC.h y cuenta con el ID de servicio 0x05 así como con la firma void SecOC_DeInit(void) [SWS_SecOC_00161]. No procesa parámetros de entrada ni de salida y no devuelve ningún valor de retorno [SWS_SecOC_00161].

Vaciado de búferes y transición de estado

Con la llamada a SecOC_DeInit, se descartan y eliminan de los búferes todas las I-PDU almacenadas temporalmente en el módulo [SWS_SecOC_00161]. Si estos datos se siguen necesitando tras un nuevo inicio de la comunicación protegida, deberán obtenerse de nuevo tras una nueva llamada a SecOC_Init [SWS_SecOC_00161].

Concurrencia y restricciones

Para la ejecución de la desinicialización se aplican especificaciones fijas y condiciones de contorno [SWS_SecOC_00161]:

  • No reentrante: la interfaz está especificada como no reentrante (Non Reentrant) y, por lo tanto, no debe ejecutarse de forma concurrente [SWS_SecOC_00161].
  • Condiciones de orden de ejecución: el módulo permanece en estado no inicializado tras la llamada, de modo que los servicios de comunicación posteriores requieren obligatoriamente una nueva llamada a SecOC_Init [SWS_SecOC_00161].

Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF

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

Requests transmission of a PDU.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4ad6d7766599 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función de servicio síncrona SecOC_IfTransmit sirve para solicitar la transmisión de una PDU en el módulo SecOC [SWS_SecOC_00112]. Posee el Service ID 0x49 y se declara a través del archivo de cabecera SecOC.h [SWS_SecOC_00112].

La función espera dos parámetros de entrada [SWS_SecOC_00112]:

  • TxPduId: el identificador de la PDU que se va a transmitir (tipo PduIdType).
  • PduInfoPtr: un puntero a una estructura del tipo PduInfoType, que proporciona la longitud de los datos así como punteros a los datos de la PDU y a los metadatos.

No existen parámetros de entrada/salida ni parámetros exclusivos de salida [SWS_SecOC_00112].

Valores de retorno y tratamiento de errores

Como valor de retorno síncrono se devuelve un estado del tipo Std_ReturnType [SWS_SecOC_00112]:

En caso de error, el fallo de la solicitud se señaliza inmediatamente mediante E_NOT_OK; los códigos de error específicos para DET o DEM no se indican por separado en la especificación de la función [SWS_SecOC_00112].

Concurrencia y restricciones

En cuanto a la concurrencia, la función es reentrante para diferentes PDU-IDs, pero no es reentrante para el mismo PDU-ID [SWS_SecOC_00112].

Esta nota de uso fue generada por una IA sobre la base de la especificación de AUTOSAR.

función SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF

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

Requests transmission of a PDU.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4b4f6d06f1cb Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona SecOC_TpTransmit con el Service ID 0x53 sirve para solicitar la transmisión de una PDU en el módulo SecOC y se declara a través del archivo de cabecera SecOC.h [SWS_SecOC_91008]. Acepta la solicitud de envío e inicia el procesamiento posterior dentro del módulo.

Uso e interacción

Como parámetros de entrada, la función espera el identificador de PDU TxPduId así como el puntero PduInfoPtr a una constante del tipo PduInfoType, que comprende datos sobre la longitud de la PDU así como punteros a los datos útiles y a los metadatos [SWS_SecOC_91008]. La interacción funcional se determina mediante la configuración: si SecOCPduType está configurado en SECOC_TPPDU, la llamada de SecOC_TpTransmit desencadena la operación de envío concreta para una Authentic I-PDU [SWS_SecOC_00253].

Valores de retorno y concurrencia

El resultado de la llamada se devuelve a través de Std_ReturnType: el valor E_OK confirma que la solicitud de envío se aceptó con éxito, mientras que E_NOT_OK significa que la solicitud fue rechazada [SWS_SecOC_91008]. Respecto al comportamiento de concurrencia, la función está implementada como reentrante para diferentes identificadores de PDU, pero bajo ninguna circunstancia debe llamarse de forma reentrante para el mismo TxPduId [SWS_SecOC_91008].

Interpretación: en la práctica, el rechazo de una solicitud con E_NOT_OK probablemente se deba principalmente a valores de puntero no válidos en PduInfoPtr o a una transmisión ya bloqueada o en curso de la misma PDU. Pregunta Q-4c6165f6330c4bc2 (abierta)

Esta nota de uso se generó de forma automatizada a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 93fdfc8c106e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función de interfaz síncrona SecOC_IfCancelTransmit solicita la cancelación de una transmisión de PDU en curso en un módulo de comunicación subyacente [SWS_SecOC_00113]. Está declarada a través del archivo de cabecera SecOC.h y posee el Service ID 0x4a [SWS_SecOC_00113]. Mediante el parámetro de entrada TxPduId del tipo PduIdType se pasa aquella PDU cuyo proceso de envío debe cancelarse [SWS_SecOC_00113]. No existen parámetros adicionales de entrada o salida [SWS_SecOC_00113].

Valores de retorno y ejecución

El resultado de la solicitud de cancelación se transmite de forma síncrona al emisor de la llamada a través del valor de retorno del tipo Std_ReturnType [SWS_SecOC_00113]:

  • E_OK: el módulo de destino subyacente ejecutó con éxito la cancelación de la transmisión de la PDU [SWS_SecOC_00113].
  • E_NOT_OK: la solicitud de cancelación fue rechazada por el módulo de destino [SWS_SecOC_00113].

Dado que para esta función no se especifican códigos de error concretos ni notificaciones de error a sistemas de registro de errores de desarrollo o diagnóstico (DET/DEM), únicamente se utiliza el valor de retorno para la detección de errores [SWS_SecOC_00113].

Concurrencia y restricciones

Respecto a la llamada paralela, SecOC_IfCancelTransmit es reentrante para diferentes identificadores de PDU, pero explícitamente no reentrante para el mismo TxPduId [SWS_SecOC_00113]. Por lo tanto, los módulos emisores de la llamada deben garantizar, mediante una sincronización adecuada, que varias instancias no inicien simultáneamente una cancelación de envío para la misma PDU.

Esta nota de uso se generó automáticamente sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 507f9341fb59 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona SecOC_TpCancelTransmit sirve para solicitar la cancelación de una transmisión de PDU en curso en un módulo de comunicación subyacente [SWS_SecOC_91009]. Está declarada a través del archivo de cabecera SecOC.h y posee el Service ID 0x54 [SWS_SecOC_91009].

Como parámetro de entrada se transfiere el identificador TxPduId de tipo PduIdType, que identifica unívocamente la PDU de transmisión que se va a cancelar [SWS_SecOC_91009]. El resultado de la solicitud de cancelación se notifica de forma síncrona mediante el valor de retorno de tipo Std_ReturnType [SWS_SecOC_91009]:

  • E_OK: La cancelación de la transmisión fue ejecutada con éxito por el módulo de destino [SWS_SecOC_91009].
  • E_NOT_OK: La cancelación fue rechazada por el módulo de destino [SWS_SecOC_91009].

En cuanto a la concurrencia, la función es reentrante para diferentes IDs de PDU, pero explícitamente no reentrante para el mismo ID de PDU [SWS_SecOC_91009]. Por lo tanto, los invocadores deben asegurarse de evitar llamadas paralelas con TxPduId idéntico. Dado que el payload no prevé códigos de error específicos para el Default Error Tracer (DET) o Diagnostic Event Manager (DEM), es de suponer que el tratamiento inmediato de errores en el contexto del invocador se realice principalmente evaluando el valor de retorno E_NOT_OK [SWS_SecOC_91009]. Pregunta Q-c1f907444c4ca270 (abierta)

Esta nota de uso se ha generado automáticamente y se basa en la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7bc4b1ba75bb Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona SecOC_TpCancelReceive sirve para solicitar la cancelación de un proceso de recepción en curso de una PDU en un módulo de protocolo de transporte subyacente [SWS_SecOC_91010]. A través del único parámetro de entrada RxPduId se transfiere al módulo la identificación unívoca de la PDU que se desea cancelar [SWS_SecOC_91010].

Valores de retorno y ejecución

La notificación sobre el éxito de la cancelación se realiza directamente a través del valor de retorno de tipo Std_ReturnType [SWS_SecOC_91010]:

  • E_OK: La cancelación de la recepción fue ejecutada con éxito por el módulo de destino [SWS_SecOC_91010].
  • E_NOT_OK: La cancelación fue rechazada por el módulo de destino [SWS_SecOC_91010].

En los datos de especificación de la función no se prevén códigos de error específicos, errores de desarrollo (DET) ni errores de producción (DEM). Interpretación: Por módulo de destino («destination module») mencionado en la especificación, es de suponer que se hace referencia al módulo de protocolo de transporte subyacente al que se dirige la solicitud de cancelación. Pregunta Q-bce6ed77e65a6b9b (abierta)

Concurrencia e integración

En cuanto a la concurrencia, la función está declarada como no reentrante (Non Reentrant) [SWS_SecOC_91010]. Por lo tanto, no debe realizarse ninguna llamada simultánea ni de interrupción; las unidades de software invocadoras deben coordinar los accesos de forma correspondiente. La función posee el Service ID 0x4c y se declara a través del archivo de cabecera SecOC.h [SWS_SecOC_91010].

Esta nota de uso fue generada por una IA y se basa exclusivamente en las especificaciones del release AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función SecOC_VerifyStatusOverride [SWS_SecOC_00122] 📄 PDF

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

Service SecOC_VerifyStatusOverride.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 87867716fd61 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona SecOC_VerifyStatusOverride permite a la aplicación anular de forma específica el comportamiento de verificación y reenvío de SecOC para aceptar o descartar I-PDUs con independencia del resultado real de la verificación, así como controlar el tratamiento de errores [SWS_SecOC_00122].

Parámetros y contexto de llamada

El direccionamiento se rige por la configuración del módulo: si SecOCOverrideStatusWithDataId está ajustado a FALSE, Value ID identifica el Freshness Value de todas las Secured I-PDUs asignadas; si el parámetro está en TRUE, Value ID designa directamente el Data ID de una Secured I-PDU [SWS_SecOC_00122]. Mediante overrideStatus se define el comportamiento deseado y su validez temporal. El contador numberOfMessagesToOverride determina el número de verificaciones que se van a anular secuencialmente, pero solo se evalúa en los modos SECOC_OVERRIDE_DROP_UNTIL_LIMIT, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT y SECOC_OVERRIDE_PASS_UNTIL_LIMIT [SWS_SecOC_00122].

Para los modos SECOC_OVERRIDE_PASS_UNTIL_NOTICE, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT, SECOC_OVERRIDE_PASS_UNTIL_LIMIT y SECOC_OVERRIDE_SKIP_UNTIL_NOTICE, SecOCEnableForcedPassOverride debe estar configurado obligatoriamente en TRUE [SWS_SecOC_00122].

Concurrencia y valores de retorno

La función es reentrante para diferentes Freshness Value IDs, pero no reentrante para el mismo Freshness Value ID [SWS_SecOC_00122]. Una llamada exitosa devuelve E_OK, mientras que una llamada fallida se confirma con E_NOT_OK [SWS_SecOC_00122].

Interacción durante la verificación

Un override configurado interviene en la lógica de procesamiento de la ruta de recepción:

  • Si se utilizan Authentic y Cryptographic I-PDUs separadas (SecOCRxSecuredPduCollection), overrideStatus controla el comportamiento en cuanto ambas PDUs se hayan recibido con el Message Linker adecuado [SWS_SecOC_00203], [SWS_SecOC_00206], [SWS_SecOC_00211].
  • Incluso en caso de exceder SecOCAuthenticationBuildAttempts o SecOCAuthenticationVerifyAttempts, así como ante errores no recuperables (como KEY_FAILURE), el resultado de la verificación y el reenvío de la PDU se rigen prioritariamente por overrideStatus [SWS_SecOC_00240], [SWS_SecOC_00241].

Este texto ha sido generado por una IA y se basa en las prescripciones de la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 78b64ca2ff88 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona SecOC_SendDefaultAuthenticationInformation ([SWS_SecOC_91013]) permite habilitar o bloquear específicamente el envío de I-PDU no autenticadas a capas inferiores. El servicio se declara mediante SecOC.h y controla mediante el flag send Default Authentication Information el comportamiento para un Freshness Value ID específico. En caso de solicitud exitosa, la función devuelve E_OK; de lo contrario, devuelve E_NOT_OK ([SWS_SecOC_91013]).

Interacción y comportamiento ante errores

La función es opcional y solo está disponible si está configurado el parámetro SecOCDefaultAuthenticationInformationPattern ([SWS_SecOC_91013]). El comportamiento se activa si falla la generación de la información de autenticación, por ejemplo, si se alcanzó el contador SecOCAuthenticationBuildAttempts, la función de frescura devuelve E_NOT_OK o el cálculo del autenticador devuelve un error no recuperable como KEY_FAILURE o E_NOT_OK ([SWS_SecOC_91013], [SWS_SecOC_00229]):

  • Si el servicio se invocó con TRUE, el módulo utiliza el patrón SecOCDefaultAuthenticationInformationPattern para todos los bytes del valor de frescura y del autenticador para construir la información de autenticación, y no cancela la solicitud de transmisión ([SWS_SecOC_91013], [SWS_SecOC_00229]).
  • Si el servicio no está disponible o se invocó con FALSE para el ID correspondiente, el módulo elimina la I-PDU auténtica de su búfer interno y cancela la transmisión ([SWS_SecOC_91013], [SWS_SecOC_00229]).

concurrencia

La función no es reentrante para el mismo Freshness Value ID, pero se puede invocar de forma reentrante para diferentes ID ([SWS_SecOC_91013]).

Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f7c10da93bc2 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función de interfaz síncrona SecOC_RxIndication (Service ID 0x42) es invocada por un módulo de interfaz de comunicación subyacente para notificar la recepción de una PDU al módulo SecOC [SWS_SecOC_00124]. En la llamada, RxPduId identifica la PDU recibida, mientras que a través de PduInfoPtr se transfiere un puntero a la información de la PDU. Esta estructura contiene la longitud de los datos útiles SduLength, el puntero al búfer SduDataPtr y los metadatos asociados de la PDU [SWS_SecOC_00124]. La función no posee valor de retorno y está declarada en el archivo de cabecera SecOC.h [SWS_SecOC_00124].

Tratamiento de errores y comprobación de longitud

Para la recepción de I-PDUs con configuración estática (I-PDUs protegidas, auténticas o criptográficas con el parámetro EcuC DynamicLength igual a FALSE) rige una verificación de errores específica: si la longitud recibida es menor que la longitud configurada, el módulo SecOC descarta la I-PDU de forma silenciosa [SWS_SecOC_00268]. Interpretación: Dado que la función devuelve void, es probable que las I-PDUs erróneas o incompletas se descarten sin notificación a la capa invocadora. Pregunta Q-6e9a176383e1983b (abierta)

Concurrencia y restricciones

La ejecución de SecOC_RxIndication es reentrante para llamadas con diferentes IDs de PDU, pero explícitamente no reentrante para el mismo ID de PDU [SWS_SecOC_00124]. Por lo tanto, los módulos invocadores deben garantizar mediante su control de flujo que se eviten las llamadas paralelas con RxPduId idéntico.

Esta nota de uso se ha creado de forma automatizada y se basa en la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4e2c4fc6858d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función SecOC_TpRxIndication sirve como interfaz de callback del módulo SecOC y se invoca tras la recepción de una I-PDU a través de la API de protocolo de transporte (TP API) [SWS_SecOC_00125]. Mediante esta notificación, SecOC sabe si la transmisión de la I-PDU finalizó con éxito o si se produjo un error de transmisión [SWS_SecOC_00125].

La interfaz posee los siguientes parámetros y propiedades según [SWS_SecOC_00125]:

  • id (PduIdType): identificación de la I-PDU recibida para la cual se señaliza el evento de recepción.
  • result (Std_ReturnType): resultado de la recepción de la PDU, que indica si el transporte se realizó con éxito o falló.
  • Valor de retorno: ninguno (void); la función no devuelve ningún valor de estado a quien la invoca.

En cuanto a la concurrencia, SecOC_TpRxIndication está especificada como reentrante (Reentrant) y opera de forma síncrona (Synchronous) bajo el ID de servicio 0x45 [SWS_SecOC_00125]. La declaración se proporciona mediante el archivo de cabecera SecOC.h [SWS_SecOC_00125]. Interpretación: la llamada debería desencadenarse típicamente por una capa de transporte como PduR o un módulo TP en cuanto la transferencia de datos de la PDU haya finalizado por completo. Pregunta Q-6448356fa3609004 (abierta)

Para esta función no se definen en la especificación códigos de error específicos, comprobaciones DET ni entradas de error DEM [SWS_SecOC_00125]. El tratamiento de errores se limita a la transmisión del resultado de transporte a través del parámetro result, a partir del cual el módulo SecOC decide si procesa adicionalmente los datos recibidos o los descarta.

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 73c9975309da Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función SecOC_TxConfirmation es llamada por el módulo de interfaz de comunicación subyacente para confirmar de forma síncrona al módulo SecOC la transmisión exitosa o el fallo del envío de una PDU [SWS_SecOC_00126]. El servicio no posee valor de retorno (void), está declarado en el archivo de cabecera SecOC.h y figura bajo el Service ID 0x40 [SWS_SecOC_00126].

La función espera dos parámetros de entrada [SWS_SecOC_00126]:

  • TxPduId: identificador de la PDU transmitida (tipo PduIdType).
  • result: resultado de la transmisión (tipo Std_ReturnType) con los valores E_OK en caso de transmisión exitosa o E_NOT_OK en caso de transmisión fallida.

Tratamiento de errores y concurrencia

Los errores de transmisión de las capas inferiores se transmiten directamente a través del argumento result con el valor E_NOT_OK [SWS_SecOC_00126]. En cuanto a la concurrencia, la llamada es reentrante para diferentes PDU-IDs, pero está definida como no reentrante para el mismo PDU-ID [SWS_SecOC_00126]. Es probable que el contexto de ejecución concreto se sitúe a nivel de tarea o de interrupción del módulo subyacente, ya que la especificación no contempla restricciones al respecto. Pregunta Q-8bb15b92df860fc1 (abierta)

Interacción y reenvío

Si se utiliza la configuración SecOCTxSecuredPduCollection, SecOC no reenvía la confirmación a la capa superior hasta que se haya llamado a SecOC_TxConfirmation tanto para la Authentic I-PDU como para la Cryptographic I-PDU [SWS_SecOC_00270].

Para el estado de resultado enviado a la capa superior rige una condición estricta: el parámetro result de la llamada reenviada solo es E_OK si las confirmaciones de ambas sub-PDUs se pasaron cada una con E_OK; de lo contrario, el estado es E_NOT_OK [SWS_SecOC_00270].

Esta nota de uso se generó de forma automatizada sobre la base de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ed0d4b6dacab Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función SecOC_TpTxConfirmation sirve para confirmar una I-PDU transmitida por la red e informa de forma síncrona al módulo SecOC sobre el éxito o fracaso del proceso de envío [SWS_SecOC_00152].

Uso y parámetros

La llamada se realiza tras la transmisión física de una I-PDU en la red [SWS_SecOC_00152]. La interfaz está declarada en la cabecera SecOC.h y posee el Service ID 0x48 [SWS_SecOC_00152]. Recibe dos parámetros de entrada y no proporciona valor de retorno (void):

  • id (tipo PduIdType): identificación unívoca de la I-PDU transmitida [SWS_SecOC_00152].
  • result (tipo Std_ReturnType): indica si la transmisión en la red fue exitosa o falló [SWS_SecOC_00152].

Concurrencia y ejecución

Según la especificación, la función debe ejecutarse de forma síncrona y es completamente reentrante (Reentrant) [SWS_SecOC_00152]. Por lo tanto, puede llamarse en paralelo para I-PDUs diferentes o idénticas, siempre que el contexto de llamada lo requiera.

Tratamiento de errores e interacción

No se indican códigos de error específicos de DET o DEM en el payload. El tratamiento de errores relativo a la transmisión se realiza principalmente a través del parámetro de estado transmitido result, el cual comunica al módulo si el proceso de envío tuvo éxito [SWS_SecOC_00152]. Interpretación: es probable que la función sirva principalmente como interfaz de callback para instancias de protocolo de transporte subyacentes, con el fin de notificar el estado de envío tras completar transmisiones grandes o fragmentadas. Pregunta Q-a2957406d76ee65f (abierta)

Esta nota de uso fue creada por una IA y resume los requisitos de la especificación de AUTOSAR para el módulo SecOC.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: da47edaa7d8f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona SecOC_TriggerTransmit sirve para copiar una SDU solicitada para su transmisión [SWS_SecOC_00127]. A través del parámetro TxPduId se direcciona la SDU, mientras que PduInfoPtr proporciona, como parámetro de entrada y salida, el puntero al búfer de destino (SduDataPtr) así como las especificaciones de tamaño del búfer (SduLength) [SWS_SecOC_00127].

Uso y transferencia de datos

Dentro de la función, el módulo comprueba si los datos que deben proporcionarse caben en el tamaño de búfer notificado a través de PduInfoPtr->SduLength [SWS_SecOC_00127]:

  • Si los datos caben, la función los copia en el búfer PduInfoPtr->SduDataPtr, introduce el número real de bytes copiados en PduInfoPtr->SduLength y devuelve E_OK [SWS_SecOC_00127].
  • Si el espacio de memoria no es suficiente, la función devuelve E_NOT_OK sin modificar el contenido de PduInfoPtr [SWS_SecOC_00127].

Tratamiento de errores y concurrencia

Si se devuelve E_NOT_OK, no se ha copiado ningún dato de la SDU. En este caso, el invocador no debe evaluar ni utilizar PduInfoPtr, ya que este puede contener un puntero NULL o apuntar a datos no válidos [SWS_SecOC_00127]. La función es reentrante para diferentes IDs de PDU, pero no reentrante para el mismo TxPduId [SWS_SecOC_00127]. El servicio está disponible a través de la cabecera SecOC.h [SWS_SecOC_00127].

Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación AUTOSAR Classic Platform Release R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 35610f4482a7 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona SecOC_CopyRxData se invoca para transferir los datos recibidos de un segmento de I-PDU (N-PDU) a la capa superior [SWS_SecOC_00128]. Cada llamada proporciona la siguiente parte correspondiente de los datos de la I-PDU [SWS_SecOC_00128]. El servicio posee el Service ID 0x44 y está disponible a través del archivo de cabecera SecOC.h [SWS_SecOC_00128].

Parámetros y consulta de búfer

El parámetro id identifica unívocamente la I-PDU recibida [SWS_SecOC_00128]. Mediante el puntero info se suministran el búfer de origen SduDataPtr y el número de bytes a copiar SduLength [SWS_SecOC_00128]. Una transferencia de SduLength con el valor 0 sirve para consultar el búfer de recepción disponible actualmente en el módulo superior; en este caso, se permite transferir SduDataPtr como NULL_PTR [SWS_SecOC_00128]. En la ubicación referenciada por bufferSizePtr se escribe el tamaño de búfer restante tras la operación de copia [SWS_SecOC_00128].

Valores de retorno y concurrencia

La función devuelve el estado BufReq_ReturnType [SWS_SecOC_00128]. En caso de transferencia de datos exitosa, notifica BUFREQ_OK [SWS_SecOC_00128]. Si se produce un error, no se copia ningún dato y la función devuelve BUFREQ_E_NOT_OK [SWS_SecOC_00128]. SecOC_CopyRxData está especificada como reentrante [SWS_SecOC_00128].

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función SecOC_CopyTxData [SWS_SecOC_00129] 📄 PDF

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

Service SecOC_CopyTxData.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 42779c9fb9b6 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona y reentrante SecOC_CopyTxData se invoca para obtener datos de transmisión para un segmento de I-PDU (N-PDU) [SWS_SecOC_00129]. Mediante el parámetro info se transfieren el búfer de destino SduDataPtr así como la cantidad de bytes a solicitar SduLength [SWS_SecOC_00129]. Una llamada con SduLength igual a 0 permite consultar la cantidad de datos disponible o notificar cambios de estado mediante el parámetro retry; en este caso, SduDataPtr puede ser un NULL_PTR [SWS_SecOC_00129]. A través de availableDataPtr, el módulo devuelve la cantidad de datos restante en el búfer de transmisión [SWS_SecOC_00129].

Reintento y tratamiento de errores

El comportamiento del búfer y de reintento se controla mediante retry [SWS_SecOC_00129]:

  • Si retry es un NULL_PTR, los datos copiados pueden liberarse inmediatamente [SWS_SecOC_00129].
  • Con TP_CONFPENDING, los datos copiados previamente permanecen en el búfer para una recuperación de errores [SWS_SecOC_00129].
  • TP_DATACONF confirma todos los datos transmitidos antes de esta llamada para la liberación del búfer [SWS_SecOC_00129].
  • TP_DATARETRY provoca una nueva copia de datos ya transmitidos a partir del desplazamiento de bytes definido por TxTpDataCnt [SWS_SecOC_00129].

Como valores de retorno, la función proporciona BUFREQ_OK si el proceso de copia tiene éxito, BUFREQ_E_BUSY si temporalmente no hay suficientes datos de transmisión disponibles (lo que permite al invocador reintentarlo más tarde), o BUFREQ_E_NOT_OK en caso de fallo general [SWS_SecOC_00129].

concurrencia

La función está diseñada para ser reentrante, por lo que es de suponer que las llamadas paralelas para diferentes instancias de PDU estén permitidas [SWS_SecOC_00129]. Pregunta Q-6420f2ca317efcb4 (abierta)

Esta nota de uso fue generada automáticamente sobre la base de la especificación.

Guía del implementador pendiente (complejidad I1)

función SecOC_StartReception [SWS_SecOC_00130] 📄 PDF

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

Service SecOC_StartReception.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e711d8ef8bcc Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona y reentrante SecOC_StartReception se invoca al inicio de la recepción de una N-SDU para verificar la conexión y proporcionar el búfer de recepción necesario [SWS_SecOC_00130]. La N-SDU puede recibirse como trama única (Single Frame, SF) o fragmentada en varias N-PDUs (First Frame, FF, seguido de Consecutive Frames, CF) [SWS_SecOC_00130]. La declaración está disponible a través de la cabecera SecOC.h [SWS_SecOC_00130].

Parámetros y consulta de búfer

  • id: Identificación de la I-PDU recibida [SWS_SecOC_00130].
  • info: Puntero a una estructura PduInfoType con los datos útiles de la primera trama o trama única, así como metadatos; si no hay datos ni metadatos disponibles, se transfiere NULL_PTR [SWS_SecOC_00130].
  • TpSduLength: Longitud total de la N-SDU que se va a recibir. Si el parámetro se transfiere con el valor 0, el servicio devuelve el tamaño de búfer máximo disponible actualmente [SWS_SecOC_00130].
  • bufferSizePtr: Parámetro de salida para el búfer de recepción disponible, que el módulo de protocolo de transporte utiliza para calcular el Block Size (BS) [SWS_SecOC_00130].

Valores de retorno y tratamiento de errores

  • BUFREQ_OK: La conexión ha sido aceptada y la recepción continúa; bufferSizePtr indica el tamaño de búfer disponible (si no hay ningún búfer disponible del tamaño requerido, se notifica 0) [SWS_SecOC_00130].
  • BUFREQ_E_NOT_OK: La conexión ha sido rechazada y la recepción se cancela; bufferSizePtr permanece sin cambios [SWS_SecOC_00130].
  • BUFREQ_E_OVFL: No se puede proporcionar ningún búfer con la longitud solicitada; la recepción se interrumpe y bufferSizePtr permanece sin cambios [SWS_SecOC_00130].

Esta nota de uso se generó automáticamente a partir de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ef974f5cced3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función de interfaz síncrona SecOC_GetRxFreshness sirve para que el módulo SecOC consulte el valor de freshness actual para una I-PDU protegida recibida [SWS_SecOC_91007]. La llamada se realiza tan pronto como la PDU protegida se ha recibido por completo y para su configuración se han definido SecOCQueryFreshnessValue == CFUNC así como SecOCUseAuthDataFreshness == FALSE [SWS_SecOC_00247], [SWS_SecOC_00250].

La función es reentrante [SWS_SecOC_91007] y transfiere o espera los siguientes parámetros:

  • SecOCFreshnessValueID: Identificador del valor de freshness que se va a consultar [SWS_SecOC_91007].
  • SecOCTruncatedFreshnessValue y SecOCTruncatedFreshnessValueLength: Puntero al valor de freshness truncado contenido en la PDU recibida y su longitud en bits [SWS_SecOC_91007].
  • SecOCAuthVerifyAttempts: Número de intentos de verificación realizados hasta el momento desde la recepción de la PDU (comenzando en 0, incrementado en cada intento fallido) [SWS_SecOC_91007].
  • SecOCFreshnessValue y SecOCFreshnessValueLength: Búfer de salida para el valor de freshness determinado, así como parámetro de entrada/salida para su longitud en bits [SWS_SecOC_91007].

El resultado de la consulta controla el procesamiento posterior en SecOC:

  • E_OK: El valor de freshness se proporcionó con éxito y se utiliza para el cálculo del autenticador [SWS_SecOC_91007].
  • E_NOT_OK: El suministro ha fallado debido a problemas generales o a un ID de freshness erróneo [SWS_SecOC_91007].
  • E_BUSY: La información no está disponible temporalmente [SWS_SecOC_91007]. En este caso, SecOC incrementa el contador de compilación de autenticación (Authentication-Build-Counter) y no realiza ningún intento de verificación de autenticación [SWS_SecOC_00236].

Esta nota de uso ha sido generada automáticamente sobre la base de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 21909ecce4eb Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El módulo SecOC invoca la función síncrona y reentrante SecOC_GetRxFreshnessAuthData para determinar el valor de frescura actual para la autenticación en el caso de I-PDU protegidas completamente recibidas ([SWS_SecOC_91006], [SWS_SecOC_00246]). La llamada se produce específicamente cuando para la configuración respectiva de la PDU se han parametrizado SecOCQueryFreshnessValue = CFUNC y SecOCUseAuthDataFreshness = TRUE ([SWS_SecOC_00246], [SWS_SecOC_00249]).

Parámetros y valores transmitidos

  • Datos de entrada: se transfieren el identificador SecOCFreshnessValueID, el valor de frescura truncado SecOCTruncatedFreshnessValue contenido en la I-PDU junto con su longitud en bits SecOCTruncatedFreshnessValueLength, así como el contador SecOCAuthVerifyAttempts, que se incrementa en caso de intentos fallidos ([SWS_SecOC_91006]).
  • Datos de autenticación: mediante SecOCAuthDataFreshnessValue y SecOCAuthDataFreshnessValueLength se transfiere opcionalmente un fragmento configurado de la PDU recibida; la posición inicial y la longitud se determinan mediante SecOCAuthDataFreshnessStartPosition y SecOCAuthDataFreshnessLen ([SWS_SecOC_91006], [SWS_SecOC_00246]).
  • Datos de resultado: el valor de frescura completo se proporciona a través del búfer de salida SecOCFreshnessValue, cuya longitud en bits actúa como parámetro de entrada/salida SecOCFreshnessValueLength ([SWS_SecOC_91006]).

Valores de retorno y tratamiento de errores

La función señaliza el éxito de la consulta con E_OK ([SWS_SecOC_91006]). Si el valor de frescura no se puede proporcionar debido a problemas generales o a un ID de frescura no válido, devuelve E_NOT_OK; en caso de indisponibilidad temporal, devuelve E_BUSY ([SWS_SecOC_91006]). Interpretación: dado que la función se vincula como función de C a través de CFUNC, es probable que la implementación la realice un módulo externo de gestión de frescura. Pregunta Q-01aa77b7235b9001 (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: dd021d2527b1 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante SecOC_GetTxFreshness sirve para proporcionar el valor actual de freshness para los mensajes que se van a enviar y está declarada a través de la cabecera SecOC.h [SWS_SecOC_91004]. Conforme a [SWS_SecOC_00231], el módulo SecOC llama a esta función para una PDU cuando en la configuración están establecidos SecOCQueryFreshnessValue = CFUNC así como SecOCProvideTxTruncatedFreshnessValue = FALSE. Interpretación: dado que SecOC ejecuta la llamada con la configuración correspondiente, es probable que la función deba ser proporcionada como un callout por un componente externo. Pregunta Q-99a14f896ffddf5f (abierta)

La interfaz utiliza los siguientes parámetros [SWS_SecOC_91004]:

  • SecOCFreshnessValueID (In): identificador numérico del valor de freshness solicitado.
  • SecOCFreshnessValueLength (InOut): transmite o asume la longitud en bits del valor de freshness proporcionado.
  • SecOCFreshnessValue (Out): puntero al array de bytes para alojar el valor de freshness en formato big-endian, comenzando por los bits más significativos en el primer byte.

El valor de retorno del tipo Std_ReturnType señaliza el resultado de la provisión [SWS_SecOC_91004]:

  • E_OK: el valor de freshness se proporcionó con éxito.
  • E_BUSY: la información de freshness no se puede entregar temporalmente.
  • E_NOT_OK: la solicitud ha fallado, ya que no se puede determinar ningún valor para el ID o en general.

Esta nota de uso fue generada automáticamente y se basa exclusivamente en las especificaciones de la versión AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función SecOC_GetTxFreshnessTruncData [SWS_SecOC_91003] 📄 PDF

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

Service SecOC_GetTxFreshnessTruncData.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2ae3128a39ae Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante SecOC_GetTxFreshnessTruncData es invocada por el módulo SecOC para consultar en operaciones de transmisión (TX) tanto el valor de freshness completo como el valor de freshness truncado (Truncated Freshness) para la Secured I-PDU que se va a transmitir [SWS_SecOC_91003]. La llamada se realiza específicamente cuando para la configuración de la PDU están establecidos SecOCQueryFreshnessValue = CFUNC así como SecOCProvideTxTruncatedFreshnessValue = TRUE [SWS_SecOC_00230].

La interfaz transfiere los siguientes parámetros [SWS_SecOC_91003]:

  • SecOCFreshnessValueID (in): Identificador del valor de freshness solicitado.
  • SecOCFreshnessValue (out): Búfer de destino para el valor de freshness completo actual.
  • SecOCFreshnessValueLength (inout): Indica la longitud del valor de frescura proporcionado en bits.
  • SecOCTruncatedFreshnessValue (out): Búfer opcional para el valor de freshness truncado que se incrusta en la Secured I-PDU.
  • SecOCTruncatedFreshnessValueLength (inout): Transfiere la longitud configurada de la freshness truncada; en caso necesario, la función puede adaptar el valor o mantenerlo sin cambios.

Como valor de retorno, la función proporciona E_OK si el suministro tiene éxito, E_BUSY si la información no está disponible temporalmente, o E_NOT_OK si el suministro falla debido a problemas generales o específicamente para el ID transferido [SWS_SecOC_91003]. La declaración está disponible a través de la cabecera SecOC.h [SWS_SecOC_91003].

Esta nota de uso fue generada por un asistente de curación por IA basándose en los datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 802cf05f792c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La interfaz funcional síncrona SecOC_SPduTxConfirmation es utilizada por el módulo SecOC para indicar que se ha iniciado la transmisión de una I-PDU protegida (Secured I-PDU) [SWS_SecOC_91005]. La función está declarada en el archivo de cabecera SecOC.h y no posee valor de retorno (void) [SWS_SecOC_91005].

Como único parámetro de transferencia, se pasa SecOCFreshnessValueID como valor de entrada (in) del tipo uint16 [SWS_SecOC_91005]. Este parámetro transporta el identificador del valor de freshness respectivo para la I-PDU afectada [SWS_SecOC_91005]. No existen más parámetros de entrada, de salida o de paso (inout/out) en la interfaz [SWS_SecOC_91005].

Concurrencia y propiedades

La interfaz posee el Service ID 0x4d, funciona de forma síncrona y está diseñada para ser completamente reentrante [SWS_SecOC_91005]. La propiedad de reentrancia permite la llamada paralela en contextos de ejecución concurrentes [SWS_SecOC_91005]. En la especificación de la interfaz no están previstos mensajes de error a través de DET o DEM ni códigos de error especiales [SWS_SecOC_91005].

Interpretación: dado que SecOC llama a esta función para notificar el inicio de la transmisión de la PDU y en ello solo pasa el SecOCFreshnessValueID, es probable que la llamada sirva presumiblemente para la actualización o confirmación del contador de freshness en un componente externo [SWS_SecOC_91005]. Pregunta Q-f234a3c6e9b16362 (abierta)

Esta nota de uso se creó automáticamente y se basa exclusivamente en los datos de especificación de AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 03542d899cdb Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función SecOC_MainFunctionRx asume el procesamiento central de autenticación y verificación del módulo SecOC para mensajes entrantes en la ruta de recepción [SWS_SecOC_00171]. Conforme a su especificación de interfaz, la función tiene la firma void SecOC_MainFunctionRx (void), presenta el Service ID 0x06, no espera parámetros de transferencia y no devuelve ningún valor de retorno [SWS_SecOC_00171]. Se declara a través del archivo de cabecera SchM_SecOC.h [SWS_SecOC_00171]; de ello se deduce (interpretación) que su llamada se produce periódicamente mediante el BSW-Scheduler en el contexto de una tarea del sistema operativo. Pregunta Q-d24cb58f541f6674 (abierta)

Instanciación y configuración

En configuraciones de sistema con varias instancias de recepción, se implementa una instancia de función propia para cada contenedor SecOCMainFunctionRx configurado según el esquema SecOC_MainFunctionRx_<shortName> [SWS_SecOC_00171]. Aquí, <shortName> corresponde al nombre corto asignado al contenedor en el modelo de configuración de la ECU [SWS_SecOC_00171]. Es de suponer que esto permite un control temporal o una priorización diferenciados para distintas rutas de procesamiento Rx. Pregunta Q-ebb55c5d3a3da97d (abierta)

Tratamiento de errores y concurrencia

Para SecOC_MainFunctionRx no se han documentado en las especificaciones ni valores de retorno específicos ni códigos de error explícitos para DET o DEM [SWS_SecOC_00171]. Por tanto, es de suponer que los estados de error o las verificaciones fallidas se procesan de forma puramente interna y se notifican de manera asíncrona a los módulos superiores a través de la ruta de recepción. Pregunta Q-5d1e45f7a779bea9 (abierta)

Este texto fue generado por una IA y sirve como guía orientativa. Lo determinante es siempre la especificación oficial de AUTOSAR.

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0a9d6b2d7e1e Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función principal SecOC_MainFunctionTx asume, conforme a [SWS_SecOC_00176], el procesamiento de autenticación y verificación del módulo SecOC en la ruta de transmisión (ruta Tx). Posee la firma void SecOC_MainFunctionTx(void), por lo que no recibe parámetros de entrada ni devuelve ningún valor de retorno; tiene asignado el ID de servicio 0x03 [SWS_SecOC_00176]. La declaración se proporciona mediante el encabezado SchM_SecOC.h [SWS_SecOC_00176]. Interpretación: dado que la integración se realiza mediante el gestor de planificación, la llamada suele tener lugar típicamente de forma cíclica a través del planificador de BSW en el contexto de una tarea del sistema operativo. Pregunta Q-34b30208648c8e30 (abierta)

Instanciación y convención de nomenclatura

La especificación prevé una implementación específica de la instancia para configuraciones múltiples: para cada contenedor de instancia SecOCMainFunctionTx configurado en la configuración de la ECU debe implementarse exactamente una función según el esquema de nomenclatura SecOC_MainFunctionTx_<shortName>, donde <shortName> corresponde al nombre corto del contenedor de configuración correspondiente [SWS_SecOC_00176].

Restricciones y tratamiento de errores

En el elemento de especificación no se indican por separado códigos de error específicos, notificaciones DET o DEM ni detalles sobre la reentrancia [SWS_SecOC_00176]. Interpretación: debido a la vinculación con contenedores de configuración específicos de la instancia, es probable que cada instancia generada sea responsable de un subconjunto aislado de procesamientos de Tx-PDU y, según lo previsto, no debería ser interrumpida de forma concurrente por el mismo contexto de tarea. Pregunta (abierta)

Esta nota de uso fue generada automáticamente por un asistente de curación con IA basándose en la especificación AUTOSAR R20-11.

función 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a7aa9530a7de Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función callout síncrona SecOC_VerificationStatusCallout sirve para la retransmisión del estado de intentos de verificación desde el módulo SecOC a módulos de software externos [SWS_SecOC_00119]. Se declara a través de la cabecera SecOC_Externals.h y posee el Service-ID 0x50 [SWS_SecOC_00119]. A través del parámetro de entrada verificationStatus (tipo SecOC_VerificationStatusType) se transfiere una estructura de datos que agrupa el resultado de la verificación para un Freshness Value ID y Data ID específicos [SWS_SecOC_00119]. La función no posee parámetros de salida ni valor de retorno (tipo de retorno void) [SWS_SecOC_00119].

El comportamiento de la retransmisión de estado es configurable y admite tres modalidades [SWS_SecOC_00119]:

  • Only: Se propagan exclusivamente intentos de verificación fallidos («False»).
  • Both: Se transmiten a los módulos estados de verificación tanto exitosos («True») como erróneos («False»).
  • None: No se transmite ningún estado de verificación.

En cuanto a la concurrencia, SecOC_VerificationStatusCallout es reentrante para diferentes Freshness Value IDs, pero no es reentrante para el mismo Freshness Value ID [SWS_SecOC_00119]. Por lo tanto, los módulos implementadores deben asegurarse de que no se produzcan llamadas concurrentes con un Freshness Value ID idéntico. Es probable que el contexto de llamada sea síncrono dentro del marco de la rutina interna de verificación del módulo SecOC. Pregunta Q-cd6928ca22d48f54 (abierta) No se han definido códigos de error específicos ni mensajes a DET y DEM para este callout [SWS_SecOC_00119].

Esta indicación de uso ha sido generada por una IA y se basa exclusivamente en los datos de especificación del release R20-11 de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 40383ff847fc Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona SecOC_VerifyStatus informa a la aplicación sobre el resultado del intento de verificación de una PDU recibida por parte del módulo SecOC [SWS_SecOC_91014]. La interfaz posee el ID de servicio 0x53, no devuelve ningún valor (void) y se proporciona mediante el encabezado SecOC_Externals.h [SWS_SecOC_91014].

parámetro

El único parámetro de transferencia es el parámetro de entrada verificationStatus del tipo SecOC_VerificationStatusType [SWS_SecOC_91014]. Esta estructura proporciona detalles sobre el estado de verificación, así como la información sobre para qué Data-ID y Freshness-Value-ID se llevó a cabo la verificación [SWS_SecOC_91014]. No existen parámetros adicionales de entrada o salida [SWS_SecOC_91014].

Tratamiento de errores y concurrencia

Para este servicio no se definen códigos de error específicos ni notificaciones a DET o DEM [SWS_SecOC_91014]. Interpretación: es probable que las verificaciones fallidas se comuniquen a la aplicación principalmente a través de los valores de estado contenidos en la estructura transferida verificationStatus. Pregunta Q-177be3d746f99b24 (abierta) En relación con la concurrencia, SecOC_VerifyStatus no es reentrante para el mismo Freshness-Value-ID, pero sí es reentrante para diferentes Freshness-Value-IDs [SWS_SecOC_91014].

Este texto fue generado por una IA y sirve como guía orientativa. El texto vinculante es la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo SecOC_StateType [SWS_SecOC_00162] 📄 PDF

States of the Sec OC module

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9d4be727e8c2 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo enumerado SecOC_StateType sirve para la representación formal de los estados operativos internos del módulo SecOC y se proporciona mediante el archivo de cabecera SecOC.h [SWS_SecOC_00162]. Permite una gestión coherente del estado a lo largo de todo el ciclo de vida del componente de software.

Según la especificación, el rango de valores de este tipo enumerado comprende exactamente dos estados discretos [SWS_SecOC_00162]:

  • SECOC_UNINIT: señaliza de forma unívoca que el módulo SecOC no está inicializado [SWS_SecOC_00162].
  • SECOC_INIT: identifica de forma vinculante que el módulo SecOC se ha inicializado [SWS_SecOC_00162].

En relación con la interacción y las condiciones de secuencia, SECOC_UNINIT representa presumiblemente el estado por defecto inmediatamente después del arranque del sistema. Pregunta Q-4d02fe3a0979113f (abierta) En esta fase, es probable que se rechacen las llamadas funcionales destinadas a la protección criptográfica o a la verificación de mensajes, ya que las estructuras de datos necesarias aún no están disponibles. Solo tras una inicialización correcta del módulo, el estado cambia presumiblemente a SECOC_INIT. Los módulos invocadores o las rutinas de supervisión interna probablemente recurran a SecOC_StateType para comprobar de forma síncrona el estado operativo actual y evitar de forma fiable accesos no permitidos antes de la inicialización.

Este texto ha sido elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF

Enumeration to indicate veri fication results.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9b4c5c47c73b Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración SecOC_VerificationResultType sirve para señalizar los resultados en la verificación de I-PDUs protegidas en el módulo SecOC y se proporciona a través de la cabecera Rte_SecOC_Type.h [SWS_SecOC_00149].

La enumeración especifica los siguientes valores de resultado para diferenciar el estado de verificación [SWS_SecOC_00149]:

  • SECOC_VERIFICATIONSUCCESS (0x00): La verificación de los datos fue exitosa [SWS_SecOC_00149].
  • SECOC_VERIFICATIONFAILURE (0x01): La verificación no fue exitosa [SWS_SecOC_00149].
  • SECOC_FRESHNESSFAILURE (0x02): La verificación falló debido a un valor de freshness erróneo [SWS_SecOC_00149].
  • SECOC_AUTHENTICATIONBUILDFAILURE (0x03): La verificación no fue exitosa debido a códigos de autenticación estructurados incorrectamente [SWS_SecOC_00149].
  • SECOC_NO_VERIFICATION (0x04): Se omitió la verificación y los datos se reenviaron sin cambios a la capa superior; este estado solo es posible con la anulación de estado SecOC_VerifyStatusOverride activa [SWS_SecOC_00149].
  • SECOC_VERIFICATIONFAILURE_OVERWRITTEN (0x05): La verificación falló, pero la I-PDU se transfirió de todos modos a la capa superior como consecuencia del estado de anulación; este estado también se presenta exclusivamente al utilizar SecOC_VerifyStatusOverride [SWS_SecOC_00149].

A partir de estos valores, las capas superiores pueden evaluar con precisión si una verificación tuvo éxito de forma regular, si falló por códigos criptográficos o valores de freshness, o si los estados de override administrativo controlaron el reenvío de datos [SWS_SecOC_00149].

Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.

tipo SecOC_VerificationStatusType [SWS_SecOC_00160] 📄 PDF

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 98b8726de1ab Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso de la estructura de estado de verificación

El tipo de estructura SecOC_VerificationStatusType agrupa, conforme a [SWS_SecOC_00160], el resultado de un intento de verificación para una I-PDU protegida junto con el Data-ID correspondiente y el valor de frescura utilizado. La definición se proporciona a través del archivo de cabecera Rte_SecOC_Type.h e incluye los siguientes elementos:

  • freshnessValueID (uint16): identificador del valor de frescura que condujo al estado de verificación ([SWS_SecOC_00160]).
  • verificationStatus (SecOC_VerificationResultType): resultado detallado del intento de verificación ([SWS_SecOC_00160]).
  • secOCDataId (uint16): Data-ID de la PDU afectada ([SWS_SecOC_00160]).

El elemento verificationStatus diferencia estados específicos de éxito y de error ([SWS_SecOC_00160]):

  • SECOC_VERIFICATIONSUCCESS: la comprobación criptográfica fue exitosa.
  • SECOC_VERIFICATIONFAILURE: la verificación falló.
  • SECOC_FRESHNESSFAILURE: la verificación falló debido a un valor de frescura no válido.
  • SECOC_AUTHENTICATIONBUILDFAILURE: verificación fallida como consecuencia de códigos de autenticación generados incorrectamente.
  • SECOC_NO_VERIFICATION: no se ejecutó ningún intento de verificación para esta I-PDU; se transmitió sin modificaciones a la capa superior.
  • SECOC_VERIFICATIONFAILURE_OVERWRITTEN: la verificación falló, pero la I-PDU se reenvió a la capa superior debido a un estado de invalidación (override) activo.

Interpretación: dado que el tipo agrupa los detalles de verificación, probablemente se utilice sobre todo en interfaces de notificación y respuesta para informar a las capas superiores sobre el estado de autenticación de los datos recibidos. Pregunta Q-a1099bc88a2981e2 (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF

Type SecOC_OverrideStatusType.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a5d2888a2f81 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración SecOC_OverrideStatusType define los diferentes modos para anular el estado de verificación de I-PDUs en el módulo SecOC y se proporciona a través de la cabecera Rte_SecOC_Type.h [SWS_SecOC_00991].

Los valores del tipo de enumeración controlan si se efectúa la verificación del autenticador y cómo se realiza, así como la manera de proceder con la I-PDU entrante [SWS_SecOC_00991]:

  • SECOC_OVERRIDE_DROP_UNTIL_NOTICE (0x00): Se prescinde de la verificación sin llamada a CSM, la I-PDU se descarta y el resultado de la verificación se establece en SECOC_NO_VERIFICATION [SWS_SecOC_00991].
  • SECOC_OVERRIDE_DROP_UNTIL_LIMIT (0x01): Como anteriormente, se suspende la verificación y se descarta la I-PDU, pero de forma limitada hasta alcanzar el número configurado de mensajes a anular [SWS_SecOC_00991].
  • SECOC_OVERRIDE_CANCEL (0x02): Cancela la anulación activa del estado de verificación y restablece el comportamiento regular [SWS_SecOC_00991].
  • SECOC_OVERRIDE_PASS_UNTIL_NOTICE (0x40) y SECOC_OVERRIDE_PASS_UNTIL_LIMIT (0x42): Se ejecuta la verificación del autenticador y la I-PDU se reenvía a la capa superior independientemente del resultado; si la verificación falla, el resultado se establece en SECOC_VERIFICATIONFAILURE_OVERWRITTEN (bien hasta nuevo aviso o bien limitado por contador) [SWS_SecOC_00991].
  • SECOC_OVERRIDE_SKIP_UNTIL_LIMIT (0x41) y SECOC_OVERRIDE_SKIP_UNTIL_NOTICE (0x43): Se prescinde de la verificación, el resultado es SECOC_NO_VERIFICATION y la I-PDU se transfiere a la capa superior. Si SecOCRxSecuredPduCollection está configurado, SecOC procesa la SecOCRxAuthenticPdu directamente sin esperar a la SecOCRxCryptographicPdu [SWS_SecOC_00991].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad 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#3c310457
Content hash
3c310457
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_SecureOnboardCommunication.pdf#nameddest=SWS_SecOC_00106

Inicialización y estado

SecOC_DeInit función

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 función

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);

Servicios · 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);

Servicios · 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);

Servicios · Otros

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 e interfaces esperadas

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);

Cíclico

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);

Tipos

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