سؤال ما هو الفرق بين الشهادة والمفتاح بالنسبة إلى SSL؟


كلما حاولت أن أفهم أي شيء عن SSL ، أجد صعوبة في تتبع ما يشير إليه "المفتاح" و "الشهادة". أخشى أن الكثير من الناس يستخدمونها بشكل غير صحيح أو بالتبادل. هل هناك فرق معياري بين المفتاح والشهادة؟


88
2017-07-15 17:55


الأصل


تعتمد Certs المستخدمة في SSL بشكل كبير على PKI en.wikipedia.org/wiki/Public-key_cryptography - Zoredache


الأجوبة:


تحتوي الشهادة على مفتاح عام.

تحتوي الشهادة ، بالإضافة إلى احتوائها على المفتاح العمومي ، على معلومات إضافية مثل المُصدر ، وما الذي من المفترض أن تستخدمه الشهادة ، وأنواع أخرى من البيانات الوصفية.

عادةً ما يتم توقيع الشهادة بنفسها بمفتاح خاص يتحقق من أصالتها.


80
2017-07-15 18:01



الشهادة هي العنصر العام للمفتاح ، وليس المفتاح بأكمله. - Zoredache
أنا قدمت تصحيحات. :) - LawrenceC
Zoredache إذا كانت الشهادة تحتوي عادةً على مفتاح عام فقط ، فهل هناك اسم جيد للاتصال بالملفات .p12 أو .pfx التي تحتوي على شهادات ومفاتيح خاصة معًا؟ - drs
أين دفنت هذه المعلومات الإضافية؟ كنت أنظر إلى بعض الشهادات وكلها رطانة بالنسبة لي - CodyBugstein
الهراء الذي تبحثون عنه هو ترميز Base64. قد يتم ذلك على الأرجح لسبب مماثل يتم تحويل مرفقات البريد الإلكتروني إلى ذلك - بشكل أساسي لضمان نقلها من خلال البروتوكولات والآليات المصممة لـ ASCII فقط دون تعديل غير رسمي ودون القلق بشأن أشياء مثل الخطوط الجديدة ، الأقواس ، إلخ. openssl يمكن للأمر فك تشفير وتحليل هذه أو يمكنك استخدام أداة مساعدة عبر الإنترنت مثل هذا: lapo.it/asn1js - LawrenceC


هاتان الصورتان معا شرحا لي كل شيء:

مصدر: linuxvoice

enter image description here

مصدر: infosecinstitute

enter image description here


34
2018-04-05 11:16



ذات الصلة xkcd - Blacksilver
لطيف. 1 التوضيح: الموافقة المسبقة عن علم 1ST هو المعيار (1 الطريق) TLS المصادقة. الطريقة الثانية ، المتبادلة (ثنائية الاتجاه). وسينسحب طلب إضافي إضافي في الخطوة الأولى في شرح كيفية تأسيس الثقة فعليًا (كل ذلك في الموافقة المسبقة عن علم 1): بعد حصول العميل على شهادة المفتاح العام للخادم ، يتحقق العميل من أن المرجع المصدق هو الذي وقع يتم تضمين شهادة الخادم في القائمة الخاصة بالعميل من المراجع المصدقة الموثوق بها (تأسيس ذلك الآن تثق أن CA). ثم ، من الآمن إرسال الخادم إلى مفتاح الجلسة ، الذي يمكن لكل منهما الآن تشفير وفك تشفير الاتصالات اللاحقة. - user1172173


دعنا نقول الشركة A لديها زوج المفتاح ويحتاج إلى نشر مفتاحه العام للاستخدام العام (ويعرف أيضًا باسم ssl على موقعه على الويب).

  • يجب على الشركة A تقديم طلب شهادة (CR) إلى مرجع مصدق (CA) للحصول على شهادة زوج المفاتيح الخاص به.
  • يتم تضمين المفتاح العمومي ، ولكن ليس المفتاح الخاص ، من زوج المفاتيح الخاص بالشركة كجزء من طلب الشهادة.
  • ثم يستخدم المرجع المصدق معلومات هوية الشركة A لتحديد ما إذا كان الطلب يلبي معايير CA لإصدار الشهادة.
     إذا وافق المرجع المصدق على الطلب ، فإنه يصدر شهادة للشركة A. باختصار ، يقوم CA بتوقيع المفتاح العمومي للشركة A مع المفتاح الخاص (CA) الخاص به ، والذي يتحقق من صحته.

