DEENESPTFRRUARHIKOZHNL

Intrusion Detection System Manager (IdsM)

ModulIdsM (Intrusion Detection System Manager)
BSW-Modul-ID108
Standard-Header#include "IdsM.h"
SWS-SpezifikationAUTOSAR_SWS_IntrusionDetectionSystemManager.pdf
ClusterSecurity & Intrusion Detection

모듈 가이드AI 생성

센서의 보안 이벤트를 수집 및 필터링하여 검증된 이벤트를 싱크로 전달합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: cd24ae65ba9c 출처 열린 질문 (2)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

센서의 보안 이벤트를 수집 및 필터링하여 검증된 이벤트를 싱크로 전달합니다.

IdsM은 BSW 모듈, CDD 및 SW-C가 보고하는 Security Event를 수집하여 버퍼링하고, IdsM_MainFunction에서 비동기적으로 처리합니다[SWS_IdsM_00702]. Reporting Mode와 Block State, Sampling, Aggregation 및 임계값 필터로 구성된 필터 체인이 이를 자격을 갖춘 이벤트로 변환합니다[SWS_IdsM_01004]. 이러한 이벤트는 PduR을 통해 IdsR로 전송되거나 DEM/Sem에 저장됩니다. 타임스탬프, 서명 및 진단 접근은 선택 사항입니다. IdsM은 컨텍스트 데이터의 의미를 평가하지 않으며, 공격에 대한 대응은 모듈 외부에 있습니다.

IdsM은 보안 센서, 즉 BSW 모듈, CDD 및 SW-C로부터 Security Event(SEv)를 수신합니다. 필터 체인을 통해 이를 Qualified Security Event(QSEv)로 변환합니다[SWS_IdsM_00902]. QSEv는 PduR을 통해 IdsR로 전송하거나, DEM/Sem에 저장하거나, 또는 둘 다 수행합니다[SWS_IdsM_01202] [SWS_IdsM_01600]. 컨텍스트 데이터의 의미는 평가하지 않습니다. 공격에 대한 대응은 모듈 외부(예: SOC)에 있습니다[SWS_IdsM_CONSTR_00001].

kontext sensoren 센서 (RTE를 통한 BSW, CDD, SW-C) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (다른 전자 제어 장치) pdur->idsr IDS-Nachricht

컨텍스트 다이어그램: IdsM은 보고하는 센서들을 싱크인 PduR/IdsR 및 DEM/Sem과 연결합니다. BswM, StbM, CSM, DCM 및 NvM은 선택적으로 연결됩니다. 출처: SWS IdsM 20쪽, [SWS_IdsM_91023]

센서는 IdsM_SetSecurityEvent 또는 컨텍스트 데이터(최대 1500바이트), 카운터 및 타임스탬프를 포함하는 5가지 변형 중 하나를 통해 보고합니다[SWS_IdsM_00300] [SWS_IdsM_00404] [SWS_IdsM_00501]. 이때 항상 IdsMEvent의 심볼릭 이름을 사용합니다[SWS_IdsM_00607]. 보고 서비스는 SEv를 버퍼링하기만 합니다. 실제 처리는 IdsM_MainFunction에서 비동기적으로 실행됩니다[SWS_IdsM_00702]. 사용 가능한 Event Buffer가 없는 경우, IdsM은 내부 SEv가 구성되어 있다면 이를 트리거합니다[SWS_IdsM_00703].

이벤트 자격 부여는 Reporting Mode로 시작합니다. 가능한 값은 OFF, BRIEF, DETAILED 및 필터를 우회하는 변형들입니다[SWS_IdsM_01002] [SWS_IdsM_91013]. 이후 활성 필터들이 고정된 순서로 실행됩니다: Block State, Forward Every n-th, Aggregation, Threshold[SWS_IdsM_01004]. 필터가 SEv를 폐기하면 평가가 종료됩니다[SWS_IdsM_01005]. IdsR로 전송하기 전에 전송률 및 트래픽 제한이 추가로 적용됩니다[SWS_IdsM_01070]. 이는 바이패스 모드에도 적용될 것으로 추정됩니다(해석). 질문 (열림)

