# تعمية قواعد البيانات

تعمية قواعد البيانات يمكن تعريفها بالعملية التي تستخدم فيها الخوارزميات لتحويل النص والبيانات الموجودة في قواعد البيانات إلى نصوص وبيانات معماة، بحيث لا يمكن فك هذه التعمية. لذلك، يمكننا الفهم من أن الغرض من وجود التعمية في عالم قواعد البيانات هو لأجل الحماية ولضمان عدم وصول أشخاص غير مصرحين بالدخول على هذه البيانات والتعديل عليها أو إتلافها. وأيضا من فوائد تعمية المعلومات في قواعد البيانات هي تقليل الحوافز التي ربما تصب بمصلحة بعض المخترقين، حيث يتم بعض المخترقين بالاستفادة من البيانات التي تكون ذات معنى لهم، ولكن بوجود هذه التعمية، لن يتم الاستفادة من هذه البيانات بحيث ستكون معماة وغير مفهومة.
في هذه المقالة، سيتم شرح أهم التقنيات والطرق المستخدمة في تعمية قواعد البيانات.

## التعمية الشفافة (الخارجي)

قواعد البيانات الخارجية أو كما يرمز لها بالإنجليزية (Transparent Data Encryption) "TDE", هي طريقة مستخدمة لتعمية كامل قاعدة البيانات، وبالتالي، يتم أيضا تعمية البيانات التي هي من نوع "data at rest" في قاعدة البيانات نفسها. وللتوضيح، "data at rest" يمكن شرحها أو وصفها بأنها بيانات غير مفعلة أو نشطة ولم يتم التعديل عليها أو نشرها عن طريق الشبكة. على سبيل المثال، يكون الملف النصي المخزن في جهازك الحاسوبي في وضع "at rest" حتى تقوم بفتح الملف وتعديله. يتم حفظ وتخزين البيانات التي هي على شكل "data at rest" في أي من وسائل التخزين الشريطية مثل الأشرطة الثابتة أو الأقراص الصلبة، ولكن عند تخزين وحفظ كميات كبيرة من المعلومات الحساسية في تلك الأجهزة، تصبح المسألة حساسة جدا لأنها تتعلق بالأمن والحماية والخوف من السرقة أو ضياع وتلف تلك المعلومات.
هذا النوع من تعمية قواعد البيانات وهو كما عرفناه سابقا بالمصطلح "TDE" يمتاز بأنه يضمن الحماية لتلك البيانات المعماة على أجهزة التخزين والوسائط، بحيث أنه يمنع الأشخاص الذين يعملون تحت شعار الاختراق والعبث من قراءة تلك البيانات.
ولذلك، البيانات التي لايمكن قرائتها تصبح فعليا بدون أي قيمة، لذا يلعب هذا النوع من التعمية دور كبير في تقليل الحوافز لدى المخترقين الراغبين بسرقة المعلومات، وينسب أيضا لهذا النوع من التعمية قوة الشفافية الموجودة. تكمن هذه القوة في أنه لايجب تغيير التطبيقات وإعداداتها لأجل مهمة التعمية بنوع "TDE". توجد نقطة مهمة وهي أن كما ذكرنا مسبقا في أن هذا النوع يُعمِّي معلومات قاعدة البيانات كافة بما فيها النسخ الاحتياطية (نسخ احتياطي) من قاعدة البيانات نفسها. وتأتي خاصية الشفافية الموجودة بهذا النوع من التعمية في أنه تعمَّى البيانات في حالة تخزينها، ويتم بعد ذلك فك تعميتها عند إستدعائها من قبل ذاكرة النظام. تُعمَّى المحتويات الموجودة في قاعدة البيانات باستخدام مفتاح التماثل أو بالإنجليزية «symmetric key», وغالبا مايدعى بمفتاح تعمية قواعد البيانات.

## تعمية الأعمدة