لذلك فإن المفتاح العام للشركة A والذي يحمل مفتاحًا خاصًا لـ CA صالحًا يُسمى شهادة الشركة A.


33
2017-12-16 06:40



هل تربط الشركة أي نقطة مفتاحها الخاص (الشركة أ) بشهادة الشركة (أ)؟ - Tola Odejayi
لا ، لا يزال المفتاح الخاص جاهزًا لـ A. - Mohsen Heydari
فأين هو المفتاح الخاص للشركة أ المستخدمة؟ - sivann
بعد الشكليات أعلاه. ستحصل الشركة A على شهادة SSL صالحة على موقع ويب الخاص به. أي زائر (متصفح) يتواصل مع الموقع سيستعمل المفتاح العمومي للشهادة لتشفير رسالته. الشركة A التي لها المفتاح الخاص لشهادة SSL هي الوحيدة القادرة على فك تشفير الرسالة. - Mohsen Heydari
أعتقد أن الشركة A هي ذكر. - DimiDak


و SSL شهادة يتم الحصول عليها من جهة اعتماد موثوق بها ، والتي تضمن صلاحية الاتصال بموقع الويب. عادةً ما تحتوي شهادات SSL على شعار المصادقة وأيضًا المفاتيح العامة اللازمة لتشفير وفك تشفير البيانات التي سيتم إرسالها إلى الكمبيوتر. وظائف مفاتيح SSL

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

اختلاف دورة الحياة

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

اقرأ المزيد هنا


3
2017-07-15 18:02





اسمحوا لي أن أشرح مع مثال.

في PKI على أساس المفاتيح العادية ، هناك مفتاح خاص ومفتاح عام.

في نظام قائم على الشهادة ، هناك مفتاح خاص وشهادة. تحمل الشهادة معلومات أكثر من المفتاح العام.

عرض توضيحي (يمكنك إنشاء شهادة ومفتاح خاص): http://www.selfsignedcertificate.com/

يمكنك تحميل فتح ملف المفتاح الخاص وملف الشهادة ، تشاهد ملف الشهادة يحتوي على الكثير من المعلومات كما هو موضح أدناه. enter image description here enter image description here

يمكنك مطابقة الشهادة التي تم إنشاؤها (فتح بواسطة محرر نصوص) ، والمفتاح الخاص (فتحه بواسطة محرر نصوص) من هذا الموقع: https://www.sslshopper.com/certificate-key-matcher.html

إذا كانت الشهادة تطابق المفتاح الخاص للعميل ، العميل متأكد ، يتم إعطاء هذه الشهادة من قبل العميل أو يتم تقديمها بواسطة عميل موثوق به (CA).

ومع ذلك ، هناك مشاكل في الاتصال المفتاح الخاص والاتصال القائم على الشهادة فقط.

لأنه ، يمكن لأي شخص إنشاء الشهادة الخاصة به والمفتاح الخاص ، بحيث لا يثبت تأكيد اتصال بسيط أي شيء عن الخادم بخلاف أن الخادم يعرف المفتاح الخاص الذي يطابق المفتاح العام للشهادة. طريقة واحدة لحل هذه المشكلة هي أن يكون لديك العميل مجموعة واحدة أو أكثر من الشهادات التي تثق بها. إذا لم تكن الشهادة موجودة في المجموعة ، فلا يكون الخادم موثوقًا.

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

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

ومع ذلك ، أثناء حل بعض المشاكل ، يستخدم CAs آخر. نظرًا لأن المرجع المصدق (CA) يصدر شهادات للعديد من الخوادم ، ما زلت بحاجة إلى طريقة للتأكد من أنك تتحدث إلى الخادم الذي تريده. لمعالجة هذا ، تحدد الشهادة الصادرة عن المرجع المصدق الخادم إما باسم محدد مثل gmail.com أو مجموعة من المضيفات المتسلسلة مثل * .google.com.