filterkette a Event Buffer로부터의 SEv (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn 아니요 bs->drop 예 ag Event Aggregation Filter: Intervallende erreicht? fn->ag 예 fn->drop 아니요 coll 집계 간격 내에서 수집됨(카운터 합산됨) ag->coll 아니요 th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th 예, 누적 카운터 th->drop 아니요 th->q 예 sink Konfigurierte Senken q->sink lim Rate Limitation, 이후 Traffic Limitation sink->lim IdsMSinkIdsR (해석: 우회하는 경우에도 포함) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop 제한 초과됨 idsr PduR an IdsR lim->idsr 제한 범위 내

액티비티 다이어그램: 먼저 Reporting Mode가 적용되고, 그 다음 필터 체인, 마지막으로 IdsR 이전의 인스턴스 제한이 적용됩니다. 출처: SWS IdsM 35쪽, [SWS_IdsM_01004], [SWS_IdsM_01070]

선택적으로 추가 기능을 활성화할 수 있습니다[SWS_IdsM_01100] [SWS_IdsM_01204] [SWS_IdsM_01901] [SWS_IdsM_01702]:

  • StbM 또는 애플리케이션으로부터의 타임스탬프
  • CSM을 통한 서명
  • DCM을 통한 Reporting Mode 읽기 및 변경(NvM 영구 저장 및 오류 발생 시 롤백 포함)

IdsM은 IdsMDevErrorDetect이(가) 활성화된 경우에만 개발 오류를 DET에 보고합니다[SWS_IdsM_02003]. 싱크 DEM/Sem은 R20-11에서 DRAFT 상태를 갖습니다[SWS_IdsM_01601].

역할: 보고된 보안 이벤트에서 검증된 이벤트로

Intrusion Detection System Manager(IdsM)는 Security Event(SEv)를 수집합니다. 이를 보안 센서, 즉 BSW 모듈, Complex Device Driver 또는 SW-C가 감지하여 보고합니다SWS IdsM 10쪽. IdsM은 각 SEv를 구성 가능한 필터 시퀀스인 필터 체인에 대해 검사합니다. SEv가 이 검사를 통과하면 Qualified Security Event(QSEv)가 됩니다[SWS_IdsM_00902]. QSEv만이 추가로 처리됩니다. 이는 PduR을 통해 다른 제어기의 IdsR로 전송되거나, DEM/Sem에 저장되거나, 또는 둘 다 수행됩니다[SWS_IdsM_01202] [SWS_IdsM_01600] SWS IdsM 35쪽.

시스템 경계는 엄격하게 정의되어 있습니다. IdsM은 컨텍스트 데이터의 의미를 알지 못하므로 시스템이 침해되었는지 스스로 판단하지 않습니다. 감지 및 대응은 모듈 외부(예: SOC)에 있습니다[SWS_IdsM_CONSTR_00001]. 다른 모듈에 대한 필수 인터페이스는 없습니다[SWS_IdsM_91023]. 모든 연계는 구성을 통해 활성화됩니다. 이는 조건부 헤더 포함 관계에서 잘 드러납니다:

  • IdsMDevErrorDetect 시 Det.h
  • IdsMSinkDem 시 Dem.h
  • IdsMDiagnosticSupport 시 Dcm.h
  • IdsMNvmBlockDescriptor 시 NvM.h
  • IdsMSinkIdsR 시 PduR.h

이러한 헤더 포함에 대한 근거: [SWS_IdsM_00101]부터 [SWS_IdsM_00105]까지.

kontext sensoren 센서 (RTE를 통한 BSW, CDD, SW-C) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (다른 전자 제어 장치) pdur->idsr IDS-Nachricht

컨텍스트 다이어그램: IdsM은 보고 센서와 싱크인 PduR/IdsR 및 DEM/Sem 사이에 위치합니다. BswM, StbM, CSM, DCM 및 NvM은 작동 상태, 시간, 서명 및 진단 접근을 제공합니다. 출처: SWS IdsM 20쪽, SWS IdsM 14쪽, [SWS_IdsM_01022], [SWS_IdsM_01104], [SWS_IdsM_01206], [SWS_IdsM_01701]

시작, 이벤트 ID 및 보고 인터페이스

IdsM_Init은(는) 모든 내부 변수를 초기화하고 모듈을 "초기화됨" 상태로 전환합니다[SWS_IdsM_00202] [SWS_IdsM_91001]. 이 시점 이전에는 IdsM_Init 및 IdsM_GetVersionInfo만 호출할 수 있습니다SWS IdsM 21쪽. IdsM_Init을(를) 다시 호출하더라도 모듈이 두 번 초기화되지는 않습니다[SWS_IdsM_00204].

lebenszyklus start Start uninit 초기화되지 않음 start->uninit uninit->uninit IdsM_Init / IdsM_GetVersionInfo 이외의 API: Det_ReportError IDSM_E_UNINIT (IdsMDevErrorDetect가 있는 경우에만) init Initialisiert uninit->init IdsM_Init(configPtr): 모든 내부 변수가 초기화됨 init->init IdsM_Init 재호출: 재초기화되지 않음, Det_ReportError IDSM_E_ALREADY_INITIALIZED (IdsMDevErrorDetect가 있는 경우에만) init->init IdsM_MainFunction, Melde-Dienste, Callbacks

상태 다이어그램: 모듈은 두 가지 상태를 가집니다. 두 상태 모두에서 발생한 잘못된 호출은 개발 오류 감지가 활성화된 경우에만 DET에 오류를 보고합니다. 출처: [SWS_IdsM_00202], [SWS_IdsM_00203], [SWS_IdsM_00204], SWS IdsM 21쪽

각 SEv는 세 가지 식별자와 이벤트 이름으로 식별됩니다[SWS_IdsM_00600]:

  • IdsMExternalEventId은(는) 전역적으로 고유하며 Security Extract에서 가져옵니다. 0xFFFF 값은 유효하지 않습니다[SWS_IdsM_00603] [SWS_IdsM_00604].
  • IdsMSensorInstanceId은(는) 모듈 인스턴스가 하나만 있는 경우 기본적으로 0입니다[SWS_IdsM_00608].
  • IdsMInternalEventId은(는) IdsM이 내부적으로 계산합니다[SWS_IdsM_00601].

센서는 오직 IdsMEvent 컨테이너의 심볼릭 이름을 통해서만 보고합니다. 내부 값에 의존해서는 안 됩니다[SWS_IdsM_00602] [SWS_IdsM_00607]. 보고를 위해 6개의 서비스가 제공됩니다:

서비스추가 데이터근거
IdsM_SetSecurityEvent없음[SWS_IdsM_00300]
IdsM_SetSecurityEventWithContextData컨텍스트 데이터[SWS_IdsM_00301]
IdsM_SetSecurityEventWithCount카운터(Smart Sensor)[SWS_IdsM_00401]
IdsM_SetSecurityEventWithCountContextData카운터, 컨텍스트 데이터[SWS_IdsM_00402]
IdsM_SetSecurityEventWithTimestampCount타임스탬프, 카운터[SWS_IdsM_00403]
IdsM_SetSecurityEventWithTimestampCountContextData타임스탬프, 카운터, 컨텍스트 데이터[SWS_IdsM_00404]

센서는 컨텍스트 데이터를 바이트 배열에 대한 포인터로 전달합니다. 최대 1500바이트까지 지원됩니다[SWS_IdsM_00501] [SWS_IdsM_00502]. 타임스탬프는 있지만 자체 카운터가 없는 경우 count = 1로 보고합니다[SWS_IdsM_00405].

0x8000–0xFFFE 범위의 외부 ID를 갖는 SW-C는 서비스 인터페이스 IdsMService_{EventName} 또는 IdsMSmartSensorService_{EventName}을(를) 통해 IdsM에 접근합니다. 어떤 인터페이스가 적용되는지는 IdsMAdditionalParameterOption(None, Count, CountTimestamp)에 따라 달라집니다[SWS_IdsM_91027] [SWS_IdsM_91028] [SWS_IdsM_01301] [SWS_IdsM_01303]. R20-11에서 이러한 서비스는 규범적입니다. 이후 릴리스에서는 이를 OBSOLETE로 분류합니다SWS IdsM 67쪽.

IdsM_MainFunction에서의 버퍼링 및 비동기 처리

보고 서비스는 SEv를 즉시 처리하지 않습니다. IdsM은 먼저 이를 Event Buffer에 저장합니다. 필터링 및 전달은 이후 주기적으로 호출되는 IdsM_MainFunction에서 비동기적으로 수행됩니다[SWS_IdsM_00702] [SWS_IdsM_00901] [SWS_IdsM_91000]. Event Buffer의 수(IdsMNumberOfEventBuffers)는 구성 가능합니다[SWS_IdsM_00701]. 사양에서는 가이드라인 값으로 집계 필터 인스턴스 수에 병렬 처리되는 이벤트의 상한을 더한 값을 권장합니다SWS IdsM 24쪽.

SEv의 보고 및 비동기 처리SensorIdsMBswDefaultTaskStbM싱크 (PduR / Dem)Use Case: 센서 컨텍스트에서의 보고IdsM_SetSecurityEvent(securityEventId)또는 5가지 변형 중 하나SEv in Event Buffer ablegen필요시 Context Data Buffer 연결반환 (void)Use Case: Zyklische VerarbeitungIdsM_MainFunction()optIdsMTimestampOption = AUTOSAR, kein Zeitstempel gemeldetStbM_GetCurrentTime()aktuelle Zeit버퍼링된 모든 SEv: Reporting Mode,Filterkette, Zeitstempel zuordnenoptSEv als QSEv qualifiziertQSEv an konfigurierte Senken

시퀀스 다이어그램: 보고는 버퍼링 후 즉시 반환됩니다. 타임스탬프 기록, 필터링 및 전달은 IdsM_MainFunction에서 비로소 수행됩니다. 출처: SWS IdsM 86쪽, [SWS_IdsM_00702], [SWS_IdsM_00901], [SWS_IdsM_01107]

컨텍스트 데이터는 최대 1500바이트까지 구성 가능한 크기를 갖는 별도의 Context Data Buffer에 저장됩니다[SWS_IdsM_00704] SWS IdsM 122쪽. IdsM은 동일하거나 바로 다음으로 큰 크기의 버퍼를 선택하여 Event Buffer와 연결합니다[SWS_IdsM_00705] [SWS_IdsM_00706]. 컨텍스트 데이터가 없는 SEv는 이러한 버퍼를 차지하지 않습니다[SWS_IdsM_00709]. IdsM 자체의 내부 SEv를 위해서는 별도의 독립된 버퍼가 존재합니다[SWS_IdsM_00802].

puffer a 보고 서비스를 통해 SEv 수신됨 b Event Buffer frei? a->b c Interner SEv IDSM_INTERNAL_EVENT_NO_EVENT_BUFFER_AVAILABLE (falls konfiguriert) b->c 아니요 d SEv in Event Buffer speichern b->d 예 x SEv를 처리할 수 없음 c->x e Kontextdaten gemeldet? d->e f 동일하거나 바로 다음으로 큰 크기의 Context Data Buffer가 비어 있는가? e->f 예 i 컨텍스트 데이터 없이 SEv 계속 처리 e->i 아니요 g Context Data Buffer를 Event Buffer와 연결 f->g 예 h Interner SEv IDSM_INTERNAL_EVENT_NO_CONTEXT_DATA_BUFFER_AVAILABLE (falls konfiguriert) f->h 아니요 j Asynchrone Verarbeitung in IdsM_MainFunction g->j h->i i->j

액티비티 다이어그램: SEv 수신 시 버퍼가 할당되는 방식. 컨텍스트 버퍼가 없으면 SEv는 컨텍스트 데이터 없이 처리된다. Event Buffer가 없으면 SEv를 처리할 수 없다. 출처: [SWS_IdsM_00703], [SWS_IdsM_00705], [SWS_IdsM_00707], [SWS_IdsM_00708], [SWS_IdsM_91015], SWS IdsM 27쪽

자격 부여: Reporting Mode, 필터 체인 및 인스턴스 제한

먼저 IdsM이 Reporting Mode를 평가한다. 각 SEv는 정확히 하나의 Reporting-Mode 필터를 가진다. 이 필터는 필수이며 SEv에 직접 연결되어 있고 필터 체인에 속하지 않는다 [SWS_IdsM_01010] [SWS_IdsM_01011]. 초기값은 IdsMReportingModeFilter [SWS_IdsM_01012]에서 가져온다. 필터 체인은 그 이후에야 이어진다 [SWS_IdsM_01002]. IdsM_Filters_ReportingModeType에서는 다음 모드들을 정의한다 [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF: 이벤트가 보고되지 않는다.
  • IDSM_REPORTING_MODE_BRIEF: 컨텍스트 데이터 없는 보고.
  • IDSM_REPORTING_MODE_DETAILED: 컨텍스트 데이터를 포함한 보고.
  • 두 가지 변형 …_BYPASSING_FILTERS: BRIEF 또는 DETAILED와 같이 보고되지만 필터링되지 않음.

필터 체인은 SEv에 할당된다 [SWS_IdsM_01001] [SWS_IdsM_00903]. 각 IdsMFilterChain에는 최소 하나의 필터가 필요하다 [SWS_IdsM_CONSTR_00002]. 활성 필터들은 고정된 순서로 실행된다 [SWS_IdsM_01004]. 필터가 SEv를 폐기하면 평가는 즉시 종료된다. 그렇지 않으면 SEv는 다음 필터로 전달된다 [SWS_IdsM_00904] [SWS_IdsM_00905] [SWS_IdsM_01005]. 네 가지 필터의 순서는 다음과 같다:

  1. Block State: BswM이 IdsM_BswM_StateChanged을(를) 통해 현재 상태를 IdsM_Filters_BlockStateType 타입의 비트마스크로 보고한다. 이 상태가 IdsMBlockState에서 참조되면 필터는 SEv를 폐기한다 [SWS_IdsM_01022] [SWS_IdsM_01023] [SWS_IdsM_91017]. 하나의 필터는 최대 16개의 상태를 참조할 수 있다 SWS IdsM 85쪽.
  2. Forward Every n-th: 첫 번째 SEv는 통과하고, 그 이후에는 IdsMNthParameter에 따라 매 n번째마다 통과한다. 이때 데이터는 변경되지 않은 상태로 유지된다 [SWS_IdsM_01031] [SWS_IdsM_01032] [SWS_IdsM_01033].
  3. Event Aggregation: 인터벌 동안 필터는 아무것도 전달하지 않는다. 인터벌 종료 시 누적 카운터 [SWS_IdsM_01043] [SWS_IdsM_01046]을(를) 가진 단일 SEv가 생성된다. 컨텍스트 데이터와 타임스탬프는 IdsMContextDataSourceSelector [SWS_IdsM_01047] [SWS_IdsM_01049]에 따라 해당 인터벌의 첫 번째 또는 마지막 SEv에서 가져온다. 예시는 SWS IdsM 40쪽에 나와 있다.
  4. Event Threshold: 현재 인터벌의 카운터 합계가 IdsMEventThresholdNumber 미만인 한 필터는 SEv를 폐기한다. 인터벌이 만료되면 합계는 리셋된다 [SWS_IdsM_01061] [SWS_IdsM_01062] [SWS_IdsM_01063]. 예시는 SWS IdsM 41쪽에 나와 있다.

모든 인터벌은 IdsMMainFunctionPeriod의 배수이다. 집계 및 임계값 인터벌은 Main Function의 첫 번째 호출부터 실행된다 [SWS_IdsM_01050] [SWS_IdsM_01051] [SWS_IdsM_01065].

IdsR로 전송하기 전에 전체 IdsM 인스턴스에 대해 두 가지 제한이 적용된다 [SWS_IdsM_01070]:

  • 속도 제한은 인터벌당 최대 IdsMRateLimitationMaximumEvents개의 QSEv를 허용한다 [SWS_IdsM_01081].
  • 트래픽 제한은 인터벌당 최대 IdsMTrafficLimitationMaximumBytes 바이트를 허용한다 [SWS_IdsM_01091] [SWS_IdsM_01093].

IdsM의 내부 SEv는 이러한 인스턴스 필터를 거치지 않는다. 그러나 이벤트별 필터는 가질 수 있다 [SWS_IdsM_00803] [SWS_IdsM_00804]. 해석: 바이패스 모드는 필터 체인만 우회한다. 질문 (열림) [SWS_IdsM_01070]에서 IdsR로의 모든 전송 전에 이러한 제한을 요구하므로, 속도 및 트래픽 제한은 바이패스 모드에도 적용될 것으로 보인다.

filterkette a Event Buffer로부터의 SEv (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn 아니요 bs->drop 예 ag Event Aggregation Filter: Intervallende erreicht? fn->ag 예 fn->drop 아니요 coll 집계 간격 내에서 수집됨(카운터 합산됨) ag->coll 아니요 th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th 예, 누적 카운터 th->drop 아니요 th->q 예 sink Konfigurierte Senken q->sink lim Rate Limitation, 이후 Traffic Limitation sink->lim IdsMSinkIdsR (해석: 우회하는 경우에도 포함) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop 제한 초과됨 idsr PduR an IdsR lim->idsr 제한 범위 내

액티비티 다이어그램: 먼저 Reporting Mode, 그다음 고정된 순서의 필터들, 마지막으로 IdsR 앞의 인스턴스 제한. 구성되지 않은 필터는 생략된다. 출처: SWS IdsM 35쪽, [SWS_IdsM_01002], [SWS_IdsM_01004], [SWS_IdsM_01070], [SWS_IdsM_91013]

타임스탬프, IDS 메시지 및 싱크

타임스탬프는 선택 사항이며 IdsMTimestampOption을(를) 통해 전역적으로 제어된다 [SWS_IdsM_01100]:

센서 자체가 타임스탬프를 제공하는 경우 이것이 우선권을 갖는다 [SWS_IdsM_01108]. IdsM은 이를 하위 62비트로 자른다 [SWS_IdsM_01110]. 시퀀스 다이어그램에 따르면 IdsM은 버퍼링된 모든 이벤트에 대해 Main Function에서 타임스탬프를 결정한다 SWS IdsM 87쪽.

zeitstempel a QSEv aufbereiten opt IdsMTimestampOption? a->opt none 타임스탬프 없음; 함께 보고된 타임스탬프는 무시됨 opt->none None given 센서에서 타임스탬프가 함께 보고되었는가? opt->given AUTOSAR / Custom trunc 하위 62비트로 잘라내어 사용함 given->trunc 예 src 옵션에 따른 소스인가? given->src 아니요 add Zeitstempel in QSEv aufnehmen trunc->add stbm StbM_GetCurrentTime() src->stbm AUTOSAR cust CustomTimestamp 포트를 통한 IdsM_CustomTimestamp, 작업 Get src->cust Custom stbm->add cust->add

액티비티 다이어그램: IdsMTimestampOption에 따라 타임스탬프 소스가 선택되는 방식. 출처: [SWS_IdsM_01106], [SWS_IdsM_01107], [SWS_IdsM_01108], [SWS_IdsM_01109], [SWS_IdsM_01110], SWS IdsM 86쪽

QSEv는 어느 싱크로 전달되든 동일한 구조를 가진다 [SWS_IdsM_01200]. IDS 메시지는 Event Frame과 선택적인 Timestamp, Context Data 및 Signature로 구성된다 PRS IDS 11쪽. 이벤트가 어떤 싱크를 사용할지는 IdsMEvent의 구성에 따라 결정된다 [SWS_IdsM_01201].

서명은 선택 사항이다. IdsMCsmJobReference이(가) 구성되는 즉시 전역적으로 활성화된다. 이는 Csm_SignatureGenerate을(를) 통해 트리거된다. 동기 작업의 경우 서명이 즉시 제공되며, 비동기 작업의 경우 IdsM_CsmNotification이(가) 결과를 보고한다 [SWS_IdsM_01204] [SWS_IdsM_01206] [SWS_IdsM_01207] [SWS_IdsM_01208].

싱크 IdsR의 경우 IdsM은 PduR_IdsMTransmit을(를) 통해 전송한다 [SWS_IdsM_01498]. 메시지가 Bus-PDU에 맞으면 IF-PDU를 사용하고, 그렇지 않으면 TP-PDU를 사용한다 [SWS_IdsM_01400] [SWS_IdsM_01401]. 새로운 전송 요청은 이전 전송에 대한 확인(Confirmation) 이후에야 이어진다 [SWS_IdsM_01499]. DEM/Sem 싱크는 완전한 IDS 메시지를 저장한다. 이는 R20-11에서 DRAFT 상태를 갖는다 [SWS_IdsM_01601] [SWS_IdsM_01602].

QSEv의 서명 및 IdsR로의 전송IdsMCsmPduRUse Case: Optional: Signatur (IdsMCsmJobReference konfiguriert)Csm_SignatureGenerate()altsynchroner Csm-Job반환: 서명을 즉시 사용 가능함asynchroner Csm-JobIdsM_CsmNotification()Use Case: 전송 (IdsMSinkIdsR)PduR_IdsMTransmit()altIDS 메시지가 하나의 버스 PDU에 들어감 (IdsMIfTxPdu)IdsM_TxConfirmation(TxPduId, result)그렇지 않으면 분할됨 (IdsMTpTxPdu)loopPDU가 완전히 복사될 때까지IdsM_CopyTxData(id, info, retry, availableDataPtr)BufReq_ReturnTypeIdsM_TpTxConfirmation(id, result)Kein weiteres PduR_IdsMTransmit확인 전

시퀀스 다이어그램: 먼저 CSM을 통한 선택적 서명, 그다음 확인을 동반한 IF- 또는 세그먼트화된 TP-PDU로서의 전송. 출처: [SWS_IdsM_01207], [SWS_IdsM_01208], [SWS_IdsM_01500], [SWS_IdsM_01501], [SWS_IdsM_01502], SWS IdsM 49쪽

진단 재구성 및 Reporting Mode의 지속성

진단 액세스는 선택 사항이며 IdsMDiagnosticSupport을(를) 통해 활성화된다 [SWS_IdsM_01800].

성공적인 변경 후 IdsM은 NvM_WriteBlock을(를) 트리거한다 [SWS_IdsM_01701]. 지속화(영속화)에 실패하면 이전 값을 복원하고 DCM_E_GENERALPROGRAMMINGFAILURE [SWS_IdsM_01702] [SWS_IdsM_01904] [SWS_IdsM_01905]을(를) 보고한다.

시작 시 IdsM은 지속화된 값을 사용한다. 해당 값이 없으면 구성이 적용된다 [SWS_IdsM_01703] [SWS_IdsM_01704]. NvM 블록은 NvM_ReadAll에 포함되어야 하며 IdsM_NvMRamBlockData 또는 IdsM_NvMRomBlockData(으)로 명명된다 [SWS_IdsM_01705] [SWS_IdsM_01706] [SWS_IdsM_01707]. DCM은 OpStatus DCM_PENDING을(를) 사용한 반복 호출을 통해 지속화 결과를 확인할 것으로 추정된다. 질문 Q-65ac99385a597b7d (열림) 이후 버전에서는 이를 위해 DCM_E_BUSYREPEATREQUEST SWS IdsM 75쪽을(를) 언급한다.

진단을 통한 Reporting Mode 변경 및 읽기DcmIdsMNvMUse Case: Reporting Mode 변경IdsM_Dcm_SetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, In_ReportingMode, OpStatus, ErrorCode)altReporting Mode 또는 이벤트 ID가 유효하지 않음E_NOT_OK, DCM_E_REQUESTOUTOFRANGE매개변수 유효함IdsMReportingModeFilter 변경NvM_WriteBlock()해석: 영속화 결과는OpStatus DCM_PENDING을 사용한 호출을 통해 피드백됨altPersistierung fehlgeschlagen이전 Reporting Mode로 롤백E_NOT_OK, DCM_E_GENERALPROGRAMMINGFAILUREPersistierung erfolgreichE_OKUse Case: Reporting Mode lesenIdsM_Dcm_GetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, OpStatus, ErrorCode)E_OK / DCM_E_PENDING / E_NOT_OKIdsM_Dcm_GetReportingMode_RequestResults(OpStatus,Out_ReportingMode, ErrorCode)Out_ReportingMode

시퀀스 다이어그램: NvM 지속화 및 롤백을 포함한 Reporting Mode 변경과 2단계 읽기. 출처: [SWS_IdsM_01901], [SWS_IdsM_01904], [SWS_IdsM_01905], [SWS_IdsM_91007], SWS IdsM 74쪽. 지속화 피드백 경로는 해석으로 표시됨.

오류가 발생한 경우의 동작

IdsM은 IdsMDevErrorDetect이(가) 활성화된 경우에만 개발 오류를 DET에 보고한다. 오류 코드는 [SWS_IdsM_02003]에 명시되어 있다:

명명 시 주의 사항: [SWS_IdsM_00203]에서는 코드를 IDSM_E_PARAM_UNINIT(으)로 명명하지만, 오류 테이블에는 IDSM_E_UNINIT (0x0D)(으)로 등재되어 있다 [SWS_IdsM_02003].

IdsM은 리소스 병목 현상이 구성되어 있는 경우 자체 내부 SEv로 보고한다 [SWS_IdsM_91015]:

필터가 SEv를 폐기하는 것은 정상적인 동작이며 오류가 아니다 [SWS_IdsM_00904]. 전송 오류는 확인(Confirmation) 시 E_NOT_OK(으)로 도달한다 [SWS_IdsM_91009]. IdsMTransmissionRetryDelay을(를) 사용한 재시도 규칙은 R25-11에 이르러서야 도입되었다 SWS IdsM 51쪽.

더 자세한 증거

페이로드의 명세 발췌본(AUTOSAR Classic Platform R20-11)을 기반으로 AI가 생성한 가이드. 링크된 Requirements만 규범적이다. 해석으로 표시된 진술은 출처에 의해 완전히 뒷받침되지 않는다.

Intrusion Detection System Manager (IdsM)

Collects and reports onboard security events to detect threats.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 IdsM_Init [SWS_IdsM_91001] 📄 PDF

void IdsM_Init (const IdsM_ConfigType* configPtr);

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 27dab8d4c20f 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 및 비재진입 인터페이스 IdsM_Init은 [SWS_IdsM_91001]에 따른 IdsM 모듈의 기본 초기화에 사용됩니다. 호출 시 서비스는 모든 내부 변수를 초기화하고 IdsM을 초기화된 상태([SWS_IdsM_00202])로 전환합니다. 입력 파라미터 configPtr을 통해 이 함수는 모듈별 구성 구조체에 대한 포인터를 전달받습니다([SWS_IdsM_91001]).

IdsM_Init의 실행은 모듈 동작을 위한 필수적인 기능적 전제조건입니다. 아직 초기화되지 않은 상태에서 IdsM_Init 또는 IdsM_GetVersionInfo 이외의 IdsM API가 호출되는 경우, 개발 감지(IdsMDevErrorDetect)가 활성화되어 있으면 모듈은 Det_ReportError를 통해 오류 IDSM_E_PARAM_UNINIT를 보고합니다([SWS_IdsM_00203], [SWS_IdsM_02003] 아래의 오류 코드 0x0D도 참조).

오류 처리 및 호출 컨텍스트에는 특정 동작 규칙이 적용됩니다:

  • 모듈이 이미 초기화된 상태에 있는 동안 IdsM_Init이 호출되면 내부 변수의 재초기화가 수행되지 않습니다([SWS_IdsM_00204]).
  • 대신 IdsMDevErrorDetect이 활성화되어 있는 경우 모듈은 Det_ReportError을 통해 숫자 값 0x0E을 갖는 개발 오류 IDSM_E_ALREADY_INITIALIZED를 보고합니다([SWS_IdsM_00204], [SWS_IdsM_02003]).
  • 이 함수는 반환값이 없으며 비재진입([SWS_IdsM_91001])으로 정의되어 있습니다. 따라서 시스템 내에서 동시적으로 또는 인터럽트 컨텍스트에 의해 동시에 여러 번 호출되어서는 안 됩니다.

이 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_MainFunction [SWS_IdsM_91000] 📄 PDF

void IdsM_MainFunction (void);

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 74bdc1b72d90 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 IdsM_MainFunction은 주기적으로 호출되며 헤더 파일 IdsM.h을 통해 사용할 수 있습니다 [SWS_IdsM_91000]. 이 함수는 void IdsM_MainFunction(void) 시그니처를 가지며, 매개변수를 받지 않고 반환값도 없습니다 [SWS_IdsM_91000]. 함수 자체의 호출은 동기식이지만, 동기 API 호출 중에 이전에 대기열에 들어간 보안 이벤트(Security Events, SEv)를 비동기적으로 처리하는 역할을 합니다 [SWS_IdsM_91000]. 주기적 트리거링은 일반적으로 BSW 스케줄러 또는 주기적 OS 태스크에 의해 수행될 것으로 보입니다. 질문 Q-86e2e870c3496bad (열림)

동시성 및 제약사항

사양에 따라 IdsM_MainFunction은 재진입 불가(Non Reentrant)로 분류됩니다 [SWS_IdsM_91000]. 따라서 호출 시스템 환경은 함수가 특정 시점에 단일 인스턴스로만 실행되고 중복 호출이 발생하지 않도록 보장해야 합니다.

이벤트 처리 상호작용

주기적 처리 프레임워크 내의 주요 작업에는 다음 측면들이 포함됩니다:

  • 이벤트 버퍼: SEv를 수신한 후 IdsM은 이를 Event Buffer에 저장합니다. 이러한 버퍼는 IdsM_MainFunction의 일부로 비동기식으로 관리되고 필터링됩니다 [SWS_IdsM_00702].
  • 컨텍스트 데이터 버퍼: 컨텍스트 데이터와 함께 SEv를 수신하면 IdsM은 Context Data Buffer Pool에서 적절한 버퍼를 사용합니다. 이러한 버퍼 역시 IdsM_MainFunction에서 비동기식으로 처리되고 필터링됩니다 [SWS_IdsM_00705].
  • 검증: Event Buffers에 저장된 SEv는 검증된 보안 이벤트(QSEv)로 식별하기 위해 비동기식으로 처리됩니다 [SWS_IdsM_00901].

이 텍스트는 R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_CopyTxDataManager [SWS_IdsM_91010] 📄 PDF

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

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5f2ff6078796 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수는 I-PDU(N-PDU) 세그먼트에 대한 송신 데이터를 검색하기 위해 동기식 및 재진입 가능 방식으로 호출됩니다 [SWS_IdsM_91010]. 이 함수는 헤더 IdsM_Cbk.h을 통해 제공되며 서비스 ID 0x43를 처리합니다 [SWS_IdsM_91010].

id을 통해 전송할 I-PDU가 식별됩니다 [SWS_IdsM_91010]. 매개변수 info는 대상 버퍼(SduDataPtr)와 요청된 바이트 길이(SduLength)를 전달합니다. SduLength에 대한 0 값(여기서 SduDataPtr은 NULL_PTR일 수 있음)은 매개변수 retry의 상태 변경 또는 남은 데이터 쿼리에 사용됩니다 [SWS_IdsM_91010]. availableDataPtr을 통해 함수는 Tx 버퍼에 남아 있는 데이터 양을 보고하므로, 동적 페이로드 길이를 갖는 전송 프로토콜(예: FrIsoTp)이 후속 Consecutive Frame의 크기를 결정할 수 있습니다 [SWS_IdsM_91010].

retry이 NULL_PTR인 경우, 복사된 데이터는 복사 프로세스 직후 버퍼에서 해제될 수 있습니다 [SWS_IdsM_91010]. 그렇지 않으면 RetryInfoType이 오류 처리를 제어합니다. TP_CONFPENDING의 경우 이전에 복사된 데이터가 TP 버퍼에 유지되는 반면, TP_DATACONF는 이 호출 이전에 복사된 모든 데이터를 확인하고 해제합니다 [SWS_IdsM_91010]. TpDataState이 TP_DATARETRY로 설정된 경우 함수는 TxTpDataCnt로 지정된 바이트 오프셋부터 이전에 전송된 데이터를 다시 복사합니다 [SWS_IdsM_91010].

전체 복사에 성공하면 함수는 BUFREQ_OK을 반환합니다 [SWS_IdsM_91010]. 사용 가능한 송신 데이터가 충분하지 않은 경우 데이터가 복사되지 않고 BUFREQ_E_BUSY가 반환되며, 이후 하위 모듈이 호출을 재시도할 수 있습니다 [SWS_IdsM_91010]. 요청이 실패하면 데이터 복사 없이 BUFREQ_E_NOT_OK가 반환됩니다 [SWS_IdsM_91010].

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_SetSecurityEvent [SWS_IdsM_91002] 📄 PDF

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b7f6437d402e 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 IdsM_SetSecurityEvent은 애플리케이션이 IdsM(Intrusion Detection System Manager) 모듈에 보안 이벤트를 보고하기 위한 인터페이스 역할을 합니다 [SWS_IdsM_91002].

사용법 및 호출 컨텍스트

호출은 서비스 ID 0x03을 갖는 헤더 파일 IdsM.h을 통해 동기식으로 수행됩니다 [SWS_IdsM_91002]. 유일한 전달 파라미터로 보안 이벤트의 식별자가 전달됩니다:

  • securityEventId (IN, IdsM_SecurityEventIdType): 보고된 보안 이벤트의 고유 식별자 [SWS_IdsM_91002].

이 함수는 반환값이 없습니다(void) [SWS_IdsM_91002].

오류 처리

개발 오류 감지(IdsMDevErrorDetect)가 활성화된 경우 모듈은 구성된 보안 이벤트에 대해 파라미터 securityEventId을 검사합니다 [SWS_IdsM_02101]. IdsMEvent에 구성되지 않은 알 수 없는 이벤트 ID가 전달되면 IdsM은 개발 오류 IDSM_E_PARAM_INVALID를 보고합니다 [SWS_IdsM_02101].

동시성 및 제약사항

이 함수는 비재진입(Non Reentrant)으로 명세되어 있습니다 [SWS_IdsM_91002]. 따라서 서로 다른 컨텍스트에서의 동시 호출 또는 인터럽트 호출은 호출자에 의해 동기화되거나 방지되어야 합니다.

이 사용 지침은 릴리스 R20-11의 AUTOSAR Classic 플랫폼 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_SetSecurityEventWithContextData [SWS_IdsM_91003] 📄 PDF

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface to report security events with context data to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f5f82ae60185 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 IdsM_SetSecurityEventWithContextData은 선택적 컨텍스트 데이터와 함께 보안 이벤트를 Intrusion Detection System Manager([SWS_IdsM_91003])에 동기식으로 보고하기 위한 애플리케이션 인터페이스 역할을 합니다. 이 함수는 반환값이 없습니다.

매개변수 및 사용법

  • securityEventId: 보고된 보안 이벤트의 고유 식별자([SWS_IdsM_91003]).
  • contextData: 선택적 컨텍스트 데이터에 대한 포인터입니다. 컨텍스트 데이터를 사용할 수 없는 경우 NULL_PTR을 전달해야 합니다([SWS_IdsM_91003]).
  • contextDataSize: 제공된 컨텍스트 데이터의 바이트 단위 크기([SWS_IdsM_91003]).

오류 처리

개발 오류 감지(IdsMDevErrorDetect)가 활성화된 경우 IdsM 모듈은 다음 검사를 수행합니다:

  • 전달된 securityEventId이 IdsMEvent에 구성된 보안 이벤트에 속하지 않는 경우, 개발 오류 IDSM_E_PARAM_INVALID가 보고됩니다([SWS_IdsM_02102]).
  • contextDataSize이 컨텍스트 데이터에 대해 구성된 최대 버퍼 크기(매개변수화된 IdsMContextDataBufferSize의 최댓값으로 정의됨)를 초과하는 경우, 개발 오류 IDSM_E_PARAM_LENGTH가 보고됩니다([SWS_IdsM_02107]).

동시성 및 통합

이 인터페이스는 재진입 불가(Non Reentrant)로 지정되어 있습니다([SWS_IdsM_91003]). 따라서 호출자는 동시 호출을 방지하거나 적절히 동기화해야 합니다. 선언은 헤더 IdsM.h를 통해 제공됩니다([SWS_IdsM_91003]).

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI 시스템에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_SetSecurityEventWithCount [SWS_IdsM_91018] 📄 PDF

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1b4c7b27b68c 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 함수 IdsM_SetSecurityEventWithCount(서비스 ID 0x05)은 Smart Sensors가 보안 이벤트(Security Events, SEvs)를 카운트 값과 함께 IdsM에 전달하기 위한 애플리케이션 인터페이스를 제공합니다 [SWS_IdsM_91018], [SWS_IdsM_00401]. 이를 통해 IdsM은 센서에서 사전 계산된 카운터가 포함된 이벤트를 수신할 수 있습니다 [SWS_IdsM_00401]. 함수 선언은 헤더 파일 IdsM.h를 통해 제공됩니다 [SWS_IdsM_91018].

호출 시 이 함수는 두 개의 입력 매개변수를 요구합니다:

  • securityEventId: IdsM_SecurityEventIdType 타입의 보안 이벤트 식별자 [SWS_IdsM_91018].
  • count: 센서로부터 생성되어 이벤트의 초기 시작 값 역할을 하는 uint16 타입의 카운트 값 [SWS_IdsM_91018], [SWS_IdsM_00401].

이 함수는 반환값을 제공하지 않으며 출력 매개변수를 정의하지 않습니다 [SWS_IdsM_91018]. 동시성 및 호출 컨텍스트와 관련하여 이 함수는 재진입 불가(Non Reentrant)로 선언되어 있으므로 [SWS_IdsM_91018], 소프트웨어 측면에서 병렬 호출을 방지해야 합니다.

오류 처리의 경우 개발 감지(IdsMDevErrorDetect)가 활성화되었을 때 IdsM이 매개변수 securityEventId 및 count를 검증하도록 명시되어 있습니다 [SWS_IdsM_02103]. 알 수 없는 이벤트 ID가 전달되거나 count의 값이 0인 경우 개발 오류 IDSM_E_PARAM_INVALID가 보고됩니다 [SWS_IdsM_02103].

이 사용 참고사항은 AUTOSAR 명세를 기반으로 AI에 의해 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_SetSecurityEventWithCountContextData [SWS_IdsM_91019] 📄 PDF

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2006a1c85bf9 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 IdsM_SetSecurityEventWithCountContextData은 스마트 센서가 카운트 값 및 선택적 컨텍스트 데이터를 포함한 보안 이벤트를 [SWS_IdsM_91019]에 동기식으로 보고하기 위한 애플리케이션 인터페이스 역할을 합니다.

사용법 및 매개변수

호출은 동기식으로 수행되며 재진입 불가(Non Reentrant)로 지정되어 있습니다 [SWS_IdsM_91019]:

  • securityEventId: 보안 이벤트의 고유 식별자 [SWS_IdsM_91019].
  • count: 보안 이벤트의 시작 값으로 사용되는 카운트 값 [SWS_IdsM_91019].
  • contextData: 제공할 컨텍스트 데이터가 포함된 바이트 배열에 대한 포인터 [SWS_IdsM_00502]. 컨텍스트 데이터가 없는 경우 NULL_PTR를 전달해야 합니다 [SWS_IdsM_91019].
  • contextDataSize: 전달된 컨텍스트 데이터의 바이트 단위 크기 [SWS_IdsM_91019]. 이 함수는 최대 1500바이트의 길이를 지원합니다 [SWS_IdsM_00501].

오류 처리

개발 오류 감지(IdsMDevErrorDetect)가 활성화된 경우 모듈은 전달된 인수의 유효성을 모니터링합니다:

  • 알 수 없는 securityEventId이 전달되거나 count의 값이 0인 경우 개발 오류 IDSM_E_PARAM_INVALID이 보고됩니다 [SWS_IdsM_02104].
  • contextDataSize이 구성된 최대 버퍼 크기(가장 크게 구성된 IdsMContextDataBufferSize에 의해 결정됨)를 초과하면 IdsM은 개발 오류 IDSM_E_PARAM_LENGTH를 보고합니다 [SWS_IdsM_02108].

이 함수는 반환값을 반환하지 않습니다 [SWS_IdsM_91019]. 오류 발생 시의 오류 대응은 주로 DET를 통한 보고를 기반으로 할 것으로 보입니다. 질문 Q-135f4b865790f34d (열림)

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 IdsM_SetSecurityEventWithTimestampCount [SWS_IdsM_91020] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2451b7e4c502 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 인터페이스 IdsM_SetSecurityEventWithTimestampCount은 Smart Sensors가 타임스탬프와 카운트 값을 포함한 보안 이벤트를 IdsM에 보고하는 데 사용됩니다 [SWS_IdsM_91020]. 이 함수는 반환값이 없으며 헤더 파일 IdsM.h를 통해 사용할 수 있습니다 [SWS_IdsM_91020].

다음 입력 매개변수가 처리됩니다:

  • securityEventId: 보고된 보안 이벤트의 고유 식별자 [SWS_IdsM_91020].
  • timestamp: 이벤트의 시간적 참조를 위한 타임스탬프 [SWS_IdsM_91020]. 타임스탬프 기능이 활성화되어 있고 타임스탬프가 전달되면 IdsM은 이를 정규화된 보안 이벤트(QSEv)의 저장 또는 전송에 사용합니다 [SWS_IdsM_01108]. 반면 해당 기능이 활성화되어 있으나 이벤트가 타임스탬프 없이 보고되면, IdsM은 전송 또는 저장 전에 프로토콜 헤더의 타임스탬프 옵션 비트를 0으로 설정합니다 [SWS_IdsM_01112].
  • count: 보안 이벤트의 시작 값 역할을 하는 카운트 값 [SWS_IdsM_91020]. 사전에 계산된 카운터가 없는 경우 1의 값으로 함수를 호출할 수 있습니다 [SWS_IdsM_00405].

개발 감지(IdsMDevErrorDetect)가 활성화되어 있으면 IdsM은 인수 securityEventId 및 count를 유효성 검사합니다. 알 수 없는 이벤트 ID가 전달되거나 count이 0 값을 갖는 경우 모듈은 개발 오류 IDSM_E_PARAM_INVALID를 보고합니다 [SWS_IdsM_02105].

동시성 측면에서 이 함수는 재진입 불가(Non Reentrant)로 지정되어 있습니다 [SWS_IdsM_91020].

이 텍스트는 AUTOSAR 명세를 바탕으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 IdsM_SetSecurityEventWithTimestampCountContextDataManager [SWS_IdsM_91021] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a1b69abd8805 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

서비스 ID 0x08을 갖는 함수 IdsM_SetSecurityEventWithTimestampCountContextData은 Smart Sensors가 보안 이벤트를 타임스탬프, 시작 카운트 값 및 선택적 컨텍스트 데이터와 함께 Intrusion Detection System Manager(IdsM)에 보고하기 위한 표준화된 애플리케이션 인터페이스 역할을 합니다 [SWS_IdsM_91021]. 이 인터페이스의 선언은 헤더 IdsM.h을 통해 제공됩니다 [SWS_IdsM_91021].

호출은 동기식으로 실행되며 입력 매개변수만을 사용하고 입출력 매개변수나 출력 매개변수는 존재하지 않습니다 [SWS_IdsM_91021]. 호출 시 다음 매개변수를 전달해야 합니다 [SWS_IdsM_91021]:

  • securityEventId: IdsM에 전송되어야 하는 특정 보안 이벤트의 식별자 [SWS_IdsM_91021].
  • timestamp: 발생한 보안 이벤트의 시간적 참조 역할을 하는 타임스탬프 값 [SWS_IdsM_91021].
  • count: 해당 보안 이벤트의 시작 값으로 IdsM에서 사용하는 카운트 값 [SWS_IdsM_91021].
  • contextData: 이벤트에 대한 선택적 컨텍스트 데이터에 대한 포인터이며, 데이터가 없는 경우 NULL_PTR을 전달해야 합니다 [SWS_IdsM_91021].
  • contextDataSize: 전달된 컨텍스트 데이터의 크기에 대한 숫자 지정 [SWS_IdsM_91021].

실행 동작과 관련하여 이 함수는 재진입 불가(Non Reentrant)로 분류되며 반환값을 갖지 않습니다(void) [SWS_IdsM_91021]. 따라서 호출하는 Smart Sensors는 인터페이스의 동시 또는 중복 호출이 발생하지 않도록 보장해야 합니다 [SWS_IdsM_91021].

이 텍스트는 AI에 의해 생성되었으며 가이드 역할을 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_BswM_StateChanged [SWS_IdsM_91005] 📄 PDF

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This callback function is invoked by the BswM to indicate ECU state changes.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 16285d55bd09 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 IdsM_BswM_StateChanged([SWS_IdsM_91005])은 현재 ECU 상태의 변경 사항을 Intrusion Detection System Manager(IdsM)에 알리기 위해 BswM에 의해 호출됩니다([SWS_IdsM_91005]). 이는 헤더 파일 IdsM_Cbk.h에 선언되어 있으며 서비스 ID 0x0F를 갖습니다([SWS_IdsM_91005]).

이 인터페이스는 시그니처 void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state)을 갖습니다([SWS_IdsM_91005]). 유일한 전달 값으로는 현재 ECU 상태를 나타내는 타입 IdsM_Filters_BlockStateType의 입력 파라미터 state가 사용됩니다([SWS_IdsM_91005]). 입출력 파라미터나 출력 파라미터는 제공되지 않으며, 함수는 반환값을 반환하지 않습니다([SWS_IdsM_91005]). 호출은 동기식으로 실행되며 재진입 가능한 것으로 분류됩니다([SWS_IdsM_91005]).

