شهادات رقمية

ملاحظة : قد يتوجب عليك مراجعة المواضيع التالية قبل قرائة هذا الموضوع, وهي: نظم التشفير (Encryption Systems) التشفير المتناسق (Symmetric Encryption) ما يسمى بتشفير المفتاح السري (Secret key encryption) تشفير المفتاح المشاع (Public Key Encryption).

مقدمة

يمكنك الذهاب إلى العقبة، ومن ثم اظهار هويتك بالإضافة لورقة أخرى، وتقود سيارة اخر موديل سعرها يفوق العشرة آلاف دينار والضمانة الوحيدة لشركة تأجير السيارات هي " كلمة شرف" بأنك ستعيد السيارة وتدفع ما يترتب عليك من اجرة، فبالتأكيد انت لن تكسر كلمتك، لأن هذا سيحطم" سمعتك " !!.

في الحقيقة، فان كلمتك لا تغير الكثير بالنسبة لتلك الشركة، اما ما يعنيها بالواقع فهو تلك الهوية وتلك الورقة الأخرى كتعهد ،هما اللتان تعطيان الشركة القدرة على الوثوق بك، على الأقل بأنك مواطن وبأن حقوقها مضمونة إلى حد ما.

الشهادات الرقمية (Digital Certificates) مهمة لتحقيق نفس الغاية، ولكن داخل العالم الافتراضي (Cyber World) الإنترنت على سبيل المثال، وتتحقق الفاعلية الكبرى لهذه الشهادات عندما يتم الزواج بين النظام القانوني و(نظام تشفير المفتاح العام) (Public Key Cryptography).

  • يقصد بالمفتاح العام: اي ان مفتاح الشفرة يكون معلنا للجميع وينشر على الملأ، فلا يجب أن يكون سريا، ببساطة لأنه يستخدم في عملية التشفير فقط، ولا فائدة منه في عملية فك الشفرة، إذ يستخدم مفتاح خاص وسري في عملية فك التشفير، معنى ذلك اننا نستخدم مفتاحان في هذا النوع من التشفير على عكس أنواع التشفير السائدة والتي تستخدم مفتاحا سريا واحدا, الا انه يمكن استخدام المفتاحين بطريقة معكوسة تماما وبالتالي تحقيق وتطبيق ما يعرف بالتوقيع الرقمي (Digital Signature) انظر موضوع: تشفير المفتاح العام(Public-Key Cryptography)، انظر موضوع: التوقيع الرقمي (Digital Signature)

الهوية (Identity) آلية عمل الشهادات الرقمية

الهوية (Identity) : من انت ؟ من انا ؟ مالاثبات بأنك فلان من الناس ؟ هل تعمل في هذه الشركة؟ هل من صلاحياتي الدخول إلى مختبرات الشركة السرية ؟؟ يبدو أنه لا بد من معرفة من نكون وما نمثل بالنسبة لنشاط ما، وما الصلاحيات التي نمتلكها ضمن ذلك النشاط، فمثلا، قد تحدد الهوية الشخصية من نكون من حيث مكان الولادة اسم الاب، العائلة..الخ، كما تعطينا صلاحيات المواطن كأخذ القروض أو الانتفاع من مؤسسة الاسكان..الخ. فلا يعقل ان تذهب إلى الهند وتطالب بحق الانتفاع من مؤسسة الاسكان ؟؟ خاصة ان كان هذه الحق مخصصا للمواطن الهندي، وهنا يبرز جزء من اهمية الربط بين الشهادات والنظام القانوني, وعلى كل حال، انظر إلى الشركات، والتي تعطي هوية خاصة بالشركة تؤكد لكل من يدقق عليها بأنك الموظف فلان والمسؤول عن ذلك القسم والمخول بأعمال محددة طبقا لمركزك الوظيفي، فهي تحمل اسمك وصورتك وموقعك الوظيفي والأهم من هذا كله أنها موقعة وصادرة عن الجهة المخولة باصدارها (إدارة شؤوون الموظفين على سبيل المثال)، وهي نفس الهوية التي تمنحك ثقة موظف الأمن المتواجد على باب الشركة أو على أبوب مختبرات الشركة، والذي سيسمح لك بالدخول بمجرد التحقق من الهوية الخاصة بك. و على نفس الخطى بالنسبة للحياة الرقمية, يتوافر العديد من الأنظمة التي تقوم بتحديد وتعريف هوية مستخدميها للتحكم بكيفية وكمية الوصول إلى المعلومات والخدمات التي يوفرها نظام ما، ابتداءا بحاسوبك الشخصي واسم المستخدم وكلمة المرور، مرورا بالصراف الالي، نظام تسجيل الطالب...الخ، وانتهاءا بالحكومة الإلكترونية والتجارة الإلكترونية والتسوق عبر الإنترنت.بل وحتى محطات الاقمار الصناعية.