لفهم هذا النوع من التعمية بشكل أفضل، من المهم جدا فهم العناصر والقواعد الأساسية في قاعدة البيانات نفسها. من المعلوم أن قاعدة البيانات تحتوي على أعمدة وصفوف، لذا قاعدة البيانات النموذجية ذات العلاقات فعليا تنقسم إلى جداول، وهذه الجداول تنقسم أيضا إلى أعمدة، بحيث أنه هذه الأعمدة تحتوي على صفوف من البيانات. مقارنة بالتعمية الشفافة (TDE), فإن التعمية الشفافة تعمي عناصر قاعدة البيانات كافةً، بينما تعمية الأعمدة تعمِّي الأعمدة فقط داخل قواعد البيانات. من المهم المعرفة بأن هناك نقاط قوة وضعف عند المقارنة بنوعين من التعمية(الشفاف والأعمدة).
أولا، عند التعمية بطريقة الأعمدة، فإن القدرة على تعمية عناصر الأعمدة كلها تكون أكثر مرونة مقارنة بالتعمية الشفافة مثل (TDE). ثانيا، عند التعمية بطريقة الأعمدة، فإننا نزيد من مستوى الحماية والأمن، والفضل ذلك يعود إلى مفاتيح التعمية المتاحة للإستخدام في هذا النوع. للتوضيح، يمكننا استخدام مفاتيح تعمية مستقلة وفريدة من نوعها عند التعامل مع كل عمود من أعمدة قاعدة البيانات. ومع كل ذلك، فإن واحد من أهم نقاط الضعف الموجودة في هذا النوع هي السرعة. عندما نقوم باستخدام مفاتيح التعمية لتعمية كل عمود في قاعدة البيانات على حده، فإن الأداء العام لقاعدة البيانات ينخفض.

## تعمية الحقول

هناك أعمال تجريبية قائمة على توفير عمليات قواعد البيانات مثل البحث والعمليات الحاسبية الأخرى على حقول معماة ومن دون الحاجة إلى فك تعمية هذه الحقول. المبتغى من قوة عمليات التعمية هي بأن تكون عشوائية، بحيث تكون هناك نتيجة مختلفة في كل مرة يتم فيها التعمية. تعرف هذا التقنية باسم (التعمية الاحتمالية) أو بالإنجليزية (Probabilistic Encryption). تعد تعمية الحقول أضعف من التعمية العشوائية أو الاحتمالية، ولكن هذا النوع يسمح أيضا للمستخدمين بأن يقوموا باختبار مستوى المساواة ومن دون القيام بفك تعمية البيانات.

## تعمية نظام الملفات
### نظام تعمية الملفات (EFS)

من المهم ملاحظة أن تقنيات تعمية قواعد البيانات التقليدية تعمي وتفك تعمية محتويات قاعدة البيانات. تتم إدارة قواعد البيانات بواسطة «أنظمة إدارة قواعد البيانات» (DBMS) التي تعمل على رأس نظام تشغيل موجود (OS). هذا يثير مخاوف أمنية محتملة، لأن قاعدة البيانات المعماة قد تعمل على نظام تشغيل يمكن الوصول إليه وهشاش أو ضعيف. يمكن لـ EFS تعمية البيانات التي لا تشكل جزءًا من نظام قاعدة البيانات، مما يعني أن نطاق التعمية الخاص بـ EFS أوسع بكثير مقارنةً بنظام مثل TDE قادر فقط على تعمية ملفات قاعدة البيانات. بينما تعمل EFS على توسيع نطاق التعمية، إلا أنها تقلل أيضًا من أداء قاعدة البيانات ويمكن أن تسبب مشكلات في الإدارة حيث يتطلب مسؤولو النظام الوصول إلى نظام التشغيل لاستخدام EFS. نظرًا للمشاكل المتعلقة بالأداء، لا يتم استخدام EFS عادةً في تطبيقات قواعد البيانات التي تتطلب مدخلات ومخرجات متكررة لقاعدة البيانات. من أجل تعويض مشكلات الأداء، يوصى غالبًا باستخدام أنظمة EFS في بيئات بها عدد قليل من المستخدمين.

## تعمية القرص الكامل

BitLocker ليس لديه نفس الأداء المرتبط بـ EFS.

## تعمية قاعدة البيانات التماثلية وغير التماثلية
### التعمية التماثلية