기능적 상호 작용에서 이 알림 서비스는 BswM을 통해 IdsM에 현재 상태를 지속적으로 알리는 역할을 합니다([SWS_IdsM_01022]). 수신된 상태 정보는 IdsM에 유지되며, 메인 함수(main function)의 맥락에서 블록 상태 필터(block state filter)의 후속 비동기 처리 중에 평가됩니다([SWS_IdsM_01022]). 이 호출에 대해서는 명세 범위 내에서 특정 오류 코드, 반환값 또는 개발 오류 관리(DET)나 진단 이벤트 관리(DEM)로의 보고가 지정되어 있지 않습니다.

이 사용 지침은 자동으로 생성되었으며 AUTOSAR Classic R20-11의 명세 요구사항을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_TpTxConfirmation [SWS_IdsM_91011] 📄 PDF

void IdsM_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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 127e922f9325 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 IdsM_TpTxConfirmation은 헤더 파일 IdsM_Cbk.h을 통해 동기식 및 재진입 가능 서비스로 선언됩니다 [SWS_IdsM_91011]. [SWS_IdsM_01502]에 따르면 모듈 IdsM는 이 서비스를 통해 세그먼트화된 PDU의 전송에 대한 모듈 PduR의 확인을 수신합니다. 호출은 해당 I-PDU가 기본 네트워크를 통해 전송되자마자 수행됩니다 [SWS_IdsM_91011].