تشفير المفتاح المشاع

توفر الشهادات الرقمية والتي تستخدم تشفير المفتاح المشاع (Public-Key Cryptography) طريقة لتجاوز أحد أهم عقبات التجارة الإلكترونية، وهي تحقيق الثقة بين اولئك المتصفحين الذين قد تفصل بينهم محيطات وقارات, بالإضافة إلى تحقيق القدرة على تراسل البيانات بسرية أيضا، فحققت بالتالي أهم الشروط المطلوبة في التجارة الإلكترونية : الثقة والسرية. ولكن كيف ؟ لنفرض أن أحمد يرغب باستقبال رسالة سرية ،مثلا يرغب بالحصول على معلومات من أخيه في أحد الدول، ولكنه لا يريد لأحد أن يطلع عليها، فكل ما على أحمد فعله هو ان ينشر مفتاحه المشاع، وكل من يرغب بارسال رسالة سرية إلى أحمد يستطيع استعمال المفتاح المشاع الخاص بأحمد لتشفير الرسالة، والتي لا يمكن ان يتمكن احدهم من فك تشفيرها الا باستخدام المفتاح السري الخاص والذي يملكه أحمد (بالطبع نفترض ان أحمد طبق الشروط الواجب توافرها في شفرة المفتاح المشاع)

لكن ولسوء الحظ، قد ينشر إسماعيل المفتاح المشاع الخاص به ويدعي انه المفتاح المشاع الخاص بأحمد، وبما انه يمتلك المفتاح الخاص المقابل لمفتاحه المشاع فانه سيتمكن بطريقة ما من الوصول لمحتويات الرسالة التي كانت من المفترض بأن تصل لأحمد ومشفرة بمفتاح أحمد, وحتى ان وصلته فهو لن يتمكن من فك شفرتها، بسبب تزوير المفاتيح الذي حصل.

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

البنية التحتية للمفتاح المشاع

عمليا في البنية التحتية للمفتاح المشاع (PKIs Public-Key Infrastructures) فان الزعيم يسمى بسلطة الشهادات (CA Certificate Authority) أي السلطة التي تصدر الشهادات(التوقيع عليها) التي يفترض الوثوق بها من جميع الاطراف (يفترض، لأني قد اثق بسلطة ما، ينما تثق انت بسلطة أخرى) فعلى الإنترنت يمكن لأي مستخدم التوقيع على شهادة رقمية، فالامر يعود الآن للشخص الذي يرغب بارسال الرسالة إلى أحمد، فاما انه يثق بالجهة التي وقعت على الشهادة أو لا

مثال توضيحي

ملاحظة : المثال ليس على سبيل الحصر, للشهادات الرقمية استخدامات أخرى عديدة.

حالة دراسية: لنأخذ حالة دراسية ونشاهد من خلالها المتطلبات الواجب توفرها لاستخدام الشهادات الرقمية(SSL Digital Certificates). لا بد من انك حاولت التسوق عبر الإنترنت أو على الاقل ترغب بالمعرفة عن هذا الموضوع والدليل هو أنك تقرأ هذه السطور الآن، والآن انا وانت نرغب بشراء كتاب غير متوفر لدينا في الوطن، فما رأيك لو بحثنا عنه في الإنترنت، لنقم بالبحث بواسطة إحدى محركات البحث، ولنختر أحد النتائج، ها هو ذا، اسم الكتاب وجدول المحتويات، رائع، والسعر.. حسنا، لا بأس 90 دولارا، نستطيع دفع هذا المبلغ، حسنا هل نرسل شيك ؟ ام نحول المبلغ إلى حسابهم بالبنك ؟ يبدوا ان تحويل المبلغ مناسب لهذا الموقع، فلتبدأ بالتحويل.... ما رأيك ؟ انقوم بتحويل المبلغ؟ بالطبع لا حتى الآن وهذا أحد المتطلبات، فعلينا في البداية التأكد من مصداقية هذا الموقع، كيف لي أتأ كد من انه موقع موثوق ؟؟ قد يكون موقع احتيال، واقوم بتحويل الاموال، ولا يصلني شيء مثلا، أو تكون البضاعة تالفة أو.. أو.. !! حسنا لقد بحثنا عن طريقة للتأكد من هوية الموقع ولم نجد ما يثبت انه موثوق، إذا لنلغي العملية ولنبحث عن موقع اخر، جيد هذا الموقع يقبل بالبطاقة الائتمانية، ويوجد هنا ما يؤكد على هوية الموقع. لقد ظهر لنا رمز للقفل في أحد خانات المتصفح لنقم بالضغط على القفل. لاحظ ان المتصفح المستخدم في المثال هو FireFox وقد تختلف الصور باستخدام متصفح اخر.

