DEENESPTFRRUARHIKOZHNL

Secure Onboard Communication (SecOC)

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

Guia do móduloGERADO POR IA

Protege I-PDUs com Authenticator e Freshness Value contra manipulação e replay junto ao roteador de PDU.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: e42ecdfc6fe3 Procedência Perguntas em aberto (2)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Protege I-PDUs com Authenticator e Freshness Value contra manipulação e replay junto ao roteador de PDU.

O SecOC protege I-PDUs contra manipulação e replay. Para isso, ele anexa um Authenticator e um Freshness Value no envio e verifica ambos na recepção. A aceitação de uma PDU e o processamento criptográfico são desacoplados: somente as funções principais cíclicas autenticam ou verificam em seis etapas ([SWS_SecOC_00040]). A criptografia é fornecida pelo CSM, e o Freshness Value por um Freshness Manager externo. Tentativas de repetição limitadas decidem quando uma PDU recebida é descartada e um status de verificação é relatado ([SWS_SecOC_00241]).

O SecOC protege I-PDUs na pilha de comunicação. Ele situa-se ao lado do PduR e anexa a cada Authentic I-PDU o Authenticator e um Freshness Value eventualmente truncado. Cria-se assim uma Secured I-PDU (SWS SecOC p. 39). O Authenticator é calculado a partir do Data Identifier, dos dados úteis e do Freshness Value completo (SWS SecOC p. 29). A criptografia é fornecida pelo CSM ([SWS_SecOC_00138]), e o Freshness Value por um Freshness Manager via RTE ou função C ([SWS_SecOC_91001], [SWS_SecOC_00230]).

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