이 인터페이스는 서비스 ID 0x48을 가지며 반환값을 제공하지 않습니다(void) [SWS_IdsM_91011]. 호출 시 두 개의 입력 매개변수가 전달됩니다:

  • id(PduIdType 타입): 전송된 I-PDU의 고유 식별자 [SWS_IdsM_91011].
  • result(Std_ReturnType 타입): I-PDU 전송 결과를 전달하며 송신 작업이 성공했는지 실패했는지를 나타냅니다 [SWS_IdsM_91011].

이 호출에 대한 특정 오류 코드나 DET 또는 DEM 메시지는 사양에 정의되어 있지 않습니다. 지정된 재진입성 덕분에 호출 계층에서 서로 다른 I-PDU에 대해 함수를 병렬로 호출할 수 있습니다 [SWS_IdsM_91011]. 해석: 모듈 IdsM은 상태 매개변수 result를 평가하여 세그먼트화된 PDU의 내부 전송 상태를 업데이트하고 완료 후 점유된 송신 버퍼를 해제할 것으로 보입니다. 질문 Q-9179efcbf744346d (열림)

이 텍스트는 AI에 의해 작성되었으며 전적으로 AUTOSAR R20-11의 사양에 기반합니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 IdsM_TxConfirmation [SWS_IdsM_91009] 📄 PDF

