الرئيسيةبحث

شهادات رقمية


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

فهرس

مقدمة

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

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

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


الهوية (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:// تحديدا), و لكن كيف؟


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

في البداية يقوم الموقع الموثوق بالتوجهة إلى السلطة, سلطة الشهادات (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 و هو ما سيضمن عدم اطلاع اي كان على بيانات بطاقة اعتمادك ، فقد تم تشفير البيانات و تشفير مفتاح هذه البيانات, اذا تأكد تماما انك انت و الخادم (موقع الكتب) المقصود, الطرفان الوحيدان في هذه العملية. كما تحقيق السرية و الخصوصية و الثقة معا.

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


اقرأ ايضا

المصادر