لاحظ تلك الجملة (Authenticated by VeriSign, Inc.) ولاحظ الصورة في الأسفل.

هذا يبدو جيدا، لكن ماذا يعني كل ذلك ؟؟ حسنا، في البداية لنعرف لماذا استطاع المتصفح ان يعطي مثل هذه المعلومات ؟؟ من أين حصل عليها ؟؟

بروتوكول اس اس ال

هنا نأتي لمفهوم ومتطلب جديد يسمى (SSL Secure Scocket Layer) والمعنى الحرفي هو بروتكول لتأمين نقل البيانات عن طريق الإنترنت.. طور لاول مرة من قبل شركة نيتسكيب لاستخدامه في اتمام العمليات التجارية على الإنترنت..

و بمعنى آخر هو بروتوكول (قوانين وقواعد تراسل بيانات) يضمن سرية المعلومات المرسلة عبر بروتوكول HTTP (اي المرسلة عبر متصفحات الإنترنت وتستخدم عناوينها http:// أو https:// تحديدا),

و يستخدم البروتوكول بشكل خاص على أنظمة اليونكس..و مشتقاتها.. وله العديد من البرامج التس تسهل استخدامه مثل التل نت..

و الهدف منه الحفاظ على الامان والسرية بين العميل (clients)و الخادم (Servers)..

خطوات إنشاء الاتصال الامن باستخدام اس اس ال

في البداية يقوم الموقع الموثوق بالتوجهة إلى السلطة, سلطة الشهادات (CA Certificate Authority) وإعطاءه شهادة رقمية يتم إنشاءها على خادم الموقع، ولكن هذه الشهادة الرقمية غير موقعة، فيقوم بارسالها إلى سلطة الشهادات وطلب توقيع هذه الشهادة (CSR Certificate Signing Request) وتقوم السلطة بالتأكد من المعلومات الواردة في الشهادة وأهمها نطاق الموقع (Domain), والتأكد من أن الموقع موثوق به وتصادق على المعلومات الواردة في الشهادة والتي سنذكرها بعد قليل، ومن ثم تقوم السلطة بالتوقيع الرقمي (Digital Signature) على الشهادة، وتعيدها موقعة رقميا (Digitally Signed) ليتم وضعها على الخادم، ويقوم مدير الموقع بتحديد الصفحات التي ستستخدم هذه الشهادة للقيام باستخدام بروتوكول تراسل البيانات بسرية (SSL)، وعادة ما توضع الصفحات التي تستوجب سرية في تراسل البيانات في حافظة (Folder) واحدة وتسمى SSL ومن ثم يقوم مدير الموقع بربط الشهادة الموقعة مع تلك الحافظة. ومعنى ذلك ان جميع الصفحات في الحافظة ستستخدم بروتوكول اس اس ال.

والان ما الذي يحصل، عندما رأينا القفل قد ظهر في المتصفح فان التالي هو الذي حصل:

قمنا بطلب صفحة من تلك الصفحات في الحافظة، وجد المتصفح بأن هذه الصفحات تستخدم بروتوكول اس اس ال، فيقوم الخادم (مالك الشهادة) بارسال الشهادة الموقعة من سلطة الشهادات إلى المتصفح والذي بدوره يقوم بالتحقق من الجهة (السلطة)(CA) التي اصدرت الشهادة, بالتأكيد فان الشركة المنتجة للمتصفح تكون قد سلحت المتصفح بقائمة السلطات الموثوقة وهي في مثالنا (VeriSign) لتتأكد هذه المتصفحات من هوية السلطات. لكن لماذا لا يتأكد المتصفح من هوية كل موقع على حدة دون الرجوع أي السلطة؟ لعدة أسباب منها عدد المواقع الضخم على شبكة الإنترنت.و لأسباب اخر نذكرها في موضوع أكثر تخصيصا.


آلية إنشاء الاتصال الامن بين العميل والخادم

في الأسفل، صورة توضيحية لالية إنشاء الاتصال الامن بين العميل والخادم

جيد وصلت الشهادة إلى المتصفح، والان تم التحقق من الجهة (السلطة) التي اصدرت الشهادة، بالإضافة إلى المعلومات المهمة الأخرى في هذه الشهادة وهي: في الصورة رقم اثنان بأعلى الموضوع, تجد ان الاتصال يتم تشقيره باستخدام RC4 يرجى مراجعة موضوع RC4.

عادة ما تحمل الشهادة المعلومات الموضحة بالصورة مثل معلومات عن الشهادة، حامل الشهادة، الجهة التي صدرت عنها، تاريخ الاصدار وتاريخ الانتهاء...الخ، والأهم انهو تحتوي على المفتاح المشاع الخاص بحامل الشهادة, كما يظهر بالصورة التي بالأسفل

و هذه هي الخوارزمية الشهيرة RSA إحدى أنواع تشفير المفتاح المشاع والتي من خلالها يمكن التأكد من أن من متصفحك والخادم هما فقط من يستطيعان معرفة المعلومات المتبادلة بينكما. كيف ؟؟ للمزيد من التوضيح عن RSA يرجى مراجعة موضوع RSA أيضا.

و ها هو المفتاح المشاع يظهر بالصورة التي بالأسفل, ويظهر برموز Base 64. انظر موضوع الأساس 64

ما الذي حصلنا عليه

انت تأكدت من السلطة التي اصدرت الشهادة، والآن انت واثق بان المصدر الذي سيطلع على بيانات بطاقة الائتمان الخاصة بك، هو موقع موثوق بدلالة ان سلطة الشهادات قامت بمنحه شهادة تثبت صحة هذا الكلام وبالتالي فأنت تعلم مع من تتعامل، وهذا يشبه وضع الهوية والتعهد لدى شركة تأجير السيارات والتي ستتمكن من ملاحقتك في حال خالفت الشروط المتفق عليها، فأنت بمثابة شركة التأجير(صاحب بطاقة الائتمان) التي ستأمن على سيارتها(بطاقة ائتمانك) لأنك تعرف هوية المستأجر(موقع بيع الكتاب)و التعهد الذي كتبه, وأما الذي سيأخذ السيارة فهو موقع الكتب بالتأكيد والذي سيعيد السيارة (معلومات بطاقة الائتمان) بأمان دون الاضرار بها، وسيتكفل بالاضرار في حال وقوعها. وحيث ان هذه السلطة (ألسلطات الحكومية – دائرة الأحوال المدنية على سبيل المثال) (وهي هنا شركة (VeriSign لا يمكن ان تعطي مثل هذه الشهادة لاي كان وحيث انك تثق بهذه السلطة والتي بالتأكيد لا تنفرد بسلطة منح الشهادات (اي ان هناك عدة جهات مخولة باصدار مثل هذه الشهادات) فانك ستقوم بوضع بيانات بطاقتك الائتمانية وانت مطمئن، من أن الجهة المقابلة لن تحتال عليك وهنا تم تحقيق مطلب التحقق من هوية الطرف المقابل, ولكن لحظة !! ألا يمكن لاحد ما ان يقوم بمشاهدة أو سرقة هذه البيانات المرسلة عبر الإنترنت ؟؟, ولم لا، فهي تنتشر عبر العديد من الخوادم إلى ان تصل الخادم المقصود، ونقول لك بأن إرسال بياناتك لن يتم بهذه البساطة, فالشهادة تحتوي على مفتاح مشاع (Public Key) ومفتاح اخر خاص (Private Key) بالإضافة إلى مفتاح سري خاص بفترة عملية الاتصال السري SSL والمسمى (مفتاح الجلسة) (Session Key) والمستخدم في عملية تشفير البيانات ينما يتم تشفيرمفتاح الجلسة بحد ذاته باستخدام RSA ار اس اي.

فعندما وصلت الشهادة من الخادم اوضح الخادم للمتصفح بانه عليه تشفير البيانات باستخدام خوارزمية التشفير التالية والتي تم الاتفاق عليها بين المتصفح والخادم الذي اعطاه مفتاح الجلسة الذي تم توليده على الخادم وارساله مشفرا بواسطة مفتاح المتصفح (المستخدم) المشاع(Public Key),

والذي يعتبر (مفتاحك المشاع (و بالتالي فانك الوحيد الآن الذي تستطيع ان تفك تشفير مفتاح الجلسة بواسطة مفتاح المتصفح (مفتاحك الخاص) (Private Key) واسخدام مفتاح الجلسة للقيام بتشفير البيانات بواسطة (طريقة تشفير) RC4(Symmetric Encryption Method) التي اعتمدها الخادم في المثال (انظر الصورة الأولى) وهي ليست الوحيدة، راجع طرق التشفير.

خلاصة

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

قائمة المصطلحات والمفاهيم

  • بروتوكول تراسل البيانات بشكل سري وامن (SSL Secured Socket Layer): بروتوكول شائع الاستخدام لإدارة سرية إرسال البيانات عبر الإنترنت، ويستخدم نظام تشفير المفتاح المشاع والمستخدم أيضا في الشهادات الرقمية.
  • الشهادة الرقمية (Digital Certificate - SSL Certificate): شهادة رقمية يتم تنصيبها على خادم مضمون، وتستخدم لتحديد هوية التاجر(الشخص) الذي يستخدمها، وللمساعدة في تشفير بيانات بطاقة الائتمان وبيانات مهمة وحساسة أخرى.
  • طلب توقيع شهادة (CSR Certificate Signing Request): عبارة عن نص يتم توليده بواسطة برمجية موجودة على الخادم، والذي يتم ارساله لسلطة الشهادات.
  • سلطة الشهادات(CA Certificates Authority): الشركة التي تصدر الشهادات الرقمية وتقوم بالتوقيع عليها رقميا، حيث يحتوي متصفح الإنترنت على قائمة بالسلطات الموثوقة لاصدار الشهادات.
  • التوقيع الرقمي (Digital Signature): قسم من البيانات يضاف إلى رسالة أو وثيقة رقمية فيثبت صاحب الوثيقة. تشفر التواقيع بواسطة المفتاح الخاص للمرسل، وعندها يستطيع الاخرون التأكد من صاحب الوثيقة من خلال مفتاحه العام.
  • النطاق (Domain): جزء من (محدد المصدر الموحد)(URL Uniform Resource Locater) والذي يحدد منظمة ما أو شركة أو كينونة ما على الإنترنت. مثال (ju.edu.jo).
  • نظام التشفير السري (المتماثل) Symmetric Cryptography)) أو (Secret Key Cryptography) : شكل من اشكال التشفير وفيها يتم استخدام نفس المفتاح في كل من عملية التشفير وأيضا عملية فك التشفير.
  • نظام تشفير المفتاح المشاع Public Key Cryptography))(Asymmetric Cryptography): شكل من اشكال التشفير يستخدم زوجا من المفاتيح (مفتاح مشاع) و(مفتاح خاص) وهما مرتبطان بعلاقة رياضية، لكن من الصعب عمليا اشتقاق المفتاح الخاص عن طريق المفتاح المشاع، وبالتالي فان رسالة مشفرة باستخدام المفتاح المشاع لا يمكن فك تشفيرها الا باستخدام المفتاح الخاص المتطابق مع ذلك المفتاح المشاع.
  • تشفير RSA:إحدى طرق تشفير مفتاح المشاع، وكانت الخوارزمية الوحيدة التي عرفت بأنها مناسبة لكل من التشفير والتوقيع معا, وهي مستخدمة بشكل واسع في التجارة الالكنرونية.
  • تشفير RC4: إحدى طرق تشفير المفتاح السري، وهي مفضلة عند بروتوكول SSL لحماية البيانات التي تنتشر عبر الإنترنت، الا انها لا تصل إلى المعايير العالية التي يطالب بها خبراء التشفير.
  • مفتاح المشاع (Public Key):المفتاح الذي يتم نشره بشكل واسع، ليتمكن ااخرون من تشفير رسائل لا يمكن الا لصاحب المفتاح المشاع ان يفك تشفيرها بواسطة مفتاحه الخاص.
  • المفتاح الخاص (Private Key):المفتاح الذي يحتفظ به في مكان امن وسري للغاية، والذي بدونه لا يمكن فك تشفير اي رسالة شفرت باستخدام المفتاح المشاع.
  • مفتاح الجلسة (Session Key –Secret-Key):مفتاح خاص بفترة معينة من الزمن يتم توليده لتبادل البيانات بشكل سري خلال تلك الفترة فقط، ويستخدم مفتاح الجلسة عادة فترة محددة لكي يقطع اي محاولة لفك تشفير مثل هذا المفتاح.

اقرأ أيضا

المصادر

bg:Цифров сертификат ca:Certificat digital cs:Digitální certifikát de:Digitales Zertifikat el:Ψηφιακό πιστοποιητικό Public key certificate]] eo:Permesilo es:Certificado digital eu:Ziurtagiri digital fa:گواهی دیجیتال fr:Certificat électronique gl:Certificado Dixital it:Certificato digitale ja:公開鍵証明書 ko:공인인증서 nl:Certificaat (PKI) no:Sertifikat pl:Certyfikat klucza publicznego pt:Certificado digital ru:Цифровой сертификат sv:Digitalt certifikat uk:Цифровий сертифікат vi:Chứng thực khóa công khai zh:電子證書