void IdsM_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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2d20d4e11a8b 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

콜백 함수 IdsM_TxConfirmation([SWS_IdsM_91009])은 PDU의 성공적인 전송 또는 전송 실패를 확인하기 위해 하위 통신 인터페이스 모듈에 의해 호출됩니다. 이 함수는 동기식으로 정의되고 IdsM_Cbk.h에 선언되어 있으며 반환값이 없습니다. 다음 파라미터를 수신합니다:

  • TxPduId: 전송된 PDU의 식별자([SWS_IdsM_91009]).
  • result: 성공적인 전송 시 E_OK, 오류 발생 시 E_NOT_OK를 갖는 전송 결과([SWS_IdsM_91009]).

동시성 및 제약사항

이 함수는 서로 다른 PDU ID에 대해서는 재진입이 가능하지만 동일한 TxPduId에 대해서는 재진입이 불가능합니다([SWS_IdsM_91009]).

상호작용 및 순서 조건

전송 순서에는 엄격한 순서 조건이 적용됩니다: [SWS_IdsM_01499]에 따라 IdsM은 이전에 IdsM_TxConfirmation 또는 IdsM_TpTxConfirmation가 호출된 후에만 송신 함수 PduR_IdsMTransmit를 다시 호출할 수 있습니다. 해석: 확인 신호의 도착은 IdsM에서 전송을 완료하고 후속 호출을 활성화하기 위한 트리거 역할을 할 것으로 보입니다. 질문 Q-dd4013520e85370c (열림)

