سجل التنبيهات غير القابل للتعديل — Immutable Alert Log
ما هو سجل التنبيهات الموحد؟
يحوّل النظام كل خلل يكتشفه الاختبار الدوري لسجل القرارات إلى سجل تنبيه مستقل. ويهدف ذلك إلى إنشاء سجل واضح وقابل للتحقق يوضح ماذا اكتشف النظام، وأي قرار تأثر، وما الأدلة التي استند إليها، وما الحالة التي نتجت عن الاكتشاف.
ولا يعتمد سجل التنبيهات على الحالة النهائية فقط، بل يحتفظ بتاريخ كل خلل وقرار مرتبط به، مما يسمح بمراجعة تطور سلامة السلسلة عبر الزمن.
بنية سجل التنبيه
Alert_ID
Detection_Time
Alert_Type
Decision_ID
Reason_Code
Affected_Range
Evidence_References
Previous_State
Resulting_State
Severity
Detection_Run_ID
Previous_Alert_Hash
Alert_Hash
External_Anchor_ID
Signature
}
الحقول الأساسية
| الحقل | الوظيفة |
|---|---|
| Alert_ID | معرّف فريد لسجل التنبيه. |
| Detection_Time | وقت اكتشاف الخلل. |
| Alert_Type | نوع الخلل الذي اكتشفه الاختبار. |
| Decision_ID | معرّف القرار المتأثر. |
| Reason_Code | رمز السبب الذي يحدد طبيعة الخلل. |
| Affected_Range | نطاق السجلات أو القرارات المتأثر. |
| Evidence_References | المراجع التي تثبت أو تدعم نتيجة الاختبار. |
| Previous_State | حالة السلسلة قبل اكتشاف الخلل. |
| Resulting_State | الحالة الناتجة بعد تطبيق قاعدة القرار. |
| Severity | مستوى خطورة التنبيه. |
| Detection_Run_ID | معرّف دورة الاختبار التي اكتشفت الخلل. |
| Previous_Alert_Hash | بصمة سجل التنبيه السابق. |
| Alert_Hash | البصمة التشفيرية لسجل التنبيه الحالي. |
| External_Anchor_ID | معرّف المرساة الخارجية التي تثبت السجل. |
| Signature | التوقيع المستخدم للتحقق من سلامة سجل التنبيه. |
قاعدة إنشاء التنبيه
عند فشل أي اختبار من اختبارات سلامة سجل القرارات، ينشئ النظام سجل تنبيه جديدًا ويربطه بالقرار المتأثر وبالأدلة التي أدت إلى اكتشاف الخلل.
↓
Create Alert Record
↓
Assign Alert_ID
↓
Record Decision_ID + Reason_Code
↓
Record Affected_Range + Evidence
↓
Determine Resulting State
↓
Calculate Alert_Hash
↓
Sign Alert
↓
Append to Alert Chain
سلسلة سجل التنبيهات
ترتبط سجلات التنبيهات ببعضها في سلسلة متتابعة. ويحتوي كل سجل على بصمة السجل السابق، مما يسمح باكتشاف حذف أو تعديل أو إعادة ترتيب التنبيهات.
ويُحسب لكل سجل تنبيه ناتج تشفيري يعتمد على محتوى السجل وبصمة التنبيه السابق.
رموز التنبيهات
- ALERT-DECISION-DELETED — حذف قرار.
- ALERT-DECISION-MODIFIED — تعديل قرار.
- ALERT-DECISION-REORDERED — إعادة ترتيب قرار.
- ALERT-DECISION-HASH-MISMATCH — عدم تطابق بصمة القرار.
- ALERT-DECISION-SIGNATURE-INVALID — توقيع غير صالح.
- ALERT-DECISION-ANCHOR-MISMATCH — عدم تطابق المرساة.
- ALERT-DECISION-ANCHOR-DELETED — حذف مرساة.
- ALERT-DECISION-RANGE-GAP — وجود فجوة في النطاق.
قاعدة تحديد الحالة
| الخلل | الحالة الناتجة |
|---|---|
| حذف قرار دون دليل على التعديل | INCOMPLETE |
| فقدان جزء من نطاق السجل | INCOMPLETE |
| تعديل محتوى قرار | COMPROMISED |
| عدم تطابق Decision_Hash | COMPROMISED |
| توقيع غير صالح | COMPROMISED |
| إعادة ترتيب مثبتة تشفيريًا | COMPROMISED |
| مرساة غير متطابقة | COMPROMISED |
مثال: حذف قرار
كان التسلسل المتوقع للقرارات:
ثم اكتشف الاختبار الدوري أن القرار DEC-102 غير موجود.
Detection_Time: 2026-08-16T22:10:00Z
Alert_Type: ALERT-DECISION-DELETED
Decision_ID: DEC-102
Reason_Code: R-DECISION-GAP
Affected_Range: DEC-102 → DEC-102
Previous_State: VERIFIED
Resulting_State: INCOMPLETE
Severity: HIGH
السبب: القرار المتوقع ضمن النطاق غير موجود، ولم يتم العثور في هذا الفحص على دليل تشفيري مستقل يثبت تعديل قرار آخر.
مثال: تعديل قرار
اكتشف النظام أن البصمة المخزنة للقرار DEC-208 تختلف عن البصمة التي أعاد النظام حسابها من محتوى القرار.
Detection_Time: 2026-08-16T22:15:00Z
Alert_Type: ALERT-DECISION-MODIFIED
Decision_ID: DEC-208
Reason_Code: R03 = DECISION_HASH_MISMATCH
Affected_Range: DEC-208
Previous_State: VERIFIED
Resulting_State: COMPROMISED
Severity: CRITICAL
↓
DECISION_MODIFIED
↓
COMPROMISED
مثال: إعادة ترتيب قرار
كان الترتيب الصحيح:
لكن النظام وجد:
كما اكتشف أن Previous_Decision_Hash الخاص بالقرار DEC-302 لا يتوافق مع موقعه الفعلي في السلسلة.
Detection_Time: 2026-08-16T22:20:00Z
Alert_Type: ALERT-DECISION-REORDERED
Decision_ID: DEC-302
Reason_Code: R07 = DECISION_REORDERED
Affected_Range: DEC-301 → DEC-302
Previous_State: VERIFIED
Resulting_State: COMPROMISED
Severity: CRITICAL
التقرير الموحد
==============================
Detection Run: RUN-2026-08-16-0042
Alerts Detected: 3
| Alert_ID | Decision_ID | نوع الخلل | السبب | النطاق | الحالة الناتجة |
|---|---|---|---|---|---|
| ALT-00001 | DEC-102 | حذف قرار | R-DECISION-GAP | DEC-102 | INCOMPLETE |
| ALT-00002 | DEC-208 | تعديل قرار | R03 | DEC-208 | COMPROMISED |
| ALT-00003 | DEC-302 | إعادة ترتيب | R07 | DEC-301 → DEC-302 | COMPROMISED |
الأدلة المرتبطة بالتنبيه
لا يكتفي سجل التنبيهات بوصف الخلل، بل يحتفظ بمراجع الأدلة التي استخدمها الاختبار للوصول إلى النتيجة.
Evidence_References:
ANCHOR-021
ANCHOR-022
DEC-101
DEC-103
Previous_Decision_Hash
Stored_Decision_Hash
Calculated_Decision_Hash
مرساة سجل التنبيهات
بعد تجميع مجموعة من التنبيهات، تُنشأ مرساة خارجية تثبت نطاق سجل التنبيهات وتربطه بالمرساة السابقة.
│
├── First_Alert_ID
├── Last_Alert_ID
├── Alert_Count
├── Alert_Root_Hash
├── Previous_Anchor_Hash
├── Timestamp
└── Signature
كشف التعديل في سجل التنبيهات
إذا حاول طرف ما تعديل معرف قرار أو سبب التنبيه أو الأدلة أو الحالة الناتجة، فإن إعادة حساب البصمة ستؤدي إلى اختلاف عن البصمة المسجلة أو عن المرساة الخارجية.
العلاقة بين السجلات الثلاثة
↓
Decision Records
↓
Alert Records
↓
External Anchors
يمثل سجل التدقيق ما حدث، بينما يوضح سجل القرار سبب النتيجة التي اتخذها نظام التحقق، ويضيف سجل التنبيهات طبقة مستقلة لتوثيق الخلل الذي تم اكتشافه لاحقًا.
الخلاصة
يوحّد سجل التنبيهات غير القابل للتعديل مخرجات الاختبارات الدورية في بنية واحدة تربط كل خلل بـ Decision_ID وسبب التنبيه والنطاق المتأثر والأدلة ووقت الاكتشاف والحالة الناتجة.
ومن خلال ربط كل تنبيه بالتنبيه السابق باستخدام Previous_Alert_Hash، وتثبيت السلسلة دوريًا بواسطة مراسٍ خارجية، يصبح حذف التنبيهات أو تعديلها أو إعادة ترتيبها قابلًا للاكتشاف أثناء عمليات التحقق اللاحقة.
سجل التنبيهات غير القابل للتعديل — Immutable Alert Log
سجل القرارات — Decision Log
معرّف القرار — Decision_ID
رمز السبب — Reason Code
النطاق المتأثر — Affected Range
الأدلة المرتبطة — Evidence References
بصمة التنبيه — Alert Hash
سلسلة التنبيهات — Alert Chain
المرساة الخارجية — External Anchor
التحقق الدوري — Periodic Verification
VERIFIED
INCOMPLETE
COMPROMISED