يعرف هذا النوع باسم (symmetric database encryption), حيث أنه يشترط وجود مفتاح تعمية خاص يدعى (private key), ويتم إيداع هذا المفتاح وربطه وإستخدامه للبيانات المخزنة والمستدعية من قبل قاعدة البيانات. قبل عملية فك تعمية هذه البيانات، يقوم هذا المفتاح الخاص بالتعديل والتغيير بحيث أنه يعمل على جعل البيانات غير قابلة للقراءة. تكون هذه البيانات معماة عندما تكون مخزنة ومحفوظة، وتكون بعد ذلك غير معماة عندما يتم فتحها، وتنشأ هاذه الخطوة عندما يكون المستخدم نفسه على علم بالمفتاح الخاص (private key) الذي تم إستخدامه هنا. علاوة على ذلك، من المهم عند مشاركة البيانات عبر قاعدة البيانات مابين شخص مرسل ومستقبل بأن يتم استخدام مفتاح آخر يدعى بالمفتاح السري أو بالإنجليزية (secret key) من قبل الشخص المرسل، ومن الضروري بأن يتم توفير نسخه من هذا المفتاح السري للشخص المستقبل للمشاركة التي تمت من الشخص المرسل له، بعد ذلك يمكن لهذا الشخص المستقبل للبيانات بأن يفك تعميتها وقرائتها بعد ذلك.
- تتميز التعمية التماثلية بالسرعة، لأنها تمتلك خاصية استخدام مفتاح تعمية واحد للعمليات.

### التعمية غير التماثلية

بالإنجليزية تدعى هذا التعمية بال (Asymmetric database encryption), حيث أنه يشترط وجود مفتاحان للتعمية يعمل كل منهما على حده. هذان النوعان تسمى (private key & public key) أو «المفتاح العام» و«المفتاح الخاص». يستطيع أي شخص الوصول إلى المفتاح العام، ولكل شخص أو مستخدم مفتاح عام مختلف ومميز يختص به. وبالجهة المقابلة، المفتاح الخاص هو مفتاح متميز ومختلف ولايستطيع أحد الوصول إليه إلا بواسطة شخص أو مستخدم واحد فقط. في أغلب الأحيان، يكون المفتاح العام هو المفتاح المستخدم في عمليات التعمية، بينما المفتاح الخاص هو المفتاح الذي يقوم بفك عمليات التعمية. على سبيل المثال، إذا أراد المستخدم (أ) أن يرسل رسالة إلى المستخدم (ب) باستخدام التعمية غير التماثلية، المستخدم أ سيُعمِّي الرسالة بواسطة المفتاح العام للمستخدم ب, بعد ذلك، سيقوم بإرسال الرسالة كرسالة معماة. بعد هذه العملية، سيقوم المستخدم ب بفك تعمية هذه الرسالة باستخدام مفتاحه الخاص. إذا تدخل مستخدم جديد ليكون مستخدم (ج), لن يكون هو قادر على فك هذه التعمية الخاصة برسالة المستخدم أ, لأن المفتاح الخاص للمستخدم ج لا يتوافق مع المفتاح الخاص بالمستخدم ب.
- تمتاز التعمية غير التماثلي بأنه أكثر حماية وأمن مقارنة بالتعمية التماثلية.

## إدارة المفاتيح

قدم قسم «تعمية قاعدة البيانات المتماثلة وغير المتماثلة» مفهوم المفاتيح العامة والخاصة بأمثلة أساسية يتبادل فيها المستخدمون المفاتيح. يصبح عمل تبادل المفاتيح غير عملي من وجهة نظر لوجستية، عندما يحتاج العديد من الأفراد المختلفين إلى التواصل مع بعضهم البعض. في تعمية قاعدة البيانات، يتولى النظام تخزين المفاتيح وتبادلها. هذه العملية تسمى الإدارة الرئيسية. إذا لم تتم إدارة مفاتيح التعمية وتخزينها بشكل صحيح، فقد يتم تسريب البيانات الحساسة للغاية. بالإضافة إلى ذلك، إذا قام نظام إدارة المفاتيح بحذف مفتاح أو فقده، فإن المعلومات التي تعمَّى عبر المفتاح المذكور يتم «فقدانها» أيضًا. يعد تعقيد لوجستيات الإدارة الرئيسية أيضًا موضوعًا يجب أخذه في الاعتبار. مع زيادة عدد التطبيقات التي تستخدمها الشركة، يزداد أيضًا عدد المفاتيح التي تحتاج إلى تخزينها وإدارتها. وبالتالي، من الضروري إنشاء طريقة لإدارة المفاتيح من جميع التطبيقات من خلال قناة واحدة، والتي تعرف أيضًا باسم إدارة مفتاح المؤسسة. يتم بيع حلول إدارة المفاتيح للمؤسسات بواسطة عدد كبير من الموردين في صناعة التكنولوجيا. توفر هذه الأنظمة بشكل أساسي حلاً مركزيًا لإدارة المفاتيح يتيح للمسؤولين إدارة جميع المفاتيح في النظام من خلال محور واحد. وبالتالي يمكن القول أن إدخال حلول إدارة مفاتيح المؤسسات لديه القدرة على تقليل المخاطر المرتبطة بالإدارة الرئيسية في سياق تعمية قاعدة البيانات، وكذلك لتقليل المشكلات اللوجيستية التي تنشأ عندما يحاول العديد من الأفراد القيام يدويًا مفاتيح الأسهم.

