Secure Onboard Communication (SecOC)
Provides cryptographic authentication and freshness protection for critical communication PDUs.
Funktionen — Übersicht
void SecOC_Init (const SecOC_ConfigType* config);Initializes the the Sec OC module.void SecOC_DeInit (void);This service stops the secure onboard communication.void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);Service SecOC_VerifyStatusOverride.Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);The service provides the ability to enable the sending of un - authenticated PDU to lower layer.void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission...Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size...BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer.BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Service SecOC_CopyTxData.BufReq_ReturnType SecOC_StartOf SecOC_StartReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr); ⚠️Service SecOC_StartReception.Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshness.Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshnessAuthData.Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value),...Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);Service SecOC_GetTxFreshnessTruncData.void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.void SecOC_MainFunctionRx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path.void SecOC_MainFunctionTx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path.void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);Service is used to propagate the status of each verification attempt from the Sec OC module to other modules.void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by...
Typen — Übersicht
struct SecOC_ConfigTypeConfiguration data structure of Sec OC moduleenum SecOC_StateTypeStates of the Sec OC moduleSecOC_FreshnessArrayType-enum SecOC_VerificationResultTypeEnumeration to indicate veri fication results.enum SecOC_VerificationStatusTypeData structure to bundle the status of a verification attempt for a specific Freshness Value and Data IDenum SecOC_OverrideStatusTypeType SecOC_OverrideStatusType.
Funktionen & Typen — Detailansicht
함수 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.
동기 함수 SecOC_Init은(는) 모듈 SecOC의 초기화 역할을 하며, 성공적으로 완료되면 이를 SecOC_INIT 상태로 전환합니다 [SWS_SecOC_00106]. 호출은 서비스 ID 0x01을(를) 갖는 SecOC.h의 인터페이스를 통해 수행됩니다 [SWS_SecOC_00106].
매개변수 및 반환값
- 전달 매개변수: 입력 매개변수
config을(를) 통해SecOC_ConfigType타입의 선택된 구성 구조체에 대한 포인터가 전달됩니다 [SWS_SecOC_00106]. - 반환값: 이 함수는 반환값이 없습니다(
void) [SWS_SecOC_00106].
동시성 및 파티셔닝
SecOC_Init의 실행은 non-reentrant(Non Reentrant)로 명시되어 있습니다 [SWS_SecOC_00106].
여러 파티션이 있는 시스템에는 특별한 요구 사항이 적용됩니다: 모듈 SecOC이(가) 여러 파티션에 할당된 경우(SecOC_MainFunction과(와) 같은 메인 함수를 파티션들에 분산시킴으로써), 파티션당 하나의 Init 함수가 존재할 수 있습니다 [SWS_SecOC_00106]. 단일 중앙 함수 SecOC_Init이(가) 제공되는지 또는 파티션별로 별도의 함수가 제공되는지는 구현에 따라 다릅니다 [SWS_SecOC_00106]. 파티션별 함수가 제공되는 경우, 구현 시 각 EcucPartition의 짧은 이름을 포함하는 접미사를 붙이는 방식 등으로 이름 충돌을 방지해야 합니다 [SWS_SecOC_00106].
이 텍스트는 AUTOSAR Classic R20-11 명세를 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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).
사용법 및 의미론
동기 함수 SecOC_DeInit은(는) SecOC 모듈에서 보안 온보드 통신의 작동을 종료하고 모듈을 SecOC_UNINIT 상태로 전환합니다 [SWS_SecOC_00161]. 이 함수는 헤더 파일 SecOC.h에 선언되어 있으며 서비스 ID 0x05 및 시그니처 void SecOC_DeInit(void) [SWS_SecOC_00161]을(를) 갖습니다. 입력 및 출력 파라미터를 모두 처리하지 않으며 반환값을 반환하지 않습니다 [SWS_SecOC_00161].
버퍼 정리 및 상태 전환
SecOC_DeInit을(를) 호출하면 모듈에 버퍼링된 모든 I-PDU가 폐기되고 버퍼에서 제거됩니다[SWS_SecOC_00161]. 보안 통신이 다시 시작된 후에도 이 데이터가 계속 필요한 경우, SecOC_Init을(를) 다시 호출한 후 다시 획득해야 합니다[SWS_SecOC_00161].
동시성 및 제약사항
초기화 해제 실행에는 확정된 지침과 제약 조건이 적용됩니다 [SWS_SecOC_00161]:
- 재진입 불가능: 이 인터페이스는 non-reentrant(
Non Reentrant)로 명시되어 있으므로 동시 실행해서는 안 됩니다 [SWS_SecOC_00161]. - 순서 조건: 호출 후 모듈은 초기화되지 않은 상태로 유지되므로, 후속 통신 서비스는 반드시
SecOC_Init의 재호출을 요구합니다 [SWS_SecOC_00161].
이 사용 지침은 AUTOSAR Classic 사양 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 SecOC_GetVersionInfo [SWS_SecOC_00107] 📄 PDF
void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
함수 SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF
Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
사용
동기식 서비스 함수 SecOC_IfTransmit은(는) 모듈 SecOC에서 PDU 전송을 요청하는 데 사용됩니다 [SWS_SecOC_00112]. 이 함수는 서비스 ID 0x49을(를) 가지며 헤더 파일 SecOC.h을 통해 선언됩니다 [SWS_SecOC_00112].
이 함수는 두 개의 입력 매개변수를 필요로 합니다 [SWS_SecOC_00112]:
TxPduId: 전송할 PDU의 식별자(타입PduIdType).PduInfoPtr: 데이터 길이와 PDU 데이터 및 메타데이터에 대한 포인터를 제공하는PduInfoType타입 구조체에 대한 포인터.
입출력 또는 순수 출력 매개변수는 존재하지 않습니다 [SWS_SecOC_00112].
반환값 및 오류 처리
동기식 반환값으로 Std_ReturnType 타입의 상태가 반환됩니다 [SWS_SecOC_00112]:
E_OK: 전송 요청이 수락되었습니다 [SWS_SecOC_00112].E_NOT_OK: 전송 요청이 수락되지 않았습니다 [SWS_SecOC_00112].
오류가 발생한 경우 요청 실패는 E_NOT_OK에 의해 즉시 신호로 전달되며, DET 또는 DEM을 위한 특정 오류 코드는 함수 사양에서 별도로 식별되지 않습니다 [SWS_SecOC_00112].
동시성 및 제약사항
동시성과 관련하여, 이 함수는 서로 다른 PDU-ID에 대해 재진입 가능(reentrant)하지만, 동일한 PDU-ID에 대해서는 재진입이 불가능합니다 [SWS_SecOC_00112].
이 사용 지침은 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.
함수 SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF
Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
서비스 ID 0x53을(를) 갖는 동기식 인터페이스 SecOC_TpTransmit은(는) SecOC 모듈에서 PDU 전송을 요청하는 데 사용되며 헤더 파일 SecOC.h을(를) 통해 선언됩니다 [SWS_SecOC_91008]. 이 인터페이스는 전송 요청을 수락하고 모듈 내에서 추가 처리를 시작합니다.
사용법 및 상호작용
입력 매개변수로서 이 함수는 PDU 식별자 TxPduId 및 PDU 길이에 대한 정보와 페이로드 데이터 및 메타데이터에 대한 포인터를 포함하는 PduInfoType 타입의 상수에 대한 포인터 PduInfoPtr을(를) 기대합니다 [SWS_SecOC_91008]. 기능적 상호작용은 구성에 의해 결정됩니다. SecOCPduType이(가) SECOC_TPPDU(으)로 구성된 경우, SecOC_TpTransmit의 호출은 Authentic I-PDU에 대한 구체적인 전송 작업을 트리거합니다 [SWS_SecOC_00253].
반환값 및 동시성
호출 결과는 Std_ReturnType을(를) 통해 반환됩니다. 값 E_OK은(는) 전송 요청이 성공적으로 수락되었음을 확인하는 반면, E_NOT_OK은(는) 요청이 거부되었음을 의미합니다 [SWS_SecOC_91008]. 동시성 동작과 관련하여 이 함수는 서로 다른 PDU 식별자에 대해 재진입 가능하게 구현되어 있지만, 동일한 TxPduId에 대해서는 결코 재진입 가능하게 호출되어서는 안 됩니다 [SWS_SecOC_91008].
해석: 실제 환경에서 E_NOT_OK(으)로 요청이 거부되는 것은 주로 PduInfoPtr의 유효하지 않은 포인터 값이거나 동일한 PDU의 전송이 이미 차단되었거나 진행 중이기 때문일 가능성이 큽니다. 질문 Q-4c6165f6330c4bc2 (열림)
이 사용 지침은 AUTOSAR R20-11 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용법 및 호출 컨텍스트
동기식 인터페이스 함수 SecOC_IfCancelTransmit은(는) 하위 통신 모듈에서 진행 중인 PDU 전송의 취소를 요청합니다 [SWS_SecOC_00113]. 이 함수는 헤더 파일 SecOC.h을(를) 통해 선언되며 서비스 ID 0x4a을(를) 갖습니다 [SWS_SecOC_00113]. PduIdType 타입의 전달 매개변수 TxPduId을(를) 통해 전송 과정을 취소할 PDU가 전달됩니다 [SWS_SecOC_00113]. 추가적인 입력 또는 출력 매개변수는 존재하지 않습니다 [SWS_SecOC_00113].
반환값 및 실행
취소 요청의 결과는 Std_ReturnType 타입의 반환값을 통해 호출자에게 동기식으로 전달됩니다 [SWS_SecOC_00113]:
E_OK: 하위 대상 모듈이 PDU 전송 취소를 성공적으로 실행했습니다 [SWS_SecOC_00113].E_NOT_OK: 취소 요청이 대상 모듈에 의해 거부되었습니다 [SWS_SecOC_00113].
이 함수에 대해서는 개발 또는 진단 오류 감지(DET/DEM)를 위한 특정 오류 코드나 오류 알림이 명시되어 있지 않으므로, 오류 감지에는 오직 반환값만이 사용됩니다 [SWS_SecOC_00113].
동시성 및 제약사항
병렬 호출과 관련하여 SecOC_IfCancelTransmit은(는) 서로 다른 PDU 식별자에 대해서는 재진입 가능하지만, 동일한 식별자에 대해서는 명시적으로 재진입이 불가능합니다 TxPduId [SWS_SecOC_00113]. 따라서 호출 모듈은 적절한 동기화를 통해 여러 인스턴스가 동일한 PDU에 대해 동시에 전송 취소를 트리거하지 않도록 보장해야 합니다.
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
동기 함수 SecOC_TpCancelTransmit은(는) 하위 통신 모듈에서 진행 중인 PDU 전송의 취소를 요청하는 역할을 합니다 [SWS_SecOC_91009]. 이는 헤더 파일 SecOC.h을(를) 통해 선언되며 서비스 ID 0x54을(를) 갖습니다 [SWS_SecOC_91009].
입력 매개변수로 취소할 송신 PDU를 고유하게 식별하는 PduIdType 타입의 식별자 TxPduId이(가) 전달됩니다 [SWS_SecOC_91009]. 취소 요청 결과는 Std_ReturnType 타입의 반환값을 통해 동기식으로 다시 보고됩니다 [SWS_SecOC_91009]:
E_OK: 대상 모듈에 의해 전송 취소가 성공적으로 실행되었습니다 [SWS_SecOC_91009].E_NOT_OK: 대상 모듈에 의해 취소가 거부되었습니다 [SWS_SecOC_91009].
동시성과 관련하여 함수는 서로 다른 PDU ID에 대해서는 reentrant이지만, 동일한 PDU ID에 대해서는 명시적으로 non-reentrant입니다 [SWS_SecOC_91009]. 따라서 호출자는 동일한 TxPduId을(를) 사용하는 병렬 호출을 피해야 합니다. 페이로드에 Default Error Tracer(DET) 또는 Diagnostic Event Manager(DEM)에 대한 특정 오류 코드가 제공되지 않으므로, 호출자 컨텍스트에서의 직접적인 오류 처리는 주로 반환값 E_NOT_OK의 평가를 통해 수행될 것으로 보입니다 [SWS_SecOC_91009]. 질문 Q-c1f907444c4ca270 (열림)
이 사용 지침은 자동으로 생성되었으며 AUTOSAR R20-11 사양을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
동기 함수 SecOC_TpCancelReceive은(는) 하위 트랜스포트 프로토콜 모듈에서 진행 중인 PDU 수신 프로세스의 취소를 요청하는 데 사용됩니다 [SWS_SecOC_91010]. 유일한 입력 매개변수 RxPduId을(를) 통해 취소할 PDU의 고유 식별자가 모듈에 전달됩니다 [SWS_SecOC_91010].
반환값 및 실행
취소 성공 여부에 대한 피드백은 Std_ReturnType 유형의 반환값을 통해 즉시 제공됩니다 [SWS_SecOC_91010]:
E_OK: 수신 취소가 대상 모듈에 의해 성공적으로 실행되었습니다 [SWS_SecOC_91010].E_NOT_OK: 취소가 대상 모듈에 의해 거부되었습니다 [SWS_SecOC_91010].
함수의 사양 데이터에는 특정 오류 코드, 개발 오류(DET) 또는 프로덕션 오류(DEM)가 정의되어 있지 않습니다. 해석: 사양에 명시된 대상 모듈(\"destination module\")은 취소 요청이 전달되는 하위 트랜스포트 프로토콜 모듈을 의미하는 것으로 보입니다. 질문 Q-bce6ed77e65a6b9b (열림)
동시성 및 연계
동시성과 관련하여 이 함수는 재진입 불가능(Non Reentrant)으로 선언되어 있습니다 [SWS_SecOC_91010]. 따라서 동시 호출이나 중단(인터럽트)을 유발하는 호출을 수행해서는 안 되며, 호출하는 소프트웨어 단위가 그에 맞게 접근을 조정해야 합니다. 이 함수는 서비스 ID 0x4c을(를) 가지며 헤더 파일 SecOC.h을(를) 통해 선언됩니다 [SWS_SecOC_91010].
이 사용법 지침은 AI에 의해 생성되었으며 AUTOSAR 릴리스 R20-11의 사양만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 SecOC_VerifyStatusOverride [SWS_SecOC_00122] 📄 PDF
Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);
Service SecOC_VerifyStatusOverride.
동기 함수 SecOC_VerifyStatusOverride을(를) 통해 애플리케이션은 SecOC의 검증 및 전달 동작을 선별적으로 재정의하여 실제 검증 결과와 관계없이 I-PDU를 수락하거나 폐기하고 오류 처리를 제어할 수 있습니다 [SWS_SecOC_00122].
매개변수 및 호출 컨텍스트
어드레싱은 모듈 구성에 따라 결정됩니다: SecOCOverrideStatusWithDataId이(가) FALSE(으)로 설정된 경우 Value ID은(는) 할당된 모든 Secured I-PDU의 Freshness Value를 식별합니다. 해당 매개변수가 TRUE(으)로 설정된 경우 Value ID은(는) Secured I-PDU의 Data ID를 직접 지정합니다 [SWS_SecOC_00122]. overrideStatus을(를) 통해 원하는 동작과 해당 유효 기간이 정의됩니다. 카운터 numberOfMessagesToOverride은(는) 순차적으로 재정의할 검증 횟수를 결정하지만, 모드 SECOC_OVERRIDE_DROP_UNTIL_LIMIT, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT 및 SECOC_OVERRIDE_PASS_UNTIL_LIMIT에서만 평가됩니다 [SWS_SecOC_00122].
모드 SECOC_OVERRIDE_PASS_UNTIL_NOTICE, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT, SECOC_OVERRIDE_PASS_UNTIL_LIMIT 및 SECOC_OVERRIDE_SKIP_UNTIL_NOTICE의 경우 SecOCEnableForcedPassOverride이(가) 반드시 TRUE(으)로 구성되어야 합니다 [SWS_SecOC_00122].
동시성 및 반환값
함수는 서로 다른 Freshness Value ID에 대해서는 reentrant이지만, 동일한 Freshness Value ID에 대해서는 non-reentrant입니다 [SWS_SecOC_00122]. 호출에 성공하면 E_OK을(를) 반환하고, 실패한 호출은 E_NOT_OK(으)로 응답합니다 [SWS_SecOC_00122].
검증 시 상호작용
설정된 재정의(Override)는 수신 경로의 처리 로직에 개입합니다:
- 분리된 Authentic I-PDU 및 Cryptographic I-PDU가 사용되는 경우(
SecOCRxSecuredPduCollection), 일치하는 Message Linker를 가진 두 PDU가 모두 수신되는 즉시overrideStatus이(가) 동작을 제어합니다 [SWS_SecOC_00203], [SWS_SecOC_00206], [SWS_SecOC_00211]. SecOCAuthenticationBuildAttempts또는SecOCAuthenticationVerifyAttempts을 초과하는 경우 및 복구 불가능한 오류(예:KEY_FAILURE)가 발생하는 경우에도 검증 결과 및 PDU 전달은overrideStatus을(를) 우선적으로 따릅니다 [SWS_SecOC_00240], [SWS_SecOC_00241].
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR 사양의 요구사항을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 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
사용
동기 함수 SecOC_SendDefaultAuthenticationInformation([SWS_SecOC_91013])을(를) 사용하면 하위 계층으로의 인증되지 않은 I-PDU 전송을 선택적으로 허용하거나 차단할 수 있습니다. 이 서비스는 SecOC.h을(를) 통해 선언되며, 플래그 send Default Authentication Information을(를) 통해 특정 Freshness Value ID에 대한 동작을 제어합니다. 요청이 성공하면 함수는 E_OK을(를) 반환하고, 그렇지 않으면 E_NOT_OK을(를) 반환합니다([SWS_SecOC_91013]).
상호작용 및 오류 동작
이 함수는 선택 사항이며 매개변수 SecOCDefaultAuthenticationInformationPattern이(가) 구성된 경우에만 사용할 수 있습니다([SWS_SecOC_91013]). 이 동작은 카운터 SecOCAuthenticationBuildAttempts에 도달했거나, 신선도 함수가 E_NOT_OK을(를) 반환하거나, 인증자 계산에서 KEY_FAILURE 또는 E_NOT_OK과(와) 같은 복구 불가능한 오류를 반환하는 등 인증 정보 생성이 실패할 때 적용됩니다([SWS_SecOC_91013], [SWS_SecOC_00229]):
- 서비스가
TRUE(으)로 호출된 경우, 모듈은 인증 정보를 구성하기 위해 신선도 값 및 인증자의 모든 바이트에 패턴SecOCDefaultAuthenticationInformationPattern을(를) 사용하며 전송 요청을 중단하지 않습니다([SWS_SecOC_91013], [SWS_SecOC_00229]). - 서비스를 사용할 수 없거나 해당 ID에 대해
FALSE(으)로 호출된 경우, 모듈은 내부 버퍼에서 Authentic I-PDU를 제거하고 전송을 중단합니다([SWS_SecOC_91013], [SWS_SecOC_00229]).
동시성
이 함수는 동일한 Freshness Value ID에 대해서는 non-reentrant이지만, 서로 다른 ID에 대해서는 reentrant하게 호출될 수 있습니다([SWS_SecOC_91013]).
이 사용 지침은 AUTOSAR R20-11 명세를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용법 및 호출 컨텍스트
동기식 인터페이스 함수 SecOC_RxIndication(서비스 ID 0x42)은(는) 하위 통신 인터페이스 모듈에 의해 호출되어 SecOC 모듈로 PDU 수신을 보고합니다 [SWS_SecOC_00124]. 호출 시 RxPduId은(는) 수신된 PDU를 식별하며, PduInfoPtr을(를) 통해 PDU 정보에 대한 포인터가 전달됩니다. 이 구조체에는 페이로드 길이 SduLength, 버퍼 포인터 SduDataPtr 및 PDU의 관련 메타데이터가 포함됩니다 [SWS_SecOC_00124]. 함수는 반환값이 없으며 헤더 파일 SecOC.h을(를) 통해 선언됩니다 [SWS_SecOC_00124].
오류 처리 및 길이 검사
정적 구성을 갖는 I-PDU(EcuC 매개변수 DynamicLength이(가) FALSE와(과) 같은 보안, 인증 또는 암호화 I-PDU)의 수신에는 특정 오류 검사가 적용됩니다: 수신된 길이가 구성된 길이보다 작은 경우 SecOC 모듈은 I-PDU를 자동으로(silently) 폐기합니다 [SWS_SecOC_00268]. 해석: 함수가 void을(를) 반환하므로 오류가 있거나 불완전한 I-PDU는 호출 계층에 대한 피드백 없이 폐기될 것으로 보입니다. 질문 Q-6e9a176383e1983b (열림)
동시성 및 제약사항
SecOC_RxIndication의 실행은 서로 다른 PDU ID를 사용한 호출에 대해서는 reentrant이지만, 동일한 PDU ID에 대해서는 명시적으로 non-reentrant입니다 [SWS_SecOC_00124]. 따라서 호출 모듈은 실행 제어를 통해 동일한 RxPduId을(를) 사용하는 병렬 호출이 방지되도록 해야 합니다.
이 사용 지침은 자동으로 작성되었으며 AUTOSAR 사양 R20-11을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
함수 SecOC_TpRxIndication은(는) SecOC 모듈의 콜백 인터페이스 역할을 하며 Transport-Protocol-API(TP API)를 통해 I-PDU를 수신한 후 호출됩니다 [SWS_SecOC_00125]. 이 알림을 통해 SecOC는 I-PDU 전송이 성공적으로 완료되었는지 또는 전송 오류가 발생했는지를 알게 됩니다 [SWS_SecOC_00125].
이 인터페이스는 [SWS_SecOC_00125]에 따라 다음과 같은 파라미터 및 속성을 갖습니다:
- id (
PduIdType): 수신 이벤트가 시그널링되는 수신된 I-PDU의 식별자입니다. - result (
Std_ReturnType): PDU 수신 결과로, 전송이 성공했는지 실패했는지를 나타냅니다. - 반환값: 없음(
void); 함수는 호출자에게 상태 값을 반환하지 않습니다.
동시성과 관련하여 SecOC_TpRxIndication은(는) 재진입 가능(Reentrant)한 것으로 명시되어 있으며, 서비스 ID 0x45 [SWS_SecOC_00125] 하에서 동기적(Synchronous)으로 작동합니다. 선언은 헤더 파일 SecOC.h을(를) 통해 제공됩니다 [SWS_SecOC_00125]. 해석: PDU 데이터 전송이 완전히 완료되는 즉시 PduR 또는 TP 모듈과 같은 전송 계층에 의해 호출이 일반적으로 트리거될 것으로 보입니다. 질문 Q-6448356fa3609004 (열림)
이 함수에 대해 사양에는 특정 오류 코드, DET 검사 또는 DEM 오류 항목이 정의되어 있지 않습니다 [SWS_SecOC_00125]. 오류 처리는 파라미터 result을(를) 통한 전송 결과 전달로 제한되며, SecOC 모듈은 이를 바탕으로 수신된 데이터를 추가 처리할지 폐기할지 결정합니다.
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용법 및 호출 컨텍스트
함수 SecOC_TxConfirmation은(는) PDU 전송의 성공 또는 실패를 SecOC 모듈에 동기식으로 확인해주기 위해 하위 통신 인터페이스 모듈에 의해 호출됩니다 [SWS_SecOC_00126]. 이 서비스는 반환값이 없으며(void), 헤더 파일 SecOC.h에 선언되어 있고 서비스 ID 0x40(으)로 관리됩니다 [SWS_SecOC_00126].
이 함수는 두 개의 입력 매개변수를 필요로 합니다 [SWS_SecOC_00126]:
TxPduId: 전송된 PDU의 식별자(타입PduIdType).result: 전송 결과(타입Std_ReturnType)이며, 성공적인 전달 시E_OK또는 전송 실패 시E_NOT_OK값을 갖습니다.
오류 처리 및 동시성
하위 계층의 전송 오류는 E_NOT_OK 값을 갖는 인수 result을(를) 통해 즉시 전달됩니다 [SWS_SecOC_00126]. 동시성과 관련하여 이 호출은 서로 다른 PDU-ID에 대해서는 재진입 가능하지만, 동일한 PDU-ID에 대해서는 재진입 불가능으로 정의되어 있습니다 [SWS_SecOC_00126]. 사양에 이에 대한 제한이 없으므로 구체적인 실행 컨텍스트는 아마도 하위 모듈의 태스크 또는 인터럽트 레벨에 있을 것으로 추정됩니다. 질문 Q-8bb15b92df860fc1 (열림)
상호 작용 및 전달
설정 SecOCTxSecuredPduCollection이(가) 사용되는 경우, SecOC는 Authentic I-PDU 및 Cryptographic I-PDU 모두에 대해 SecOC_TxConfirmation이(가) 호출된 후에만 확인을 상위 계층으로 전달합니다 [SWS_SecOC_00270].
이때 상위 계층으로 전달되는 결과 상태에 대해 엄격한 조건이 적용됩니다. 전달되는 호출의 매개변수 result은(는) 두 하위 PDU에 대한 확인이 각각 E_OK(으)로 전달된 경우에만 E_OK이(가) 되며, 그렇지 않은 경우 상태는 E_NOT_OK입니다 [SWS_SecOC_00270].
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
함수 SecOC_TpTxConfirmation은(는) 네트워크를 통해 전송된 I-PDU를 확인하고 전송 과정의 성공 또는 실패를 SecOC 모듈에 동기식으로 알리는 역할을 합니다 [SWS_SecOC_00152].
사용법 및 매개변수
호출은 네트워크에서 I-PDU가 물리적으로 전송된 후에 이루어집니다 [SWS_SecOC_00152]. 이 인터페이스는 헤더 SecOC.h에 선언되어 있으며 서비스 ID 0x48을(를) 갖습니다 [SWS_SecOC_00152]. 두 개의 입력 매개변수를 받으며 반환값은 제공하지 않습니다(void):
id(PduIdType타입): 전송된 I-PDU의 고유 식별자 [SWS_SecOC_00152].result(타입Std_ReturnType): 네트워크에서의 전송이 성공했는지 또는 실패했는지를 나타냅니다 [SWS_SecOC_00152].
동시성 및 실행
사양에 따르면 이 함수는 동기식으로 실행되어야 하며 완전히 재진입 가능합니다(Reentrant) [SWS_SecOC_00152]. 따라서 호출 컨텍스트에서 필요한 경우, 서로 다른 I-PDU 또는 동일한 I-PDU에 대해 병렬로 호출될 수 있습니다.
오류 처리 및 상호 작용
특정 DET 또는 DEM 오류 코드는 페이로드에 표시되지 않습니다. 전송과 관련된 오류 처리는 주로 전송 과정의 성공 여부를 모듈에 알려주는 전달된 상태 매개변수 result을(를) 통해 수행됩니다 [SWS_SecOC_00152]. 해석: 이 함수는 대규모 또는 단편화된 전송이 완료된 후 전송 상태를 회신하기 위한 하위 트랜스포트 프로토콜 인스턴스의 콜백 인터페이스로 주로 사용될 것으로 보입니다. 질문 Q-a2957406d76ee65f (열림)
이 사용 지침은 AI에 의해 작성되었으며 SecOC 모듈에 대한 AUTOSAR 사양의 요구사항을 요약합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
동기 인터페이스 SecOC_TriggerTransmit은(는) 전송 요청된 SDU를 복사하는 역할을 합니다 [SWS_SecOC_00127]. 매개변수 TxPduId을(를) 통해 SDU가 어드레싱되며, PduInfoPtr은(는) 입출력 매개변수로서 대상 버퍼 포인터(SduDataPtr) 및 버퍼 크기 정보(SduLength)를 제공합니다 [SWS_SecOC_00127].
사용 및 데이터 전달
함수 내에서 모듈은 제공할 데이터가 PduInfoPtr->SduLength을(를) 통해 보고된 버퍼 크기에 맞는지 검사합니다 [SWS_SecOC_00127]:
- 데이터가 들어맞는 경우, 함수는 이를 버퍼
PduInfoPtr->SduDataPtr에 복사하고, 실제로 복사된 바이트 수를PduInfoPtr->SduLength에 기록한 뒤E_OK을(를) 반환합니다 [SWS_SecOC_00127]. - 메모리 공간이 충분하지 않은 경우, 함수는
PduInfoPtr의 내용을 변경하지 않고E_NOT_OK을(를) 반환합니다 [SWS_SecOC_00127].
오류 처리 및 동시성
E_NOT_OK이(가) 반환되면 SDU 데이터가 복사되지 않은 것입니다. 이 경우 호출자는 PduInfoPtr이(가) NULL 포인터를 포함하거나 유효하지 않은 데이터를 가리킬 수 있으므로 이를 평가하거나 사용해서는 안 됩니다 [SWS_SecOC_00127]. 함수는 서로 다른 PDU ID에 대해서는 reentrant이지만, 동일한 TxPduId에 대해서는 non-reentrant입니다 [SWS_SecOC_00127]. 서비스는 헤더 SecOC.h을(를) 통해 사용할 수 있습니다 [SWS_SecOC_00127].
이 사용 지침은 AUTOSAR Classic Platform 릴리스 R20-11 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용법 및 의미론
동기 함수 SecOC_CopyRxData은(는) 수신된 I-PDU 세그먼트(N-PDU) 데이터를 상위 계층으로 전달하기 위해 호출됩니다 [SWS_SecOC_00128]. 각 호출은 I-PDU 데이터의 다음 부분을 각각 제공합니다 [SWS_SecOC_00128]. 서비스는 서비스 ID 0x44을(를) 가지며 헤더 파일 SecOC.h을(를) 통해 사용할 수 있습니다 [SWS_SecOC_00128].
매개변수 및 버퍼 쿼리
매개변수 id은(는) 수신된 I-PDU를 고유하게 식별합니다 [SWS_SecOC_00128]. 포인터 info을(를) 통해 소스 버퍼 SduDataPtr 및 복사할 바이트 수 SduLength이(가) 제공됩니다 [SWS_SecOC_00128]. 0 값을 갖는 SduLength의 전달은 현재 상위 모듈에서 사용 가능한 수신 버퍼를 조회하는 역할을 하며, 이 경우 SduDataPtr은(는) NULL_PTR(으)로 전달될 수 있습니다 [SWS_SecOC_00128]. bufferSizePtr이(가) 참조하는 위치에는 복사 후 남은 버퍼 크기가 기록됩니다 [SWS_SecOC_00128].
반환값 및 동시성
함수는 상태 BufReq_ReturnType을(를) 반환합니다 [SWS_SecOC_00128]. 데이터 전송에 성공하면 BUFREQ_OK을(를) 보고합니다 [SWS_SecOC_00128]. 오류가 발생하면 데이터가 복사되지 않고 함수는 BUFREQ_E_NOT_OK을(를) 반환합니다 [SWS_SecOC_00128]. SecOC_CopyRxData은(는) reentrant로 명시되어 있습니다 [SWS_SecOC_00128].
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 SecOC_CopyTxData [SWS_SecOC_00129] 📄 PDF
BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service SecOC_CopyTxData.
사용법 및 의미론
동기식 및 reentrant 함수 SecOC_CopyTxData은(는) I-PDU 세그먼트(N-PDU)에 대한 송신 데이터를 검색하기 위해 호출됩니다 [SWS_SecOC_00129]. 매개변수 info을(를) 통해 대상 버퍼 SduDataPtr 및 요청할 바이트 양 SduLength이(가) 전달됩니다 [SWS_SecOC_00129]. SduLength을(를) 0으로 설정하여 호출하면 매개변수 retry을(를) 통해 사용 가능한 데이터 양을 조회하거나 상태 변경을 보고할 수 있으며, 이 경우 SduDataPtr은(는) NULL_PTR일 수 있습니다 [SWS_SecOC_00129]. availableDataPtr을(를) 통해 모듈은 송신 버퍼에 남아 있는 잔여 데이터 양을 다시 보고합니다 [SWS_SecOC_00129].
재시도 및 오류 처리
버퍼 및 재시도 동작은 retry을(를) 통해 제어됩니다 [SWS_SecOC_00129]:
retry이(가)NULL_PTR인 경우, 복사된 데이터는 즉시 해제될 수 있습니다 [SWS_SecOC_00129].TP_CONFPENDING의 경우, 오류 복구를 위해 이전에 복사된 데이터가 버퍼에 유지됩니다 [SWS_SecOC_00129].TP_DATACONF은(는) 버퍼 해제를 위해 이 호출 이전에 전송된 모든 데이터를 확인합니다 [SWS_SecOC_00129].TP_DATARETRY은(는)TxTpDataCnt에 의해 정의된 바이트 오프셋부터 이미 전송된 데이터를 다시 복사하도록 트리거합니다 [SWS_SecOC_00129].
반환값으로 함수는 복사 작업이 성공한 경우 BUFREQ_OK을(를), 일시적으로 충분한 송신 데이터가 준비되지 않은 경우(이를 통해 호출자가 나중에 시도를 반복할 수 있음) BUFREQ_E_BUSY을(를), 일반적인 실패의 경우 BUFREQ_E_NOT_OK을(를) 반환합니다 [SWS_SecOC_00129].
동시성
함수는 reentrant로 설계되어 서로 다른 PDU 인스턴스에 대한 병렬 호출이 허용될 것으로 보입니다 [SWS_SecOC_00129]. 질문 Q-6420f2ca317efcb4 (열림)
본 사용 지침은 명세를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 SecOC_StartReception [SWS_SecOC_00130] 📄 PDF
BufReq_ReturnType SecOC_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
Service SecOC_StartReception.
사용
동기식 및 reentrant 함수 SecOC_StartReception은(는) N-SDU 수신 시작 시 연결을 확인하고 필요한 수신 버퍼를 제공하기 위해 호출됩니다 [SWS_SecOC_00130]. 이때 N-SDU는 단일 프레임(Single Frame, SF)으로 수신되거나 여러 N-PDU(First Frame, FF에 이은 Consecutive Frames, CF)를 통해 단편화되어 수신될 수 있습니다 [SWS_SecOC_00130]. 선언은 헤더 SecOC.h을(를) 통해 제공됩니다 [SWS_SecOC_00130].
매개변수 및 버퍼 쿼리
id: 수신된 I-PDU 식별자 [SWS_SecOC_00130].info: 첫 번째 또는 단일 프레임의 페이로드 및 메타데이터를 포함하는PduInfoType구조체에 대한 포인터이며, 데이터와 메타데이터가 모두 제공되지 않는 경우NULL_PTR이(가) 전달됩니다 [SWS_SecOC_00130].TpSduLength: 수신할 N-SDU의 총 길이입니다. 매개변수가 0 값으로 전달되면 서비스는 현재 사용 가능한 최대 버퍼 크기를 반환합니다 [SWS_SecOC_00130].bufferSizePtr: 사용 가능한 수신 버퍼를 위한 출력 매개변수로, 전송 프로토콜 모듈이 Block Size(BS)를 계산하는 데 사용됩니다 [SWS_SecOC_00130].
반환값 및 오류 처리
BUFREQ_OK: 연결이 수락되었으며 수신이 계속됩니다.bufferSizePtr은(는) 사용 가능한 버퍼 크기를 나타냅니다(필요한 크기의 버퍼를 사용할 수 없는 경우 0이 보고됨) [SWS_SecOC_00130].BUFREQ_E_NOT_OK: 연결이 거부되었으며 수신이 중단됩니다.bufferSizePtr은(는) 변경되지 않은 상태로 유지됩니다 [SWS_SecOC_00130].BUFREQ_E_OVFL: 요청된 길이의 버퍼를 제공할 수 없습니다. 수신이 중단되고bufferSizePtr은(는) 변경되지 않은 상태로 유지됩니다 [SWS_SecOC_00130].
본 사용 지침은 AUTOSAR R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
동기 인터페이스 함수 SecOC_GetRxFreshness은(는) 수신된 보안 I-PDU에 대한 현재 Freshness 값을 조회하기 위해 SecOC 모듈에 의해 사용됩니다 [SWS_SecOC_91007]. 호출은 보안 PDU가 완전히 수신되고 해당 구성에 대해 SecOCQueryFreshnessValue == CFUNC 및 SecOCUseAuthDataFreshness == FALSE이(가) 정의된 즉시 수행됩니다 [SWS_SecOC_00247], [SWS_SecOC_00250].
함수는 reentrant이며 [SWS_SecOC_91007] 다음 매개변수를 전달하거나 기대합니다:
SecOCFreshnessValueID: 조회할 Freshness 값의 식별자 [SWS_SecOC_91007].SecOCTruncatedFreshnessValue및SecOCTruncatedFreshnessValueLength: 수신된 PDU에 포함된 잘린 Freshness 값에 대한 포인터 및 해당 비트 단위 길이 [SWS_SecOC_91007].SecOCAuthVerifyAttempts: PDU 수신 이후 지금까지의 검증 시도 횟수(0부터 시작하여 실패할 때마다 증가) [SWS_SecOC_91007].SecOCFreshnessValue및SecOCFreshnessValueLength: 확인된 Freshness 값을 위한 출력 버퍼 및 해당 비트 길이를 위한 입출력 매개변수 [SWS_SecOC_91007].
조회 결과는 SecOC의 후속 처리를 제어합니다:
E_OK: Freshness 값이 성공적으로 제공되었으며 Authenticator 계산에 사용됩니다 [SWS_SecOC_91007].E_NOT_OK: 일반적인 문제 또는 잘못된 Freshness ID로 인해 제공에 실패했습니다 [SWS_SecOC_91007].E_BUSY: 정보를 일시적으로 사용할 수 없습니다 [SWS_SecOC_91007]. 이 경우 SecOC는 Authentication-Build-Counter를 증가시키고 인증 검증 시도를 수행하지 않습니다 [SWS_SecOC_00236].
이 사용 지침은 AUTOSAR 사양 R20-11을 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 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.
동기식 및 reentrant 함수 SecOC_GetRxFreshnessAuthData은(는) 완전히 수신된 보안 I-PDU에 대해 인증을 위한 최신 Freshness 값을 확인하기 위해 SecOC 모듈에 의해 호출됩니다([SWS_SecOC_91006], [SWS_SecOC_00246]). 이 호출은 해당 PDU 구성에 대해 SecOCQueryFreshnessValue = CFUNC 및 SecOCUseAuthDataFreshness = TRUE이(가) 매개변수화된 경우에 구체적으로 수행됩니다([SWS_SecOC_00246], [SWS_SecOC_00249]).
매개변수 및 전달값
-
입력 데이터: 식별자
SecOCFreshnessValueID, 비트 길이SecOCTruncatedFreshnessValueLength을(를) 포함한 I-PDU에 포함된 단축 Freshness 값SecOCTruncatedFreshnessValue, 그리고 실패 시도시 증가하는 카운터SecOCAuthVerifyAttempts이(가) 전달됩니다([SWS_SecOC_91006]). -
인증 데이터:
SecOCAuthDataFreshnessValue및SecOCAuthDataFreshnessValueLength을(를) 통해 수신된 PDU의 구성된 일부가 선택적으로 전달되며, 시작 위치와 길이는SecOCAuthDataFreshnessStartPosition및SecOCAuthDataFreshnessLen에 의해 결정됩니다([SWS_SecOC_91006], [SWS_SecOC_00246]). -
결과 데이터: 전체 Freshness 값은 출력 버퍼
SecOCFreshnessValue을(를) 통해 제공되며, 그 비트 길이는 inout 매개변수SecOCFreshnessValueLength(으)로 동작합니다([SWS_SecOC_91006]).
반환값 및 오류 처리
이 함수는 쿼리의 성공을 E_OK(으)로 알립니다([SWS_SecOC_91006]). 일반적인 문제나 유효하지 않은 Freshness ID로 인해 Freshness 값을 제공할 수 없는 경우 E_NOT_OK을(를) 반환하고, 일시적으로 사용할 수 없는 경우에는 E_BUSY을(를) 반환합니다([SWS_SecOC_91006]). 해석: 이 함수는 CFUNC을(를) 통해 C 함수로 연결되므로, 구현은 외부 Freshness 관리 모듈에 의해 수행될 것으로 추정됩니다. 질문 Q-01aa77b7235b9001 (열림)
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
동기식이며 재진입 가능한 함수 SecOC_GetTxFreshness은(는) 전송할 메시지에 대한 최신 Freshness 값을 제공하는 데 사용되며 헤더 SecOC.h을(를) 통해 선언됩니다 [SWS_SecOC_91004]. [SWS_SecOC_00231]에 따르면, 구성에서 SecOCQueryFreshnessValue = CFUNC 및 SecOCProvideTxTruncatedFreshnessValue = FALSE이(가) 설정된 경우 SecOC 모듈은 PDU에 대해 이 함수를 호출합니다. 해석: SecOC가 해당 구성 시 호출을 수행하므로, 이 함수는 외부 컴포넌트에 의해 콜아웃으로 제공되어야 할 것으로 보입니다. 질문 Q-99a14f896ffddf5f (열림)
이 인터페이스는 다음 매개변수를 사용합니다 [SWS_SecOC_91004]:
SecOCFreshnessValueID(In): 요청된 Freshness 값의 숫자 식별자입니다.SecOCFreshnessValueLength(InOut): 제공된 Freshness 값의 비트 길이를 전달하거나 전달받습니다.SecOCFreshnessValue(Out): 첫 번째 바이트의 최상위 비트부터 시작하여 빅엔디안 형식으로 Freshness 값을 수신하기 위한 바이트 배열에 대한 포인터입니다.
Std_ReturnType 타입의 반환값은 제공 결과를 나타냅니다 [SWS_SecOC_91004]:
E_OK: Freshness 값이 성공적으로 제공되었습니다.E_BUSY: Freshness 정보를 일시적으로 제공할 수 없습니다.E_NOT_OK: 해당 ID에 대해 또는 일반적으로 값을 확인할 수 없어 요청이 실패했습니다.
이 사용 지침은 자동으로 생성되었으며 AUTOSAR 버전 R20-11의 사양에만 기반합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 SecOC_GetTxFreshnessTruncData [SWS_SecOC_91003] 📄 PDF
Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);
Service SecOC_GetTxFreshnessTruncData.
동기식 및 reentrant 함수 SecOC_GetTxFreshnessTruncData은(는) 전송 작업(TX) 시 전송할 Secured I-PDU에 대한 전체 Freshness 값과 잘린 Freshness 값(Truncated Freshness)을 모두 조회하기 위해 SecOC 모듈에 의해 호출됩니다 [SWS_SecOC_91003]. 호출은 PDU 구성에 대해 SecOCQueryFreshnessValue = CFUNC 및 SecOCProvideTxTruncatedFreshnessValue = TRUE이(가) 설정된 경우에만 구체적으로 수행됩니다 [SWS_SecOC_00230].
인터페이스는 다음 매개변수를 전달합니다 [SWS_SecOC_91003]:
SecOCFreshnessValueID(in): 요청된 Freshness 값의 식별자입니다.SecOCFreshnessValue(out): 현재 전체 Freshness 값을 위한 대상 버퍼입니다.SecOCFreshnessValueLength(inout): 제공된 신선도 값의 길이를 비트 단위로 지정합니다.SecOCTruncatedFreshnessValue(out): Secured I-PDU에 포함될 잘린 Freshness 값을 위한 선택적 버퍼입니다.SecOCTruncatedFreshnessValueLength(inout): 잘린 Freshness의 구성된 길이를 전달합니다. 이 값은 필요에 따라 함수에 의해 조정되거나 변경되지 않고 유지될 수 있습니다.
반환값으로 함수는 성공적으로 제공된 경우 E_OK을(를), 정보를 일시적으로 사용할 수 없는 경우 E_BUSY을(를), 일반적인 문제로 인해 또는 전달된 ID에 특정하여 제공에 실패한 경우 E_NOT_OK을(를) 반환합니다 [SWS_SecOC_91003]. 선언은 헤더 SecOC.h을(를) 통해 사용할 수 있습니다 [SWS_SecOC_91003].
이 사용 지침은 AUTOSAR R20-11의 사양 데이터를 기반으로 AI 큐레이션 어시스턴트에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용
동기식 함수 인터페이스 SecOC_SPduTxConfirmation은(는) 보안 I-PDU(Secured I-PDU)의 전송이 시작되었음을 알리기 위해 SecOC 모듈에 의해 사용됩니다 [SWS_SecOC_91005]. 이 함수는 헤더 파일 SecOC.h에 선언되어 있으며 반환값이 없습니다(void) [SWS_SecOC_91005].
유일한 전달 매개변수로 uint16 타입의 입력값(in)인 SecOCFreshnessValueID이(가) 전달됩니다 [SWS_SecOC_91005]. 이 매개변수는 해당 I-PDU에 대한 각 Freshness 값의 식별자를 전달합니다 [SWS_SecOC_91005]. 인터페이스에 추가적인 입력, 출력 또는 입출력 매개변수(inout/out)는 존재하지 않습니다 [SWS_SecOC_91005].
동시성 및 특성
이 인터페이스는 서비스 ID 0x4d을(를) 가지며, 동기식으로 동작하고 완전히 재진입 가능하도록 설계되었습니다 [SWS_SecOC_91005]. 재진입 특성 덕분에 동시 실행 컨텍스트에서 병렬 호출이 가능합니다 [SWS_SecOC_91005]. 인터페이스 사양에는 DET 또는 DEM을 통한 오류 보고 및 특수 오류 코드가 정의되어 있지 않습니다 [SWS_SecOC_91005].
해석: SecOC가 PDU 전송 시작을 보고하기 위해 이 함수를 호출하고 이때 오직 SecOCFreshnessValueID만을 전달하므로, 이 호출은 아마도 외부 컴포넌트에서 Freshness 카운터를 갱신하거나 확인하는 데 사용될 것으로 보입니다 [SWS_SecOC_91005]. 질문 Q-f234a3c6e9b16362 (열림)
이 사용 지침은 자동으로 생성되었으며 AUTOSAR CP R20-11의 사양 데이터에만 기반합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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_
사용법 및 호출 컨텍스트
함수 SecOC_MainFunctionRx은(는) 수신 경로의 수신 메시지에 대해 모듈 SecOC의 중앙 인증 및 검증 처리를 담당합니다 [SWS_SecOC_00171]. 인터페이스 사양에 따르면 함수는 void SecOC_MainFunctionRx (void) 시그니처를 가지며, 서비스 ID 0x06을(를) 나타내고, 전달 매개변수를 필요로 하지 않으며 반환값을 반환하지 않습니다 [SWS_SecOC_00171]. 이는 헤더 파일 SchM_SecOC.h을(를) 통해 선언됩니다 [SWS_SecOC_00171]. 이로부터 호출이 운영체제 태스크 컨텍스트에서 BSW 스케줄러에 의해 주기적으로 수행됨을 유추할 수 있습니다(해석). 질문 Q-d24cb58f541f6674 (열림)
인스턴스화 및 구성
여러 수신 인스턴스가 있는 시스템 구성에서는 구성된 SecOCMainFunctionRx 컨테이너마다 SecOC_MainFunctionRx_<shortName> 스키마에 따라 고유한 함수 인스턴스가 구현됩니다 [SWS_SecOC_00171]. 여기서 <shortName>은(는) ECU 구성 모델에서 할당된 컨테이너의 짧은 이름에 해당합니다 [SWS_SecOC_00171]. 이를 통해 서로 다른 Rx 처리 경로의 개별적인 시간 제어 또는 우선순위 지정이 가능할 것으로 추정됩니다. 질문 Q-ebb55c5d3a3da97d (열림)
오류 처리 및 동시성
SecOC_MainFunctionRx에 대해서는 요구사항에서 특정 반환값이나 DET 또는 DEM을 위한 명시적인 오류 코드가 문서화되어 있지 않습니다 [SWS_SecOC_00171]. 따라서 오류 상태나 실패한 검증은 순수하게 내부적으로 처리되고 수신 경로를 통해 상위 모듈로 비동기 보고될 것으로 보입니다. 질문 Q-5d1e45f7a779bea9 (열림)
이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 항상 공식 AUTOSAR 사양이 결정적인 기준입니다.
함수 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_
사용법 및 호출 컨텍스트
메인 함수 SecOC_MainFunctionTx은(는) [SWS_SecOC_00176]에 따라 송신 경로(Tx 경로)에서 SecOC 모듈의 인증 및 검증 처리를 담당합니다. 이 함수는 void SecOC_MainFunctionTx(void) 시그니처를 가지므로 전달 매개변수를 받지 않고 반환값도 제공하지 않으며, 서비스 ID 0x03이(가) 할당되어 있습니다 [SWS_SecOC_00176]. 선언은 헤더 SchM_SecOC.h을(를) 통해 제공됩니다 [SWS_SecOC_00176]. 해석: Schedule Manager를 통해 통합되므로, 호출은 일반적으로 OS 태스크 컨텍스트 내에서 BSW 스케줄러에 의해 주기적으로 발생할 것으로 추정됩니다. 질문 Q-34b30208648c8e30 (열림)
인스턴스화 및 명명 규칙
사양에서는 다중 구성을 위한 인스턴스별 구현을 규정합니다. ECU 구성에서 구성된 각 인스턴스 컨테이너 SecOCMainFunctionTx에 대해 SecOC_MainFunctionTx_<shortName> 명명 체계에 따른 정확히 하나의 함수를 구현해야 하며, 여기서 <shortName>은(는) 해당 구성 컨테이너의 Short Name에 해당합니다 [SWS_SecOC_00176].
제약 사항 및 오류 처리
특정 오류 코드, DET 또는 DEM 피드백 및 재진입성에 대한 세부 사항은 사양 요소에 별도로 기재되어 있지 않습니다 [SWS_SecOC_00176]. 해석: 인스턴스별 구성 컨테이너에 결합되어 있으므로 생성된 각 인스턴스는 격리된 Tx PDU 처리 하위 집합을 담당할 것으로 보이며, 계획상 동일한 태스크 컨텍스트에 의해 동시에 중단되어서는 안 됩니다. 질문 (열림)
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI 큐레이션 어시스턴트에 의해 자동 생성되었습니다.
함수 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
동기 콜아웃 함수 SecOC_VerificationStatusCallout은(는) SecOC 모듈의 검증 시도 상태를 외부 소프트웨어 모듈로 전달하는 역할을 합니다 [SWS_SecOC_00119]. 이는 헤더 SecOC_Externals.h을(를) 통해 선언되며 서비스 ID 0x50을(를) 갖습니다 [SWS_SecOC_00119]. 입력 매개변수 verificationStatus(타입 SecOC_VerificationStatusType)을 통해 특정 Freshness Value ID 및 Data ID에 대한 검증 결과를 묶은 데이터 구조체가 전달됩니다 [SWS_SecOC_00119]. 함수에는 출력 매개변수와 반환값이 없습니다(반환 타입 void) [SWS_SecOC_00119].
상태 전달 동작은 구성 가능하며 세 가지 형태를 지원합니다 [SWS_SecOC_00119]:
- Only: 실패한 검증 시도(“False”)만 전파됩니다.
- Both: 성공(“True”) 및 실패(“False”) 검증 상태가 모두 모듈로 전달됩니다.
- None: 검증 상태가 전달되지 않습니다.
동시성과 관련하여 SecOC_VerificationStatusCallout은(는) 서로 다른 Freshness Value ID에 대해서는 reentrant이지만, 동일한 Freshness Value ID에 대해서는 non-reentrant입니다 [SWS_SecOC_00119]. 따라서 구현 모듈은 동일한 Freshness Value ID에 대해 경쟁 호출이 발생하지 않도록 해야 합니다. 호출 컨텍스트는 동기적으로 SecOC 모듈의 내부 검증 루틴 범위 내에 있을 것으로 보입니다. 질문 Q-cd6928ca22d48f54 (열림) 이 콜아웃에 대해 특정 오류 코드나 DET 및 DEM으로의 보고는 정의되어 있지 않습니다 [SWS_SecOC_00119].
이 사용 지침은 AI에 의해 생성되었으며 AUTOSAR 릴리스 R20-11의 사양 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 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.
사용법 및 의미론
동기 함수 SecOC_VerifyStatus은(는) SecOC 모듈에 의한 수신 PDU의 검증 시도 결과를 애플리케이션에 알립니다 [SWS_SecOC_91014]. 이 인터페이스는 서비스 ID 0x53을(를) 가지며, 값을 반환하지 않고(void), 헤더 SecOC_Externals.h을(를) 통해 제공됩니다 [SWS_SecOC_91014].
매개변수
유일한 전달 매개변수로 SecOC_VerificationStatusType 타입의 In 매개변수 verificationStatus이(가) 사용됩니다 [SWS_SecOC_91014]. 이 구조체는 검증 상태에 대한 세부 정보와 검증이 수행된 Data ID 및 Freshness Value ID 정보를 제공합니다 [SWS_SecOC_91014]. 추가 입력 또는 출력 매개변수는 존재하지 않습니다 [SWS_SecOC_91014].
오류 처리 및 동시성
특정 오류 코드 및 DET 또는 DEM에 대한 통지는 이 서비스에 대해 정의되어 있지 않습니다 [SWS_SecOC_91014]. 해석: 실패한 검증은 주로 전달된 구조체 verificationStatus 내의 상태 값을 통해 애플리케이션에 전달될 것으로 추정됩니다. 질문 Q-177be3d746f99b24 (열림) 동시성과 관련하여 SecOC_VerifyStatus은(는) 동일한 Freshness Value ID에 대해서는 non-reentrant이지만 서로 다른 Freshness Value ID에 대해서는 reentrant합니다 [SWS_SecOC_91014].
이 텍스트는 AI에 의해 생성되었으며 가이드 역할을 합니다. AUTOSAR 사양이 결정적인 기준입니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 SecOC_ConfigType [SWS_SecOC_00104] 📄 PDF
Configuration data structure of Sec OC module
타입 SecOC_StateType [SWS_SecOC_00162] 📄 PDF
States of the Sec OC module
열거형 SecOC_StateType은 SecOC 모듈의 내부 작동 상태를 형식적으로 나타내는 역할을 하며, 헤더 파일 SecOC.h을 통해 제공됩니다 [SWS_SecOC_00162]. 이를 통해 소프트웨어 컴포넌트의 전체 라이프사이클에 걸쳐 일관된 상태 관리가 가능합니다.
사양에 따라 이 열거형의 값 범위는 정확히 두 개의 이산 상태로 구성됩니다 [SWS_SecOC_00162]:
SECOC_UNINIT: SecOC 모듈이 초기화되지 않았음을 명확하게 알립니다 [SWS_SecOC_00162].SECOC_INIT: SecOC 모듈이 초기화되었음을 확정적으로 나타냅니다 [SWS_SecOC_00162].
상호 작용 및 순서 조건과 관련하여 SECOC_UNINIT은 시스템 시작 직후의 기본 상태를 나타내는 것으로 추정됩니다. 질문 Q-4d02fe3a0979113f (열림) 이 단계에서는 필요한 데이터 구조가 아직 준비되지 않았기 때문에 메시지의 암호화 보안 적용 또는 검증을 위한 기능적 호출이 거부될 수 있습니다. 모듈 초기화가 성공적으로 완료된 후에야 상태가 SECOC_INIT(으)로 변경되는 것으로 보입니다. 호출 모듈이나 내부 모니터링 루틴은 현재 작동 상태를 동기적으로 확인하고 초기화 전의 허용되지 않은 액세스를 안정적으로 차단하기 위해 SecOC_StateType을(를) 참조할 것으로 추정됩니다.
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 SecOC_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
타입 SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
열거형 타입 SecOC_VerificationResultType은(는) SecOC 모듈에서 보안 I-PDU 검증 시 결과를 알리는 데 사용되며 헤더 Rte_SecOC_Type.h을(를) 통해 제공됩니다 [SWS_SecOC_00149].
이 열거형은 검증 상태를 구별하기 위해 다음과 같은 결과 값을 명시합니다 [SWS_SecOC_00149]:
SECOC_VERIFICATIONSUCCESS(0x00): 데이터 검증에 성공했습니다 [SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE(0x01): 검증에 실패했습니다 [SWS_SecOC_00149].SECOC_FRESHNESSFAILURE(0x02): 잘못된 Freshness 값으로 인해 검증에 실패했습니다 [SWS_SecOC_00149].SECOC_AUTHENTICATIONBUILDFAILURE(0x03): 인증 코드의 잘못된 구성으로 인해 검증에 실패했습니다 [SWS_SecOC_00149].SECOC_NO_VERIFICATION(0x04): 검증을 건너뛰고 데이터가 변경 없이 상위 계층으로 전달되었습니다. 이 상태는 상태 재정의SecOC_VerifyStatusOverride이(가) 활성화된 경우에만 가능합니다 [SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE_OVERWRITTEN(0x05): 검증에 실패했으나 재정의 상태로 인해 I-PDU가 상위 계층으로 전달되었습니다. 이 상태 역시 오직SecOC_VerifyStatusOverride을(를) 사용할 때만 발생합니다 [SWS_SecOC_00149].
상위 계층은 이러한 값을 기반으로 검증이 정상적으로 성공했는지, 암호화 코드나 Freshness 값으로 인해 실패했는지, 또는 관리 재정의 상태가 데이터 전달을 제어했는지를 정밀하게 평가할 수 있습니다 [SWS_SecOC_00149].
이 텍스트는 AUTOSAR CP R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
타입 SecOC_VerificationStatusType [SWS_SecOC_00160] 📄 PDF
Data structure to bundle the status of a verification attempt for a specific Freshness Value and Data ID
검증 상태 구조체의 사용
구조체 타입 SecOC_VerificationStatusType은(는) [SWS_SecOC_00160]에 따라 보안 I-PDU에 대한 검증 시도 결과를 관련 Data-ID 및 사용된 신선도 값과 함께 묶습니다. 정의는 헤더 파일 Rte_SecOC_Type.h을(를) 통해 제공되며 다음 요소를 포함합니다:
freshnessValueID(uint16): 해당 검증 상태를 초래한 신선도 값의 식별자 ([SWS_SecOC_00160]).verificationStatus(SecOC_VerificationResultType): 검증 시도의 세부 결과 ([SWS_SecOC_00160]).secOCDataId(uint16): 해당 PDU의 Data-ID ([SWS_SecOC_00160]).
요소 verificationStatus은(는) 특정 성공 및 오류 상태를 구분합니다 ([SWS_SecOC_00160]):
SECOC_VERIFICATIONSUCCESS: 암호화 검사가 성공했습니다.SECOC_VERIFICATIONFAILURE: 검증이 실패했습니다.SECOC_FRESHNESSFAILURE: 유효하지 않은 신선도 값으로 인해 검증이 실패했습니다.SECOC_AUTHENTICATIONBUILDFAILURE: 잘못 생성된 인증 코드로 인해 검증이 실패했습니다.SECOC_NO_VERIFICATION: 이 I-PDU에 대해 검증 시도가 수행되지 않았으며, 상위 계층으로 변경 없이 그대로 전달되었습니다.SECOC_VERIFICATIONFAILURE_OVERWRITTEN: 검증은 실패했으나, 활성 Override 상태로 인해 I-PDU가 상위 계층으로 전달되었습니다.
해석: 이 타입은 검증 세부 정보를 묶으므로, 수신된 데이터의 인증 상태를 상위 계층에 알리기 위해 주로 피드백 및 알림 인터페이스에서 사용될 것으로 보입니다. 질문 Q-a1099bc88a2981e2 (열림)
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF
Type SecOC_OverrideStatusType.
열거형 타입 SecOC_OverrideStatusType은(는) SecOC 모듈에서 I-PDU의 검증 상태를 재정의하기 위한 다양한 모드를 정의하며 헤더 Rte_SecOC_Type.h을(를) 통해 제공됩니다 [SWS_SecOC_00991].
열거형 타입의 값은 Authenticator 검증의 수행 여부 및 방식과 수신된 I-PDU를 처리하는 방법을 제어합니다 [SWS_SecOC_00991]:
SECOC_OVERRIDE_DROP_UNTIL_NOTICE(0x00): CSM 호출 없이 검증이 생략되고, I-PDU가 폐기되며 검증 결과가SECOC_NO_VERIFICATION(으)로 설정됩니다 [SWS_SecOC_00991].SECOC_OVERRIDE_DROP_UNTIL_LIMIT(0x01): 이전과 마찬가지로 검증이 중단되고 I-PDU가 폐기되지만, 재정의할 구성된 메시지 수에 도달할 때까지로 제한됩니다 [SWS_SecOC_00991].SECOC_OVERRIDE_CANCEL(0x02): 검증 상태의 활성 재정의를 중단하고 일반 동작을 복원합니다 [SWS_SecOC_00991].SECOC_OVERRIDE_PASS_UNTIL_NOTICE(0x40) 및SECOC_OVERRIDE_PASS_UNTIL_LIMIT(0x42): Authenticator 검증이 수행되고 결과와 관계없이 I-PDU가 상위 계층으로 전달됩니다. 검증에 실패하면 결과가SECOC_VERIFICATIONFAILURE_OVERWRITTEN(으)로 설정됩니다(추후 공지 시까지 또는 카운터 제한 방식) [SWS_SecOC_00991].SECOC_OVERRIDE_SKIP_UNTIL_LIMIT(0x41) 및SECOC_OVERRIDE_SKIP_UNTIL_NOTICE(0x43): 검증이 생략되고 결과는SECOC_NO_VERIFICATION이(가) 되며, I-PDU는 상위 계층으로 전달됩니다.SecOCRxSecuredPduCollection이(가) 구성된 경우 SecOC는SecOCRxCryptographicPdu을(를) 기다리지 않고SecOCRxAuthenticPdu을(를) 직접 처리합니다 [SWS_SecOC_00991].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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#64ae3264- Content hash
64ae3264- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_SecureOnboardCommunication.pdf#nameddest=SWS_SecOC_00106
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문