오류 처리

PDU 전송 실패는 파라미터 result = E_NOT_OK을 통해 직접 보고됩니다([SWS_IdsM_91009]). 인터페이스 명세에는 특정 DET 또는 DEM 오류 코드가 명시되어 있지 않습니다.

이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 IdsM_Dcm_GetReportingMode_RequestResults [SWS_IdsM_91007] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 671f0dddec56 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기 함수 IdsM_Dcm_GetReportingMode_RequestResults(서비스 ID 0x0D, 헤더 IdsM_Cbk.h)은 이전에 IdsM_Dcm_GetReportingMode_Start()을 통해 시작된 요청의 루틴 결과를 질의하기 위해 Diagnostic Communication Manager(DCM)에 의해 호출됩니다 [SWS_IdsM_91007]. 전달 파라미터 OpStatus를 통해 현재 작업 상태가 전송됩니다 [SWS_IdsM_91007]. 성공적으로 완료되면 함수는 E_OK을 반환하고 출력 포인터 Out_ReportingMode을 통해 요청된 Security Event의 결정된 보고 모드를 출력합니다 [SWS_IdsM_91007]. 처리가 아직 완료되지 않은 경우 반환값 DCM_E_PENDING을 통해 이를 알립니다 [SWS_IdsM_91007].

