حماية وتحليل البيانات الصحيةAES-256-GCM

صَوْن نصون البيانات
ولا نُعطّلها

Sawn — safeguarded, still useful.

السجلات الصحية تُخزَّن نصاً مشفَّراً فقط. لا يُفكّ تشفيرها إلا في الذاكرة، ولمن يحق له، وللحظة التحليل وحدها. الطبيب يرى سجله، والمحلّل يرى الأرقام الإجمالية، ولا أحد يرى المفتاح.

  • 256بت طول المفتاح
  • 12 + 16بايت nonce وبصمة سلامة
  • 3أدوار لا تتداخل
AES-GCM-256 · crypto.subtle جاهز
السجل كما يصل من ملف CSV

            
كما يُخزَّن في قاعدة البيانات
nonce
—
tag
—
bytes
—
ما يصل إلى المحلّل
بانتظار التشفير…

كل ما يحدث هنا يجري داخل متصفحك بواجهة WebCrypto الأصلية. لا يُرسَل بايت واحد إلى الخادم.

  • CSV
  • parse
  • row → JSON
  • AES-256-GCM
  • nonce ‖ ciphertext ‖ tag
  • store
  • SQLite / PostgreSQL
  • unwrap DEK
  • decrypt in RAM
  • pandas
  • mean · std · median
  • audit
  • SHA-256 chain

صانَ الشيءَ: حفظه من التلف دون أن يمنع استعماله

هذا تعريف الفعل في المعجم، وهو أيضاً تعريف النظام. ثلاث ركائز تجعل الحفظ والمنفعة يحدثان معاً لا على حساب بعضهما.

تشفير AES-256-GCM لكل صف

كل صف من ملف البيانات يُشفَّر على حدة بمفتاح طوله 256 بت ورقم عشوائي جديد لا يتكرر. وضع GCM يعطي السرية والسلامة في عملية واحدة: أي بايت يتغير في النص المشفَّر يُكتشف قبل أن يُقرأ.

المفتاح الرئيسي يُشتق من عبارة سرّية عند التشغيل بخوارزمية Scrypt ولا يُكتب على القرص. مفتاح كل مجموعة بيانات يُخزَّن ملفوفاً به فقط.

صلاحيات لا تتداخل

الطبيب يرفع البيانات ويطّلع على سجلاته. المحلّل يحصل على المتوسط والانحراف والمدى، ولا يصل إلى صف واحد. المدير يدير المستخدمين ويقرأ سجل التدقيق ولا يرى بياناتٍ طبية إطلاقاً.

كل مسار يتحقق من الدور على الخادم، لا في الواجهة فقط. خمس محاولات دخول فاشلة تُقفل الحساب ربع ساعة.

سجل تدقيق مُسلسَل بالبصمة

كل دخول ورفع وتحليل واطّلاع يُكتب في سجل، وكل سطر يحمل بصمة SHA-256 للسطر الذي قبله. حذف سطر أو تغييره يكسر السلسلة من ذلك الموضع، ويظهر الكسر للمدير فوراً.

التحقق من سلامة السلسلة متاح من لوحة الإدارة، ونتيجته ترافق السجل دائماً.

كيف يعمل

رحلة صفٍّ واحد من ملف CSV إلى رقم في تقرير، دون أن يلمس القرص بصيغته المقروءة مرة واحدة.

  1. الرفع

    الطبيب يرفع ملف CSV. يُقرأ في الذاكرة، تُحسب بصمته، وتُكتشف أعمدته الرقمية. لا يُكتب الملف على القرص.

  2. مفتاح لكل مجموعة

    يُولَّد مفتاح بيانات جديد، ويُلفّ بمفتاح التشفير الرئيسي المشتق من العبارة السرّية. يُخزَّن الملفوف وحده.

  3. تشفير الصف

    كل صف يتحول إلى JSON ويُشفَّر بـ AES-256-GCM مع رقم عشوائي جديد وبيانات مصادقة تربطه بمجموعته ورقمه.

  4. التحليل في الذاكرة

    عند طلب التحليل تُفكّ الصفوف في الذاكرة، يُحسب الإحصاء بـ pandas، وتُعاد النتيجة وحدها. ثم تُترك الصفوف للجامع.

  5. السجل

    العملية تُدوَّن في سجل التدقيق بسطر يحمل بصمة السطر السابق. من فعل ماذا ومتى، دون قيمة طبية واحدة.

الأمان بكلفة ميلي ثوانٍ

قارنّا أربعة خيارات على مجموعة البيانات نفسها: تشفير AES-256-GCM، وAES-256-CBC + HMAC، وChaCha20-Poly1305، وبلا تشفير إطلاقاً. المعيار واحد: زمن تحليل عمود واحد في 1,000 صف من البداية إلى النهاية. وضع GCM يضيف ميلي ثوانٍ معدودة فوق النص المقروء، ويعطي في المقابل التحقق من السلامة مجاناً، دون طبقة ثانية ولا مفتاح ثانٍ.

+0 ms

ما يضيفه AES-256-GCM فوق النص المقروء لتحليل 1,000 صف، شاملاً فك التشفير في الذاكرة.

زمن حساب المتوسط لعمود واحد، 1,000 صف (كلما قصر الشريط كان أسرع)

أرقام توضيحية من قياس محلي؛ تختلف حسب الجهاز، وتبقى النسب بينها متقاربة.

التحقق من السلامة مدمج
GCM · Poly1305
يحتاج مفتاحاً ثانياً
CBC + HMAC
تسريع عتادي
AES-NI
0بت — طول مفتاح البيانات
0بت — رقم عشوائي لا يتكرر لكل صف
0بت — بصمة سلامة تُرفض أي تعديل
0صف يُكتب على القرص بصيغة مقروءة

الفريق

مشروع تخرج في كليات الخليج، قسم تقنية المعلومات.

  • منى بندر العنزي

    Mona Bandar Al-Anzi

    طالبة

  • نيرة نايف العنزي

    Nayrah Nayef Al-Anzi

    طالبة

  • د. رانيا الشيخ حامد إبراهيم

    Dr. Rania Elshiekh Hamid Ibrahim

    المشرفة

ادخل إلى النظام

ثلاثة أدوار، مجموعة بيانات مشفَّرة، وتقرير في أقل من ثانية.

دخول النظام