مقدمة
هذا هو الدرس الأخير في هذه السلسلة القصيرة. سوف نقوم بإذن الله تعالى بشرح بعض التقنيات الأخرى للتشفير ولكننا لن نركز على طريقة تنفيذها في بيئة الدوت نت فهذا نتركه لبحثك. ولكننا سوف نقوم بإلقاء الضوء على هذه التقنيات وشرح نبذة عنها. سوف نقوم بشرح تقنيات RFC، AES، PGP، ECC، SET، S/MIME، SSL، و IPSec.
RFC
تشفير Rail Fence Cipher أو كما يختصر إلى RFC, كان يستخدم قديما من قِـبَل الإسبارطيين Spartans لإرسال الرسائل إلى الجنود اليونانيين.
يعتبر هذا التشفير Transportation Cipher, بمعنى أنه طريقة عمل هذا التشفير هو بتغيير أماكن الحروف فقط كجعل الحرف الأول هو الثاني أو حتى الثالث. ولذلك يسهل فك هذا التشفير بشكل كبير. وهذا من أحد مشاكل RFC حيث تكمن المشكلة الأخرى في أنه عدد المفاتيح التي يمكنك استخدامها يتوقف على حسب طول النص المراد تشفيره وتنحصر في عدة أرقام قليلة.
طريقة عمل هذا التشفير:
النص الأصلي Plain Text يتم تقسيمه إلى عدة صفوف ومن ثَـــم يتم قراءة الصفوف بالترتيب, ويكون المفتاح في هذا التشفير هو عدد الصفوف.
على سبيل المثال إذا كنا نريد تشفير كلمة Secure باستخدام تشفير RFC وباستخدام المفتاح 2 يكون الناتج: screue
| s | c | r |
| e | u | e |
| screue | ||
كما يمكنك تمثيل الشكل السابق بهذا الشكل أفضل:
| s | c | r | |||
| e | u | e | |||
| screue | |||||
ولفك تشفير كلمة screue باستخدام المفتاح 2, نقوم بتقسيم النص إلى صفوف بنفس رقم المفتاح ثم نقوم بقراءة عمود ثم آخر.
| s | c | r |
| e | u | e |
| secure | ||
AES
تشفير AES أو كما هو اختصار لـ Advanced Encryption Standard (مقياس التشفير المتقدم), تقرر عام 1998م أن يكون هو البديل لنظام تشفير Triple-DES, كالنظام الاتحادي القياسي لمعالجة البيانات في الولايات المتحدة FIPS (Federal Information Processing Standards). ويتبع هذا النظام تقنية تشفير جديدة, يقال أنها ستحافظ على عامل أمان سيستمر لمدة 20 إلى 30 سنة, حيث يعتمد على تقنية تشفير الكتل (Block Cipher), وهي نوع مطور من طريقة المفتاح السري SK أو التشفير المتماثل Symmetric Cryptograph.
PGP
تشفير PGP أو كما هو اختصار لـ Pretty Good Privacy (تقنية الخصوصية الجيدة) يعتمد على طريقة المفتاح العام PK, نشر “فيل زيمرمان” مبادئ عمله عام 1991م.
ويضم هذا النظام عدداً من الأنظمة الضمنية التي يختص كل منها بوظائف محددة, ويؤمن بذلك سرعةً عاليةً في إنجاز عمليات التشفير, تزيد كثيراً على التي كانت متبعة قبله.
وهذا النظام أكثر انتشاراً في مجال التشفير المتعلق بإنترنت, ويؤمن أساليب آمنة لتطبيقات البريد الإلكتروني ونقل وتخزين الملفات, ويضم تقنيةً للضغط, استخدمت في برنامج الضغط المجاني الشهير PKZIP, تطبق على البيانات قبل تشفيرها.
ECC
تشفير ECC أو كما هو اختصار لـ Elliptic Curve Cryptography (تشفير المنحنى البيضاوي), ظهر عام 1985م, على يد “فيل ميلر”. ويعتمد في عمله على خوارزميات رياضية تحمل اسم النظام ذاته, ويعد تطبيق هذه الخوارزميات أسهل وأكثر فعالية من كثير من الأنظمة الأخرى المتبعة. ويعتبر من أنسب أنظمة التشفير التي يمكن استخدامها في الاتصالات المتحركة, وذات العتاد صغير الحجم, كبعض أنظمة الهواتف النقالة.
SET
ومن هنا نبدأ شرح لبعض البروتوكولات/آليات التشفير الأكثر انتشارا في الإنترنت.
بروتوكول SET أو كما هو اختصار لـ Secure Electronic Transaction (بروتوكول التحويل الإلكتروني الآمن), تم تطويره من قِــبل شركتي Visa و Master Card, لتأمين إنجاز تحويلات مالية بواسطة البطاقات المصرفية عبر الشبكات المفتوحة.
ويدعم هذا البروتوكول نظامي Triple-DES و RSA للتشفير, ويضم عدداً من البروتوكولات الضمنية التي تؤَمن شراء البضائع, أو دفع تكاليف الخدمات إلكترونياً, أو ضمان ربط مفتاح التشفير العام مع شخصٍ محدد, وغيرها من الخدمات المتعلقة بالتجارة الإلكترونية.
S/MIME
بروتوكول S/MIME أو كما هو اختصار لـ Secure/ Multipurpose Internet Mail Extensions (بروتوكول الآمن لامتدادات بريد الإنترنت متعدد الأغراض), هو البروتوكول المسؤول عن التوقيعات الرقمية, وعمليات التشفير في رسائل إنترنت التي تتبع هيئة MIME.
وتسمح هذه الهيئة لرسائل البريد الإلكتروني أن تتضمن نصوص محسنة وصور وفيديو. وتبنت هذه الهيئة العديد من الشركات العالمية الكبرى, مثل Netscape.
SSL
بروتوكول SSL أو كما هو اختصار لـ Secure Socket Layer, تم تطويره من قِــبل شركة Netscape, لتوفير الأمان والخصوصية خلال عملية المصافحة Handshake من خلال الإنترنت. ولا يرتبط هذا البروتوكول مع التطبيقات التي يعمل عليها. ويسمح هذا الأسلوب لبروتوكولات أخرى, مثل HTTP و FTP وTelnet , أن تعمل في طبقةٍ خاصةٍ بها بشكلٍ شفاف, بحيث لا تتعارض معه.حيث يقوم هذا البروتوكول بإنشاء طبقة بين العميل Client والخادم Server. ويستخدم البروتوكول عدداً من الخوارزميات المختلفة في مراحله المختلفة.
تدعم المتصفحات الشهيرة, مثل Navigator و Internet Explorer, طبقة المقابس الآمنة SSL, بطول مفتاح يصل إلى 128 بت, للنسخ المباعة في داخل الولايات المتحدة الأمريكية, و40 بت لخارجها. ويذكر أن الحكومة الأمريكية تمنع تصدير تقنيات التشفير التي يزيد طول المفتاح فيها عن 40 بت, إلى خارج القارة الأمريكية, خوفاً من استخدامها في “الإضرار بمصالح الولايات المتحدة” حسب الرئيس الأمريكي, “بيل كلينتون”, الذي أصدرت حكومته مرسوماً بذلك. ويفتقر المفتاح ذو طول 40 بت إلى عامل أمان مناسب, بعد التقدم السريع للتقنية المعلوماتية. وأدى هذا الأمر إلى اتجاه الكثير المتعاملين بالتجارة الإلكترونية, وخاصةً مطوري البرامج, إلى استخدام تقنيات غير أمريكية, أوروبية مثلاً, لضمان الحصول على عامل أمان مرتفع, ما دفع العديد من الشركات الأمريكية التي تملك هذه التقنيات, إلى المطالبة بالسماح بتصديرها خارج القارة الأمريكية.
عندما تستخدم SSL يجب أن تكون على معرفة بأن:
- عند استخدامك لـ SSL يستخدم الـعميل Client البروتوكول HTTPS بدلا من HTTP.
- يجب عليك مراقبة الأداء الخاص ببرنامجك عند استخدامك لـ SSL حيث أن SSL يقوم بعمل خوارزميات طويلة ومعقدة وتؤثر بشكل ملحوظ على مستوى أداء برنامجك.
- وكذلك يجب عليك تقليل كم البيانات الموجودة في الصفحات التي تستخدم SSL وذلك أيضا للمحافظة على أداء برنامجك.
- لأن SSL يؤثر بشكل كبير على أداء برنامجك يجب عليك التأكد من أن الوصلة Connection بين الـ Client والـ Server لا تنتهي Timed out.
- لاستخدام SSL يجب عليك الحصول على شهادة للخادم Server Certificate. يمكنك الرجوع إلى المراجع لاحقا لمعرفة كيفية الحصول على هذه الشهادة.
يمكنك معرفة المزيد من المعلومات حول هذا البروتوكول من العديد من المقالات في Microsoft Knowledge Base, ومن أهم هذه المقالات:
- Q257591:
Description of the Secure Sockets Layer (SSL) Handshake. - Q257587:
Description of the Server Authentication Process During the SSL Handshake. - Q257586:
Description of the Client Authentication Process During the SSL Handshake.
IPSec
يمكنك استخدام تقنية IPSec لحماية البيانات المنتقلة بين جهاز وآخر, مثل الجهاز الذي يعمل عليه البرنامج والجهاز الذي تعمل عليه قاعدة البيانات المرتبطة بالبرنامج.
IPSec تعتبر طبقة شفافة بين الجهازين تضمن لك التشفير والتوثيق والتكاملية. ويتم التعامل بين الجهازين بالطريقة المعتادة من خلال بروتوكولات TCP و UDP.
عند استخدامك لـ IPSec يجب أن تكون على معرفة بـ:
- يمكنك استخدام IPSec للتشفير Encryption وكذلك التوثيق Authentication.
- ليس هناك أي دوال API للتحكم في IPSec يمكنك فقط التحكم في IPSec من خلال MMC (Microsoft Management Console).
- من خلال المرشحات Filters الخاصة بـ IPSec يمكنك التحكم متى يتم استخدام IPSec ومتى يتم الاستغناء عنه.
- لتتم عملية التوثيق بشكل صحيح يجب عليك استخدام Certificates لكل من الجهازين.
خاتمة
بحمد الله انتهينا من هذه السلسلة ولكن لم تنتهي دروسنا بعد سواء في هذا الموضوع أو غيره. تابعونا.




[...] الدرس الخامس: بعض الآليات الأخرى نرجوا إضافة الأسئلة والتعليقات على الدروس حتى يتسنى لنا الإفادة على قدر الإمكان. ولا تتردوا في طرح أي سؤال ولو خارج الموضوع وسوف يتم بإذن الله تعالى الإجابة على جميع الأسئلة. يفضل إضافة الأسئلة خارج الموضوع هنا. [...]