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
função 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.
A função síncrona SecOC_Init serve para a inicialização do módulo SecOC e o transfere para o estado SecOC_INIT em caso de conclusão bem-sucedida [SWS_SecOC_00106]. A chamada ocorre por meio da interface de SecOC.h com o Service-ID 0x01 [SWS_SecOC_00106].
Parâmetros e valores de retorno
- Parâmetros de passagem: Por meio do parâmetro de entrada
config, é passado um ponteiro para uma estrutura de configuração selecionada do tipoSecOC_ConfigType[SWS_SecOC_00106]. - Valor de retorno: A função não possui valor de retorno (
void) [SWS_SecOC_00106].
Simultaneidade e particionamento
A execução de SecOC_Init é especificada como não reentrante (Non Reentrant) [SWS_SecOC_00106].
Requisitos específicos aplicam-se a sistemas com múltiplas partições: se o módulo SecOC estiver atribuído a várias partições (distribuindo-se funções principais como SecOC_MainFunction entre partições), pode existir uma função Init por partição [SWS_SecOC_00106]. Se é disponibilizada uma função central SecOC_Init ou funções separadas por partição, isso é específico da implementação [SWS_SecOC_00106]. Se forem oferecidas funções específicas de partição, a implementação deve evitar colisões de nomes, por exemplo, anexando um sufixo com o nome curto da respectiva EcucPartition [SWS_SecOC_00106].
Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função 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).
Utilização e semântica
A função síncrona SecOC_DeInit encerra a operação da comunicação onboard segura no módulo SecOC e transiciona-o para o estado SecOC_UNINIT [SWS_SecOC_00161]. A função é declarada no arquivo de cabeçalho SecOC.h e possui o service ID 0x05, bem como a assinatura void SecOC_DeInit(void) [SWS_SecOC_00161]. Ela não processa parâmetros de entrada nem de saída e não retorna nenhum valor de retorno [SWS_SecOC_00161].
Limpeza de buffer e transição de estado
Com a chamada de SecOC_DeInit, todas as I-PDUs armazenadas em buffer no módulo são descartadas e removidas dos buffers [SWS_SecOC_00161]. Se esses dados continuarem sendo necessários após uma reinicialização da comunicação segura, eles deverão ser obtidos novamente após uma nova chamada de SecOC_Init [SWS_SecOC_00161].
Simultaneidade e restrições
Para a execução da desinicialização, aplicam-se requisitos e condições de contorno fixos [SWS_SecOC_00161]:
- Não reentrante: A interface é especificada como não reentrante (
Non Reentrant) e, portanto, não deve ser executada de forma concorrente [SWS_SecOC_00161]. - Condições de ordenação: O módulo permanece no estado não inicializado após a chamada, de modo que serviços de comunicação subsequentes exigem obrigatoriamente uma nova chamada de
SecOC_Init[SWS_SecOC_00161].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função SecOC_GetVersionInfo [SWS_SecOC_00107] 📄 PDF
void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF
Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
usar
A função de serviço síncrona SecOC_IfTransmit serve para solicitar a transmissão de uma PDU no módulo SecOC [SWS_SecOC_00112]. Ela possui o ID de serviço 0x49 e é declarada através do arquivo de cabeçalho SecOC.h [SWS_SecOC_00112].
A função espera dois parâmetros de entrada [SWS_SecOC_00112]:
TxPduId: O identificador da PDU a ser transmitida (tipoPduIdType).PduInfoPtr: Um ponteiro para uma estrutura do tipoPduInfoType, que fornece o comprimento dos dados bem como ponteiros para os dados da PDU e para metadados.
Não existem parâmetros de entrada/saída nem de saída pura [SWS_SecOC_00112].
Valores de retorno e tratamento de erros
Como valor de retorno síncrono, é retornado um status do tipo Std_ReturnType [SWS_SecOC_00112]:
E_OK: A solicitação de transmissão foi aceita [SWS_SecOC_00112].E_NOT_OK: A solicitação de transmissão não foi aceita [SWS_SecOC_00112].
Em caso de erro, a falha da solicitação é imediatamente sinalizada por E_NOT_OK; códigos de erro específicos para DET ou DEM não são indicados separadamente na especificação da função [SWS_SecOC_00112].
Simultaneidade e restrições
Em relação à concorrência, a função é reentrante para IDs de PDU diferentes, mas não é reentrante para o mesmo ID de PDU [SWS_SecOC_00112].
Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR.
função SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF
Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
A interface síncrona SecOC_TpTransmit com o Service ID 0x53 serve para solicitar uma transmissão de PDU no módulo SecOC e é declarada através do arquivo de cabeçalho SecOC.h [SWS_SecOC_91008]. Ela recebe a solicitação de envio e inicia o processamento posterior dentro do módulo.
Utilização e interação
Como parâmetros de entrada, a função espera o identificador da PDU TxPduId, bem como o ponteiro PduInfoPtr para uma constante do tipo PduInfoType, que engloba informações sobre o comprimento da PDU e ponteiros para os dados úteis e metadados [SWS_SecOC_91008]. A interação funcional é determinada pela configuração: se SecOCPduType estiver configurado como SECOC_TPPDU, a chamada de SecOC_TpTransmit dispara a operação de envio concreta para uma Authentic I-PDU [SWS_SecOC_00253].
Valores de retorno e concorrência
O resultado da chamada é retornado via Std_ReturnType: o valor E_OK confirma que a solicitação de envio foi aceita com sucesso, enquanto E_NOT_OK significa que a solicitação foi rejeitada [SWS_SecOC_91008]. Em relação ao comportamento de concorrência, a função é implementada de forma reentrante para identificadores de PDU diferentes, mas em nenhuma hipótese pode ser chamada de forma reentrante para a mesma TxPduId [SWS_SecOC_91008].
Interpretação: na prática, a rejeição de uma solicitação com E_NOT_OK deve-se provavelmente sobretudo a valores de ponteiro inválidos em PduInfoPtr ou a uma transmissão já bloqueada ou em andamento da mesma PDU. Pergunta Q-4c6165f6330c4bc2 (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e contexto de chamada
A função de interface síncrona SecOC_IfCancelTransmit solicita o cancelamento de uma transmissão de PDU em andamento em um módulo de comunicação de camada inferior [SWS_SecOC_00113]. Ela é declarada através do arquivo de cabeçalho SecOC.h e possui o ID de serviço 0x4a [SWS_SecOC_00113]. Através do parâmetro de transferência TxPduId do tipo PduIdType é passada a PDU cujo processo de envio deve ser cancelado [SWS_SecOC_00113]. Parâmetros de entrada ou de saída adicionais não existem [SWS_SecOC_00113].
Valores de retorno e execução
O resultado da solicitação de cancelamento é transmitido de forma síncrona ao chamador através do valor de retorno do tipo Std_ReturnType [SWS_SecOC_00113]:
E_OK: O módulo de destino de camada inferior executou com sucesso o cancelamento da transmissão da PDU [SWS_SecOC_00113].E_NOT_OK: A solicitação de cancelamento foi rejeitada pelo módulo de destino [SWS_SecOC_00113].
Como códigos de erro específicos ou notificações de erro para registros de erros de desenvolvimento ou de diagnóstico (DET/DEM) não estão especificados para esta função, serve exclusivamente o valor de retorno para o reconhecimento de erros [SWS_SecOC_00113].
Simultaneidade e restrições
No que diz respeito à chamada paralela, SecOC_IfCancelTransmit é reentrante para identificadores de PDU diferentes, mas explicitamente não reentrante para o mesmo TxPduId [SWS_SecOC_00113]. Módulos chamadores devem, portanto, assegurar através de sincronização adequada que múltiplas instâncias não acionem simultaneamente um cancelamento de envio para a mesma PDU.
Esta nota de uso foi criada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função síncrona SecOC_TpCancelTransmit serve para solicitar o cancelamento de uma transmissão de PDU em andamento em um módulo de comunicação subjacente [SWS_SecOC_91009]. Ela é declarada por meio do arquivo de cabeçalho SecOC.h e possui o Service-ID 0x54 [SWS_SecOC_91009].
Como parâmetro de entrada, é passado o identificador TxPduId do tipo PduIdType, que identifica univocamente a PDU de envio a ser cancelada [SWS_SecOC_91009]. O resultado da solicitação de cancelamento é retornado de forma síncrona por meio do valor de retorno do tipo Std_ReturnType [SWS_SecOC_91009]:
E_OK: O cancelamento da transmissão foi executado com sucesso pelo módulo de destino [SWS_SecOC_91009].E_NOT_OK: O cancelamento foi rejeitado pelo módulo de destino [SWS_SecOC_91009].
No que diz respeito à simultaneidade, a função é reentrante para diferentes IDs de PDU, mas explicitamente não reentrante para o mesmo ID de PDU [SWS_SecOC_91009]. Os chamadores devem, portanto, assegurar que chamadas paralelas com TxPduId idêntico sejam evitadas. Como o payload não prevê códigos de erro específicos para o Default Error Tracer (DET) ou Diagnostic Event Manager (DEM), o tratamento imediato de erros no contexto do chamador deve ocorrer primariamente por meio da avaliação do valor de retorno E_NOT_OK [SWS_SecOC_91009]. Pergunta Q-c1f907444c4ca270 (aberta)
Esta nota de uso foi gerada automaticamente e baseia-se na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função síncrona SecOC_TpCancelReceive serve para solicitar o cancelamento de um processo de recepção em andamento de uma PDU em um módulo de protocolo de transporte subjacente [SWS_SecOC_91010]. Por meio do único parâmetro de entrada RxPduId, passa-se ao módulo a identificação unívoca da PDU a ser cancelada [SWS_SecOC_91010].
Valores de retorno e execução
O retorno sobre o sucesso do cancelamento ocorre imediatamente por meio do valor de retorno do tipo Std_ReturnType [SWS_SecOC_91010]:
E_OK: O cancelamento da recepção foi executado com sucesso pelo módulo de destino [SWS_SecOC_91010].E_NOT_OK: O cancelamento foi rejeitado pelo módulo de destino [SWS_SecOC_91010].
Códigos de erro específicos, erros de desenvolvimento (DET) ou erros de produção (DEM) não estão previstos nos dados de especificação da função. Interpretação: o módulo de destino (“destination module”) mencionado na especificação deve referir-se ao módulo de protocolo de transporte subjacente para o qual a solicitação de cancelamento é direcionada. Pergunta Q-bce6ed77e65a6b9b (aberta)
Concorrência e integração
Em termos de concorrência, a função é declarada como não reentrante (Non Reentrant) [SWS_SecOC_91010]. Por conseguinte, não deve ocorrer nenhuma chamada concorrente ou que cause interrupção; as unidades de software chamadoras devem coordenar os acessos adequadamente. A função possui o ID de serviço 0x4c e é declarada através do ficheiro de cabeçalho SecOC.h [SWS_SecOC_91010].
Esta nota de utilização foi gerada por uma IA e baseia-se exclusivamente nas especificações da release AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função SecOC_VerifyStatusOverride [SWS_SecOC_00122] 📄 PDF
Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);
Service SecOC_VerifyStatusOverride.
A função síncrona SecOC_VerifyStatusOverride possibilita à aplicação sobrepor pontualmente o comportamento de verificação e de encaminhamento do SecOC, a fim de aceitar ou descartar I-PDUs independentemente do resultado real de verificação, bem como controlar tratamentos de erro [SWS_SecOC_00122].
Parâmetros e contexto de chamada
O endereçamento orienta-se pela configuração do módulo: se SecOCOverrideStatusWithDataId estiver configurado como FALSE, Value ID identifica o Freshness Value de todas as Secured I-PDUs associadas; se o parâmetro estiver em TRUE, Value ID designa diretamente o Data ID de uma Secured I-PDU [SWS_SecOC_00122]. Por meio de overrideStatus, define-se o comportamento desejado e sua validade temporal. O contador numberOfMessagesToOverride determina a quantidade de verificações a serem sobrepostas sequencialmente, sendo contudo avaliado exclusivamente nos modos SECOC_OVERRIDE_DROP_UNTIL_LIMIT, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT e SECOC_OVERRIDE_PASS_UNTIL_LIMIT [SWS_SecOC_00122].
Para os modos SECOC_OVERRIDE_PASS_UNTIL_NOTICE, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT, SECOC_OVERRIDE_PASS_UNTIL_LIMIT e SECOC_OVERRIDE_SKIP_UNTIL_NOTICE, SecOCEnableForcedPassOverride deve obrigatoriamente estar configurado como TRUE [SWS_SecOC_00122].
Concorrência e valores de retorno
A função é reentrante para diferentes Freshness Value IDs, mas não reentrante para o mesmo Freshness Value ID [SWS_SecOC_00122]. Uma chamada bem-sucedida retorna E_OK, enquanto uma chamada com falha é confirmada com E_NOT_OK [SWS_SecOC_00122].
Interação na verificação
Um override definido intervém na lógica de processamento do caminho de recepção:
- Se forem utilizadas Authentic e Cryptographic I-PDUs separadas (
SecOCRxSecuredPduCollection),overrideStatuscontrola o comportamento assim que ambas as PDUs tiverem sido recebidas com o Message Linker correspondente [SWS_SecOC_00203], [SWS_SecOC_00206], [SWS_SecOC_00211]. - Mesmo ao ultrapassar
SecOCAuthenticationBuildAttemptsouSecOCAuthenticationVerifyAttempts, bem como em falhas irrecuperáveis (comoKEY_FAILURE), o resultado de verificação e o encaminhamento da PDU orientam-se prioritariamente poroverrideStatus[SWS_SecOC_00240], [SWS_SecOC_00241].
Este texto foi gerado por uma IA e baseia-se nas diretrizes da especificação AUTOSAR.
Guia do implementador em breve (complexidade I2)
função 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
A função síncrona SecOC_SendDefaultAuthenticationInformation ([SWS_SecOC_91013]) permite habilitar ou desabilitar especificamente o envio de I-PDUs não autenticadas para camadas inferiores. O serviço é declarado por meio de SecOC.h e controla o comportamento para um Freshness Value ID específico por meio da flag send Default Authentication Information. Em caso de solicitação bem-sucedida, a função retorna E_OK, caso contrário E_NOT_OK ([SWS_SecOC_91013]).
Interação e comportamento de erro
A função é opcional e está disponível apenas se o parâmetro SecOCDefaultAuthenticationInformationPattern estiver configurado ([SWS_SecOC_91013]). O comportamento entra em ação quando a geração das informações de autenticação falha – por exemplo, quando o contador SecOCAuthenticationBuildAttempts for atingido, a função de freshness retornar E_NOT_OK ou o cálculo do autenticador retornar um erro irrecuperável, como KEY_FAILURE ou E_NOT_OK ([SWS_SecOC_91013], [SWS_SecOC_00229]):
- Se o serviço tiver sido chamado com
TRUE, o módulo utilizará o padrãoSecOCDefaultAuthenticationInformationPatternpara todos os bytes do valor de freshness e do autenticador a fim de construir as informações de autenticação, e não cancelará a solicitação de envio ([SWS_SecOC_91013], [SWS_SecOC_00229]). - Se o serviço não estiver disponível ou tiver sido chamado com
FALSEpara o ID em questão, o módulo removerá a I-PDU autêntica de seu buffer interno e cancelará a transmissão ([SWS_SecOC_91013], [SWS_SecOC_00229]).
simultaneidade
A função não é reentrante para o mesmo Freshness Value ID, mas pode ser chamada de forma reentrante para IDs diferentes ([SWS_SecOC_91013]).
Esta nota de utilização foi gerada automaticamente com base na especificação de AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e contexto de chamada
A função de interface síncrona SecOC_RxIndication (Service-ID 0x42) é chamada por um módulo de interface de comunicação subjacente para notificar a recepção de uma PDU ao módulo SecOC [SWS_SecOC_00124]. Na chamada, RxPduId identifica a PDU recebida, enquanto por meio de PduInfoPtr é passado um ponteiro para as informações da PDU. Essa estrutura contém o comprimento dos dados úteis SduLength, o ponteiro do buffer SduDataPtr bem como os metadados associados da PDU [SWS_SecOC_00124]. A função não possui valor de retorno e é declarada por meio do arquivo de cabeçalho SecOC.h [SWS_SecOC_00124].
Tratamento de erros e verificação de comprimento
Para a recepção de I-PDUs com configuração estática (I-PDUs protegidas, autênticas ou criptográficas com o parâmetro EcuC DynamicLength igual a FALSE), aplica-se uma verificação de erro específica: se o comprimento recebido for menor que o comprimento configurado, o módulo SecOC descarta a I-PDU silenciosamente [SWS_SecOC_00268]. Interpretação: como a função retorna void, I-PDUs com falha ou incompletas devem ser descartadas sem retorno para a camada chamadora. Pergunta Q-6e9a176383e1983b (aberta)
Simultaneidade e restrições
A execução de SecOC_RxIndication é reentrante para chamadas com diferentes IDs de PDU, mas explicitamente não reentrante para o mesmo ID de PDU [SWS_SecOC_00124]. Os módulos chamadores devem, portanto, assegurar por meio de seu controle de execução que chamadas paralelas com RxPduId idêntico sejam impedidas.
Esta nota de uso foi gerada automaticamente e baseia-se na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função SecOC_TpRxIndication serve como interface de callback do módulo SecOC e é chamada após a recepção de uma I-PDU por meio da Transport Protocol API (TP API) [SWS_SecOC_00125]. Por meio desta notificação, o SecOC toma conhecimento se a transmissão da I-PDU foi concluída com sucesso ou se ocorreu um erro de transmissão [SWS_SecOC_00125].
A interface possui os seguintes parâmetros e propriedades de acordo com [SWS_SecOC_00125]:
- id (
PduIdType): identificação da I-PDU recebida para a qual o evento de recepção é sinalizado. - result (
Std_ReturnType): resultado da recepção da PDU, que indica se o transporte foi bem-sucedido ou falhou. - Valor de retorno: nenhum (
void); a função não retorna nenhum valor de status para o chamador.
Em relação à concorrência, SecOC_TpRxIndication é especificada como reentrante (Reentrant) e opera de forma síncrona (Synchronous) sob o Service-ID 0x45 [SWS_SecOC_00125]. A declaração é disponibilizada por meio do arquivo de cabeçalho SecOC.h [SWS_SecOC_00125]. Interpretação: a chamada presumivelmente deve ser disparada por uma camada transportadora, como o PduR ou um módulo TP, assim que a transferência de dados da PDU for totalmente concluída. Pergunta Q-6448356fa3609004 (aberta)
Para esta função, não são definidos códigos de erro específicos, verificações DET ou entradas de erro DEM na especificação [SWS_SecOC_00125]. O tratamento de erros limita-se à passagem do resultado de transporte por meio do parâmetro result, com base no qual o módulo SecOC decide se os dados recebidos continuam sendo processados ou são descartados.
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e contexto de chamada
A função SecOC_TxConfirmation é chamada pelo módulo de interface de comunicação de camada inferior para confirmar de forma síncrona ao módulo SecOC a transmissão bem-sucedida ou a falha no envio de uma PDU [SWS_SecOC_00126]. O serviço não possui valor de retorno (void), é declarado no arquivo de cabeçalho SecOC.h e gerenciado sob o ID de serviço 0x40 [SWS_SecOC_00126].
A função espera dois parâmetros de entrada [SWS_SecOC_00126]:
TxPduId: Identificador da PDU transmitida (tipoPduIdType).result: Resultado da transmissão (tipoStd_ReturnType) com os valoresE_OKem caso de transmissão bem-sucedida ouE_NOT_OKem caso de falha na transmissão.
Tratamento de erros e simultaneidade
Erros de transmissão das camadas inferiores são passados diretamente através do argumento result com o valor E_NOT_OK [SWS_SecOC_00126]. Em relação à concorrência, a chamada é reentrante para IDs de PDU diferentes, mas definida como não reentrante para o mesmo ID de PDU [SWS_SecOC_00126]. O contexto de execução concreto deve residir presumivelmente no nível de tarefa ou de interrupção do módulo de camada inferior, uma vez que a especificação não prevê qualquer restrição a esse respeito. Pergunta Q-8bb15b92df860fc1 (aberta)
Interação e encaminhamento
Se for utilizada a configuração SecOCTxSecuredPduCollection, o SecOC só encaminha a confirmação para a camada superior quando SecOC_TxConfirmation tiver sido chamada tanto para a Authentic I-PDU quanto para a Cryptographic I-PDU [SWS_SecOC_00270].
Para o status de resultado para a camada superior, aplica-se uma condição estrita: o parâmetro result da chamada encaminhada é E_OK somente se as confirmações para ambas as sub-PDUs tiverem sido passadas, cada uma, com E_OK; caso contrário, o status é E_NOT_OK [SWS_SecOC_00270].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função SecOC_TpTxConfirmation serve para confirmar uma I-PDU transmitida pela rede e informa o módulo SecOC de forma síncrona sobre o sucesso ou a falha do processo de envio [SWS_SecOC_00152].
Utilização e parâmetros
A chamada ocorre após a transmissão física de uma I-PDU na rede [SWS_SecOC_00152]. A interface está declarada no cabeçalho SecOC.h e possui o Service ID 0x48 [SWS_SecOC_00152]. Ela recebe dois parâmetros de entrada e não fornece valor de retorno (void):
id(tipoPduIdType): identificação unívoca da I-PDU transmitida [SWS_SecOC_00152].result(tipoStd_ReturnType): indica se a transmissão na rede foi bem-sucedida ou se falhou [SWS_SecOC_00152].
Simultaneidade e execução
De acordo com a especificação, a função deve ser executada de forma síncrona e é totalmente reentrante (Reentrant) [SWS_SecOC_00152]. Portanto, ela pode ser chamada em paralelo para I-PDUs diferentes ou para a mesma I-PDU, caso o contexto de chamada assim o exija.
Tratamento de erros e interação
Códigos de erro específicos do DET ou do DEM não são apresentados no payload. O tratamento de erros relativo à transmissão ocorre primariamente através do parâmetro de status passado result, o qual informa ao módulo se o processo de envio foi bem-sucedido [SWS_SecOC_00152]. Interpretação: a função deve servir primariamente como interface de callback para instâncias de protocolos de transporte subjacentes, a fim de reportar o status de envio após a conclusão de transmissões grandes ou fragmentadas. Pergunta Q-a2957406d76ee65f (aberta)
Esta nota de uso foi criada por uma IA e resume os requisitos da especificação AUTOSAR para o módulo SecOC.
Guia do implementador em breve (complexidade I1)
função 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.
A interface síncrona SecOC_TriggerTransmit serve para a cópia de uma SDU solicitada para transmissão [SWS_SecOC_00127]. Por meio do parâmetro TxPduId a SDU é endereçada, enquanto PduInfoPtr, como parâmetro de entrada e saída, fornece o ponteiro para o buffer de destino (SduDataPtr) bem como indicações do tamanho do buffer (SduLength) [SWS_SecOC_00127].
Uso e passagem de dados
Dentro da função, o módulo verifica se os dados a serem fornecidos cabem no tamanho de buffer informado por meio de PduInfoPtr->SduLength [SWS_SecOC_00127]:
- Se os dados couberem, a função os copia para o buffer
PduInfoPtr->SduDataPtr, insere a quantidade real de bytes copiados emPduInfoPtr->SduLengthe retornaE_OK[SWS_SecOC_00127]. - Se o espaço de memória não for suficiente, a função retorna
E_NOT_OKsem alterar o conteúdo dePduInfoPtr[SWS_SecOC_00127].
Tratamento de erros e simultaneidade
Se for retornado E_NOT_OK, nenhum dado de SDU foi copiado. Nesse caso, o chamador não deve avaliar ou utilizar PduInfoPtr, pois este pode conter um ponteiro NULL ou apontar para dados inválidos [SWS_SecOC_00127]. A função é reentrante para diferentes IDs de PDU, contudo não reentrante para o mesmo TxPduId [SWS_SecOC_00127]. O serviço está disponível por meio do cabeçalho SecOC.h [SWS_SecOC_00127].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic Platform Release R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e semântica
A função síncrona SecOC_CopyRxData é chamada para passar dados recebidos de um segmento de I-PDU (N-PDU) para a camada superior [SWS_SecOC_00128]. Cada chamada disponibiliza a respectiva parte seguinte dos dados da I-PDU [SWS_SecOC_00128]. O serviço possui o Service-ID 0x44 e está disponível por meio do arquivo de cabeçalho SecOC.h [SWS_SecOC_00128].
Parâmetros e consulta de buffer
O parâmetro id identifica a I-PDU recebida de forma unívoca [SWS_SecOC_00128]. Por meio do ponteiro info, são fornecidos o buffer de origem SduDataPtr e a quantidade de bytes a serem copiados SduLength [SWS_SecOC_00128]. Uma passagem de SduLength com o valor 0 serve para consultar o buffer de recepção atualmente disponível no módulo superior; nesse caso, SduDataPtr pode ser passado como NULL_PTR [SWS_SecOC_00128]. No local referenciado por bufferSizePtr, grava-se o tamanho de buffer restante após a cópia [SWS_SecOC_00128].
Valores de retorno e concorrência
A função retorna o status BufReq_ReturnType [SWS_SecOC_00128]. Em caso de transferência de dados bem-sucedida, ela reporta BUFREQ_OK [SWS_SecOC_00128]. Se ocorrer um erro, nenhum dado é copiado e a função retorna BUFREQ_E_NOT_OK [SWS_SecOC_00128]. SecOC_CopyRxData é especificado como reentrante [SWS_SecOC_00128].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função SecOC_CopyTxData [SWS_SecOC_00129] 📄 PDF
BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service SecOC_CopyTxData.
Utilização e semântica
A função síncrona e reentrante SecOC_CopyTxData é chamada para consultar dados de envio para um segmento de I-PDU (N-PDU) [SWS_SecOC_00129]. Por meio do parâmetro info, são passados o buffer de destino SduDataPtr bem como a quantidade de bytes a ser solicitada SduLength [SWS_SecOC_00129]. Uma chamada com SduLength igual a 0 possibilita a consulta da quantidade de dados disponível ou a notificação de mudanças de status por meio do parâmetro retry; nesse caso, SduDataPtr pode ser um NULL_PTR [SWS_SecOC_00129]. Por meio de availableDataPtr, o módulo reporta a quantidade residual de dados restante no buffer de envio [SWS_SecOC_00129].
Repetição e tratamento de erros
O comportamento de buffer e de repetição é controlado por meio de retry [SWS_SecOC_00129]:
- Se
retryfor umNULL_PTR, os dados copiados podem ser liberados imediatamente [SWS_SecOC_00129]. - Com
TP_CONFPENDING, os dados previamente copiados permanecem no buffer para recuperação de erros [SWS_SecOC_00129]. TP_DATACONFconfirma todos os dados transmitidos antes desta chamada para liberação de buffer [SWS_SecOC_00129].TP_DATARETRYfaz com que dados já transmitidos sejam novamente copiados a partir do deslocamento de bytes definido porTxTpDataCnt[SWS_SecOC_00129].
Como valores de retorno, a função fornece BUFREQ_OK em caso de processo de cópia bem-sucedido, BUFREQ_E_BUSY caso não haja temporariamente dados de envio suficientes disponíveis (o que permite ao chamador repetir a tentativa mais tarde), ou BUFREQ_E_NOT_OK em caso de falha geral [SWS_SecOC_00129].
simultaneidade
A função é projetada como reentrante, de modo que chamadas paralelas para diferentes instâncias de PDU devam ser admissíveis [SWS_SecOC_00129]. Pergunta Q-6420f2ca317efcb4 (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação.
Guia do implementador em breve (complexidade I1)
função SecOC_StartReception [SWS_SecOC_00130] 📄 PDF
BufReq_ReturnType SecOC_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
Service SecOC_StartReception.
usar
A função síncrona e reentrante SecOC_StartReception é chamada no início da recepção de uma N-SDU para verificar a conexão e disponibilizar o buffer de recepção necessário [SWS_SecOC_00130]. A N-SDU pode ser recebida como quadro único (Single Frame, SF) ou fragmentada ao longo de várias N-PDUs (First Frame, FF, seguido de Consecutive Frames, CF) [SWS_SecOC_00130]. A declaração está disponível por meio do cabeçalho SecOC.h [SWS_SecOC_00130].
Parâmetros e consulta de buffer
id: Identificação da I-PDU recebida [SWS_SecOC_00130].info: Ponteiro para uma estruturaPduInfoTypecom os dados úteis do primeiro quadro ou quadro único, bem como metadados; se não houver dados nem metadados disponíveis, é passadoNULL_PTR[SWS_SecOC_00130].TpSduLength: Comprimento total da N-SDU a ser recebida. Se o parâmetro for passado com o valor 0, o serviço retorna o tamanho de buffer máximo atualmente disponível [SWS_SecOC_00130].bufferSizePtr: Parâmetro de saída para o buffer de recepção disponível, que é utilizado pelo módulo de protocolo de transporte para calcular o Block Size (BS) [SWS_SecOC_00130].
Valores de retorno e tratamento de erros
BUFREQ_OK: A conexão foi aceita e a recepção prossegue;bufferSizePtrindica o tamanho de buffer disponível (se não houver buffer disponível no tamanho solicitado, é reportado 0) [SWS_SecOC_00130].BUFREQ_E_NOT_OK: A conexão foi rejeitada e a recepção é abortada;bufferSizePtrpermanece inalterado [SWS_SecOC_00130].BUFREQ_E_OVFL: Nenhum buffer com o comprimento solicitado pode ser disponibilizado; a recepção é interrompida ebufferSizePtrpermanece inalterado [SWS_SecOC_00130].
Esta nota de uso foi gerada automaticamente com base no AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função de interface síncrona SecOC_GetRxFreshness serve para o módulo SecOC consultar o valor de frescor atual para uma I-PDU protegida recebida [SWS_SecOC_91007]. A chamada ocorre assim que a PDU protegida tiver sido recebida por completo e SecOCQueryFreshnessValue == CFUNC bem como SecOCUseAuthDataFreshness == FALSE estiverem definidos para a sua configuração [SWS_SecOC_00247], [SWS_SecOC_00250].
A função é reentrante [SWS_SecOC_91007] e passa ou espera os seguintes parâmetros:
SecOCFreshnessValueID: Identificador do valor de frescor a ser consultado [SWS_SecOC_91007].SecOCTruncatedFreshnessValueeSecOCTruncatedFreshnessValueLength: Ponteiro para o valor de frescor truncado contido na PDU recebida e seu comprimento em bits [SWS_SecOC_91007].SecOCAuthVerifyAttempts: Quantidade de tentativas de verificação anteriores desde a recepção da PDU (iniciando em 0, incrementada a cada tentativa com falha) [SWS_SecOC_91007].SecOCFreshnessValueeSecOCFreshnessValueLength: Buffer de saída para o valor de frescor apurado bem como parâmetro de entrada/saída para o seu comprimento em bits [SWS_SecOC_91007].
O resultado da consulta controla o processamento posterior no SecOC:
E_OK: O valor de frescor foi disponibilizado com sucesso e é utilizado para o cálculo do autenticador [SWS_SecOC_91007].E_NOT_OK: A disponibilização falhou devido a problemas gerais ou a um Freshness-ID incorreto [SWS_SecOC_91007].E_BUSY: A informação está temporariamente indisponível [SWS_SecOC_91007]. Nesse caso, o SecOC incrementa o Authentication-Build-Counter e não realiza tentativa de verificação de autenticação [SWS_SecOC_00236].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função 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.
A função síncrona e reentrante SecOC_GetRxFreshnessAuthData é chamada pelo módulo SecOC para determinar o valor de freshness atual para a autenticação em I-PDUs seguras totalmente recebidas ([SWS_SecOC_91006], [SWS_SecOC_00246]). A chamada ocorre especificamente quando SecOCQueryFreshnessValue = CFUNC bem como SecOCUseAuthDataFreshness = TRUE estão parametrizados para a respectiva configuração de PDU ([SWS_SecOC_00246], [SWS_SecOC_00249]).
Parâmetros e valores de passagem
-
Dados de entrada: São passados o identificador
SecOCFreshnessValueID, o valor de freshness truncadoSecOCTruncatedFreshnessValuecontido na I-PDU com o comprimento em bitsSecOCTruncatedFreshnessValueLength, bem como o contadorSecOCAuthVerifyAttempts, que é incrementado em tentativas com falha ([SWS_SecOC_91006]). -
Dados de autenticação: Por meio de
SecOCAuthDataFreshnessValueeSecOCAuthDataFreshnessValueLength, é passado opcionalmente um recorte configurado da PDU recebida; a posição inicial e o comprimento são determinados porSecOCAuthDataFreshnessStartPositioneSecOCAuthDataFreshnessLen([SWS_SecOC_91006], [SWS_SecOC_00246]). -
Dados de resultado: O valor de freshness completo é disponibilizado por meio do buffer de saída
SecOCFreshnessValue, cujo comprimento em bits atua como parâmetro de entrada/saída (inout)SecOCFreshnessValueLength([SWS_SecOC_91006]).
Valores de retorno e tratamento de erros
A função sinaliza o sucesso da consulta com E_OK ([SWS_SecOC_91006]). Se o valor de freshness não puder ser disponibilizado devido a problemas gerais ou a um freshness ID inválido, ela retorna E_NOT_OK; em caso de indisponibilidade temporária, ela fornece E_BUSY ([SWS_SecOC_91006]). Interpretação: Como a função é conectada como função C por meio de CFUNC, a implementação deve ser realizada por um módulo externo de gerenciamento de freshness. Pergunta Q-01aa77b7235b9001 (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função síncrona e reentrante SecOC_GetTxFreshness serve para disponibilizar o valor de frescor atual para mensagens a serem enviadas e é declarada através do cabeçalho SecOC.h [SWS_SecOC_91004]. De acordo com [SWS_SecOC_00231], o módulo SecOC chama esta função para uma PDU quando SecOCQueryFreshnessValue = CFUNC e SecOCProvideTxTruncatedFreshnessValue = FALSE estiverem definidos na configuração. Interpretação: como o SecOC executa a chamada sob a respectiva configuração, a função provavelmente deve ser disponibilizada como callout por um componente externo. Pergunta Q-99a14f896ffddf5f (aberta)
A interface utiliza os seguintes parâmetros [SWS_SecOC_91004]:
SecOCFreshnessValueID(In): identificador numérico do valor de frescor solicitado.SecOCFreshnessValueLength(InOut): passa ou assume o comprimento em bits do valor de frescor disponibilizado.SecOCFreshnessValue(Out): ponteiro para o array de bytes para receber o valor de frescor no formato big-endian, iniciando com os bits mais significativos no primeiro byte.
O valor de retorno do tipo Std_ReturnType sinaliza o resultado da disponibilização [SWS_SecOC_91004]:
E_OK: o valor de frescor foi disponibilizado com sucesso.E_BUSY: a informação de frescor não pode ser fornecida temporariamente.E_NOT_OK: a solicitação falhou, pois nenhum valor pode ser determinado para o ID ou em geral.
Esta nota de uso foi criada de forma automatizada e baseia-se exclusivamente nas especificações da versão AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função SecOC_GetTxFreshnessTruncData [SWS_SecOC_91003] 📄 PDF
Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);
Service SecOC_GetTxFreshnessTruncData.
A função síncrona e reentrante SecOC_GetTxFreshnessTruncData é chamada pelo módulo SecOC para consultar, em processos de envio (TX), tanto o valor de frescor completo quanto o valor de frescor truncado (Truncated Freshness) para a Secured I-PDU a ser transmitida [SWS_SecOC_91003]. A chamada ocorre especificamente quando, para a configuração da PDU, SecOCQueryFreshnessValue = CFUNC bem como SecOCProvideTxTruncatedFreshnessValue = TRUE estão definidos [SWS_SecOC_00230].
A interface passa os seguintes parâmetros [SWS_SecOC_91003]:
SecOCFreshnessValueID(in): Identificador do valor de frescor solicitado.SecOCFreshnessValue(out): Buffer de destino para o valor de frescor completo atual.SecOCFreshnessValueLength(inout): Especifica o comprimento do valor de frescor fornecido em bits.SecOCTruncatedFreshnessValue(out): Buffer opcional para o valor de frescor truncado, que é incorporado na Secured I-PDU.SecOCTruncatedFreshnessValueLength(inout): Passa o comprimento configurado do frescor truncado; o valor pode ser ajustado conforme necessário pela função ou mantido inalterado.
Como valor de retorno, a função fornece E_OK em caso de disponibilização bem-sucedida, E_BUSY caso a informação esteja temporariamente indisponível, ou E_NOT_OK se a disponibilização falhar devido a problemas gerais ou especificamente para o ID passado [SWS_SecOC_91003]. A declaração está disponível por meio do cabeçalho SecOC.h [SWS_SecOC_91003].
Esta nota de uso foi gerada por um assistente de curadoria por IA com base nos dados de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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
A interface de função síncrona SecOC_SPduTxConfirmation é utilizada pelo módulo SecOC para indicar que a transmissão de uma I-PDU protegida (Secured I-PDU) foi iniciada [SWS_SecOC_91005]. A função está declarada no arquivo de cabeçalho SecOC.h e não possui valor de retorno (void) [SWS_SecOC_91005].
Como único parâmetro de passagem, SecOCFreshnessValueID é passado como valor de entrada (in) do tipo uint16 [SWS_SecOC_91005]. Esse parâmetro transporta o identificador do respectivo valor de frescor para a I-PDU em questão [SWS_SecOC_91005]. Não existem outros parâmetros de entrada, saída ou bidirecionais (inout/out) na interface [SWS_SecOC_91005].
Concorrência e propriedades
A interface possui o Service ID 0x4d, opera de forma síncrona e é projetada para ser totalmente reentrante [SWS_SecOC_91005]. A propriedade de reentrância permite a chamada paralela em contextos de execução concorrentes [SWS_SecOC_91005]. Mensagens de erro via DET ou DEM, bem como códigos de erro especiais, não estão previstos na especificação da interface [SWS_SecOC_91005].
Interpretação: como o SecOC chama esta função para sinalizar o início da transmissão da PDU e, para isso, passa exclusivamente o SecOCFreshnessValueID, a chamada provavelmente deve servir para a atualização ou confirmação do contador de frescor em um componente externo [SWS_SecOC_91005]. Pergunta Q-f234a3c6e9b16362 (aberta)
Esta nota de uso foi criada de forma automatizada e baseia-se exclusivamente nos dados de especificação do AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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_
Utilização e contexto de chamada
A função SecOC_MainFunctionRx assume o processamento central de autenticação e verificação do módulo SecOC para mensagens de entrada no caminho de recepção [SWS_SecOC_00171]. De acordo com a sua especificação de interface, a função possui a assinatura void SecOC_MainFunctionRx (void), apresenta o Service-ID 0x06, não espera parâmetros de passagem e não retorna nenhum valor [SWS_SecOC_00171]. Ela é declarada por meio do arquivo de cabeçalho SchM_SecOC.h [SWS_SecOC_00171]; disso pode-se deduzir (interpretação) que a sua chamada ocorre periodicamente pelo BSW-Scheduler no contexto de uma tarefa do sistema operacional. Pergunta Q-d24cb58f541f6674 (aberta)
Instanciação e configuração
Em configurações de sistema com múltiplas instâncias de recepção, é implementada para cada contêiner SecOCMainFunctionRx configurado uma instância de função própria segundo o esquema SecOC_MainFunctionRx_<shortName> [SWS_SecOC_00171]. Nisso, <shortName> corresponde ao nome curto do contêiner atribuído no modelo de configuração da ECU [SWS_SecOC_00171]. Isso permite presumivelmente um controle temporal ou uma priorização separados de diferentes caminhos de processamento Rx. Pergunta Q-ebb55c5d3a3da97d (aberta)
Tratamento de erros e simultaneidade
Para SecOC_MainFunctionRx, não estão documentados nos requisitos valores de retorno específicos nem códigos de erro explícitos para DET ou DEM [SWS_SecOC_00171]. Estados de erro ou verificações com falha devem, portanto, ser processados de forma puramente interna e reportados de forma assíncrona para módulos superiores por meio do caminho de recepção. Pergunta Q-5d1e45f7a779bea9 (aberta)
Este texto foi gerado por uma IA e serve como orientação. A especificação oficial da AUTOSAR é sempre determinante.
função 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_
Utilização e contexto de chamada
A função principal SecOC_MainFunctionTx assume, de acordo com [SWS_SecOC_00176], o processamento de autenticação e verificação do módulo SecOC no caminho de transmissão (caminho Tx). Ela possui a assinatura void SecOC_MainFunctionTx(void), não recebendo, portanto, parâmetros de passagem e não retornando nenhum valor de retorno; a ela está atribuído o service ID 0x03 [SWS_SecOC_00176]. A declaração é disponibilizada por meio do cabeçalho SchM_SecOC.h [SWS_SecOC_00176]. Interpretação: Como a integração ocorre por meio do Schedule Manager, a chamada deve ocorrer tipicamente de forma cíclica pelo BSW Scheduler no contexto de uma tarefa do sistema operacional. Pergunta Q-34b30208648c8e30 (aberta)
Instanciação e convenção de nomenclatura
A especificação prevê uma implementação específica de instância para configurações múltiplas: para cada contêiner de instância configurado SecOCMainFunctionTx na configuração da ECU, exatamente uma função deve ser implementada de acordo com o esquema de nomenclatura SecOC_MainFunctionTx_<shortName>, em que <shortName> corresponde ao nome curto do respectivo contêiner de configuração [SWS_SecOC_00176].
Restrições e tratamento de erros
Códigos de erro específicos, retornos de DET ou DEM, bem como detalhes sobre reentrância não são listados separadamente no elemento de especificação [SWS_SecOC_00176]. Interpretação: Devido ao acoplamento a contêineres de configuração específicos de instância, cada instância gerada deve ser responsável por um subconjunto isolado de processamentos de Tx-PDU e, conforme o planejado, não deve ser interrompida de forma concorrente pelo mesmo contexto de tarefa. Pergunta (aberta)
Esta nota de uso foi gerada automaticamente por um assistente de curadoria de IA com base na especificação AUTOSAR R20-11.
função 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
A função de callout síncrona SecOC_VerificationStatusCallout serve para repassar o status de tentativas de verificação a partir do módulo SecOC para módulos de software externos [SWS_SecOC_00119]. Ela é declarada por meio do cabeçalho SecOC_Externals.h e possui o Service-ID 0x50 [SWS_SecOC_00119]. Por meio do parâmetro de entrada verificationStatus (tipo SecOC_VerificationStatusType), é passada uma estrutura de dados que agrupa o resultado de verificação para um Freshness Value ID e Data ID específicos [SWS_SecOC_00119]. A função não possui parâmetros de saída nem valor de retorno (tipo de retorno void) [SWS_SecOC_00119].
O comportamento do encaminhamento de status é configurável e suporta três formas [SWS_SecOC_00119]:
- Only: São propagadas exclusivamente tentativas de verificação com falha (“False”).
- Both: São encaminhados para os módulos tanto os status de verificação bem-sucedidos (“True”) quanto os com falha (“False”).
- None: Nenhum status de verificação é repassado.
Em relação à simultaneidade, SecOC_VerificationStatusCallout é reentrante para diferentes Freshness Value IDs, contudo não reentrante para o mesmo Freshness Value ID [SWS_SecOC_00119]. Módulos implementadores devem, portanto, assegurar que não ocorram chamadas concorrentes com Freshness Value ID idêntico. O contexto de chamada deve situar-se de forma síncrona no âmbito da rotina interna de verificação do módulo SecOC. Pergunta Q-cd6928ca22d48f54 (aberta) Códigos de erro específicos ou mensagens para o DET e DEM não estão definidos para este callout [SWS_SecOC_00119].
Esta nota de uso foi gerada por uma IA e baseia-se exclusivamente nos dados de especificação do release AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e semântica
A função síncrona SecOC_VerifyStatus informa a aplicação sobre o resultado da tentativa de verificação de uma PDU recebida pelo módulo SecOC [SWS_SecOC_91014]. A interface possui o service ID 0x53, não retorna nenhum valor (void) e é disponibilizada por meio do cabeçalho SecOC_Externals.h [SWS_SecOC_91014].
Parâmetros
Como único parâmetro de passagem serve o parâmetro de entrada verificationStatus do tipo SecOC_VerificationStatusType [SWS_SecOC_91014]. Esta estrutura fornece detalhes sobre o status de verificação, bem como a informação sobre para qual Data-ID e Freshness-Value-ID a verificação foi executada [SWS_SecOC_91014]. Não existem parâmetros de entrada ou saída adicionais [SWS_SecOC_91014].
Tratamento de erros e simultaneidade
Códigos de erro específicos, bem como notificações ao DET ou DEM não estão definidos para este serviço [SWS_SecOC_91014]. Interpretação: Verificações com falha devem ser comunicadas à aplicação primariamente por meio dos valores de status dentro da estrutura transmitida verificationStatus. Pergunta Q-177be3d746f99b24 (aberta) Quanto à concorrência, SecOC_VerifyStatus não é reentrante para o mesmo Freshness-Value-ID, mas é reentrante para diferentes Freshness-Value-IDs [SWS_SecOC_91014].
Este texto foi gerado por uma IA e serve como orientação. A especificação AUTOSAR é determinante.
Guia do implementador em breve (complexidade 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
O tipo de enumeração SecOC_StateType serve para a representação formal dos estados operacionais internos do módulo SecOC e é disponibilizado por meio do arquivo de cabeçalho SecOC.h [SWS_SecOC_00162]. Ele permite um gerenciamento consistente de estado ao longo de todo o ciclo de vida do componente de software.
De acordo com a especificação, a faixa de valores deste tipo de enumeração compreende exatamente dois estados discretos [SWS_SecOC_00162]:
SECOC_UNINIT: Sinaliza inequivocamente que o módulo SecOC não está inicializado [SWS_SecOC_00162].SECOC_INIT: Indica de forma vinculativa que o módulo SecOC foi inicializado [SWS_SecOC_00162].
Em relação à interação e às condições de ordenação, SECOC_UNINIT representa presumivelmente o estado padrão imediatamente após a inicialização do sistema. Pergunta Q-4d02fe3a0979113f (aberta) Nesta fase, chamadas funcionais para proteção criptográfica ou verificação de mensagens devem ser rejeitadas, pois as estruturas de dados necessárias ainda não estão disponíveis. O status provavelmente muda para SECOC_INIT somente após a inicialização bem-sucedida do módulo. Módulos chamadores ou rotinas internas de monitoramento devem utilizar SecOC_StateType para verificar sincronicamente o status operacional atual e impedir de forma confiável acessos inadmissíveis antes da inicialização.
Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
tipo SecOC_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
tipo SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
O tipo de enumeração SecOC_VerificationResultType serve para a sinalização dos resultados na verificação de I-PDUs protegidas no módulo SecOC e é disponibilizado por meio do cabeçalho Rte_SecOC_Type.h [SWS_SecOC_00149].
A enumeração especifica os seguintes valores de resultado para a diferenciação do status de verificação [SWS_SecOC_00149]:
SECOC_VERIFICATIONSUCCESS(0x00): A verificação dos dados foi bem-sucedida [SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE(0x01): A verificação não foi bem-sucedida [SWS_SecOC_00149].SECOC_FRESHNESSFAILURE(0x02): A verificação falhou devido a um valor de frescor incorreto [SWS_SecOC_00149].SECOC_AUTHENTICATIONBUILDFAILURE(0x03): A verificação não foi bem-sucedida devido a códigos de autenticação estruturados incorretamente [SWS_SecOC_00149].SECOC_NO_VERIFICATION(0x04): A verificação foi ignorada e os dados foram encaminhados inalterados para a camada superior; esse estado só é possível com a sobreposição de statusSecOC_VerifyStatusOverrideativa [SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE_OVERWRITTEN(0x05): A verificação falhou, contudo a I-PDU foi ainda assim passada para a camada superior em virtude do status de sobreposição; esse estado também ocorre exclusivamente com o uso deSecOC_VerifyStatusOverride[SWS_SecOC_00149].
Com base nesses valores, camadas superiores podem avaliar com precisão se uma verificação foi concluída normalmente com sucesso, se falhou devido a códigos criptográficos ou valores de frescor, ou se estados administrativos de override controlaram o encaminhamento dos dados [SWS_SecOC_00149].
Este texto foi gerado por uma IA com base na especificação 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 da estrutura de status de verificação
O tipo de estrutura SecOC_VerificationStatusType agrupa, de acordo com [SWS_SecOC_00160], o resultado de uma tentativa de verificação para uma I-PDU protegida juntamente com o Data-ID associado e o valor de frescor utilizado. A definição é disponibilizada por meio do arquivo de cabeçalho Rte_SecOC_Type.h e compreende os seguintes elementos:
freshnessValueID(uint16): identificador do valor de frescor que levou ao status de verificação ([SWS_SecOC_00160]).verificationStatus(SecOC_VerificationResultType): resultado detalhado da tentativa de verificação ([SWS_SecOC_00160]).secOCDataId(uint16): Data-ID da PDU afetada ([SWS_SecOC_00160]).
O elemento verificationStatus diferencia estados específicos de sucesso e de erro ([SWS_SecOC_00160]):
SECOC_VERIFICATIONSUCCESS: a verificação criptográfica foi bem-sucedida.SECOC_VERIFICATIONFAILURE: a verificação falhou.SECOC_FRESHNESSFAILURE: a verificação falhou devido a um valor de frescor inválido.SECOC_AUTHENTICATIONBUILDFAILURE: verificação com falha em decorrência de códigos de autenticação gerados incorretamente.SECOC_NO_VERIFICATION: nenhuma tentativa de verificação foi executada para esta I-PDU; ela foi repassada inalterada para a camada superior.SECOC_VERIFICATIONFAILURE_OVERWRITTEN: a verificação falhou, mas a I-PDU foi encaminhada para a camada superior devido a um status de override ativo.
Interpretação: Como o tipo agrega os detalhes de verificação, ele deve ser utilizado principalmente em interfaces de feedback e notificação para informar camadas superiores sobre o estado de autenticação de dados recebidos. Pergunta Q-a1099bc88a2981e2 (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
tipo SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF
Type SecOC_OverrideStatusType.
O tipo de enumeração SecOC_OverrideStatusType define os diferentes modos para sobreposição do status de verificação de I-PDUs no módulo SecOC e é disponibilizado por meio do cabeçalho Rte_SecOC_Type.h [SWS_SecOC_00991].
Os valores do tipo enumerado controlam se e como ocorre a verificação do autenticador e como se procede com a I-PDU recebida [SWS_SecOC_00991]:
SECOC_OVERRIDE_DROP_UNTIL_NOTICE(0x00): A verificação é dispensada sem chamada ao CSM, a I-PDU é descartada e o resultado da verificação é definido comoSECOC_NO_VERIFICATION[SWS_SecOC_00991].SECOC_OVERRIDE_DROP_UNTIL_LIMIT(0x01): Assim como antes, a verificação é suspensa e a I-PDU é descartada, porém limitada até que a quantidade configurada de mensagens a sobrepor seja atingida [SWS_SecOC_00991].SECOC_OVERRIDE_CANCEL(0x02): Interrompe a sobreposição ativa do status de verificação e restaura o comportamento regular [SWS_SecOC_00991].SECOC_OVERRIDE_PASS_UNTIL_NOTICE(0x40) eSECOC_OVERRIDE_PASS_UNTIL_LIMIT(0x42): A verificação do autenticador é executada e a I-PDU é encaminhada para a camada superior independentemente do resultado; se a verificação falhar, o resultado é definido comoSECOC_VERIFICATIONFAILURE_OVERWRITTEN(até novo aviso ou limitado por contador) [SWS_SecOC_00991].SECOC_OVERRIDE_SKIP_UNTIL_LIMIT(0x41) eSECOC_OVERRIDE_SKIP_UNTIL_NOTICE(0x43): A verificação é dispensada, o resultado éSECOC_NO_VERIFICATIONe a I-PDU é passada para a camada superior. SeSecOCRxSecuredPduCollectionestiver configurado, o SecOC processa aSecOCRxAuthenticPdudiretamente, sem esperar pelaSecOCRxCryptographicPdu[SWS_SecOC_00991].
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade 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#0bd32d03- Content hash
0bd32d03- 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 em alemão