## التجزئة

يتم استخدام دوال الـ (هاش) في أنظمة قواعد البيانات كوسيلة لحماية البيانات الحساسة مثل كلمات المرور؛ ومع ذلك يتم استخدامه أيضًا لتحسين كفاءة الرجوع إلى قاعدة البيانات. يتم التعامل مع البيانات المدخلة بواسطة خوارزمية التجزئة. تقوم خوارزمية التجزئة بتحويل البيانات المدخلة إلى سلسلة ذات طول ثابت يمكن تخزينها بعد ذلك في قاعدة بيانات. أنظمة التجزئة لها سمتان مهمتان للغاية سيتم تحديدهما الآن.
أولاً، تعد التجزئة «فريدة ومتكررة». على سبيل المثال، يؤدي تشغيل كلمة "cat" من خلال نفس خوارزمية التجزئة عدة مرات دائمًا إلى تجزئة نفس الشيء، ولكن من الصعب للغاية العثور على كلمة ستُرجع نفس التجزئة التي يجلبها "cat". ثانياً، خوارزميات التجزئة غير قابلة للانعكاس. لربط هذا مرة أخرى بالمثال المذكور أعلاه، سيكون من المستحيل تقريبًا تحويل ناتج خوارزمية التجزئة إلى المدخلات الأصلية، والتي كانت «قطة». في سياق تعمية قاعدة البيانات، يتم استخدام التجزئة غالبًا في أنظمة كلمة المرور. عندما ينشئ المستخدم كلمة المرور لأول مرة، يتم تشغيلها من خلال خوارزمية التجزئة وحفظها كتجزئة. عندما يقوم المستخدم بتسجيل الدخول مرة أخرى إلى موقع الويب، يتم تشغيل كلمة المرور التي يدخلها من خلال خوارزمية التجزئة ثم تتم مقارنتها مع التجزئة المخزن. نظرًا لحقيقة أن التجزئات فريدة من نوعها، إذا كان كلا التجزيدين متطابقين، يُقال إن المستخدم أدخل كلمة المرور الصحيحة. أحد الأمثلة على دالة التجزئة الشهيرة SHA (خوارزمية التجزئة الآمنة) 256.

### عمليات التمليح

إحدى المشكلات التي تنشأ عند استخدام التجزئة لإدارة كلمة المرور في سياق تعمية قاعدة البيانات هي حقيقة أن المستخدم الضار يمكن أن يستخدم جدول قوس قزح (جدول الإدخال Hash) لخوارزمية التجزئة المحددة التي يستخدمها النظام. هذا من شأنه أن يسمح للفرد بفعالية فك تعمية التجزئة وبالتالي الوصول إلى كلمات المرور المخزنة. الحل لهذه القضية هي عمليات«التمليح» الخاصة بالتجزئة. التمليح هي عملية تعمية أكثر من مجرد كلمة المرور في قاعدة البيانات. كلما زادت المعلومات التي تمت إضافتها إلى سلسلة يتم تجزئتها، زاد صعوبة تجميع جداول قوس قزح. على سبيل المثال، قد يجمع النظام بين البريد الإلكتروني للمستخدم وكلمة المرور في علامة تجزئة واحدة. هذه الزيادة في تعقيد التجزئة تعني أنه أكثر صعوبة وبالتالي أقل احتمالا لتوليد جداول قوس قزح. هذا يعني بطبيعة الحال أن تهديد فقدان البيانات الحساسة يتم تقليله من خلال تجزئات التمليح.

