افتح القائمة الرئيسية

تشفير قواعد البيانات


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

في هذه المقالة, سيتم شرح أهم التقنيات والطرق المستخدمة في تشفير قواعد البيانات.

التشفير الشفافي (الخارجي)عدل

قواعد البيانات الخارجية أو كما يرمز لها بالإنجليزية (Transparent Data Encryption) "TDE", هي طريقة مستخدمة للتشفير الكامل لقاعدة البيانات,[2] وبالتالي, يتم أيضا تشفير البيانات التي هي من نوع "data at rest" في قاعدة البيانات نفسها.[4] وللتوضيح, "data at rest" يمكن شرحها أو وصفها بأنها بيانات غير مفعلة أو نشطة ولم يتم التعديل عليها أو نشرها عن طريق الشبكة.[5] على سبيل المثال, يكون الملف النصي المخزن في جهازك الحاسوبي في وضع "at rest" حتى تقوم بفتح الملف و تعديله. يتم حفظ وتخزين البيانات التي هي على شكل "data at rest" في أي من وسائل التخزين الشريطية مثل الأشرطة الثابته أو الأقراص الصلبة,[6] ولكن عند تخزين وحفظ كميات كبيرة من المعلومات الحساسية في تلك الأجهزة, تصبح المسألة حساسة جدا لأنها تتعلق بالأمن والحماية والخوف من السرقة أو ضياع وتلف تلك المعلومات.

هذا النوع من تشفير قواعد البيانات وهو كما عرفناه سابقا بالمصطلح "TDE" يمتاز بأنه يضمن الحماية لتلك البيانات المشفرة على أجهزة التخزين والوسائط, بحيث أنه يمنع الأشخاص الذين يعملون تحت شعار الإختراق والعبث من قراءة تلك البيانات.[7]

ولذلك, البيانات التي لايمكن قرائتها تصبح فعليا بدون أي قيمة, لذا يلعب هذا النوع من التشفير دور كبير في تقليل الحوافز لدى المخترقين الراغبين بسرقة المعلومات, وينسب أيضا لهذا النوع من التشفير قوة الشفافية الموجودة. تكمن هذه القوة في أنه لايجب تغيير التطبيقات و إعداداتها لأجل مهمة التشفير بنوع "TDE".[8] توجد نقطة مهمة وهي أن كما ذكرنا مسبقا في أن هذا النوع يشفر كافة المعلومات في قاعدة البيانات بما فيها النسخ الإحتياطية (نسخ احتياطي) من قاعدة البيانات نفسها. وتأتي خاصية الشفافية الموجودة بهذا النوع من التشفير في أنه يتم تشفير البيانات في حالة تخزينها, ويتم بعد ذلك فك تشفيرها عند إستدعائها من قبل ذاكرة النظام.[9] يتم تشفير المحتويات الموجودة في قاعدة البيانات بإستخدام مفتاح التماثل أو بالإنجليزية "symmetric key", وغالبا مايدعى بمفتاح تشفير قواعد البيانات.

تشفير الأعمدةعدل

لفهم هذا النوع من التشفير بشكل أفضل, من المهم جدا فهم العناصر والقواعد الأساسية في قاعدة البيانات نفسها. من المعلوم أن قاعدة البيانات تحتوي على أعمدة وصفوف, لذا قاعدة البيانات النموذجية ذات العلاقات فعليا تنقسم إلى جداول, وهذه الجداول تنقسم أيضا إلى أعمدة, بحيث أنه هذه الأعمدة تحتوي على صفوف من البيانات.[10] مقارنة بالتشفير الشفافي (TDE), فإن التشفير الشفافي يقوم بتشفير كافة عناصر قاعدة البيانات, بينما تشفير الأعمدة يقوم بتشفير الأعمدة فقط داخل قواعد البيانات.[11] من المهم المعرفة بأن هناك نقاط قوة وضعف عند المقارنة بتلك النوعان من التشفير (الشفافي والأعمدة).

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

تشفير الحقولعدل

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

تشفير نظام الملفاتعدل

نظام تشفير الملفات (EFS)عدل

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

تشفير القرص الكاملعدل

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

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

 
عرض مرئي للتشفير التماثلي (symmetric encryption)

التشفير التماثليعدل

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

- يتميز التشفير التماثلي بالسرعة, لأنه يمتلك خاصية استخدام مفتاح تشفيري واحد للعمليات.[19]

التشفير الغير تماثليعدل