오류 처리

질의가 실패하면 함수는 E_NOT_OK을 반환합니다 [SWS_IdsM_91007]. 이 경우 파라미터 ErrorCode를 통해 구체적인 Negative Response Code(Dcm_NegativeResponseCodeType)를 설정해야 하며, 설정되지 않은 경우 DCM은 오류 코드 0x22를 전송합니다 [SWS_IdsM_91007]. 이 서비스에 대해 특정 DET 또는 DEM 이벤트는 명시되어 있지 않습니다 [SWS_IdsM_91007].

동시성 및 상호 작용

이 함수는 재진입 가능한 것으로 명세되어 있습니다 [SWS_IdsM_91007]. 호출 순서와 관련하여 루틴이 사전에 IdsM_Dcm_GetReportingMode_Start()을 통해 트리거되었음을 필수로 전제합니다 [SWS_IdsM_91007]. 해석: 파라미터 OpStatus은 DCM이 DCM_E_PENDING 반환 후 반복적인 질의 시 진단 작업의 진행 상태를 조정하는 데 사용될 것으로 보입니다. 질문 Q-c268fab018a1f5b3 (열림)

본 사용 지침은 AUTOSAR R20-11 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 IdsM_Dcm_GetReportingMode_Start [SWS_IdsM_91006] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 78410b323fc8 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 IdsM_Dcm_GetReportingMode_Start은 진단 모듈(DCM)에 의해 호출되어 Intrusion Detection System Manager(IdsM)에서 특정 Security Event(SEv)의 현재 보고 모드를 조회하기 위한 루틴의 실행을 시작합니다 [SWS_IdsM_91006], [SWS_IdsM_02001]. 이 인터페이스는 헤더 IdsM_Cbk.h에 선언되어 있고 서비스 ID 0x0C를 가지며 동기식 및 재진입 가능으로 지정되어 있습니다 [SWS_IdsM_91006].