Diagrama de contexto: SecOC entre PduR, CSM, Freshness Manager, aplicação, DET e IdsM. Fontes: [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

O envio e a recepção são desacoplados. Em SecOC_[If|Tp]Transmit, o SecOC apenas copia os dados úteis. Somente a SecOC_MainFunctionTx cíclica calcula a Authentication Information e dispara a transmissão via PduR (SWS SecOC p. 40, [SWS_SecOC_00176]). O SecOC armazena completamente em buffer as Secured I-PDUs recebidas e as verifica em SecOC_MainFunctionRx em seis etapas, desde o parsing até o repasse para o nível superior ([SWS_SecOC_00040], [SWS_SecOC_00255]). O módulo opera apenas no estado SECOC_INIT, estabelecido por SecOC_Init e desfeito por SecOC_DeInit ([SWS_SecOC_00162], [SWS_SecOC_00161]).

As repetições na recepção são controladas por dois contadores ([SWS_SecOC_00237], [SWS_SecOC_00239], [SWS_SecOC_00240], [SWS_SecOC_00241]):

  • O contador de Build contabiliza gargalos temporários como E_BUSY.
  • O contador de Verify contabiliza comparações de MAC com falha.
  • Se um deles atingir seu limite, a PDU é descartada.

No envio, atingir um limite leva a SECOC_E_CRYPTO_FAILURE e, se liberado, ao envio com padrão padrão ([SWS_SecOC_00155], [SWS_SecOC_00229]).

rxverifikation a Secured I-PDU completamente recebida contador de Build = 0, contador de Verify = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Contador de Build + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e Contador de Build >= SecOCAuthenticationBuildAttempts? d->e f Repetição na próxima SecOC_MainFunctionRx e->f não g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g sim f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Contador de Verify + 1, contador de Build = 0 j->k MAC inválido m Verwerfen: SECOC_VERIFICATIONFAILURE j->m não recuperável (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n bem-sucedido l Contador de Verify >= SecOCAuthenticationVerifyAttempts? k->l l->b não: próximo Freshness Value válido l->m sim

Diagrama de atividades: contadores de Build e Verify decidem sobre repetição ou descarte. Fontes: [SWS_SecOC_00239], [SWS_SecOC_00241]

O SecOC relata o resultado de cada tentativa como SecOC_VerificationStatusType, dependendo da configuração para componentes de software e para o Freshness Manager ([SWS_SecOC_00271], [SWS_SecOC_00243]). Com SecOC_VerifyStatusOverride, a verificação pode ser sobreposta de forma direcionada ([SWS_SecOC_00122]). Na divisão em Authentic e Cryptographic I-PDU, a verificação só ocorre quando ambas as partes estiverem disponíveis com o Message Linker correspondente ([SWS_SecOC_00211]).

Papel junto ao PduR e limite do sistema

O SecOC situa-se na arquitetura em camadas ao lado do roteador de PDU. Ele converte uma Authentic I-PDU em uma Secured I-PDU anexando Authentication Information diretamente após os dados úteis: o Authenticator e o Freshness Value eventualmente truncado (SWS SecOC p. 39, SWS SecOC p. 43). Nenhum outro módulo pode depender do SecOC, de modo que um sistema também possa ser construído sem o SecOC. MetaData de uma Authentic PDU aparecem inalterados na Secured PDU e vice-versa ([SWS_SecOC_00212]).

O Authenticator é calculado por meio da concatenação de três partes: SecOCDataId, parte protegida da Authentic I-PDU e Freshness Value completo (SWS SecOC p. 29). A criptografia é fornecida pelo CSM, por exemplo com Csm_MacGenerate e Csm_MacVerify ([SWS_SecOC_00138]). O Freshness Value é disponibilizado por um Freshness Manager, seja pela porta RTE FreshnessManagement ou por funções C ([SWS_SecOC_91001], [SWS_SecOC_00230]). Outros destinatários de mensagens são:

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

Diagrama de contexto: o SecOC intermedeia entre PduR, CSM, Freshness Manager e aplicação e reporta ao DET e IdsM. Fontes: SWS SecOC p. 24, [SWS_SecOC_00138], [SWS_SecOC_91001], [SWS_SecOC_00273]

Os mesmos mecanismos também suportam gateways. O SecOC suporta gateways de reautenticação entre zonas de segurança, sendo cada processo configurado separadamente. \"Gatewaying-on-the-fly\" não é suportado (SWS SecOC p. 57).

Inicialização, estado do módulo e funções principais cíclicas

O estado do módulo SecOC_StateType conhece SECOC_UNINIT e SECOC_INIT ([SWS_SecOC_00162]).

  • SecOC_Init recebe uma SecOC_ConfigType específica da implementação e, em caso de sucesso, conduz a SECOC_INIT. Em caso de alocação para múltiplas partições, é possível uma função Init por partição ([SWS_SecOC_00106], [SWS_SecOC_00104]).
  • SecOC_DeInit descarta todas as I-PDUs em buffer e redefine o módulo para o estado não inicializado ([SWS_SecOC_00161]). Nisso, variáveis internas e buffers também são limpos (SWS SecOC p. 65).
  • Uma chamada sem inicialização prévia reporta SECOC_E_UNINIT ([SWS_SecOC_00101]).

O processamento propriamente dito é realizado por SecOC_MainFunctionTx e SecOC_MainFunctionRx. Para cada instância configurada, é gerada uma função …_<shortName> própria ([SWS_SecOC_00176], [SWS_SecOC_00171]). O seu período é configurável (SWS SecOC p. 130, SWS SecOC p. 129). Cada SecOCTxPduProcessing é executada na instância referenciada ([SWS_SecOC_00276]).

Sem inicialização, a função principal de Tx retorna imediatamente. Caso contrário, ela autentica todas as novas Authentic I-PDUs na mesma chamada e dispara sua transmissão imediatamente via PduR (SWS SecOC p. 84).

lebenszyklus start Start uninit SECOC_UNINIT start->uninit uninit->uninit SecOC_MainFunctionTx: retorno imediato; chamada de API: SECOC_E_UNINIT init SECOC_INIT uninit->init SecOC_Init(config) erfolgreich init->uninit SecOC_DeInit(): apagar I-PDUs em buffer, variáveis e buffers init->init SecOC_MainFunctionTx/Rx: autenticação ou verificação

Diagrama de estados: Init e DeInit alternam entre SECOC_UNINIT e SECOC_INIT; a função principal opera apenas no estado inicializado. Fontes: [SWS_SecOC_00162], [SWS_SecOC_00106], [SWS_SecOC_00161], SWS SecOC p. 84

Envio: da Authentic para a Secured I-PDU

O caminho de envio é desacoplado e ocorre em duas etapas (SWS SecOC p. 40):

  1. A camada superior chama PduR_<Up>Transmit, o PduR chama SecOC_[If|Tp]Transmit. O SecOC copia a Authentic I-PDU completamente para a sua própria memória e retorna ([SWS_SecOC_00252]).
  2. Na execução seguinte da função principal, é gerada a Secured I-PDU, e o SecOC dispara a sua transmissão via PduR.

O SecOC repassa confirmações da camada inferior para o nível superior por meio de PduR_SecOC[If|Tp]TxConfirmation ([SWS_SecOC_00063]).

A autenticação abrange seis etapas: preparar, formar DataToAuthenticator, gerar Authenticator, montar Secured I-PDU, incrementar Freshness Counter, enviar. O Data Id (16 bits) e o Freshness Value entram em Big Endian (SWS SecOC p. 33).

Se a fonte de frescor for uma função C (CFUNC), o SecOC obtém o valor por meio de SecOC_GetTxFreshness. Caso o Freshness Manager deva fornecer ele próprio o valor truncado, utiliza-se SecOC_GetTxFreshnessTruncData para isso ([SWS_SecOC_00231], [SWS_SecOC_00230]). O SecOC sinaliza o disparo de envio com SecOC_SPduTxConfirmation ou via RTE ([SWS_SecOC_00232], [SWS_SecOC_00233]). Áreas não utilizadas são preenchidas com SecOCTxPduUnusedAreasDefault ([SWS_SecOC_00269]).

Autenticação em transmissão direta (interface de barramento)ComPduRSecOCFreshness ManagerCsmUntere Schicht (z. B. CanIf)PduR_ComTransmit()SecOC_IfTransmit()Authentic I-PDU completain eigenen Puffer kopierenE_OKUse Case: SecOC_MainFunctionTx (próxima chamada)SecOC_GetTxFreshness()ou SecOC_GetTxFreshnessTruncData()E_OK, Freshness ValueCsm_MacGenerate(DataToAuthenticator)AuthenticatorAsynchroner Csm-Job: Ergebnis per CallbackSecured I-PDU bilden:Authentic I-PDU | Freshness Value (truncado) | AuthenticatorPduR_SecOCTransmit()Transmit (Secured I-PDU)SecOC_SPduTxConfirmation()Use Case: ConfirmaçãoTxConfirmation(result)SecOC_TxConfirmation(result)PduR_SecOCIfTxConfirmation(result)TxConfirmation(result)

Diagrama de sequência: a aceitação da Authentic I-PDU e a autenticação na execução seguinte da função principal são desacopladas. Fontes: SWS SecOC p. 40, [SWS_SecOC_00231], [SWS_SecOC_00232], [SWS_SecOC_00063]

Em caso de transmissão disparada por trigger, deve ter ocorrido antes pelo menos um SecOC_IfTransmit. Sem dados disponíveis, SecOC_TriggerTransmit responde com E_NOT_OK, e AlwaysTransmit não deve ser utilizado (SWS SecOC p. 44, [SWS_SecOC_00127]).

Para SECOC_TPPDU, SecOC_TpTransmit inicia o processo. O SecOC obtém os dados em partes com PduR_SecOCTpCopyTxData ([SWS_SecOC_00253], [SWS_SecOC_00254]). Em seguida, o módulo TP realiza a leitura por meio de SecOC_CopyTxData ([SWS_SecOC_00129]).

Autenticação com protocolo de transporte (SECOC_TPPDU)ComPduRSecOCCanTpPduR_ComTransmit()SecOC_TpTransmit()loopaté a Authentic I-PDU estar completamente copiadaPduR_SecOCTpCopyTxData()Com_CopyTxData()BUFREQ_E_BUSY: repetição na próxima chamada da Main FunctionBUFREQ_E_NOT_OK: AbbruchUse Case: SecOC_MainFunctionTxauthenticate()PduR_SecOCTransmit()CanTp_Transmit()loopje N-PDUPduR_CanTpCopyTxData()SecOC_CopyTxData()PduR_CanTpTxConfirmation()SecOC_TpTxConfirmation()PduR_SecOCTpTxConfirmation()Com_TpTxConfirmation()

Diagrama de sequência: no envio TP, o SecOC atua para cima como coletor TP e para baixo como fonte TP. Fontes: SWS SecOC p. 109, [SWS_SecOC_00253], [SWS_SecOC_00254]

Com SecOCTxSecuredPduCollection, a Secured I-PDU é dividida em duas mensagens:

  • a Authentic I-PDU,
  • uma Cryptographic I-PDU composta por Authentication Data e Message Linker.

Ambas são enviadas no mesmo ciclo ([SWS_SecOC_00201], [SWS_SecOC_00209], [SWS_SecOC_00202]). A confirmação para cima só será E_OK se ambas as partes tiverem sido confirmadas com E_OK ([SWS_SecOC_00270]).

Recepção e verificação

A verificação abrange seis etapas ([SWS_SecOC_00040]):

  1. analisar Authentic I-PDU, Freshness Value e Authenticator,
  2. consultar o Freshness Value junto ao Freshness Manager,
  3. formar os dados a serem verificados,
  4. verificar a Authentication Information,
  5. confirmar o Freshness Manager,
  6. repassar a Authentic I-PDU para a camada superior.

O SecOC copia a Secured I-PDU inicialmente para a sua própria memória e a verifica na execução seguinte da função principal (SWS SecOC p. 50). Por meio de interfaces de barramento, ela chega via SecOC_RxIndication ([SWS_SecOC_00124]). Se uma I-PDU de comprimento estático for menor do que o configurado, ela é silenciosamente descartada ([SWS_SecOC_00268]). O comprimento da Authentic I-PDU provém da configuração, da camada inferior ou do cabeçalho ([SWS_SecOC_00257], [SWS_SecOC_00258], [SWS_SecOC_00259]).

Recepção via interface de barramento e tratamento de FreshnessPduRSecOCSchMFreshness ManagerCsmSecOC_RxIndication()Secured I-PDU puffern,Contador de Build e Verify = 0SecOC_MainFunctionRx()loopAuthentication verify attempts [MAC-Verifikation fehlgeschlagen]loopAuthentication build attempts [GetRxFreshness()==E_BUSY || Csm_MacVerify()==E_BUSY]GetRxFreshness()Freshness ValueCsm_MacVerify()VerifikationsergebnisVerificationStatus()

Diagrama de sequência: a consulta de frescor e a verificação do MAC são executadas no contexto da função principal de Rx em dois loops de repetição aninhados. Fontes: SWS SecOC p. 103, [SWS_SecOC_00237], [SWS_SecOC_00238]

No protocolo de transporte, a recepção ocorre da seguinte forma ([SWS_SecOC_00130], [SWS_SecOC_00128], [SWS_SecOC_00125]):

  • SecOC_StartOfReception reserva buffer para toda a Secured I-PDU,
  • SecOC_CopyRxData assume os segmentos individuais,
  • SecOC_TpRxIndication relata o término da recepção.

Somente após a recepção completa é que o SecOC pode repassar a Authentic I-PDU ([SWS_SecOC_00255]). Interpretação segundo o diagrama: o repasse para a camada superior provavelmente só deve começar após a verificação bem-sucedida (SWS SecOC p. 112). Pergunta Q-d5c1780d034c722e (aberta) Diferindo disso, a versão R23-11 já encaminha o início da recepção em SecOC_StartOfReception (SWS SecOC p. 54).

Verificação com protocolo de transporteCanTpPduRSecOCComPduR_CanTpStartOfReception()SecOC_StartOfReception()BUFREQ_OK (buffer para toda a Secured I-PDU)loopje N-PDUPduR_CanTpCopyRxData()SecOC_CopyRxData()BUFREQ_OKPduR_CanTpRxIndication()SecOC_TpRxIndication(E_OK)Use Case: SecOC_MainFunctionRxverify()optverificação bem-sucedida (interpretação da ordem de acordo com o diagrama)PduR_SecOCTpStartOfReception()Com_StartOfReception()loopaté que todos os dados sejam copiadosPduR_SecOCTpCopyRxData()Com_CopyRxData()PduR_SecOCTpRxIndication()Com_TpRxIndication()

Diagrama de sequência: o SecOC armazena em buffer toda a Secured I-PDU; o repasse para o Com ocorre (interpretação) somente após a verificação bem-sucedida. Fontes: SWS SecOC p. 112, [SWS_SecOC_00255]

Com SecOCRxSecuredPduCollection, o SecOC só verifica quando a Authentic e a Cryptographic I-PDU estiverem disponíveis com o Message Linker correspondente ([SWS_SecOC_00203], [SWS_SecOC_00211]). Para isso, ele mantém buffers separados ([SWS_SecOC_00204]):

  • Após a verificação bem-sucedida, ambos os buffers são esvaziados ([SWS_SecOC_00207]).
  • Após uma falha, ambos são mantidos e, a cada nova entrada, verifica-se novamente ([SWS_SecOC_00208]).

A estratégia de estouro QUEUE exclui essa divisão ([SWS_SecOC_CONSTR_00265]).

Freshness Manager, status de verificação e Override

O SecOC não gerencia o frescor por conta própria. Dependendo de SecOCQueryFreshnessValue (RTE ou CFUNC) e SecOCUseAuthDataFreshness, ele consulta GetRxFreshness ou GetRxFreshnessAuthData. No segundo caso, ele também fornece uma seção configurada da PDU recebida ([SWS_SecOC_00244], [SWS_SecOC_00245], [SWS_SecOC_00246], [SWS_SecOC_00247]). Além disso, são passados o Freshness Value truncado e o número de tentativas de verificação anteriores ([SWS_SecOC_91007], [SWS_SecOC_91006]).

Os valores estão presentes como SecOC_FreshnessArrayType ([SWS_SecOC_91012]), com o bit mais significativo no primeiro byte, ou seja, Big Endian (SWS SecOC p. 80). O valor de retorno E_BUSY indica que o valor está temporariamente indisponível ([SWS_SecOC_91002]).

SecOC_VerificationStatusType resume o resultado de cada tentativa: freshnessValueID mais um valor de SecOC_VerificationResultType, por exemplo SECOC_FRESHNESSFAILURE ([SWS_SecOC_00160], [SWS_SecOC_00149]). A notificação ocorre conforme o modo BOTH, FAILURE_ONLY ou NONE ([SWS_SecOC_00271], [SWS_SecOC_91016]). Opcionalmente, apenas o estado final é repassado ([SWS_SecOC_00272]). O Freshness Manager recebe o resultado via SecOC_VerificationStatusCallout ([SWS_SecOC_00119], [SWS_SecOC_00243]).

SecOC_VerifyStatusOverride sobrepõe a verificação de forma direcionada ([SWS_SecOC_00122]). No R20-11, SecOC_OverrideStatusType reconhece, entre outros, …DROP_UNTIL_NOTICE, …DROP_UNTIL_LIMIT, …CANCEL e …PASS_UNTIL_NOTICE ([SWS_SecOC_00991]). O R23-11 complementa …SKIP_UNTIL_LIMIT e …PASS_UNTIL_LIMIT (SWS SecOC p. 102). No lado de transmissão, SecOC_SendDefaultAuthenticationInformation ativa ou desativa o padrão padrão (default pattern) por Freshness Value ID ([SWS_SecOC_91013]).

Configuração e referência de instâncias

A configuração divide-se em três contêineres:

  • SecOCGeneral para parâmetros gerais, como SecOCDefaultAuthenticationInformationPattern (SWS SecOC p. 124),
  • para cada PDU de transmissão, um SecOCTxPduProcessing (SWS SecOC p. 155),
  • para cada PDU de recepção, um SecOCRxPduProcessing (SWS SecOC p. 140).

Parâmetros centrais são SecOCDataId, SecOCFreshnessValueId, os comprimentos de freshness e do autenticador, bem como a referência CsmJob (SWS SecOC p. 106). Se um job CSM operar de forma assíncrona, o SecOC precisará de callbacks específicos do fabricante para isso (SWS SecOC p. 78).

Algumas portas só existem com a configuração correspondente:

  • SendDefaultAuthenticationInformation apenas se um padrão padrão estiver definido ([SWS_SecOC_91020]),
  • FreshnessManagement apenas em caso de consulta via RTE ([SWS_SecOC_91001]).

Security Events só são reportados se SecOCEnableSecurityEventReporting estiver configurado ([SWS_SecOC_00273]).

Comportamento em caso de erro

No lado de transmissão, aplica-se o seguinte:

  • Em caso de erros recuperáveis do CSM, como E_BUSY ou QUEUE_FULL, o SecOC retém a Authentic I-PDU e tenta novamente na próxima execução ([SWS_SecOC_00151]).
  • Se o limite de tentativas for atingido, ele reporta SECOC_E_CRYPTO_FAILURE ao DET ([SWS_SecOC_00155]).
  • Ao atingir o limite, E_NOT_OK de freshness ou um erro irrecuperável, o SecOC utiliza o padrão padrão, desde que esteja habilitado ([SWS_SecOC_00229]).
  • Se nenhum padrão estiver configurado, o SecOC cancela a requisição (SWS SecOC p. 124).
  • Caso o padrão esteja configurado, mas não habilitado, o SecOC provavelmente também cancelará. Pergunta Q-a3c1cc4b9b925ed4 (aberta)
txfehler a SecOC_MainFunctionTx: Authentifizierung starten b Freshness abfragen, Csm_MacGenerate a->b c Ergebnis? b->c d Manter Authentic I-PDU, próxima chamada da Main Function c->d behebbar (E_BUSY, QUEUE_FULL) g Default-Senden per SecOC_SendDefaultAuthenticationInformation freigegeben? c->g Freshness E_NOT_OK ou não recuperável (E_NOT_OK, KEY_FAILURE) j Enviar Secured I-PDU via PduR c->j E_OK e SecOCAuthenticationBuildAttempts erreicht? d->e e->b não e->g sim (adicionalmente Det: SECOC_E_CRYPTO_FAILURE) h Freshness Value e Authenticator a partir de SecOCDefaultAuthenticationInformationPattern g->h sim i Authentic I-PDU entfernen, Sendeauftrag abbrechen g->i nenhum padrão configurado; interpretação: também em caso de padrão não liberado h->j

Diagrama de atividades: Erros recuperáveis levam à repetição; limite ou erro crítico levam ao padrão padrão ou ao cancelamento. Fontes: [SWS_SecOC_00151], [SWS_SecOC_00155], [SWS_SecOC_00229], SWS SecOC p. 124

Cancelamentos e erros das camadas adjacentes são tratados pelo SecOC da seguinte forma:

  • O SecOC repassa SecOC_[If|Tp]CancelTransmit imediatamente para baixo e libera todos os buffers (SWS SecOC p. 48, [SWS_SecOC_91009]).
  • Se a camada inferior reportar E_NOT_OK, o SecOC apenas omite a confirmação para cima.
  • Se a recuperação de dados no envio de TP retornar BUFREQ_E_BUSY, o SecOC a repete na próxima execução ([SWS_SecOC_00260]).
  • BUFREQ_E_NOT_OK leva ao cancelamento imediato tanto no envio quanto na recepção ([SWS_SecOC_00266], [SWS_SecOC_00267]).

No lado de recepção, o SecOC mantém um contador de build e um contador de verificação por PDU, ambos iniciando em 0 ([SWS_SecOC_00234], [SWS_SecOC_00235]):

rxverifikation a Secured I-PDU completamente recebida contador de Build = 0, contador de Verify = 0 b Freshness abfragen (SecOC_GetRxFreshness / …AuthData) a->b c Ergebnis Freshness? b->c d Contador de Build + 1 c->d E_BUSY h Verwerfen: SECOC_FRESHNESSFAILURE c->h E_NOT_OK i Csm_MacVerify c->i E_OK e Contador de Build >= SecOCAuthenticationBuildAttempts? d->e f Repetição na próxima SecOC_MainFunctionRx e->f não g Verwerfen: SECOC_AUTHENTICATIONBUILDFAILURE e->g sim f->b j Ergebnis Verifikation? i->j j->d E_BUSY, QUEUE_FULL k Contador de Verify + 1, contador de Build = 0 j->k MAC inválido m Verwerfen: SECOC_VERIFICATIONFAILURE j->m não recuperável (E_NOT_OK, KEY_FAILURE) n SECOC_VERIFICATIONSUCCESS, Authentic I-PDU an obere Schicht j->n bem-sucedido l Contador de Verify >= SecOCAuthenticationVerifyAttempts? k->l l->b não: próximo Freshness Value válido l->m sim

Diagrama de atividades: Contadores de build e de verificação controlam a repetição e o descarte na recepção. Fontes: SWS SecOC p. 42, PRS SecOC p. 19, [SWS_SecOC_00239], [SWS_SecOC_00241]

Para E_NOT_OK de freshness, o R20-11 contém dois requirements paralelos. Um descarta a PDU imediatamente com SECOC_FRESHNESSFAILURE ([SWS_SecOC_00256]). O outro conta uma tentativa com falha e, ao atingir o limite, reporta SECOC_E_FRESHNESS_FAILURE ao DET ([SWS_SecOC_00248]). Adicionalmente, Security Events são enviados ao IdsM, como SECOC_SEV_MAC_VERIFICATION_FAILED com o DataId como contexto ([SWS_SecOC_00274], [SWS_SecOC_00275]).

Evidências mais detalhadas

Guia gerado por IA com base nos trechos de especificação contidos no payload. Normativos para o R20-11 são os requirements; referências a documentos provêm parcialmente de outros releases. Não substitui a especificação.

Secure Onboard Communication (SecOC)

Provides cryptographic authentication and freshness protection for critical communication PDUs.

Funktionen — Übersicht

Typen — Übersicht

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4620b5d490e2 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 tipo SecOC_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).

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c3c9650a2dbc Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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_IfTransmit [SWS_SecOC_00112] 📄 PDF

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

Requests transmission of a PDU.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4ad6d7766599 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 (tipo PduIdType).
  • PduInfoPtr: Um ponteiro para uma estrutura do tipo PduInfoType, 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]:

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4b4f6d06f1cb Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 93fdfc8c106e Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 507f9341fb59 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7bc4b1ba75bb Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 87867716fd61 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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), overrideStatus controla 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 SecOCAuthenticationBuildAttempts ou SecOCAuthenticationVerifyAttempts, bem como em falhas irrecuperáveis (como KEY_FAILURE), o resultado de verificação e o encaminhamento da PDU orientam-se prioritariamente por overrideStatus [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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 78b64ca2ff88 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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ão SecOCDefaultAuthenticationInformationPattern para 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 FALSE para 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f7c10da93bc2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4e2c4fc6858d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 73c9975309da Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 (tipo PduIdType).
  • result: Resultado da transmissão (tipo Std_ReturnType) com os valores E_OK em caso de transmissão bem-sucedida ou E_NOT_OK em 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ed0d4b6dacab Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 (tipo PduIdType): identificação unívoca da I-PDU transmitida [SWS_SecOC_00152].
  • result (tipo Std_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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: da47edaa7d8f Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 em PduInfoPtr->SduLength e retorna E_OK [SWS_SecOC_00127].
  • Se o espaço de memória não for suficiente, a função retorna E_NOT_OK sem alterar o conteúdo de PduInfoPtr [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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 35610f4482a7 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 42779c9fb9b6 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 retry for um NULL_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_DATACONF confirma todos os dados transmitidos antes desta chamada para liberação de buffer [SWS_SecOC_00129].
  • TP_DATARETRY faz com que dados já transmitidos sejam novamente copiados a partir do deslocamento de bytes definido por TxTpDataCnt [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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e711d8ef8bcc Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 estrutura PduInfoType com os dados úteis do primeiro quadro ou quadro único, bem como metadados; se não houver dados nem metadados disponíveis, é passado NULL_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; bufferSizePtr indica 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; bufferSizePtr permanece inalterado [SWS_SecOC_00130].
  • BUFREQ_E_OVFL: Nenhum buffer com o comprimento solicitado pode ser disponibilizado; a recepção é interrompida e bufferSizePtr permanece 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ef974f5cced3 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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].
  • SecOCTruncatedFreshnessValue e SecOCTruncatedFreshnessValueLength: 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].
  • SecOCFreshnessValue e SecOCFreshnessValueLength: 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 21909ecce4eb Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 truncado SecOCTruncatedFreshnessValue contido na I-PDU com o comprimento em bits SecOCTruncatedFreshnessValueLength, bem como o contador SecOCAuthVerifyAttempts, que é incrementado em tentativas com falha ([SWS_SecOC_91006]).
  • Dados de autenticação: Por meio de SecOCAuthDataFreshnessValue e SecOCAuthDataFreshnessValueLength, é passado opcionalmente um recorte configurado da PDU recebida; a posição inicial e o comprimento são determinados por SecOCAuthDataFreshnessStartPosition e SecOCAuthDataFreshnessLen ([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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: dd021d2527b1 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2ae3128a39ae Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 802cf05f792c Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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_ shall be implemented. Hereby is the short name of the Sec OCMain Function Rx configuration container in the ECU configuration.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 03542d899cdb Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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_ shall be implemented. Hereby is t he short name of the Sec OCMain Function Tx configuration container in the ECU configuration.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 0a9d6b2d7e1e Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a7aa9530a7de Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 40383ff847fc Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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_StateType [SWS_SecOC_00162] 📄 PDF

States of the Sec OC module

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9d4be727e8c2 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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_VerificationResultType [SWS_SecOC_00149] 📄 PDF

Enumeration to indicate veri fication results.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9b4c5c47c73b Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 status SecOC_VerifyStatusOverride ativa [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 de SecOC_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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 98b8726de1ab Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a5d2888a2f81 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

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 como SECOC_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) e SECOC_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 como SECOC_VERIFICATIONFAILURE_OVERWRITTEN (até novo aviso ou limitado por contador) [SWS_SecOC_00991].
  • SECOC_OVERRIDE_SKIP_UNTIL_LIMIT (0x41) e SECOC_OVERRIDE_SKIP_UNTIL_NOTICE (0x43): A verificação é dispensada, o resultado é SECOC_NO_VERIFICATION e a I-PDU é passada para a camada superior. Se SecOCRxSecuredPduCollection estiver configurado, o SecOC processa a SecOCRxAuthenticPdu diretamente, sem esperar pela SecOCRxCryptographicPdu [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

Inicialização e estado

SecOC_DeInit função

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

void SecOC_DeInit (void);

Returns the version information of this module.

void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
SecOC_Init função

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

void SecOC_Init (const SecOC_ConfigType* config);

Serviços · Get…

Service SecOC_GetRxFreshness.

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

Service SecOC_GetRxFreshnessAuthData.

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

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

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

Service SecOC_GetTxFreshnessTruncData.

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

Serviços · Tp…

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

Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);

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

Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);

Requests transmission of a PDU.

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

Serviços · Outros

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

Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);

Requests transmission of a PDU.

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

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

Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);

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

void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);

Service SecOC_VerifyStatusOverride.

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

Callbacks

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

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

Service SecOC_CopyTxData.

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

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

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

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

void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);

Service SecOC_StartReception.

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

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

void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);

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

void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);

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

Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

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

void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Callouts e interfaces esperadas

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

void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);

Cíclico

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

void SecOC_MainFunctionRx (void);

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

void SecOC_MainFunctionTx (void);

Tipos

Configuration data structure of Sec OC module

Type SecOC_OverrideStatusType.

States of the Sec OC module

Enumeration to indicate veri fication results.

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