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]. يتم الاستدعاء عبر الواجهة من SecOC.h باستخدام معرف الخدمة (Service ID) 0x01 [SWS_SecOC_00106].
المعلمات وقيم الإرجاع
- معلمة التمرير: عبر معلمة الإدخال
configيتم تمرير مؤشر إلى بنية تكوين محددة من النوعSecOC_ConfigType[SWS_SecOC_00106]. - قيمة الإرجاع: لا تمتلك الدالة أي قيمة إرجاع (
void) [SWS_SecOC_00106].
التزامن وتقسيم الذاكرة (Partitioning)
تم تحديد تنفيذ SecOC_Init بأنه غير قابل لإعادة الدخول (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.
دليل المنفِّذ قيد الإعداد (التعقيد 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 تشغيل الاتصال الآمن على متن المركبة (On-Board) في الوحدة النمطية SecOC وتنقله إلى الحالة SecOC_UNINIT [SWS_SecOC_00161]. والدالة مصرح عنها في ملف الرأس SecOC.h وتمتلك مُعرّف الخدمة 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)، وبالتالي لا يجوز تنفيذها بشكل متزامن [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 لطلب إرسال PDU في الوحدة SecOC [SWS_SecOC_00112]. وتمتلك معرّف الخدمة (Service ID) 0x49 وتُصرَّح عبر ملف الرأس SecOC.h [SWS_SecOC_00112].
تتوقع الدالة معلمتي إدخال [SWS_SecOC_00112]:
TxPduId: معرّف الـ PDU المراد إرسالها (النوعPduIdType).PduInfoPtr: مؤشر إلى بنية من النوعPduInfoType، والتي توفر طول البيانات بالإضافة إلى مؤشرات إلى بيانات الـ PDU والبيانات الوصفية.
لا توجد معلمات دخل/خرج ولا معلمات خرج فقط [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].
التزامن والقيود
فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول (reentrant) لمعرّفات PDU مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرّف الـ PDU [SWS_SecOC_00112].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR.
دالة SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF
Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
تُستخدم الواجهة المتزامنة SecOC_TpTransmit ذات معرّف الخدمة 0x53 لطلب إرسال PDU في الوحدة SecOC وتُصرَّح عبر ملف الرأس SecOC.h [SWS_SecOC_91008]. وتستقبل طلب الإرسال وتبدأ المعالجة الإضافية داخل الوحدة.
الاستخدام والتكامل
تتوقع الدالة كمعلمات دخل معرّف الـ PDU TxPduId بالإضافة إلى المؤشر PduInfoPtr إلى ثابت من النوع PduInfoType، والذي يتضمن بيانات حول طول الـ PDU ومؤشرات إلى بيانات الحمولة النافعة والبيانات الوصفية [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 وتمتلك معرّف الخدمة 0x4a [SWS_SecOC_00113]. وعبر معلمة التمرير TxPduId من النوع PduIdType، يتم تمرير تلك الـ 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 وتحمل معرّف الخدمة 0x54 [SWS_SecOC_91009].
كمعلمة إدخال، يتم تمرير المعرّف TxPduId من النوع PduIdType، والذي يحدد PDU الإرسال المراد إلغاؤها بشكل فريد [SWS_SecOC_91009]. ويتم الإبلاغ عن نتيجة طلب الإلغاء بشكل متزامن عبر قيمة الإرجاع من النوع Std_ReturnType [SWS_SecOC_91009]:
E_OK: تم تنفيذ إلغاء الإرسال بنجاح بواسطة الوحدة الهدف [SWS_SecOC_91009].E_NOT_OK: تم رفض الإلغاء من قبل الوحدة الهدف [SWS_SecOC_91009].
فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول (reentrant) لمعرّفات PDU المختلفة، ولكنها صراحة غير قابلة لإعادة الدخول لنفس معرّف PDU [SWS_SecOC_91009]. لذلك، يجب على المتصلين التأكد من تجنب الاستدعاءات المتوازية لنفس TxPduId. ونظرًا لأن الحمولة (Payload) لا توفر رموز خطأ محددة لـ 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). Interpretation: يُقصد بالوحدة الهدف ("destination module") المذكورة في المواصفات وحدة بروتوكول النقل التابعة التي يتم توجيه طلب الإلغاء إليها. سؤال Q-bce6ed77e65a6b9b (مفتوح)
التزامن والتكامل
فيما يتعلق بالتزامن، تم التصريح عن الدالة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_SecOC_91010]. لذلك، لا يجوز إجراء استدعاء متزامن أو مقاطع؛ ويجب على وحدات البرمجيات المستدعية تنسيق عمليات الوصول وفقًا لذلك. تحمل الدالة معرّف الخدمة 0x4c ويتم التصريح عنها عبر ملف الرأس SecOC.h [SWS_SecOC_91010].
تم إنشاء إشعار الاستخدام هذا بواسطة ذكاء اصطناعي ويستند حصريًا إلى مواصفات إصدار 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 يحدد Freshness Value لجميع وحدات Secured I-PDU المرتبطة؛ وإذا كانت المعلمة مضبوطة على TRUE، فإن Value ID يشير مباشرة إلى Data ID الخاصة بوحدة Secured I-PDU [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 المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس Freshness Value ID [SWS_SecOC_00122]. يؤدي الاستدعاء الناجح إلى إرجاع E_OK، بينما يُقابل الاستدعاء الفاشل بـ E_NOT_OK [SWS_SecOC_00122].
التفاعل أثناء التحقق
يتدخل التجاوز (Override) المضبوط في منطق المعالجة لمسار الاستقبال:
- إذا استُخدمت وحدات Authentic وCryptographic I-PDU منفصلة (
SecOCRxSecuredPduCollection)، فإنoverrideStatusيتحكم في السلوك بمجرد استلام كلا وحدتي PDU باستخدام Message Linker المطابق [SWS_SecOC_00203]، [SWS_SecOC_00206]، [SWS_SecOC_00211]. - حتى عند تجاوز
SecOCAuthenticationBuildAttemptsأوSecOCAuthenticationVerifyAttemptsوكذلك في حالة الأخطاء غير القابلة للإصلاح (مثلKEY_FAILURE)، فإن نتيجة التحقق وإعادة توجيه PDU تتبعان في المقام الأولoverrideStatus[SWS_SecOC_00240]، [SWS_SecOC_00241].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى متطلبات مواصفة 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]). - إذا كانت الخدمة غير متاحة أو تم استدعاؤها للمعرف المعني بـ
FALSE، تزيل الوحدة وحدة I-PDU الأصلية من مخزنها المؤقت الداخلي وتلغي الإرسال ([SWS_SecOC_91013]، [SWS_SecOC_00229]).
التزامن
الدالة غير قابلة لإعادة الدخول لنفس Freshness Value ID، ولكن يجوز استدعاؤها بشكل قابل لإعادة الدخول لمعرفات مختلفة ([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 (مُعرّف الخدمة 0x42) بواسطة وحدة واجهة اتصال تابعة للإبلاغ عن استلام PDU إلى وحدة SecOC [SWS_SecOC_00124]. عند الاستدعاء، يحدد RxPduId وحدة PDU المستلمة، بينما يُمرَّر عبر PduInfoPtr مؤشر إلى معلومات PDU. تحتوي هذه البنية على طول الحمولة النافعة SduLength، ومؤشر المخزن المؤقت SduDataPtr، بالإضافة إلى البيانات الوصفية المرتبطة بـ PDU [SWS_SecOC_00124]. لا تحتوي الدالة على قيمة إرجاع وتم التصريح عنها عبر ملف الرأس SecOC.h [SWS_SecOC_00124].
معالجة الأخطاء وفحص الطول
بالنسبة لاستقبال وحدات I-PDU ذات التكوين الثابت (وحدات I-PDU المؤمنة أو الموثوقة أو التشفيرية التي يكون فيها معلمة EcuC DynamicLength مساوية لـ FALSE)، ينطبق فحص أخطاء محدد: إذا كان الطول المستلم أقل من الطول المكوَّن، تتجاهل وحدة SecOC وحدة I-PDU بصمت [SWS_SecOC_00268]. تفسير: نظراً لأن الدالة تُرجع void، فمن المرجح أن يتم تجاهل وحدات I-PDU الخاطئة أو غير المكتملة دون إرسال إشعار إلى الطبقة المستدعية. سؤال Q-6e9a176383e1983b (مفتوح)
التزامن والقيود
تنفيذ SecOC_RxIndication قابل لإعادة الدخول للاستدعاءات ذات معرفات PDU المختلفة، ولكنه صراحة غير قابل لإعادة الدخول لنفس معرّف PDU [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 كواجهة استدعاء راجع (Callback) للوحدة النمطية SecOC ويتم استدعاؤها بعد استقبال I-PDU عبر واجهة برمجة تطبيقات بروتوكول النقل (TP API) [SWS_SecOC_00125]. ومن خلال هذا الإشعار، تعلم SecOC ما إذا كان نقل I-PDU قد اكتمل بنجاح أم حدث خطأ في النقل [SWS_SecOC_00125].
تمتلك الواجهة المعلمات والخصائص التالية وفقًا لـ [SWS_SecOC_00125]:
- id (
PduIdType): مُعرّف I-PDU المستلمة التي يتم الإشارة إلى حدث الاستقبال من أجلها. - result (
Std_ReturnType): نتيجة استقبال PDU، والتي توضح ما إذا كان النقل ناجحًا أم فاشلاً. - قيمة الإرجاع: لا توجد (
void)؛ لا تُرجع الدالة أي قيمة حالة إلى المُستدعي.
فيما يتعلق بالتزامن، تم تحديد SecOC_TpRxIndication على أنها قابلة لإعادة الدخول (Reentrant) وتعمل بشكل متزامن (Synchronous) تحت مُعرّف الخدمة 0x45 [SWS_SecOC_00125]. ويتم توفير التصريح عبر ملف الرأس SecOC.h [SWS_SecOC_00125]. التفسير: يُرجح أن يتم إطلاق الاستدعاء عادةً بواسطة طبقة ناقلة مثل PduR أو وحدة نمطية لـ TP، بمجرد اكتمال نقل بيانات PDU بالكامل. سؤال 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 وتُدار تحت معرّف الخدمة 0x40 [SWS_SecOC_00126].
تتوقع الدالة معلمتي إدخال [SWS_SecOC_00126]:
TxPduId: معرّف الـ PDU المرسلة (النوعPduIdType).result: نتيجة الإرسال (النوعStd_ReturnType) مع القيمE_OKفي حالة الإرسال الناجح أوE_NOT_OKفي حالة فشل الإرسال.
معالجة الأخطاء والتزامن
تُمرر أخطاء إرسال الطبقات السفلى مباشرةً عبر الوسيط result بالقيمة E_NOT_OK [SWS_SecOC_00126]. فيما يتعلق بالتزامن، فإن الاستدعاء قابل لإعادة الدخول لمعرّفات PDU مختلفة، ولكنه مُعرَّف بأنه غير قابل لإعادة الدخول لنفس معرّف الـ PDU [SWS_SecOC_00126]. ويُرجح أن يقع سياق التنفيذ الفعلي على مستوى المهمة (task level) أو مستوى المقاطعة (interrupt level) للوحدة التابعة، نظراً لأن المواصفة لا تنص على قيود في هذا الشأن. سؤال Q-8bb15b92df860fc1 (مفتوح)
التفاعل وإعادة التوجيه
إذا تم استخدام التكوين SecOCTxSecuredPduCollection، فلا تُمرر SecOC التأكيد إلى الطبقة الأعلى إلا بعد استدعاء SecOC_TxConfirmation لكلٍّ من Authentic I-PDU وCryptographic I-PDU [SWS_SecOC_00270].
ينطبق شرط صارم على حالة النتيجة للطبقة العليا: لا تكون المعلمة result للاستدعاء المُعاد توجيهه مساوية لـ E_OK إلا إذا تم تمرير التأكيدات لكلتا الـ PDUs الجزئيتين مع 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 وتمتلك معرّف الخدمة 0x48 [SWS_SecOC_00152]. وتستقبل معلمتي دخل ولا ترجع أي قيمة (void):
id(النوعPduIdType): تمييز فريد لـ I-PDU المنقولة [SWS_SecOC_00152].result(النوعStd_ReturnType): يحدد ما إذا كان الإرسال على الشبكة ناجحاً أم فاشلاً [SWS_SecOC_00152].
التزامن والتنفيذ
وفقاً للمواصفة، يجب تنفيذ الدالة بشكل متزامن وهي قابلة لإعادة الدخول بالكامل (Reentrant) [SWS_SecOC_00152]. وبالتالي يمكن استدعاؤها على التوازي لمعرّفات I-PDUs مختلفة أو لنفس معرّف الـ I-PDU، طالما أن سياق الاستدعاء يتطلب ذلك.
معالجة الأخطاء والتفاعل
لا يتم الإفصاح عن رموز أخطاء DET أو DEM محددة في حمولة البيانات (payload). وتتم معالجة الأخطاء المتعلقة بالإرسال في المقام الأول عبر معلمة الحالة الممررة result، والتي تُعلم الوحدة بما إذا كانت عملية الإرسال قد نجحت [SWS_SecOC_00152]. تفسير: يُرجح أن الدالة تعمل أساساً كواجهة رد نداء (callback interface) لمثيلات بروتوكول النقل التابعة، وذلك للإبلاغ عن حالة الإرسال بعد إتمام عمليات الإرسال الكبيرة أو المجزأة. سؤال Q-a2957406d76ee65f (مفتوح)
تم إعداد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتُلخّص المتطلبات الواردة في مواصفة AUTOSAR للوحدة SecOC.
دليل المنفِّذ قيد الإعداد (التعقيد 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]. - إذا لم تكن المساحة كافية، تُرجع الدالة
E_NOT_OKدون تغيير محتوىPduInfoPtr[SWS_SecOC_00127].
معالجة الأخطاء والتزامن
إذا تم إرجاع E_NOT_OK، فلن يتم نسخ أي بيانات SDU. في هذه الحالة، لا يجوز للمستدعي تقييم أو استخدام PduInfoPtr، حيث قد يحتوي على مؤشر NULL أو يشير إلى بيانات غير صالحة [SWS_SecOC_00127]. الدالة قابلة لإعادة الدخول لمعرفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس TxPduId [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]. الخدمة لها مُعرّف الخدمة 0x44 ومتاحة عبر ملف الرأس SecOC.h [SWS_SecOC_00128].
المعاملات والاستعلام عن المخزن المؤقت
تحدد المعلمة id وحدة I-PDU المستلمة بشكل فريد [SWS_SecOC_00128]. عبر المؤشر info، يتم توفير مخزن المصدر المؤقت SduDataPtr وعدد البايتات المطلوب نسخها SduLength [SWS_SecOC_00128]. يؤدي تمرير SduLength بالقيمة 0 إلى الاستعلام عن مخزن الاستقبال المؤقت المتاح حالياً في الوحدة العليا؛ وفي هذه الحالة يجوز تمرير 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 بأنها قابلة لإعادة الدخول [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.
الاستخدام والدلالات
يتم استدعاء الدالة المتزامنة والقابلة لإعادة الدخول 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].
التزامن
تم تصميم الدالة لتكون قابلة لإعادة الدخول، بحيث يُرجح أن تكون الاستدعاءات المتوازية لمثيلات 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.
الاستخدام
يتم استدعاء الدالة المتزامنة والقابلة لإعادة الدخول 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 بواسطة الوحدة SecOC للاستعلام عن قيمة Freshness الحالية لـ I-PDU آمنة مستلمة [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: مؤشر إلى قيمة Freshness المقتطعة المضمنة في PDU المستلمة وطولها بالبتات [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 خاطئ [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.
تستدعي وحدة SecOC الدالة المتزامنة وقابلة لإعادة الدخول SecOC_GetRxFreshnessAuthData لتحديد قيمة الطراوة الحالية للمصادقة عند استلام وحدات I-PDU المؤمنة بالكامل ([SWS_SecOC_91006]، [SWS_SecOC_00246]). ويتم الاستدعاء تحديداً عندما يتم تعيين المعلمات SecOCQueryFreshnessValue = CFUNC وكذلك SecOCUseAuthDataFreshness = TRUE لتكوين PDU المعني ([SWS_SecOC_00246]، [SWS_SecOC_00249]).
المعاملات والقيم الممررة
-
بيانات الدخل: يتم تمرير المعرّف
SecOCFreshnessValueID، وقيمة الطراوة المختصرة المضمنة في I-PDUSecOCTruncatedFreshnessValueمع طول البتاتSecOCTruncatedFreshnessValueLength، بالإضافة إلى العدادSecOCAuthVerifyAttemptsالذي تتم زيادته في حالة المحاولات الفاشلة ([SWS_SecOC_91006]). -
بيانات المصادقة: يتم اختيارياً عبر
SecOCAuthDataFreshnessValueوSecOCAuthDataFreshnessValueLengthتمرير مقطع مُهيأ من PDU المستلمة؛ ويتم تحديد موضع البدء والطول بواسطةSecOCAuthDataFreshnessStartPositionوSecOCAuthDataFreshnessLen([SWS_SecOC_91006]، [SWS_SecOC_00246]). -
بيانات النتيجة: يتم توفير قيمة الطراوة الكاملة عبر مخزن الإخراج المؤقت
SecOCFreshnessValue، والذي يعمل طول البتات الخاص به كمعامل إدخال/إخراجSecOCFreshnessValueLength([SWS_SecOC_91006]).
قيم الإرجاع ومعالجة الأخطاء
تشير الدالة إلى نجاح الاستعلام باستخدام E_OK ([SWS_SecOC_91006]). وإذا تعذر توفير قيمة الطراوة بسبب مشاكل عامة أو معرف طراوة غير صالح، فإنها تُرجع E_NOT_OK؛ وفي حالة عدم التوفر المؤقت، فإنها تُرجع E_BUSY ([SWS_SecOC_91006]). تفسير: نظراً لأن الدالة متصلة كدالة C عبر CFUNC، فمن المحتمل أن يتم التنفيذ بواسطة وحدة خارجية لإدارة الطراوة. سؤال Q-01aa77b7235b9001 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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 لتوفير قيمة الحداثة الحالية للرسائل المراد إرسالها، وهي مُصرّحة عبر الرأس SecOC.h [SWS_SecOC_91004]. ووفقاً لـ [SWS_SecOC_00231]، تستدعي وحدة SecOC هذه الدالة لـ PDU معينة إذا تم ضبط SecOCQueryFreshnessValue = CFUNC وSecOCProvideTxTruncatedFreshnessValue = FALSE في التكوين. تفسير: نظراً لأن SecOC تنفذ الاستدعاء عند وجود التكوين المناسب، فيُرجح أنه يجب توفير الدالة كاستدعاء خارجي (callout) بواسطة مكوّن خارجي. سؤال Q-99a14f896ffddf5f (مفتوح)
تستخدم الواجهة المعلمات التالية [SWS_SecOC_91004]:
SecOCFreshnessValueID(دخل): معرّف رقمي لقيمة الحداثة المطلوبة.SecOCFreshnessValueLength(دخل/خرج): يمرر أو يستلم طول البتات لقيمة الحداثة المقدمة.SecOCFreshnessValue(خرج): مؤشر إلى مصفوفة بايتات لاستيعاب قيمة الحداثة بصيغة الطرفية الكبيرة (Big-Endian)، بدءاً من البتات الأكثر أهمية في البايت الأول.
تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة التوفير [SWS_SecOC_91004]:
E_OK: تم توفير قيمة الحداثة بنجاح.E_BUSY: يتعذر تقديم معلومات الحداثة مؤقتاً.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 بواسطة الوحدة SecOC للاستعلام في عمليات الإرسال (TX) عن كل من قيمة Freshness الكاملة وقيمة Freshness المقتطعة (Truncated Freshness) لـ Secured I-PDU المراد نقلها [SWS_SecOC_91003]. يتم الاستدعاء تحديدًا عندما يتم تعيين SecOCQueryFreshnessValue = CFUNC وكذلك SecOCProvideTxTruncatedFreshnessValue = TRUE لتكوين PDU [SWS_SecOC_00230].
تمرر الواجهة المعلمات التالية [SWS_SecOC_91003]:
SecOCFreshnessValueID(in): معرّف قيمة Freshness المطلوبة.SecOCFreshnessValue(out): مخزن مؤقت للوجهة لقيمة Freshness الكاملة الحالية.SecOCFreshnessValueLength(inout): يحدد طول قيمة الحداثة المقدمة بالبتات.SecOCTruncatedFreshnessValue(out): مخزن مؤقت اختياري لقيمة Freshness المقتطعة التي يتم تضمينها في Secured I-PDU.SecOCTruncatedFreshnessValueLength(inout): يمرر الطول المكوَّن لقيمة Freshness المقتطعة؛ ويمكن تعديل القيمة بواسطة الدالة عند الحاجة أو الإبقاء عليها دون تغيير.
كقيمة إرجاع، تُرجع الدالة E_OK عند التوفير بنجاح، أو E_BUSY إذا كانت المعلومة غير متاحة مؤقتًا، أو E_NOT_OK إذا فشل التوفير بسبب مشكلات عامة أو على وجه التحديد للمعرّف ID الممرر [SWS_SecOC_91003]. التصريح متاح عبر ملف الرأس SecOC.h [SWS_SecOC_91003].
تم إنشاء إشعار الاستخدام هذا بواسطة مساعد تنسيق بالذكاء الاصطناعي استنادًا إلى بيانات المواصفات من AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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 بواسطة الوحدة SecOC للإشارة إلى أنه قد تم بدء إرسال I-PDU مؤمّنة (Secured I-PDU) [SWS_SecOC_91005]. والدالة مُصرّحة في ملف الرأس SecOC.h ولا تمتلك أي قيمة إرجاع (void) [SWS_SecOC_91005].
يتم تمرير SecOCFreshnessValueID كمعلمة التمرير الوحيدة كقيمة دخل (in) من النوع uint16 [SWS_SecOC_91005]. وتَنقل هذه المعلمة معرّف قيمة الحداثة الخاصة بالـ I-PDU المعنية [SWS_SecOC_91005]. ولا توجد معلمات دخل أو خرج أو تمرير (inout/out) أخرى في الواجهة [SWS_SecOC_91005].
التزامن والخصائص
تمتلك الواجهة معرّف الخدمة 0x4d، وتعمل بشكل متزامن، ومصممة لتكون قابلة لإعادة الدخول بالكامل [SWS_SecOC_91005]. وتسمح خاصية إعادة الدخول بالاستدعاء المتوازي في سياقات تنفيذ متزامنة [SWS_SecOC_91005]. ولا تنص مواصفة الواجهة على رسائل خطأ عبر DET أو DEM أو رموز أخطاء خاصة [SWS_SecOC_91005].
تفسير: نظراً لأن SecOC تستدعي هذه الدالة للإبلاغ عن بدء إرسال الـ PDU، ولا تمرر سوى SecOCFreshnessValueID، فيُرجح أن الاستدعاء يُستخدم لتحديث عداد الحداثة أو تأكيده في مكوّن خارجي [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)، وتتضمن معرّف الخدمة 0x06، ولا تتوقع أي معلمات تمرير ولا تُرجع أي قيمة إرجاع [SWS_SecOC_00171]. ويتم التصريح عنها عبر ملف الرأس SchM_SecOC.h [SWS_SecOC_00171]؛ ويمكن استنتاج (Interpretation) أن استدعاءها يتم دوريًا بواسطة مجدول BSW في سياق مهمة نظام تشغيل. سؤال Q-d24cb58f541f6674 (مفتوح)
التثبيت والتكوين
في تكوينات النظام التي تحتوي على عدة مثيلات استقبال، يتم تنفيذ مثيل دالة خاص لكل حاوية SecOCMainFunctionRx تم تكوينها وفقًا للمخطط SecOC_MainFunctionRx_<shortName> [SWS_SecOC_00171]. وفي هذا الإطار، يتوافق <shortName> مع الاسم المختصر للحاوية المحدد في نموذج تكوين ECU [SWS_SecOC_00171]. يتيح هذا على الأرجح تحكمًا زمنيًا منفصلاً أو تحديد أولويات لمسارات معالجة Rx المختلفة. سؤال Q-ebb55c5d3a3da97d (مفتوح)
معالجة الأخطاء والتزامن
لا توجد قيم إرجاع محددة أو رموز خطأ صريحة موثقة لـ DET أو DEM بالنسبة لـ SecOC_MainFunctionRx في المتطلبات [SWS_SecOC_00171]. وبالتالي، يُرجح أن تتم معالجة حالات الخطأ أو عمليات التحقق الفاشلة داخليًا فقط والإبلاغ عنها بشكل غير متزامن عبر مسار الاستقبال إلى الوحدات الأعلى. سؤال Q-5d1e45f7a779bea9 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص للإرشاد فقط. المرجع المعتمد دائمًا هو مواصفة 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] معالجة المصادقة والتحقق لوحدة SecOC في مسار الإرسال (مسار Tx). وهي تمتلك التوقيع void SecOC_MainFunctionTx(void)، وبالتالي لا تقبل أي معاملات ممررة ولا تُرجع أي قيمة إرجاع؛ وقد تم تعيين معرف الخدمة (Service ID) 0x03 لها [SWS_SecOC_00176]. ويتم توفير التصريح عبر ملف الترويسة SchM_SecOC.h [SWS_SecOC_00176]. تفسير: نظراً لأن التكامل يتم عبر مدير الجدولة (Schedule Manager)، فمن المرجح عادةً أن يحدث الاستدعاء دورياً بواسطة مجدول BSW في سياق مهمة نظام التشغيل (OS Task). سؤال Q-34b30208648c8e30 (مفتوح)
إنشاء النسخ وتسمية الاصطلاحات
تنص المواصفة على تطبيق خاص بالنسخة للتكوينات المتعددة: لكل حاوية نسخة مُكوّنة SecOCMainFunctionTx في تكوين ECU، يجب تنفيذ دالة واحدة بالضبط وفقاً لمخطط التسمية SecOC_MainFunctionTx_<shortName>، حيث يطابق <shortName> الاسم المختصر لحاوية التكوين المعنية [SWS_SecOC_00176].
القيود ومعالجة الأخطاء
لم يتم إدراج رموز أخطاء محددة، أو استجابات DET أو DEM، بالإضافة إلى تفاصيل حول إمكانية إعادة الدخول (Reentrancy) بشكل منفصل في عنصر المواصفة [SWS_SecOC_00176]. تفسير: نظراً للاقتران بحاويات التكوين الخاصة بالنسخة، فمن المحتمل أن تكون كل نسخة منشأة مسؤولة عن مجموعة فرعية معزولة من معالجات Tx-PDU، وينبغي ألا تُقاطع وفقاً للجدول الزمني بشكل متزامن بواسطة سياق المهمة نفسه. سؤال (مفتوح)
تم إنشاء إشعار الاستخدام هذا آلياً بواسطة مساعد تنظيم ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دالة 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
تُستخدم دالة رد النداء (Callout) المتزامنة SecOC_VerificationStatusCallout لتمرير حالة محاولات التحقق من وحدة SecOC إلى وحدات البرمجيات الخارجية [SWS_SecOC_00119]. تم التصريح عنها عبر ملف الرأس SecOC_Externals.h ولديها مُعرّف الخدمة 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 المختلفة، لكنها غير قابلة لإعادة الدخول لنفس Freshness Value ID [SWS_SecOC_00119]. لذلك، يجب على الوحدات المُنفِّذة ضمان عدم حدوث استدعاءات متزامنة عند تطابق Freshness Value ID. من المرجح أن يكون سياق الاستدعاء متزامناً ضمن روتين التحقق الداخلي لوحدة SecOC. سؤال Q-cd6928ca22d48f54 (مفتوح) لا توجد رموز أخطاء محددة أو بلاغات إلى DET وDEM معرفة لرد النداء هذا [SWS_SecOC_00119].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصرياً إلى بيانات مواصفات إصدار 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 التطبيق بنتيجة محاولة التحقق من صحة PDU مستلمة بواسطة وحدة SecOC [SWS_SecOC_91014]. وتمتلك الواجهة معرف الخدمة 0x53، ولا تُرجع أي قيمة (void)، وتُتاح عبر ملف الترويسة SecOC_Externals.h [SWS_SecOC_91014].
المعلمات
يعمل معامل الإدخال الوحيد verificationStatus من النوع SecOC_VerificationStatusType كمعامل ممرر [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، ولكنها قابلة لإعادة الدخول لـ Freshness-Value-ID مختلفة [SWS_SecOC_91014].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل إرشادي. والمستند المرجعي الملزم هو مواصفة 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 للتحقق المتزامن من حالة التشغيل الحالية ومنع الوصول غير المسموح به بشكل موثوق قبل التهيئة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصرياً إلى بيانات المواصفة من AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع SecOC_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
نوع SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
يُستخدم نوع التعداد SecOC_VerificationResultType للإشارة إلى نتائج التحقق من I-PDUs الآمنة في الوحدة SecOC، ويتم توفيره عبر ملف الرأس 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، أو ما إذا كانت حالات التجاوز (Override) الإدارية قد تحكمت في تمرير البيانات [SWS_SecOC_00149] بدقة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR CP R20-11.
نوع 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 المرتبط وقيمة Freshness المستخدمة. ويتم توفير التعريف عبر ملف الرأس Rte_SecOC_Type.h ويتضمن العناصر التالية:
freshnessValueID(uint16): مُعرّف قيمة Freshness التي أدت إلى حالة التحقق ([SWS_SecOC_00160]).verificationStatus(SecOC_VerificationResultType): النتيجة المفصلة لمحاولة التحقق ([SWS_SecOC_00160]).secOCDataId(uint16): Data-ID الخاصة بـ PDU المعنية ([SWS_SecOC_00160]).
يُميز العنصر verificationStatus حالات نجاح وأخطاء محددة ([SWS_SecOC_00160]):
SECOC_VERIFICATIONSUCCESS: كان الفحص التشفيري ناجحًا.SECOC_VERIFICATIONFAILURE: فشل التحقق.SECOC_FRESHNESSFAILURE: فشل التحقق بسبب قيمة Freshness غير صالحة.SECOC_AUTHENTICATIONBUILDFAILURE: فشل التحقق نتيجة رموز مصادقة تم إنشاؤها بشكل غير صحيح.SECOC_NO_VERIFICATION: لم يتم تنفيذ أي محاولة تحقق لـ I-PDU هذه؛ حيث تم تمريرها دون تغيير إلى الطبقة العليا.SECOC_VERIFICATIONFAILURE_OVERWRITTEN: فشل التحقق، ولكن تمت إعادة توجيه I-PDU إلى الطبقة العليا بسبب حالة تجاوز (Override) نشطة.
التفسير: نظرًا لأن هذا النوع يجمع تفاصيل التحقق، يُرجح استخدامه بشكل أساسي في واجهات الاستجابة والإشعار لإبلاغ الطبقات العليا بحالة مصادقة البيانات المستلمة. سؤال Q-a1099bc88a2981e2 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF
Type SecOC_OverrideStatusType.
يحدد نوع التعداد SecOC_OverrideStatusType الأوضاع المختلفة لتجاوز حالة التحقق من I-PDUs في الوحدة SecOC، ويتم توفيره عبر ملف الرأس 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 الـSecOCRxAuthenticPduمباشرةً دون انتظارSecOCRxCryptographicPdu[SWS_SecOC_00991].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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#1bfffb45- Content hash
1bfffb45- 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 · الأصل الألماني