


السمعة:
- إنضم15 سبتمبر 2023
- المشاركات 30
- الحلول 1
- مستوى التفاعل 44
- النقاط 18
السلام عليكم و رحمة الله تعالى و بركاته.
في هذه المقالة سوف نشرح بروتوكول ال SSL
ستحتاج إلى أن تفهم هذه المواضيع قبل : asymmetric encryption ,symmetric encryption
SSL هو المسؤول عن إضافة حرف ال S ل بروتوكول ال HTTP ليصبح HTTPS و يقصد بحرف ال S الحماية
(ٍSecure) هذا في حالة تساؤل أحدكم عن فائدته .
و ال s يشير إلى أن إتصال مشفر بين الطرفين .
SSL: SECURE SOCKET LAYER و تترجم إلى :
إن شاء الله سنقوم بشرح ال Sockets في مقالة قادمة
و هو بروتوكول حماية .
لنفترض أن هنالك شخص يحاول الدخول لموقع لنسميه m87 ف السيناريو الذي سيحصل هو :
أول شئ مصافحة ال tcp : تكون كالتالي
الزبون : السلام عليكم أريد إتصال و هذا الرقم الذي أنشائته بعشوائية X
m87: و عليكم السلام أنا مستعد لأتصال و هذا الرقم الذي أرسلته سأضيف له 1 و أرسله لك مجددا (x+1)
مع رقم أخر أنا أنشائته بعشوائية y
الزبون : أنا مستعد لإتصال و هذا الرقم y+1 سأعيده لك
يمكن أن البعض قد أصاب في تخمين أن أعداد x,y المستخدمة في التصافح هي من أجل التأكد أن الرسالة
قد وصلت و لضمان ترتيب الحزم و توجد عدة فوائد لها
الزبون m87
|=========================|
|--- SYN (Seq = x) ---------------------->|
|=========================|
|<--- SYN-ACK (Seq = y, Ack = x+1) |
|=========================|
|--- ACK (Ack = y+1) ------------------>|
|=========================|
بعد ال TCP Handshake سيدخلون في مرحلة ال ssl handshake و يمكن تمثيلها كالأتي :
الزبون : السلام عليكم (هي في الحقيقة ClientHello) هذا هو إصدار ال ssl الذي أستخدمه و هذه مجموعة cipher suite
التي يمكنني إستخدامها وهذا رقم عشوائي قمت بإنشائه .
cipher suite : هي مجموعة من الخورزميات التي تكمل بعضها البعض تستخدم للتشفير
m87 : و عليكم السلام هذا هو أعلى إصدار ssl يمكنني إستخدامه و هذه مجموعة ال cipher suite التي
نتشارك في إمكانية إستخدامها و هذه الشهادة الرقمية خاصتي وهذا رقم عشوائي قمت بإنشائه.
ماهي الشهادة الرقمية : هي وثيقة تثبت مالكها و تعرض معلومات عنه و لكل موقع يعمل ssl شهادته
مثلا منتدى شل لديه شهادته و يمكننا إلقاء نظرة عليها
تم
و ستظهرلك الشهادة الرقمية الخاصة بمنتدى شل يمكنك إستخدام نفس الطريقة مع أي موقع يدعم ال https لرؤية شهادته
في هذه اللحظات و بعد أن قام الزبون بإستقبال ال شهادة يجب أن يتأكد أنها غير مزيفة و أن المالك موثوق
لذلك سيرسلها إلى هيئة التصديق (CA : Certificate Authority)
هيئة التصديق : هي هيئة موثوقة تقوم بإستقبال الشهادة و التأكد من موثقيتها .
في الشهادة الرقمية لموقع شل سنجد أن gts هو ال ca
بعد أن يتأكد الزبون من مصادقية الشهادة سيقوم بإنشاء مفتاح يسمى ب pre-master-secret يقوم
بتشفيره بإستخدام إحدى الخوارزميات المتفق عليها الموجودة ضمن cipher suite و هي عبارة عن
asymmetric algorithm لذلك سيقوم الزبون بإستخراج ال مفتاح العام أو العلني (public key)
الزبون : هذا هو ال pre-master-secret بعد تشفيره بإستخدام الخوارزمية االتي إتفقنا عليها و مفتاحك العام.
m87 : حسنا سأقوم بفك تشفيره بأستخدام مفتاحي الخاص .
بعد أن يقوم السيرفر بفك تشفيره يقومون بإستخدام دالة من دوال PRF لإنتاج مفتاح ال
master-secret
PRF : عائلة الدوال الزائفة العشوائية (Pseudorandom Function Family) هي مفهوم في علم
التشفير يُستخدم لتوليد قيم تبدو عشوائية ولكنها تُنتج بطريقة حتمية باستخدام مفتاح سري.
ال inputs الخاصة بالدالة موضحة أمامكم و هي عبارة بالترتيب عن pre-master-secret و سلسلة نصية
(string) و رقم العشوائي الذي أنشأه الزبون و الرقم العشوائي الذي أنشأه السيرفر.
المخرج سيكون هو master-secret.
بإستخدام ال master-secret يقومون بإنشاء ال session key
m87 : إنتهيت.
الزبون : إنتهيت.
بعدما إنتهوا من ال إستبدال ال session key أو مفتاح الجلسة سيستخدمونه الأن للتشفير البيانات التي
يتبادلونها بإستخدام خوارزمية تشفير تناظرية.
إن شاء الله سنقوم بشرح خورزميات التشفير و شهادات الرقمية و كيف يثبت الشخص أنه صاحب الشهادة إلخ.
السلام عليكم و رحمة الله تعالى و بركاته.
في هذه المقالة سوف نشرح بروتوكول ال SSL
ستحتاج إلى أن تفهم هذه المواضيع قبل : asymmetric encryption ,symmetric encryption
SSL هو المسؤول عن إضافة حرف ال S ل بروتوكول ال HTTP ليصبح HTTPS و يقصد بحرف ال S الحماية
(ٍSecure) هذا في حالة تساؤل أحدكم عن فائدته .
و ال s يشير إلى أن إتصال مشفر بين الطرفين .
SSL: SECURE SOCKET LAYER و تترجم إلى :
إن شاء الله سنقوم بشرح ال Sockets في مقالة قادمة
و هو بروتوكول حماية .
لنفترض أن هنالك شخص يحاول الدخول لموقع لنسميه m87 ف السيناريو الذي سيحصل هو :
أول شئ مصافحة ال tcp : تكون كالتالي
الزبون : السلام عليكم أريد إتصال و هذا الرقم الذي أنشائته بعشوائية X
m87: و عليكم السلام أنا مستعد لأتصال و هذا الرقم الذي أرسلته سأضيف له 1 و أرسله لك مجددا (x+1)
مع رقم أخر أنا أنشائته بعشوائية y
الزبون : أنا مستعد لإتصال و هذا الرقم y+1 سأعيده لك
يمكن أن البعض قد أصاب في تخمين أن أعداد x,y المستخدمة في التصافح هي من أجل التأكد أن الرسالة
قد وصلت و لضمان ترتيب الحزم و توجد عدة فوائد لها
الزبون m87
|=========================|
|--- SYN (Seq = x) ---------------------->|
|=========================|
|<--- SYN-ACK (Seq = y, Ack = x+1) |
|=========================|
|--- ACK (Ack = y+1) ------------------>|
|=========================|
بعد ال TCP Handshake سيدخلون في مرحلة ال ssl handshake و يمكن تمثيلها كالأتي :
الزبون : السلام عليكم (هي في الحقيقة ClientHello) هذا هو إصدار ال ssl الذي أستخدمه و هذه مجموعة cipher suite
التي يمكنني إستخدامها وهذا رقم عشوائي قمت بإنشائه .
cipher suite : هي مجموعة من الخورزميات التي تكمل بعضها البعض تستخدم للتشفير
m87 : و عليكم السلام هذا هو أعلى إصدار ssl يمكنني إستخدامه و هذه مجموعة ال cipher suite التي
نتشارك في إمكانية إستخدامها و هذه الشهادة الرقمية خاصتي وهذا رقم عشوائي قمت بإنشائه.
ماهي الشهادة الرقمية : هي وثيقة تثبت مالكها و تعرض معلومات عنه و لكل موقع يعمل ssl شهادته
مثلا منتدى شل لديه شهادته و يمكننا إلقاء نظرة عليها
تم
و ستظهرلك الشهادة الرقمية الخاصة بمنتدى شل يمكنك إستخدام نفس الطريقة مع أي موقع يدعم ال https لرؤية شهادته
في هذه اللحظات و بعد أن قام الزبون بإستقبال ال شهادة يجب أن يتأكد أنها غير مزيفة و أن المالك موثوق
لذلك سيرسلها إلى هيئة التصديق (CA : Certificate Authority)
هيئة التصديق : هي هيئة موثوقة تقوم بإستقبال الشهادة و التأكد من موثقيتها .
في الشهادة الرقمية لموقع شل سنجد أن gts هو ال ca
بعد أن يتأكد الزبون من مصادقية الشهادة سيقوم بإنشاء مفتاح يسمى ب pre-master-secret يقوم
بتشفيره بإستخدام إحدى الخوارزميات المتفق عليها الموجودة ضمن cipher suite و هي عبارة عن
asymmetric algorithm لذلك سيقوم الزبون بإستخراج ال مفتاح العام أو العلني (public key)
الزبون : هذا هو ال pre-master-secret بعد تشفيره بإستخدام الخوارزمية االتي إتفقنا عليها و مفتاحك العام.
m87 : حسنا سأقوم بفك تشفيره بأستخدام مفتاحي الخاص .
بعد أن يقوم السيرفر بفك تشفيره يقومون بإستخدام دالة من دوال PRF لإنتاج مفتاح ال
master-secret
PRF : عائلة الدوال الزائفة العشوائية (Pseudorandom Function Family) هي مفهوم في علم
التشفير يُستخدم لتوليد قيم تبدو عشوائية ولكنها تُنتج بطريقة حتمية باستخدام مفتاح سري.
ال inputs الخاصة بالدالة موضحة أمامكم و هي عبارة بالترتيب عن pre-master-secret و سلسلة نصية
(string) و رقم العشوائي الذي أنشأه الزبون و الرقم العشوائي الذي أنشأه السيرفر.
المخرج سيكون هو master-secret.
بإستخدام ال master-secret يقومون بإنشاء ال session key
m87 : إنتهيت.
الزبون : إنتهيت.
بعدما إنتهوا من ال إستبدال ال session key أو مفتاح الجلسة سيستخدمونه الأن للتشفير البيانات التي
يتبادلونها بإستخدام خوارزمية تشفير تناظرية.
إن شاء الله سنقوم بشرح خورزميات التشفير و شهادات الرقمية و كيف يثبت الشخص أنه صاحب الشهادة إلخ.
السلام عليكم و رحمة الله تعالى و بركاته.