بصمة المفتاح العام
في التشفير بالمفتاح العام ، تُعدّ بصمة المفتاح العام سلسلة قصيرة من البايتات تُستخدم لتحديد مفتاح عام أطول . تُنشأ البصمات بتطبيق دالة تجزئة تشفيرية على المفتاح العام. ولأن البصمات أقصر من المفاتيح التي تُشير إليها، يُمكن استخدامها لتبسيط بعض مهام إدارة المفاتيح. في برامج مايكروسوفت ، يُستخدم مصطلح "بصمة الإبهام" بدلاً من "بصمة الإصبع".
إنشاء بصمات المفاتيح العامة
يتم إنشاء بصمة المفتاح العام عادةً من خلال الخطوات التالية:
- يُشفّر المفتاح العام (وبعض البيانات الإضافية اختيارياً) في سلسلة من البايتات. ولضمان إمكانية إعادة إنشاء البصمة نفسها لاحقاً، يجب أن يكون التشفير حتمياً، ويجب تبادل أي بيانات إضافية وتخزينها مع المفتاح العام. عادةً ما تكون البيانات الإضافية معلومات ينبغي على أي شخص يستخدم المفتاح العام معرفتها. ومن أمثلة البيانات الإضافية: إصدارات البروتوكول التي يجب استخدام المفتاح معها (في حالة بصمات PGP )؛ واسم حامل المفتاح (في حالة بصمات X.509 trust anchor، حيث تتكون البيانات الإضافية من شهادة X.509 موقعة ذاتياً ).
- يتم تجزئة البيانات المنتجة في الخطوة السابقة باستخدام دالة تجزئة تشفيرية مثل SHA-1 أو SHA-2 .
- إذا رغبت في ذلك، يمكن اقتطاع ناتج دالة التجزئة لتوفير بصمة أقصر وأكثر ملاءمة.
تُنتج هذه العملية بصمةً قصيرةً يمكن استخدامها للتحقق من صحة مفتاح عام أكبر بكثير. على سبيل المثال، بينما يبلغ طول مفتاح RSA العام النموذجي 2048 بت أو أكثر، فإن بصمات MD5 أو SHA-1 النموذجية لا تتجاوز 128 أو 160 بت.
عند عرض بصمات الأصابع للفحص البشري، تُشفّر عادةً في سلاسل سداسية عشرية . ثم تُنسّق هذه السلاسل في مجموعات من الأحرف لتسهيل قراءتها. على سبيل المثال، تُعرض بصمة MD5 ذات 128 بت لبروتوكول SSH على النحو التالي:
43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8
استخدام بصمات المفاتيح العامة للتحقق من صحة المفاتيح
عند استلام مفتاح عام عبر قناة غير موثوقة، مثل الإنترنت ، يرغب المستلم غالبًا في التحقق من صحة هذا المفتاح. يمكن لبصمات الأصابع أن تساعد في تحقيق ذلك، نظرًا لصغر حجمها الذي يسمح بنقلها عبر قنوات موثوقة يصعب فيها نقل المفاتيح العامة.
على سبيل المثال، إذا أرادت أليس التحقق من أن مفتاحًا عامًا يخص بوب، فيمكنها الاتصال به هاتفيًا أو شخصيًا وطلب قراءة بصمة إصبعه لها، أو إعطائها قصاصة ورق عليها البصمة. بعد ذلك، تستطيع أليس التحقق من تطابق هذه البصمة الموثوقة مع بصمة المفتاح العام. يُصبح تبادل القيم ومقارنتها بهذه الطريقة أسهل بكثير إذا كانت القيم عبارة عن بصمات قصيرة بدلًا من مفاتيح عامة طويلة.
يمكن أن تكون بصمات الأصابع مفيدة أيضًا عند أتمتة تبادل أو تخزين بيانات مصادقة المفاتيح. على سبيل المثال، إذا كانت بيانات مصادقة المفاتيح بحاجة إلى نقلها عبر بروتوكول أو تخزينها في قاعدة بيانات حيث يمثل حجم المفتاح العام الكامل مشكلة، فقد يكون تبادل أو تخزين بصمات الأصابع حلاً أكثر جدوى.
بالإضافة إلى ذلك، يمكن الاستعلام عن بصمات المفاتيح باستخدام محركات البحث للتأكد من إمكانية رؤية المفتاح العام الذي قام المستخدم بتنزيله من قِبل محركات البحث الخارجية. إذا أظهر محرك البحث نتائج تشير إلى بصمة المفتاح المرتبطة بالموقع (المواقع) الصحيح، فيمكن للمستخدم أن يطمئن أكثر إلى أن المفتاح لم يتم حقنه من قِبل مهاجم، كما في حالة هجوم الوسيط .
قام برنامج PGP بتطوير قائمة كلمات PGP لتسهيل تبادل بصمات المفاتيح العامة عبر قنوات الصوت.
بصمات المفتاح العام في الممارسة العملية
في أنظمة مثل SSH، يمكن للمستخدمين تبادل بصمات الأصابع والتحقق منها يدويًا لإجراء مصادقة المفتاح. بمجرد قبول مستخدم لبصمة إصبع مستخدم آخر، تُخزَّن تلك البصمة (أو المفتاح الذي تشير إليه) محليًا مع سجل باسم المستخدم الآخر أو عنوانه، بحيث يمكن مصادقة الاتصالات المستقبلية مع ذلك المستخدم تلقائيًا.
في أنظمة مثل البنية التحتية للمفاتيح العامة (PKI) القائمة على معيار X.509 ، تُستخدم بصمات المفاتيح بشكل أساسي للتحقق من صحة المفاتيح الجذرية. تُصدر هذه المفاتيح الجذرية شهادات يمكن استخدامها للتحقق من صحة مفاتيح المستخدمين. يُغني استخدام الشهادات عن الحاجة إلى التحقق اليدوي من بصمات المفاتيح بين المستخدمين.
في أنظمة مثل PGP أو Groove ، يمكن استخدام بصمات المفاتيح لأي من الطريقتين المذكورتين أعلاه: إما للتحقق من صحة المفاتيح الخاصة بمستخدمين آخرين، أو المفاتيح الخاصة بجهات إصدار الشهادات. في PGP، يستطيع المستخدمون العاديون إصدار شهادات لبعضهم البعض، مما يُشكل شبكة ثقة ، وغالبًا ما تُستخدم بصمات المفاتيح للمساعدة في هذه العملية (مثلًا، في جلسات توقيع المفاتيح ).
في أنظمة مثل CGA أو SFS ومعظم شبكات الند للند المشفرة ، تُدمج بصمات الأصابع في تنسيقات العناوين والأسماء الموجودة مسبقًا (مثل عناوين IPv6 أو أسماء الملفات أو سلاسل التعريف الأخرى). إذا كانت العناوين والأسماء تُتبادل بالفعل عبر قنوات موثوقة، فإن هذا الأسلوب يسمح لبصمات الأصابع بالاستفادة منها. [ 1 ]
في برنامج PGP، تُنشأ معظم المفاتيح بحيث يكون ما يُسمى "معرّف المفتاح" مساويًا لأدنى 32 أو 64 بت من بصمة المفتاح، على التوالي. يستخدم PGP معرّفات المفاتيح للإشارة إلى المفاتيح العامة لأغراض متنوعة. لا تُعدّ هذه المعرّفات، بالمعنى الدقيق للكلمة، بصمات، لأن قصر طولها يمنعها من المصادقة الآمنة على المفتاح العام. لا يُنصح باستخدام معرّفات المفاتيح ذات 32 بت، إذ يمكن للأجهزة الحالية توليد معرّف مفتاح متضارب ذي 32 بت في غضون 4 ثوانٍ فقط. [ 2 ]
أمان بصمات المفاتيح العامة
يُعدّ هجوم "الصورة المسبقة الثانية" التهديد الرئيسي لأمن بصمة الإصبع ، حيث يقوم المهاجم بإنشاء زوج من المفاتيح، بحيث تُنتج قيمة التجزئة للمفتاح العام بصمة إصبع تُطابق بصمة إصبع الضحية. بعد ذلك، يستطيع المهاجم استخدام مفتاحه العام بدلاً من مفتاح الضحية العام لانتحال شخصيته.
يُعدّ هجوم التصادم تهديدًا ثانويًا لبعض الأنظمة ، حيث يقوم المهاجم بإنشاء أزواج مفاتيح متعددة تُنتج بصمة رقمية خاصة به. قد يسمح هذا للمهاجم برفض التوقيعات التي أنشأها، أو التسبب في تشويش آخر.
للحماية من هجمات ما قبل الصورة، يجب أن تتمتع دالة التشفير المستخدمة في بصمة الإصبع بخاصية مقاومة ما قبل الصورة الثانية. وفي حال وجود تهديد من هجمات التصادم، يجب أن تتمتع دالة التشفير أيضًا بخاصية مقاومة التصادم. مع أنه من المقبول اقتطاع مخرجات دالة التشفير للحصول على بصمات أصابع أقصر وأكثر قابلية للاستخدام، إلا أنه يجب أن تكون بصمات الأصابع المقتطعة طويلة بما يكفي للحفاظ على خصائص دالة التشفير الأساسية في مواجهة هجمات البحث الشامل .
عمليًا، تعتمد معظم بصمات الأصابع الشائعة الاستخدام اليوم على تجزئات MD5 أو SHA-1 غير المقتطعة. اعتبارًا من عام 2017، يمكن العثور على تصادمات، ولكن ليس على صور أصلية، في MD5 وSHA-1. لذلك، من المرجح أن يشهد المستقبل استخدامًا متزايدًا لدوال التجزئة الأحدث مثل SHA-256 . مع ذلك، فإن بصمات الأصابع القائمة على SHA-256 ودوال التجزئة الأخرى ذات أطوال المخرجات الطويلة أكثر عرضة للاقتطاع من بصمات MD5 أو SHA-1 (القصيرة نسبيًا).
في الحالات التي يجب فيها تقليل طول بصمة الإصبع بأي ثمن، يمكن تعزيز أمانها بزيادة تكلفة حسابها. على سبيل المثال، في سياق العناوين المولدة تشفيرياً ، يُطلق على هذا "تمديد التجزئة"، ويتطلب من أي شخص يحسب بصمة الإصبع البحث عن مجموع تجزئة يبدأ بعدد ثابت من الأصفار، [ 3 ] وهو ما يُفترض أنه عملية مكلفة.
انظر أيضاً
مراجع
- ↑ ديفيد مازيير ؛ إم. فرانس كاشوك (سبتمبر 1998). التخلص من مساوئ التحكم المركزي باستخدام مسارات الملفات ذاتية التصديق ( PostScript ) . وقائع ورشة العمل الأوروبية الثامنة لجمعية ACM SIGOPS: دعم تكوين التطبيقات الموزعة. سينترا، البرتغال: معهد ماساتشوستس للتكنولوجيا . تاريخ الاسترجاع: 23 ديسمبر 2006 .
- ↑ الشر 32: تحقق من بصمات GPG الخاصة بك
- ↑ أورا، توماس (مارس 2005). "امتداد التجزئة" . العناوين المولدة تشفيرياً (CGA) . IETF . القسم 7.2. doi : 10.17487/RFC3972 . RFC 3972. تم الاطلاع عليه في 2 يناير 2018 .
- التشفير بالمفتاح العام
- خوارزميات بصمات الأصابع