بالإنجليزية يدعى هذا التشفير بال (Asymmetric database encryption), حيث أنه يشترط وجود مفتاحان للتشفير يعمل كل منهما على حده. هذان النوعان تسمى (private key & public key) أو "المفتاح العام" و"المفتاح الخاص".[20] يستطيع أي شخص الوصول إلى المفتاح العام, ولكل شخص أو مستخدم مفتاح عام مختلف ومميز يختص به. وبالجهة المقابلة, المفتاح الخاص هو مفتاح متميز ومختلف ولايستطيع أحد الوصول إليه إلا بواسطة شخص أو مستخدم واحد فقط.[21] في أغلب الأحيان, يكون المفتاح العام هو المفتاح المستخدم في عمليات التشفير, بينما المفتاح الخاص هو المفتاح الذي يقوم بفك عمليات التشفير. على سبيل المثال, إذا أراد المستخدم (أ) أن يرسل رسالة إلى المستخدم (ب) بإستخدام التشفير الغير تماثلي, المستخدم أ سيقوم بتشفير الرسالة بواسطة المفتاح العام للمستخدم ب, بعد ذلك, سيقوم بإرسال الرسالة كرسالة مشفرة. بعد هذه العملية, سيقوم المستخدم ب بفك شفرة هذه الرسالة بإستخدام مفتاحه الخاص. إذا تدخل مستخدم جديد ليكون مستخدم (ج), لن يكون هو قادر على فك هذه الشفرة الخاصة برسالة المستخدم أ, لأن المفتاح الخاص للمستخدم ج لا يتوافق مع المفتاح الخاص بالمستخدم ب.[22]

- يمتاز التشفير الغير تماثلي بأنه أكثر حماية وأمن مقارنة بالتشفير التماثلي.[19]

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

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

التجزئةعدل

يتم استخدام دوال الـ (هاش) في أنظمة قواعد البيانات كوسيلة لحماية البيانات الحساسة مثل كلمات المرور ؛ ومع ذلك يتم استخدامه أيضًا لتحسين كفاءة الرجوع إلى قاعدة البيانات. [25] يتم التعامل مع البيانات المدخلة بواسطة خوارزمية التجزئة. تقوم خوارزمية التجزئة بتحويل البيانات المدخلة إلى سلسلة ذات طول ثابت يمكن تخزينها بعد ذلك في قاعدة بيانات. أنظمة التجزئة لها سمتان مهمتان للغاية سيتم تحديدهما الآن.

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

عمليات التمليحعدل

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

تقنيات الفلفلعدل

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

تشفير مستوى التطبيقعدل

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

مزايا التشفير على مستوى التطبيقعدل

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

عيوب تشفير مستوى التطبيقعدل

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

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

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


إنظر أيضاًعدل

