Secure Onboard Communication (SecOC)
Provides cryptographic authentication and freshness protection for critical communication PDUs.
Funktionen — Übersicht
void SecOC_Init (const SecOC_ConfigType* config);Initializes the the Sec OC module.void SecOC_DeInit (void);This service stops the secure onboard communication.void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);Service SecOC_VerifyStatusOverride.Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);The service provides the ability to enable the sending of un - authenticated PDU to lower layer.void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission...Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size...BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer.BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Service SecOC_CopyTxData.BufReq_ReturnType SecOC_StartOf SecOC_StartReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr); ⚠️Service SecOC_StartReception.Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshness.Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshnessAuthData.Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value),...Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);Service SecOC_GetTxFreshnessTruncData.void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.void SecOC_MainFunctionRx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path.void SecOC_MainFunctionTx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path.void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);Service is used to propagate the status of each verification attempt from the Sec OC module to other modules.void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by...
Typen — Übersicht
struct SecOC_ConfigTypeConfiguration data structure of Sec OC moduleenum SecOC_StateTypeStates of the Sec OC moduleSecOC_FreshnessArrayType-enum SecOC_VerificationResultTypeEnumeration to indicate veri fication results.enum SecOC_VerificationStatusTypeData structure to bundle the status of a verification attempt for a specific Freshness Value and Data IDenum SecOC_OverrideStatusTypeType SecOC_OverrideStatusType.
Funktionen & Typen — Detailansicht
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.
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
configse transfiere un puntero a una estructura de configuración seleccionada del tipoSecOC_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).
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_GetVersionInfo [SWS_SecOC_00107] 📄 PDF
void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
función SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF
Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
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 (tipoPduIdType).PduInfoPtr: un puntero a una estructura del tipoPduInfoType, 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]:
E_OK: la solicitud de transmisión fue aceptada [SWS_SecOC_00112].E_NOT_OK: la solicitud de transmisión no fue aceptada [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.
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.
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.
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.
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.
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),overrideStatuscontrola 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
SecOCAuthenticationBuildAttemptsoSecOCAuthenticationVerifyAttempts, así como ante errores no recuperables (comoKEY_FAILURE), el resultado de la verificación y el reenvío de la PDU se rigen prioritariamente poroverrideStatus[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
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ónSecOCDefaultAuthenticationInformationPatternpara 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
FALSEpara 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.
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.
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.
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 (tipoPduIdType).result: resultado de la transmisión (tipoStd_ReturnType) con los valoresE_OKen caso de transmisión exitosa oE_NOT_OKen 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.
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(tipoPduIdType): identificación unívoca de la I-PDU transmitida [SWS_SecOC_00152].result(tipoStd_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.
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 enPduInfoPtr->SduLengthy devuelveE_OK[SWS_SecOC_00127]. - Si el espacio de memoria no es suficiente, la función devuelve
E_NOT_OKsin modificar el contenido dePduInfoPtr[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.
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.
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
retryes unNULL_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_DATACONFconfirma todos los datos transmitidos antes de esta llamada para la liberación del búfer [SWS_SecOC_00129].TP_DATARETRYprovoca una nueva copia de datos ya transmitidos a partir del desplazamiento de bytes definido porTxTpDataCnt[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.
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 estructuraPduInfoTypecon los datos útiles de la primera trama o trama única, así como metadatos; si no hay datos ni metadatos disponibles, se transfiereNULL_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;bufferSizePtrindica 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;bufferSizePtrpermanece 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 ybufferSizePtrpermanece 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.
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].SecOCTruncatedFreshnessValueySecOCTruncatedFreshnessValueLength: 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].SecOCFreshnessValueySecOCFreshnessValueLength: 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.
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 truncadoSecOCTruncatedFreshnessValuecontenido en la I-PDU junto con su longitud en bitsSecOCTruncatedFreshnessValueLength, así como el contadorSecOCAuthVerifyAttempts, que se incrementa en caso de intentos fallidos ([SWS_SecOC_91006]). -
Datos de autenticación: mediante
SecOCAuthDataFreshnessValueySecOCAuthDataFreshnessValueLengthse transfiere opcionalmente un fragmento configurado de la PDU recibida; la posición inicial y la longitud se determinan medianteSecOCAuthDataFreshnessStartPositionySecOCAuthDataFreshnessLen([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/salidaSecOCFreshnessValueLength([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.
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.
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.
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_
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_
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
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.
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_ConfigType [SWS_SecOC_00104] 📄 PDF
Configuration data structure of Sec OC module
tipo SecOC_StateType [SWS_SecOC_00162] 📄 PDF
States of the Sec OC module
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_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
tipo SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
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 estadoSecOC_VerifyStatusOverrideactiva [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 utilizarSecOC_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
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.
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 enSECOC_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) ySECOC_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 enSECOC_VERIFICATIONFAILURE_OVERWRITTEN(bien hasta nuevo aviso o bien limitado por contador) [SWS_SecOC_00991].SECOC_OVERRIDE_SKIP_UNTIL_LIMIT(0x41) ySECOC_OVERRIDE_SKIP_UNTIL_NOTICE(0x43): Se prescinde de la verificación, el resultado esSECOC_NO_VERIFICATIONy la I-PDU se transfiere a la capa superior. SiSecOCRxSecuredPduCollectionestá configurado, SecOC procesa laSecOCRxAuthenticPdudirectamente sin esperar a laSecOCRxCryptographicPdu[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
gemini-3.8-flash-low· 2026-10-13 · Original en alemán