### تقنيات الفلفل

تتضمن بعض الأنظمة «تقنيات الفلفل» بالإضافة إلى عمليات التمليح في أنظمة التجزئة. نظم الفلفل مثيرة للجدل، ولكن لا يزال من الضروري شرح استخدامها. عملية الفلفل هي قيمة تضاف إلى كلمة مرور مجزأة مملحة. غالبًا ما يكون هذا الفلفل فريدًا لموقع ويب أو خدمة واحدة، ومن المهم ملاحظة أن الفلفل نفسه يضاف عادةً إلى جميع كلمات المرور المحفوظة في قاعدة البيانات. الناحية النظرية، فإن إدراج الفلفل في أنظمة تجزئة كلمات المرور لديه القدرة على تقليل مخاطر عمليات وجداول قوس قزح (الإدخال: جداول التجزئة)، بالنظر إلى خصوصية الفلفل على مستوى النظام، إلا أن الفوائد الحقيقية لتطبيق الفلفل هو في موضع خلاف كبير.

## التعمية على مستوى التطبيق

في تعمية مستوى التطبيق، يتم إكمال عملية تعمية البيانات بواسطة التطبيق الذي تم استخدامه لإنشاء أو تعديل البيانات المراد تعميتها. يعني هذا بشكل أساسي أن البيانات معماة قبل كتابتها إلى قاعدة البيانات. يسمح هذا الأسلوب الفريد للتعمية بتخصيص عملية التعمية لكل مستخدم بناءً على المعلومات (مثل الاستحقاقات أو الأدوار) التي يعرفها التطبيق عن مستخدميه.

### مزايا التعمية على مستوى التطبيق

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

### عيوب التعمية على مستوى التطبيق

أول عيب مهم للتعمية على مستوى التطبيق هو أن التطبيقات التي تستخدمها الشركة سوف تحتاج إلى تعديل لتعمية البيانات بأنفسهم. هذا لديه القدرة على استهلاك كمية كبيرة من الوقت وغيرها من الموارد. نظرًا لطبيعة تكلفة الفرصة البديلة، قد لا تعتقد الشركات أن التعمية على مستوى التطبيق يستحق الاستثمار. بالإضافة إلى ذلك، قد يكون للتعمية على مستوى التطبيق تأثير محدود على أداء قاعدة البيانات. إذا عُمِّيت جميع البيانات الموجودة على قاعدة بيانات من قبل العديد من التطبيقات المختلفة، يصبح من المستحيل فهرسة أو البحث عن البيانات في قاعدة البيانات. لتوضيح ذلك في الواقع في شكل مثال أساسي: سيكون من المستحيل إنشاء مسرد بلغة واحدة لكتاب تم كتابته بـ 30 لغة. أخيرًا، يزداد تعقيد إدارة المفاتيح، حيث تحتاج العديد من التطبيقات المختلفة إلى صلاحية الوصول إلى تعمية البيانات وكتابتها في قاعدة البيانات.

## مخاطر تعمية قاعدة البيانات

عند مناقشة موضوع تعمية قاعدة البيانات، من الضروري أن تكون على دراية بالمخاطر التي تنطوي عليها هذه العملية. ترتبط المجموعة الأولى من المخاطر بالإدارة الرئيسية. إذا لم تتم إدارة المفاتيح الخاصة في «نظام معزول»، فقد يكون لمسؤولي النظام ذوي النوايا الخبيثة القدرة على فك تعمية البيانات الحساسة باستخدام المفاتيح التي يمكنهم الوصول إليها. يؤدي المبدأ الأساسي للمفاتيح أيضًا إلى خطر محتمل ومحتمل جداً: إذا ضاعت المفاتيح، فستفقد البيانات المعماة بشكل أساسي أيضًا، حيث أن فك التعمية بدون مفاتيح يكاد يكون مستحيلًا.

## إنظر أيضاً

* حوكمة البيانات