المراجععدل

  1. ^ "What is Database Encryption and Decryption? - Definition from Techopedia". Techopedia.com. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 04 نوفمبر 2015. 
  2. أ ب "Transparent Data Encryption with Azure SQL Database". msdn.microsoft.com. مؤرشف من الأصل في 4 مارس 2016. اطلع عليه بتاريخ 04 نوفمبر 2015. 
  3. ^ "SQL SERVER - Introduction to SQL Server Encryption and Symmetric Key Encryption Tutorial with Script". Journey to SQL Authority with Pinal Dave. April 28, 2009. مؤرشف من الأصل في 1 ديسمبر 2016. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  4. ^ "Transparent Data Encryption (TDE)". msdn.microsoft.com. مؤرشف من الأصل في 11 يونيو 2016. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  5. ^ "What is data at rest? - Definition from WhatIs.com". SearchStorage. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  6. ^ "Encryption techniques and products for hardware-based data storage security". ComputerWeekly. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 31 أكتوبر 2015. 
  7. ^ "Storage Encryption Solutions". www.thales-esecurity.com. مؤرشف من الأصل في 24 فبراير 2017. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  8. ^ "Transparent Data Encryption (TDE) in SQL Server — DatabaseJournal.com". www.databasejournal.com. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  9. ^ "Using Transparent Data Encryption". sqlmag.com. مؤرشف من الأصل في 14 أكتوبر 2017. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  10. ^ "A Tutorial on Database Concepts, SQL using MySQL.". www.atlasindia.com. مؤرشف من الأصل في 1 مارس 2019. اطلع عليه بتاريخ 04 نوفمبر 2015. 
  11. ^ "SQL Server Encryption Options". sqlmag.com. مؤرشف من الأصل في 27 أكتوبر 2017. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  12. ^ "Differences Between Whole Database and Column Encryption". www.netlib.com. مؤرشف من الأصل في 10 يناير 2016. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  13. ^ "Optimized and Controlled Provisioning of Encrypted Outsourced Data" (PDF). www.fkerschbaum.org. مؤرشف من الأصل (PDF) في 26 مارس 2017. 
  14. ^ Suciu، Dan (2012). "Technical Perspective: SQL on an Encrypted Database". Association for Computing Machinery. Communications of the ACM. 
  15. ^ Spooner، David L.؛ Gudes، E. (1984-05-01). "A Unifying Approach to the Design of a Secure Database Operating System". IEEE Transactions on Software Engineering. SE-10 (3): 310–319. ISSN 0098-5589. doi:10.1109/TSE.1984.5010240. 
  16. أ ب "Database Encryption in SQL Server 2008 Enterprise Edition". technet.microsoft.com. مؤرشف من الأصل في 8 ديسمبر 2017. اطلع عليه بتاريخ 03 نوفمبر 2015. 
  17. ^ "Description of Symmetric and Asymmetric Encryption". support.microsoft.com. مؤرشف من الأصل في 13 سبتمبر 2016. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  18. ^ "How Encryption Works". HowStuffWorks. April 6, 2001. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  19. أ ب "Asymmetric vs. Symmetric – Hacking with PHP - Practical PHP". www.hackingwithphp.com. مؤرشف من الأصل في 23 فبراير 2019. اطلع عليه بتاريخ 03 نوفمبر 2015. 
  20. ^ "How Encryption Works". HowStuffWorks. April 6, 2001. مؤرشف من الأصل في 7 أغسطس 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  21. ^ Young، Dr. Bill. "Foundations of Computer Security Lecture 44: Symmetric vs. Asymmetric Encryption" (PDF). University of Texas at Austin. مؤرشف من الأصل (PDF) في 15 فبراير 2017. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  22. ^ "What is asymmetric cryptography and how do I use it?". Two Factor Authenticity. مؤرشف من الأصل في 1 مايو 2016. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  23. ^ "Encryption key management is vital to securing enterprise data storage". ComputerWeekly. مؤرشف من الأصل في 25 مارس 2018. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  24. ^ "What is Enterprise Key Management?". web.townsendsecurity.com. مؤرشف من الأصل في 14 أبريل 2016. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  25. ^ "What is hashing? - Definition from WhatIs.com". SearchSQLServer. مؤرشف من الأصل في 18 أبريل 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  26. ^ "How data encryption software creates one way hash files using the sha1 hashing algorithm.". www.metamorphosite.com. مؤرشف من الأصل في 13 فبراير 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  27. ^ "Understanding Encryption – Symmetric, Asymmetric, & Hashing". Atomic Spin. November 20, 2014. مؤرشف من الأصل في 1 يونيو 2016. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  28. ^ "PHP: Password Hashing - Manual". php.net. مؤرشف من الأصل في 31 أغسطس 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  29. ^ "JavaScript Implementation of SHA-256 Cryptographic Hash Algorithm | Movable Type Scripts". www.movable-type.co.uk. مؤرشف من الأصل في 2 مارس 2019. اطلع عليه بتاريخ 03 نوفمبر 2015. 
  30. أ ب "Salt and pepper - How to encrypt database passwords". blog.kablamo.org. مؤرشف من الأصل في 4 يناير 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  31. ^ "PHP: Password Hashing - Manual". php.net. مؤرشف من الأصل في 31 أغسطس 2019. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  32. ^ "Why You Should Always Salt Your Hashes - Web Development in Brighton - Added Bytes". Added Bytes. مؤرشف من الأصل في 27 سبتمبر 2017. اطلع عليه بتاريخ 01 نوفمبر 2015. 
  33. ^ "ircmaxell's blog: Properly Salting Passwords, The Case Against Pepper". blog.ircmaxell.com. مؤرشف من الأصل في 14 فبراير 2019. اطلع عليه بتاريخ 02 نوفمبر 2015. 
  34. أ ب "Application Encryption from Thales e-Security". www.thales-esecurity.com. مؤرشف من الأصل في 24 فبراير 2017. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  35. أ ب Baccam، Tanya (April 2010). "Transparent Data Encryption: New Technologies and Best Practices for Database Encryption". Sans.org. SANS Institute. مؤرشف من الأصل في 12 أبريل 2018. اطلع عليه بتاريخ 25 أكتوبر 2015. 
  36. ^ "Database Encryption: Challenges, Risks, and Solutions". www.thales-esecurity.com. مؤرشف من الأصل في 24 فبراير 2017. اطلع عليه بتاريخ 25 أكتوبر 2015.