حكاية عمل التوقيعات الرقمية
حكاية عمل التوقيعات الرقمية
اعداد. م/ محمد سيد الخولي
ما هي طريقة عمل التوقيعات الرقمية؟
نتيجة للتقدم العلمى الذى نعيشة اصبحت التكنولوجيا فى كل مناحى حياتنا حتى اوصلنا الى التوقيع الرقمي أو البصمة الرقمية والتى هي نوع من أنواع علم التعمية، وهو يستخدم لمحاكاة خصائص الأمان بشكله الرقمي وليس بشكله العادي (المكتوب). إن التوقيع الرقمي كالتوقيع المكتوب أي يستخدم للمصادقة على صحة مضمون الملف الموقع عليه والذي يسمى عادة الرسالة. يمكن أن تكون هذه الرسالة على شكل بريد إلكتروني أو عقد معين أو حتى رسالة معقدة مرسلة ببروتوكول معين.
في مجال التقنيات المالية وأهمها العملات الرقمية المشفرة غالبًا ما يتكون نظام التوقيع الرقمي من ثلاث خطوات أساسية: التجزئة (Hashing) والتوقيع (Signing) والتحقق (Verifying).
تجزئة البيانات Hashing:
تتمثل الخطوة الأولى في تجزئة الرسالة أو البيانات الرقمية، حيث يتم ذلك من خلال مرور البيانات من خلال خوارزمية تجزئة، بحيث يتم بناء قيمة تجزئة (أي ملخص الرسالة). حيث يمكن أن تختلف الرسائل اختلافًا كبيرًا في الحجم لكن عندما يتم تجزئتها يكون لكل قيم التجزئة نفس الطول. وهذه هي الخاصية الأساسية لوظيفة التجزئة، ومع ذلك فإن تجزئة البيانات ليست ضرورية لإنتاج توقيع رقمي لأنه يمكن استخدام مفتاح خاص لتوقيع رسالة لم يتم تجزئتها مطلقًا، ولكن بالنسبة للعملات الرقمية، يتم تجزئة البيانات دائمًا لأن التعامل مع بيانات ذات طول ثابت يسهل العملية بأكملها.
التوقيع Signing:
بعدم إتمام عملية تجزئة المعلومات السابقة، تأتي مرحلة التوقيع من قِبل مرسل الرسالة، وهذه هي الخطوة التي تأتي فيها عملية تشفير المفتاح العام، حيث يوجد عدة أنواع من خوارزميات التوقيع الرقمي ولكل منها آلية خاصة تعمل بها. ولكن في الأساس يتم توقيع رسالة التجزئة باستخدام مفتاح خاص ويمكن لمتلقي الرسالة بعد ذلك التحقق من صلاحيتها باستخدام المفتاح العام المتماثل (المقدم من قبل الموقِّع)، وبمعنى آخر إذا لم يتم تضمين المفتاح الخاص عند إنشاء التوقيع، فلن يتمكن مستلم الرسالة من استخدام المفتاح العام المتماثل للتحقق من صحته، يتم إنشاء كل من المفاتيح العامة والخاصة بواسطة مرسل الرسالة ولكن يتم مشاركة المفتاح العام فقط مع مستقبل الرسالة.
لا بد من التنويه إلى أنّ هذه التوقيعات الرقمية متعلقة بصورة أساسية على محتوى كل رسالة، وهذا على عكس توقيعاتنا التقليدية بخط أيدينا، والتي لا بد أن تكون متطابقة وبنفس التوقيع بغض النظر عن الرسالة، أما في الرسائل الموقعة رقمياً سيكون لكل حرف موقع رقمي، فبذلك سيكون التوقيع الرقمي مختلف.
التحقق Verifying:
لنأخذ مثال لنسهل فهم العملية بأكملها حتى الخطوة الأخيرة وهي التحقق، تخيل أن أليس (Alice) تكتب رسالة إلى بوب (Bob) بعدها يتم تجزئتها ثم تجمع قيمة التجزئة مع مفتاحها الخاص لإنشاء توقيع رقمي، سيعمل التوقيع كبصمة رقمية فريدة لتلك الرسالة، وعندما يتلقى (Bob) الرسالة، يمكنه التحقق من صحة التوقيع الرقمي باستخدام المفتاح العام الذي توفرة (Alice) وبهذه الطريقة يمكن أن يكون بوب متأكدًا من أن (Alice) هي من قامت بإنشاء التوقيع؛ لأن لديها فقط المفتاح الخاص الذي يتوافق مع هذا المفتاح العام (على الأقل هذا ما نتوقعه).
لذلك من أهم النقاط أن تقوم (Alice) بالاحتفاض بالمفتاح الخاص في مكان سري، حيث لو قام شخص ثالث بوضع يده على مفتاح (Alice) الخاص فيمكنه إنشاء توقيعات رقمية، والتظاهر بأنه (Alice) لخداع (Bob)، وهذا يعتبر انتحال لشخصيتها. وفي سياق البيتكوين يعني هذا أنه يمكن لأي شخص استخدام المفتاح الخاص بـ (Alice) لنقل أو إنفاق البيتكويين الخاص بها دون إذنها.