호출 시 DCM은 보안 이벤트의 외부 ID(In_SecurityEventId), 센서의 인스턴스 ID(In_SensorInstanceId) 및 작업 상태(OpStatus)를 전달합니다 [SWS_IdsM_91006]. 반환값으로 함수는 Std_ReturnType를 제공합니다:

  • E_OK: 오퍼레이션이 성공적으로 완료되었습니다[SWS_IdsM_91006].
  • DCM_E_PENDING: 작업이 아직 완료되지 않았습니다 [SWS_IdsM_91006]. 이는 데이터를 사용할 수 있을 때까지 루틴의 내부 처리가 다중 주기 또는 비동기식으로 계속 진행됨을 의미할 것으로 보입니다. 질문 Q-395a30fc3ed42497 (열림)
  • E_NOT_OK: 오퍼레이션이 실패했습니다[SWS_IdsM_91006].

오류 발생 시(E_NOT_OK) IdsM은 출력 매개변수 ErrorCode을 통해 구체적인 Negative Response Code(NRC)를 제공해야 하며, 그렇지 않을 경우 DCM은 기본적으로 NRC 0x22(Conditions Not Correct)를 전송합니다 [SWS_IdsM_91006].

이 함수는 루틴을 트리거하기만 하며, 확인된 결과의 실제 판독은 이후 함수 IdsM_Dcm_GetReportingMode_RequestResults을 통해 수행됩니다 [SWS_IdsM_91007].

이 사용 지침은 자동으로 생성되었습니다. 모든 내용은 오직 AUTOSAR Classic R20-11 사양에 기반합니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 IdsM_Dcm_SetReportingMode_Start [SWS_IdsM_91008] 📄 PDF

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ecdd252e141c 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 및 재진입 함수 IdsM_Dcm_SetReportingMode_Start은 Intrusion Detection System Manager에서 특정 보안 이벤트에 대한 보고 모드(IdsMReportingModeFilter) 변경 루틴을 시작하기 위해 진단 모듈(DCM)에 의해 호출됩니다 [SWS_IdsM_91008], [SWS_IdsM_01901]. 선언은 헤더 파일 IdsM_Cbk.h를 통해 제공됩니다 [SWS_IdsM_91008].

호출 시 외부 이벤트 ID(In_SecurityEventId), 센서 인스턴스 ID(In_SensorInstanceId), 새로 설정할 보고 모드(In_ReportingMode) 및 작업 상태(OpStatus)가 전달됩니다 [SWS_IdsM_91008], [SWS_IdsM_01901]. 이 함수는 다음 반환값을 제공합니다:

  • E_OK: 작업 실행이 성공적으로 완료되었습니다 [SWS_IdsM_91008].
  • DCM_E_PENDING: 처리가 아직 완료되지 않았으며 비동기적으로 계속됩니다 [SWS_IdsM_91008].
  • E_NOT_OK: 작업이 실패했습니다. 이 경우 출력 파라미터 ErrorCode을 통해 구체적인 Negative Response Code(NRC)를 설정해야 하며, 그렇지 않으면 DCM이 NRC 0x22를 전송합니다 [SWS_IdsM_91008].

유효하지 않은 Security Event Definition ID가 사용되어 이벤트 ID 검증에 실패하는 경우, 함수는 E_NOT_OK을 반환하고 오류 코드 ErrorCode을 반드시 DCM_E_REQUESTOUTOFRANGE로 설정합니다 [SWS_IdsM_01903].

이 사용 지침은 자동으로 생성되었으며 AUTOSAR 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I2)

타입 IdsM_Filters_BlockStateType [SWS_IdsM_91017] 📄 PDF

Data type used for "Block State" filter values (bit masks)

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 71b3951aed67 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

데이터 타입 IdsM_Filters_BlockStateType은 [SWS_IdsM_91017]에 따른 Intrusion Detection System Manager(IdsM)의 이른바 "Block State" 필터용 비트마스크를 정의하는 데 사용됩니다. 이 타입은 uint16에서 파생되어 0부터 65535까지의 정수 값 범위를 포괄하며, 헤더 IdsM_Filters_Types.h을 통해 소프트웨어 모듈에 제공됩니다([SWS_IdsM_91017]).

주요 사용은 Basic Software Mode Manager(BswM)와의 상호작용에서 이루어집니다. 시스템 또는 ECU 상태가 변경될 때 BswM은 콜백 함수 IdsM_BswM_StateChanged을 호출하고 이 타입의 매개변수 state을 통해 현재 ECU 상태를 전달합니다([SWS_IdsM_91005]). 이 콜백 인터페이스는 IdsM_Cbk.h에 선언되어 있으며, 반환값이 없고 동기식 및 재진입 가능(reentrant)하도록 지정되어 있습니다([SWS_IdsM_91005]).

해석: 이 타입이 필터용 비트마스크로 설계되었기 때문에, IdsM은 전달된 ECU 상태 값을 구성된 필터 상태와 비교하여 ECU 상태에 따라 보안 이벤트의 감지 또는 차단을 필터링할 것으로 보입니다. 질문 Q-00b355cc5ec6383f (열림) 이 데이터 타입에 대해 특정 오류 코드, DET 또는 DEM 메시지를 사용하는 독립적인 오류 처리는 존재하지 않습니다.

이 참고사항은 AI에 의해 생성되었으며 AUTOSAR CP R20-11의 명세 데이터에 전적으로 기반합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 IdsM_Filters_ReportingModeType [SWS_IdsM_91013] 📄 PDF

Reporting modes used by the reporting mode filter

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4e0ba45d0047 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

데이터 타입 IdsM_Filters_ReportingModeType은 기본 타입 uint8을 기반으로 하며 소프트웨어 컴포넌트를 위해 헤더 파일 IdsM_Types.h를 통해 제공됩니다 [SWS_IdsM_91013]. 이는 Intrusion Detection System Manager(IdsM)의 보고 모드 필터 내에서 보안 이벤트의 대상 지정 처리 및 전달에 적용되는 표준화된 보고 모드를 설명합니다 [SWS_IdsM_91013].

정의된 열거형 값을 통해 이벤트가 보고되는지 여부와 이때 어떤 상세 수준이 적용되는지가 정밀하게 제어됩니다 [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF (0x00): 이벤트가 억제되며 상위 인스턴스로 보고되지 않습니다 [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF (0x01): 이벤트가 추가 컨텍스트 데이터 없이 간결한 형식으로 보고됩니다 [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED (0x02): 모든 관련 컨텍스트 데이터를 포함하여 이벤트가 상세하게 보고됩니다 [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF_BYPASSING_FILTERS (0x03): 이벤트가 후속 필터 단계를 우회하고 컨텍스트 데이터 없이 필터링되지 않은 상태로 보고됩니다 [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED_BYPASSING_FILTERS (0x04): 이벤트가 후속 필터 단계를 우회하고 모든 컨텍스트 데이터를 포함하여 필터링되지 않은 상태로 보고됩니다 [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_INVALID (0xFF): 값 범위 내에서 유효하지 않은 보고 모드를 나타냅니다 [SWS_IdsM_91013].

따라서 이 값들은 두 가지 기능적 제어 차원을 결합합니다: 컨텍스트 데이터를 통한 상세 수준과 바이패스를 통한 일반 필터 메커니즘의 의도적 우회 [SWS_IdsM_91013]. 이를 통해 IdsM은 중요도 및 필터 구성에 따라 보안 인시던트를 차별화하여 처리할 수 있습니다 [SWS_IdsM_91013].

이 텍스트는 R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_IdsM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_IdsM@rel:R20-11#87ce39c3
Content hash
87ce39c3
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_IntrusionDetectionSystemManager.pdf#nameddest=SWS_IdsM_91001

초기화 및 상태

Returns version information, vendor ID and AUTOSAR module ID of the component.

void IdsM_GetVersionInfo (const Std_VersionInfoType* versionInfo);
IdsM_Init 함수

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

void IdsM_Init (const IdsM_ConfigType* configPtr);

서비스

This callback function is invoked by the BswM to indicate ECU state changes.

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This API is the application interface to report security events to the IdsM.

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events with context data to the IdsM.

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

콜백

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

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

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 IdsM_TpTxConfirmation (PduIdType id, Std_ReturnType result);

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

void IdsM_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

주기적

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

void IdsM_MainFunction (void);

타입

Configuration data structure of IdsM module.

Data type used for "Block State" filter values (bit masks)

Reporting modes used by the reporting mode filter

Data type used for local IdsM Security Event IDs

Data type for IdsM timestamps