الكاتبة: نورة بنت محمد بن عبدالله العبود
1- الملخص:
إثبات الشخصية هي عملية التأكد من هوية كيان ما. ومن طرق إثبات الشخصية هي حصولك على شهادة رقمية.
الشهادات الرقمية دليل هام على هوية الشخص الكترونياً مثلها مثل شهادة القيادة أو جواز السفر. وهذه الشهادة تصدر من جهة تسمى هيئة التوثيق وهي جهة تقوم بالتأكد من هوية الشخص عن طريق طلب اسمه وعنوانه ورقم هويته ومعلومات أخرى وفي بعض الأحيان يستلزم الأمر قدوم الشخص لموقع هيئة التوثيق لإثبات هويته.
تتنوع الشهادات وتختلف أغراضها وفي هذه المقالة سنتطرق لنوعين من أنواع الشهادات بالتفصيل وهما:
• شهادة بروتوكول طبقة المقابس الآمنة SSL وتستخدم لعملتي تأكيد العميل والخادم.
• شهادة بروتوكول الامتدادات الآمنة لبريد الانترنت متعددة الأغراض S/MIME وتستخدم للبريد الالكتروني.
2- المقدمة:
في الآونة الأخيرة كثرت التعاملات الالكترونية كتعاملات البيع والشراء أو مثلاً إدارة شخص حسابه البنكي من خلال الانترنت. ومن هنا برزت مشكلة انتحال الشخصية وكان من الصعب تحديد هل هذا الشخص هو من يدعي أو لا. ولحل هذه المشكلة ظهر مفهوم إثبات الشخصية وهو التأكد من هوية كيان ما. ويتم إثبات الشخصية في الشبكة بطرق عديدة والشهادات الرقمية هي إحدى هذه الطرق.
في بداية المقال سنتطرق إلى تعريف مفهوم إثبات الشخصية, ثم سننتقل إلى تعريف ومكونات الشهادات الرقمية. بعدها سنتكلم عن الجهة المسئولة عن إصدار الشهادات وهي هيئة التوثيق. أخيرا سنتكلم عن نوعين من أنواع الشهادات وهما شهادتي SSL و S\MIME.
الكلمات المفتاحية : الشهادات الرقمية,هيئة التوثيق, إثبات الشخصية, أنواع الشهادات.
3- إثبات الشخصية:
هي عملية التأكد من هوية كائن ما. يتم إثبات الشخصية في الشبكة بطرق عديدة والشهادات هي إحدى هذه الطرق.
في الانترنت تجرى عمليتان لإثبات الشخصية هما:
o إثبات العميل (Client Authentication):وهي عمليه التأكد من هوية العميل من قبل الخادم.
o إثبات الخادم (Server Authentication):وهي عملية التأكد من هوية الخادم من قبل العميل.
وهناك شكلين لعملية تأكيد العميل:
• تأكيد العميل باستخدام كلمة المرور :
تقريبا كل الخادمات تسمح بتأكيد العميل باستخدام اسم المستخدم وكلمة المرور.
• تأكيد العميل باستخدام الشهادة:
هذا التأكيد هو جزء من بروتوكول SSL بحيث يقوم عميل بتوقيع بيانات مولدة بشكل عشوائي ويرسل كل من شهادته الرقمية والتوقيع عبر الشبكة, ويستخدم الخادم طريقة التشفير باستخدام المفتاح العام للتأكد من صحة الشهادة [1].
4- الشهادات الرقمية:
الشهادات أو الشهادات الرقمية هي عبارة عن وثيقة الكترونية تربط كيان معين( شركه أو خادم أو شخص ما) بمفتاح عام لحل مشكلة انتحال الشخصية. تثبت هذه الشهادة هوية الشخص مثلها مثل جواز السفر. لكن الاختلاف هنا أن جواز السفر لا يمكن عمل نسخ منه ونشره للملأ بعكس الشهادة الرقمية التي يمكن عمل نسخ منها ونشرها والسبب ي ذلك أنها لا تحتوي على معلومات سرية ونشرها لا يؤدي إلى مخاطر أمنية لأن المفتاح العام المصدّق من قبل المانح سيعمل مع المفتاح الخاص المرافق له و المملوك من قبل الكائن المعرف بالشهادة [2].
يلزم الحصول على شهادة عند استخدام موقع الكتروني امن مثلا عند شراء شيئا من موقع الكتروني أو عند إجراء معاملة بنكية. وأيضاً تستخدم عند إرسال الرسائل البريدية لابثات الشخصية[2] .
4.1 مكونات الشهادة الرقمية:
لقد قام قطاع التوحيد القياسي لاتحاد الاتصالات العالمي بنشر معيار X.509 الذي يعرف مكونات الشهادة الرقمية والمستخدم من البنية التحتية PKI بحيث تحتوي الشهادة على المعلومات التالية [3]:
1- الرقم التسلسلي: وهو رقم فريد لتمييز الشهادة عن غيرها من الشهادات.
2- اسم الكيان التي أصدرت من اجله الشهادة مثلا اسم شخص أو مؤسسة أو خادم.
3- التوقيع الالكتروني:
هو عبارة عن تعريف يثبت للمستخدمين أن الشهادة قد أتت من الجهة التي يثقون بها وليس من جهة مزيفة.
4- الخوارزمية المستخدمة لإنشاء التوقيع: لتوقيع الشهادة رقمياً تستخدم هيئة التوثيق خوارزمية لحساب الهاشhash . مع ملاحظة آن جهة التوثيق تقوم بتوقيع كل شهادة تصدرها.
5- اسم الجهة المصدرة للشهادة (هيئة التوثيق).
6- تاريخ بداية صلاحية الشهادة.
7- تاريخ انتهاء صلاحية الشهادة.
8- المفتاح العام لتشفير الرسالة لكائن معين: هو أهم مكونات الشهادة الرقمية ويحسب طوله بالبت Bit ويجب أن يكون بنفس طول المفتاح الخاص بحيث كلما زاد طوله كلما كان أكثر أماناً ولكن سيلزمه معالجة أكثر عند عملية التشفير وفك التشفير.
9- الغرض من استخدام المفتاح العام.
10- الإصدار: وهو إصدار معيارX.509 حيث يوجد 3 إصدارات:
الإصدار الأول X.509v1 و الإصدار الثاني X.509v2 و الإصدار الثالث X.509v3 وهو المستخدم حالياً.
11- خوارزمية بصمة الإبهام Thumbprint Algorithm: وهي الخوارزمية التي تستخدم لتجزئة الرسالة.
12- بصمة الإبهام Thumbprint : للتأكد من أن الشهادة لم يعبث فيها.[3]
وللتوضيح انظر للشكل التالي (شكل1) الذي يظهر فيه شهادة للبريد الالكتروني محتوية على المكونات السابقة الذكر.
4.2 هيئة التوثيق ( A certification authority (AC) ):
هم عبارة عن جهات مستقلة تتأكد من الهوية وتقوم بمنح الشهادة. إذن هيئة التوثيق هي عبارة عن نواة البنية التحتية للمفتاح العام PKI فهي تقوم بالمهام الأساسية للمفتاح العام وهي إصدار الشهادات وإلغائها وغيرها من المهام[4].
قبل إصدار الشهادة تقوم هيئة التوثيق بالتأكد من هوية الشخص بحيث يطلب المانح معلوماته الشخصية مثل اسمه الكامل, عنوان منزله, رقم هاتفه, عمره ورقم الهوية وفي بعض الأحيان يتطلب إصدار الشهادة حضور الشخص نفسه إلى موقع المنظمة [1].
هيئة التوثيق تكون تابعة لوكالات حكومية أو شركات تجارية أو مؤسسات داخلية. من أمثلة هيئات التوثيق المشهورة عالمياً VeriSign و Thawte [4].
4.2.1 تعامل المستخدمين مع هيئة التوثيق CA :
من اجل التعامل بالشهادة يجب الوثوق بهذه الشهادة من قبل جميع الأطراف.
وطريقة التعامل كالتالي(شكل 2) [4]:
فرضنا لدينا موقع تجارة الكتروني يشترط امتلاك العميل لشهادة رقمية:
أولا: يجب على العميل أن يطلب شهادة رقمية من هيئة التوثيق ويجب أن تكون هذه الهيئة من ضمن الهيئات التي يثق بها هذا الموقع التجاري (انظر خطوة رقم واحد في شكل 2).
ثانياً: تقوم هيئة التوثيق من التحقق من هوية العميل.
ثالثاً: تقوم هيئة التوثيق من إصدار مفتاح عام ومفتاح خاص ويتم تخزين المفتاح الخاص بشكل مشفر في جهاز العميل, بينما المفتاح العام يتم كتابة في الشهادة الرقمية.
رابعا: يرسل العميل هذه الشهادة إلى الموقع التجاري لكي يتم التعامل بينهما [4].
4.2.2 هيكلية هيئة التوثيق:
يمكن لهيئة توثيق واحد آن تقدم جميع الخدمات المطلوبة لشركة معينة ولكن في بعض الأحيان يتطلب وجود أكثر من هيئة توثيق واحدة وذلك إما بسبب كبر حجم الشركة أو بسبب تعدد فروعها واختلاف موقع هذه الفروع أو قد يكون سبب هذا التعدد تسهيل التعامل والتحكم مع هيئة التوثيق.
يبدأ تكوين الهيكلية من الهيئة الجذر ثم يليها مجموعة تسمى الهيئة الوسطية ومن ثم أخر مجموعة تسمى الهيئة المصدرة للشهادات لكيان معين.
مع ملاحظة أن جميع الشهادات تكون عبارة عن شهادات موثوق بها حتى لو أصدرت من أكثر من هيئة مصدرة للشهادات وذلك لأنهم جميعهم يندرجون تحت الهيئة الجذر [4].
4.2.3 قائمة الشهادات الرقمية الملغاة (Certificate Revocation List CRL):
هي عبارة عن قائمة بالشهادة الملغاة من قبل هيئة توثيق معينة. موقع جميع الشهادات الملغية متاح لكي يتمكن الجميع من التأكد من فعالية الشهادة قبل القبول بها.
في شكل (3) تم إلغاء الشهادة المصدرة لمايكروسوفت من قبل جهة التوثيق [4] VeriSign.
5- بعض من أنواع الشهادات:
سنتكلم في هذا الجزء عن أمثلة على بعض أنواع الشهادات[1]:
5.1- شهادة بروتوكول طبقة المقابس الآمنة SSL:
بروتوكول SSL : يستخدم هذا البروتوكول بشكل واسع في الانترنت بالتحديد في الاتصالات التي يتم فيها تبادل المعلومات الحساسة. وهو عبارة عن مجموعة من القواعد التي تحكم عمليات تأكيد الخادم والعميل والاتصالات المشفرة بينهما.
يتطلب بروتوكول SSL شهادتين وهما:
o شهادة SSL للعملاء:تأكيد العملاء وتستخدم لتعريف العميل من قبل الخادم بواسطة بروتوكول SSL .
مثلا يقوم بنك بمنح عميل شهادة SSL للعميل وبذلك يتم التعرف على العميل من قبل خادمات البنك فيسمح له بالدخول إلى حسابه.
o شهادة SSL للخادمات:تأكيد الخادمات وتستخدم لتعريف الخادمات من قبل العملاء باستخدام بروتوكول SSL.
مثلا تدعم مواقع التجارة الالكترونية تأكيد الخادم باستخدام العميل بحيث يقوم بتأسيس اتصال SSL مشفر والتأكد من أن العميل يقوم بالتعامل مع موقع ويب معرف, و أيضاً يضمن عدم كشف البيانات المرسلة عبر الشبكة.
5.2- شهادة بروتوكول الامتدادات الآمنة لبريد الانترنت متعددة الأغراض S/MIME:
هناك الكثير من برامج البريد الالكتروني تدعم تشفير وتوقيع الرسائل باستخدام بروتوكول S/MIME . فعند الرغبة في استخدام هذا البروتوكول يجب أن يملك المرسل شهادة S/MIME.
بروتوكول S/MIME يقوم بتشفير الرسالة ولكن يجب استخدامه بحذر لأن المستقبل لو فقد مفتاحه الخاص ولم يقم بعمل نسخة احتياطية منه فإن الرسالة المستقبلة لن بفك تشفيرها أبدا.
6- الخاتمة:
في النهاية يتبين لنا النتائج التالية:
- الشهادة الرقمية هي إحدى طرق إثبات الشخصية الكترونياً.
- الشهادات الرقمية هي عبارة عن وثيقة الكترونية تربط كيان معين( شركه أو خادم أو شخص ما) بمفتاح عام لحل مشكلة انتحال الشخصية
- معيار X.509 هو معيار يعرف مكونات الشهادة الرقمية.
- من أجل التعامل بالشهادة يجب الوثوق بهذه الشهادة من قبل جميع الأطراف.
- في بعض الأحيان يتطلب وجود أكثر من هيئة توثيق واحدة وذلك إما بسبب كبر حجم الشركة أو بسبب تعدد فروعها واختلاف موقع هذه الفروع.
- قائمة الشهادات الرقمية الملغاة هي عبارة عن قائمة بالشهادة الملغاة من قبل هيئة توثيق معينة.
- تتعدد أنواع الشهادات الرقمية على حسب الغرض من استخدامها.
- شهادة SSL تستخدم لتأكيد الخادم من قبل العميل ولتأكيد العميل من قبل الخادم.
- شهادة S/MIMM هي شهادة تستخدم للبريد الالكتروني.
ختاماً.. ما كان فيه خطأ فمن أنفسنا ومن الشيطان وما كان فيه من صواب وتوفيق فمن الله عز وجل.
وصلى الله على نبينا محمد وعلى اله وصحبة أجمعين.
7- المراجع:
[1] "Introduction to Public-Key Cryptography," SUN.com, Available: http://docs.sun.com/source/816-6154-10/contents.htm.
[2] Mark Ciampa, Security+ Guide To Network Security Fundamentals, 2005, pp. 313-314.
[3] "Public key certificate," Wikipedia,. Available: http://en.wikipedia.org/wiki/Digital_certificates.
[4] Aamer Morshed. Designing Certificate Authority. Available: Source