المثال التالي سيجعل هذه المفاهيم ملموسة أكثر بعض الشيء. في المقتطف الموجود أدناه من سطر الأوامر ، يظهر الأمر s_client الخاص بأداة openssl في معلومات شهادة خادم Wikipedia. وهي تحدد المنفذ 443 لأن هذا هو الإعداد الافتراضي لـ HTTPS. يرسل الأمر إخراج openssl s_client إلى openssl x509 ، الذي ينسق معلومات حول الشهادات وفقًا لمعيار X.509. على وجه التحديد ، يسأل الأمر عن الموضوع ، الذي يحتوي على معلومات اسم الخادم ، والمصدر ، الذي يحدد المرجع المصدق.

$ openssl s_client -connect wikipedia.org:443 | openssl x509 -noout -subject -issuer
subject= /serialNumber=sOrr2rKpMVP70Z6E9BT5reY008SJEdYv/C=US/O=*.wikipedia.org/OU=GT03314600/OU=See www.rapidssl.com/resources/cps (c)11/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikipedia.org
issuer= /C=US/O=GeoTrust, Inc./CN=RapidSSL CA

يمكنك أن ترى أن الشهادة قد تم إصدارها للخوادم التي تتطابق مع * .wikipedia.org بواسطة CA RapidSSL.

كما ترى ، نظرًا لهذه المعلومات الإضافية التي ترسلها CA إلى الخوادم ، يمكن للعميل معرفة ما إذا كان يتصل بخادمه أم لا بسهولة.


2
2018-05-09 20:57





حسنًا ، دعنا نفكك هذا الأمر حتى يتمكن الأشخاص غير التقنيين من فهمه.

أعتقد أنه من مثل هذا. تشبه الشهادة صندوقًا للودائع في مصرفك. يحتوي على الكثير من الأشياء المهمة ؛ عموما الاشياء التي تحتوي على هويتك. تحتوي الشهادة على مفتاح عام وتحتاج إلى مفتاح خاص لفتحه.

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

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


1
2018-05-12 01:49



<PiratesOfTheCarribean> لذلك نحن نذهب وراء هذا المفتاح! </ PiratesOfTheCarribean> (اقرأ: أنت لا تجعل أي معنى على الإطلاق ...) - Timo


اتصال المستعرض والخادم

مصافحة:

  • العميل يرسل رقمًا عشوائيًا مع التشفير المدعوم
  • يرسل الخادم شهادته باستخدام التشفير المدعوم. ويتم تشفير عميل الرقم العشوائي بمفتاحه الخاص وإرساله مرة أخرى. تحتوي الشهادة على المفتاح العام. جهة إصدار الشهادة أو (CA) ، انتهاء الصلاحية إلخ.
  • العميل يتحقق من الشهادة التي يرسلها الخادم.

يأتي كل جهاز الكمبيوتر الشخصي مع قائمة CA التي يثقون بها مثل VeriSign أو DigiCert. هذه هي ROOT CA.All CA الجذر هي النفس موقعة. لفهم. يبدو الأمر كما لو كنت على ثقة من أن الخادم A والخادم A يعرفان الخادم B ، فيمكن للخادم A أن يشهد أن هذا هو الخادم B الذي يقول إنه موجود. و الطريقة التي يتم بها إمداد الخادم A هو تقديم الشهادة إلى الخادم B. هذه الشهادة هي بالفعل مُغنية من قبل المفتاح الخاص لـ CA في حالتنا Server A. من هو التوقيع العام الموجود بالفعل على جهاز الكمبيوتر الخاص بنا والذي يمكنني التحقق منه من صحة الشهادة المقدمة من قبل الخادم ب.

  • يتحقق العميل من الرسالة أو الرقم العشوائي الذي أرسله من قبل ، مع المفتاح العام (المستلم في الشهادة).

  • الآن يتحقق العميل إذا كانت الشهادة صالحة عن طريق إرسال طلب OCSP والتحقق في CRL DB.

  • الآن إذا لم يتم إبطال الشهادة ، فسيتم إنشاء زوج من مفاتيح الجلسة يتم من خلاله إنشاء نفق تشفير الآن ، حيث يتم تشفير كل حركة المرور.

يتم توقيع جميع طلبات المسؤولية الاجتماعية للشركات من خلال الشهادات الوسيطة ، وليس CA Root مباشرة لحجز الاحتياطي CA ROOT بحيث لا يتم المساس بها.


-2
2018-04-14 15:47



أنا أفهم أنه لا يجيب على السؤال مباشرة ولكن يرجى التعليق عندما downvoting. - Kid101