نبذة عن التوقيعات الرقمية
ما هو التوقيع الرقمي ؟
لا يوجد تعريف بسيط للتوقيع الرقمي Digital Signature ولكن في حال وجود مثل هذا التعريف فإنه يمكن أن يكون مشابها للتعريف التالي: طريقة إتصال مشفرة تعمل على توثيق المعاملات التي تتم عبر الإنترنت.
بشكل أساسي فإن الفكرة الكامنة وراء التوقيعات الرقمية هي نفسها كما في التوقيع المكتوب بخط اليد . إنك تستخدمه للتصديق او لتوثيق الحقيقة بأنك وعدت بشيء ما ولا تستطيع التراجع عنه فيما بعد. إن التوقيع الرقمي لا يتضمن القيام بتوقيع شيء ما باستخدام القلم والورقة وبعد ذلك إرساله عبر الإنترنت ولكنه مثل التوقيع على الورق يلتصق بهوية الموقع على معاملة ما.
يجب أن يكون للتوقيع بشكل عام الصفات المميزة التالية :
• توثيق الموقع : إن التوقيع يجب أن يبين أو يشير إلى الشخص الذي قام بتوقيع الوثيقة أو الرسالة أو السجل ويجب أن يكون من الصعب على شخص آخر القيام به بدون تفويض. الصورة التالية تظهر متسلل يزعم بكونه الطرف المرسل.
• توثيق الوثيقة : أي توقيع يجب أن يعرف عن الطرف الذي قام بتوقيعه بما يجعله غير ممكنا تزوير أو تغيير أي من المادة الموقعة أو التوقيع بدون انكشاف الحقيقة .
هذه الصورة تبين متسلل أو متطفل يعبث بمحتويات رسالة ما.
كيف تعمل تقنية التوقيع الرقمي:
التشفير بواسطة المفتاح العام Public Key Cryptography (شيفرة تستخدم مفتاحين متناظرين أحدهما سري ويحفظه مستلم البيانات والآخر عمومي )
يتم خلق التوقيعات وكذلك التثبت من صحتها من خلال التشفير وهو فرع من الرياضيات التطبيقية المختصة بتحويل الرسائل إلى أشكال تبدو وكأنها لا يمكن فهمها وإعادتها مرة أخرى كما كانت. تستخدم التوقيعات الرقمية ما يعرف بنظام شيفرة المفتاح العام والذي يستخدم منهجا معينا مستعينا بمفتاحين مختلفين ولكنهما مرتبطين حسابيا ، واحد لخلق التوقيع الرقمي أو لتحويل البيانات إلى أشكال تبدو وكأنها لا يمكن فهمها والمفتاح الآخر للتثبت من صحة التوقيع الرقمي أو لإعادة الرسالة إلى شكلها الأصلي . تدعى أجهزة وبرامج الحاسب الآلي التي تستخدم مثل هذين المفتاحين عادة " نظام التشفير اللا تماثلي"
إن المفاتيح التكميلية في نظام الشيفرة اللاتماثلية للتوقيعات الرقمية تدعى عشوائيا المفتاح الخاص والذي يعرفه فقط الموقع ويستخدم لخلق التوقيع الرقمي والمفتاح العام والمعروف عادة على نطاق أوسع ويستخدم من قبل شخص موثوق به للتثبت من صحة التوقيع الرقمي. في حال استدعت الظروف أن أكثر من جهة بحاجة للتثبت من صحة التوقيع الرقمي فإن المفتاح العام يجب أن يكون متوفرا لتلك الجهات أو يوزع عليهم جميعا أو ربما يتم نشره في ملف للإتصال المباشر حيث من الممكن الوصول إليه بسهولة . بالرغم من كلا المفاتيح مرتبطين ببعضها رياضيا فإنه في حال تم تصميم نظام الشيفرة اللا تماثلي وتم تطبيقه بشكل آمن فإنه حسابيا لا يمكن التوصل إلى معرفة المفتاح الخاص من خلال معرفة المفتاح العام. وبهذا فإنه بالرغم من أن العديد من الأشخاص يمكن أن يكونوا على علم بالمفتاح العام لموقع ما ويستخدمونه للتثبت من صحة توقيعات موقع معين إلا أنهم لا يستطيعون اكتشاف المفتاح الخاص لذلك الموقع واستخدامه في تزوير توقيعاته الرقمية .
وظيفة الـ هاش Hash Function
عملية رئيسية وأساسية أخرى تدعى " وظيفة الـ هاش " وهي تستخدم في كلا عمليتي خلق التوقيع الرقمي والتثبت من صحته. إن وظيفة هاش هي عبارة عن منهج يعمل على خلق تمثيل رقمي معين أو بصمة إصبع على شكل قيمة " هاش" أو " نتيجة هاش" بطول مقياسي يكون عادة أصغر من الرسالة ولكنه فعليا مقتصر عليها ومحصور بها. أي تغيير في الرسالة ينتج عنه نتيجة هاش مختلفة عند استخدام وظيفة الـ هاش نفسها. في حالة وظيفة الـ هاش الآمنة والتي تدعى أحيانا " وظيفة الـ هاش الأحادية الإتجاه" فإنه من الناحية الحسابية لا يمكن التوصل إلى الرسالة الأصلية من خلال معرفة قيمة الـ هاش الخاصة بها. لذلك فإن وظائف الـ هاش تتيح للبرامجيات خلق توقيعات رقمية للعمل على كمية أصغر يمكن التنبؤ بها من البيانات وفي نفس الوقت ما زالت توفر تلازم قوي وواضح مع محتويات الرسالة الأصلية وبهذا تعمل على توفير الضمان الفعال والتأكيد بأنه لم يتم إجراء أي تعديل على الرسالة منذ أن تم توقيعها رقميا.
تدفق أو سير العمل
الرسم التالي يوضح سير العمل الأساسي لتوقيع رقمي تم استخدامه لإرسال رسالة :
كما يتضح من الرسم أعلاه فإن استخدام التوقيعات الرقمية عادة يتضمن عمليتين ، واحدة يتم إنجازها من قبل الموقع والأخرى من قبل مستلم التوقيع الرقمي :
• خلق التوقيع الرقمي يستخدم نتيجة هاش يتم اشتقاقها من وتكون مقتصرة على كل من الرسالة الموقعة ومفتاح خاص معين. بغرض أن تكون نتيجة الـ هاش آمنة ومحكمة يجب أن يكون هناك إمكانية أو احتمال ضئيل فقط بأن نفس التوقيع الرقمي يمكن خلقه من خلال تركيبة أي رسالة أخرى أو مفتاح خاص آخر.
• التثبت من صحة التوقيع الرقمي: وهي عملية التأكد من التوقيع الرقمي من خلال الرجوع إلى الرسالة الأصلية وإلى مفتاح عام معين وبهذا يتم تحديد ما إذا كان التوقيع الرقمي قد تم خلقه لتلك الرسالة باستخدام المفتاح الخاص المقابل للمفتاح العام المشار إليه.
لتوقيع وثيقة معينة أو أي معلومات معينة ، على الموقع أولا أن يعين بدقة الحدود لما يراد توقيعه . إن المعلومات التي تم تعيينها أو تحديدها كي يتم توقيعها تدعى " الرسالة " في هذه الإرشادات . بعد ذلك تقوم وظيفة هاش معينة في برنامج الموقع بإحتساب نتيجة الـ هاش المقتصرة ( لكافة الأغراض العملية ) على الرسالة . بعد ذلك يقوم برنامج الموقع بتحويل نتيجة الـ هاش إلى توقيع رقمي باستخدام المفتاح الخاص للموقع . إن التوقيع الرقمي الناجم عن ذلك هو مقتصر على كل من الرسالة والمفتاح الخاص المستخدم في خلقه.
نموذجيا يكون التوقيع الرقمي ( نتيجة هاش للرسالة موقعة رقميا) مرتبطا ومرفقا برسالته ويخزن أو يرسل مع رسالته. على أية حال يمكن أن يرسل أو يخزن أو يحفظ كعنصر بيانات منفصل طالما أنه يحافظ على ارتباط موثوق به مع رسالته. بما أن التوقيع الرقمي مقتصر وينحصر في رسالته فإنه لن يكون له أي فائدة أو نفع عندما يتم فصله كليا عن رسالته.
يتم التثبت من صحة التوقيع الرقمي من خلال احتساب نتيجة هاش جديدة للرسالة الأصلية بواسطة نفس وظيفة الـ هاش المستخدمة في خلق التوقيع الرقمي. بعد ذلك وباستخدام المفتاح العام ونتيجة هاش الجديدة يقوم الطرف الذي يعمل على التثبت من الصحة بالتأكد من 1) ما إذا كان قد تم خلق التوقيع الرقمي باستخدام المفتاح الخاص المقابل و 2) ما إذا كانت نتيجة الـ هاش التي تم احتسابها مؤخرا مطابقة لنتيجة الـ هاش الأصلية والتي تم تحويلها إلى توقيع رقمي خلال عملية التوقيع. إن برامج التثبت من الصحة سوف تؤكد " صحة " التوقيع الرقمي في حال : 1) كان قد تم استخدام رقم الموقع الخاص لتوقيع الرسالة رقميا وهذا ما سيكون الحال عليه لو أنه تم استخدام مفتاح الموقع العام للتثبت من صحة التوقيع لأن المفتاح العام الخاص بالموقع سوف يثبت فقط صحة توقيع رقمي تم خلقه بواسطة مفتاح الموقع الخاص. و 2) بأن الرسالة لم يتم تغييرها وهذا يكون في حال كانت نتيجة الـ هاش التي تم احتسابها من قبل المتثبت من الصحة مشابهة ومطابقة لنتيجة الـ هاش المستخرجة من التوقيع الرقمي خلال عملية التثبت من الصحة .
الأهداف العامة والأغراض من استخدام التوقيع الرقمي:
إن عمليات خلق التوقيع الرقمي والتثبت من صحته تحقق التأثيرات الجوهرية المرجوة من التوقيع لعدة أغراض قانونية :
• توثيق الموقع : في حال كان هناك زوج من المفاتيح واحد عام والآخر خاص وكانا مرتبطين بموقع معين ومحدد فإن التوقيع الرقمي ينسب ويعزو الرسالة إلى الموقع . لا يمكن تزوير التوقيع الرقمي ما لم يفقد الموقع السيطرة على المفتاح الخاص ( تعرض المفتاح الخاص للخطر ) كأن يقوم بإفشائه او يفقد الوسط أو الوسيلة المحتفظ به فيها.
• توثيق الرسالة : كذلك فإن التوقيع الرقمي يعمل على تحديد هوية الرسالة الموقعة بثقة ودقة ويقين أكثر من التوقيعات على الورق. إن عملية التثبت من الصحة تكشف أي تلاعب حيث أن مقارنة نتائج الـ هاش ( واحدة يتم إعدادها عند التوقيع والأخرى عند التثبت من الصحة ) تبين ما إذا كانت الرسالة هو نفسها عندما تم توقيعها.
• عمل إيجابي : إن خلق توقيع رقمي يتطلب من الموقع أن يستخدم مفتاح الموقع الخاص وهذا العمل بإمكانه أن ينجز الوظيفة الرسمة أو الشعائرية في تنبيه الموقع إلى حقيقة أن الموقع يقوم باستكمال معاملة لها عواقب ونتائج قانونية .
• الفعالية : إن عمليات خلق التوقيع الرقمي والتثبت من صحته تتطلب مستوى عال من الضمان بأن التوقيع الرقمي هو للموقع بدون تكلف أو رياء . مقارنة مع الأساليب الورقية مثل بطاقات نموذج اعتماد التوقيع والتي هي أساليب مملة و تستغرق الكثير من الجهد بحيث أنه نادرا ما يتم استخدامها بالواقع – فإن التوقيعات الرقمية تعطي وتولد درجة ضمان أعلى بدون أن تضيف كثيرا على الموارد المطلوبة للمعالجة .
شهادات المفتاح العام Public Key Certificates
للتثبت من صحة توقيع رقمي معين ، على الطرف الذي يقوم بالتثبت من الصحة أن يكون قادرا على الوصول إلى مفتاح الموقع العام وأن يكون واثقا بأنه متطابق مع مفتاح الموقع الخاص. على أية حال فإن أي زوج من المفاتيح العامة والخاصة ليس له أي ارتباط جوهري أو فعلي بأي شخص . إنه ببساطة زوج من الأرقام . من الضروري وجود استراتيجية مقنعة لكي يتم ربط شخص أو هيئة معينة بزوج المفاتيح.
إن الحل لهذا هو استخدام طرف ثالث واحد أو أكثر يكون موثوق به لكي يربط موقع معين مع مفتاح عام محدد . تلك الحهة الثالثة الموثوق بها يشار إليها بعبارة " سلطة المصادقة "
كيف يتم إنشاء ثقة رقمية ؟
كي يتم ربط زوج من المفاتيح بموقع محتمل تقوم " سلطة المصادقة " بإصدار شهادة ، سجل إلكتروني يذكر فيه المفتاح العام على أنه " موضوع" الشهادة ويؤكد بأن الموقع المحتمل المعرف عنه في الشهادة يحمل المفتاح الخاص المقابل. يشار إلى الموقع المحتمل بعبارة " المشترك" . إن وظيفة الشهادة الرئيسية هي ربط زوج من المفاتيح مع مشترك معين. أي " مستلم " للشهادة يرغب في الإعتماد على والوثوق بتوقيع رقمي يخلقه المشترك المذكور في الشهادة ( عندئذ يصبح المستلم هو الطرف المعتمد) بإمكانه استخدام المفتاح العام المذكور في الشهادة للتثبت من صحة التوقيع الرقمي أي بأنه تم خلقه بواسطة المفتاح الخاص المقابل. في حال نجحت عملية التثبت من الصحة فإن هذه السلسلة من الوقائع والمقدمات توفر الثقة والضمان بأن المفتاح الخاص المقابل محتفظ به من قبل المشترك المذكور إسمه في الشهادة وبأن التوقيع الرقمي قد تم خلقه من قبل ذلك المشترك.
لتأكيد صحة كل من الرسالة والهوية في الشهادة تقوم سلطة المصادقة بتوقيعها رقميا. إن التوقيع الرقمي لسلطة المصادقة على الشهادة يمكن التثبت من صحته باستخدام المفتاح العام الخاص بسلطة المصادقة والمذكور في شهادة أخرى من قبل سلطة مصادقة أخرى ( والتي يمكن أن تكون على مستوى أعلى فيما يتعلق بالرتبة ولكن ذلك ليس بالضرورة ) وتلك الشهادة الأخرى يمكن توثيقها بدورها بواسطة المفتاح العام المذكور كذلك في شهادة أخرى وهكذا .. حتى يتثبت الشخص المعتمد على التوقيع الرقمي من صحته . في كل حالة فإن سلطة المصادقة المصدرة للشهادة يجب أن توقع رقميا على شهادتها الخاصة بها خلال الفترة التشغيلية للشهادة الأخرى المستخدمة للتثبت من صحة التوقيع الرقمي لسلطة المصادقة. الرسم التالي يوضح شكل الشهادة الرقمية.
إن أي توقيع رقمي سواء تم خلقه من قبل مشترك معين لتوثيق رسالة ما أو تم خلقه من قبل سلطة مصادقة لتوثيق شهادتها ( بالفعل رسالة متخصصة ) يجب أن تكون مختومة زمنيا بشكل موثوق به وذلك كي يستطيع المتثبت من الصحة تحديد ما إذا كان التوقيع الرقمي قد تم خلقه خلال الفترة التشغيلية ( مدة الصلاحية ) المذكورة في الرسالة .
كي يكون مفتاح عام وتعريفه مع مشترك معين متوفرين بسرعة وسهولة للإستخدام في التثبت من الصحة ، يمكن نشر شهادة في حافظة أو يتم توفيرهم من خلال أي طريقة أخرى . إن الحافظات هي عبارة عن قاعدة بيانات الكترونية من الشهادات والمعلومات الأخرى المتوفرة للإسترجاع والإستخدام في التثبت من صحة التوقيعات الرقمية . يمكن القيام بالإسترجاع أوتوماتيكيا من خلال أمر برنامج التثبت من الصحة بأن يستفسر مباشرة من الحافظة للحصول على الشهادات المطلوبة .
للشهادة الرقمية المميزات التالية :
• تعتمد صحة التوقيعات الرقمية على صحة زوج المفاتيح
• تستخدم الشهادات لضمان حصة زوج مفاتيح معين
• إن الشهادة تربط مفتاح عام معين بهوية معينة ( مثلا إسم شخص معين ، إسم المضيف في الحاسب الآلي الخ)
• يمكن أن تتضمن الشهادة معلومات أخرى مثل تاريخ الإنتهاء
• يتم توقيع الشهادة من قبل سلطة المصادقة .
البنية التحتية ( تركيب ) المفتاح العام PKI Infrastructure
إن تركيب المفتاح العام هو كامل كرة الشمع التي تتضمن مفاتيح شيفرية ونظام إدارة شهادات . إن تركيب المفتاح العام يتيح إجراء المعاملات بطريقة آمنة بالإضافة إلى أنه يتيح تبادل المعلومات الخاصة بين الأطراف الذين يمكن أن يكونوا على معرفة ببعضهم البعض أو يمكن
أن يكونوا غرباء عن بعضهم البعض. إن تركيب المفتاح العام يوفر الخصوصية واستقامة وتوثيق وعدم الرفض عند التقدم بطلب ومعاملات التجارة الإلكترونية .
تركيبات المفتاح العام
• تعمل على توليد وتوزيع أزواج المفاتيح الخاصة / العامة
• تنشر المفاتيح العامة مع هوية المستخدم على شكل شهادة في دليل مفتوح
• توفر الثقة بأن تبقى المفاتيح الخاصة آمنة ومصانة ومأمونة
• مفاتيح عامة معينة مرتبطة فعليا بمفاتيح خاصة معينة
• حامل زوج المفاتيح العامة/ الخاصة هو من يدعي أن يكون.
إن تركيبة المفتاح العام تتكون من واحد أو أكثر من الأنظمة الموثوق بها والمعروفة بـ سلطات المصادقة وهذه السلطات منظمة في هيكل هرمي شبيه بالشجرة حيث يتم وضع المفتاح العام والتعريف فيما يتعلق بكل عميل في شهادة رقمية وتقوم سلطة المصادقة بالتوقيع رقميا على كل شهادة وتجعل الشهادات متوفرة مجانا وبحرية من خلال نشرها في إضبارات أو دليل يمكن الوصول إليه من قبل العامة . أي عميل في تركيبة المفتاح العام يمكنه الوصول إلى المفتاح العام لأي مستخدم آخر والتثبت من صحته باستخدام المفتاح العام الخاص بسلطة المصادقة للتثبت من صحة توقيع سلطة المصادقة على الشهادة . إن سلطة المصادقة التي هي على رأس التسلسل الهرمي توقع شهادات سلطات المصادقة التابعة لها أو التي تأتي في مرتبة أدنى منها وسلطات المصادقة تلك توقع شهادات سلطات المصادقة التي يكون ترتيبها أدنى منها وهكذا . هذه النظام يشكل سلسلة من الثقة في أي نظام سلطة مصادقة موزع.