[[ التشفير باستخدام المفتاح المعلن]]
لعمل زوج من المفاتيح (المعلن/السري) يستخدم رقم كبير و عشوائي.
يمكن لأي أحد فك التشفير بأستخدام المفتاح المعلن, لكن الشخص الوحيد القادر على التشفيرباستخدام المفتاح السري هو الحامل لهاذا المفتاح, السرية تعتمد على سرية المفتاح السري
استخدام المقتاح السري لتشفير (او توقيع)الرسالة ،يمكن لأي أحد التأكد من التوقيع بأستخدام المفتاح المعلن. الصلاحية تعتمد على سرية المفتاح السري
بدمج المفتاح السري لك مع المفتاح المعلن للمستخدم الآخر, يمكنك حساب مفتاح سري لا يعرفه إلا أنت و المستخدم الآخر, المفتاح الناتج يمكن استخدامه كمفتاح للنص المشفر باستخدام مفتاح واحد.
التشفير باستخدام المفتاح المعلن, هو نوع من التشفير حيث يوجد للمستخدم زوج من مفاتيح التشفير, مفتاح سري ومفتاح معلن المفتاح السري يبقى سرا. أما المفتاح المعلن يمكن توزيعه للجميع. المفتاحان مرتبطان بعملية حسابية لكن المفتاح السري لا يمكن حسابه عن طريق المفتاح المعلن,أي رسالة يتم تشفيرها باستخدام المفتاح المعلن ولا يمكن فك تشفيرها إلا عن طريق المفتاح السري المقابل.
يوجد استخدامين للتشفير باستخدام المفتاح المعلن :-
1-استخدامه لأغراض التشفير:عند تشفير الرسالة باستخدام المفتاح المعلن للمستقبل لا يمكن فك تشفير هذه الرسالة إلا باستخدام المفتاح السري الموجود بحوزة المستقبل.
2-التوقيع الالكتروني:الرسالة الموقعة باستخدام المفتاح السري للمرسل يمكن التعرف عليا من قبل أي أحد يعرف المفتاح المعلن للمرسل وبذلك يمكن التأكد من هوية المرسل ومعرفة أن الرسالة لم يتم العبث بها.
المشكلة الرئيسية في التشفير باستخدام المفتاح المعلن هي التأكد من صحة المفتاح المعلن والتأكد من عدم تعديله أو تبديله على يد أحد العصابات الالكترونية (malicious third party). الحل لهذه المشكلة يكون عن طريق استخدام أساس المفتاح المعلن ((Public key infrastructure Pki)), حيث طرف ثالث أو أكثر, معروفون بسلطة الشهادات (Certificate Authority) ويعرفون ملكية هذا الزوج من المفاتيح, حل آخر, وهو استخدام PGP)) للتأكد من صحة هذا الزوج.
تقنيات المفتاح المعلن مكثفة حسابيا أكثر من تقنيات التشفير المتماثل ، يسمح بوجود الكثير من التطبيقات على هذه التقنيات ، في الممارسة العملية التشفير باستخدام المفتاح المعلن يستخدم مع طريقة التشفير السري لأسباب السرعة و الأداء.
الأمان
يمكن إثبات سرية بعض طرق التشفير على أساس افتراض صلابة المشاكل الحسابية مثل تحليل حاصل ضرب عددين أوليين كبيرين أو حساب لوغاريتم منفصل.
على عكس طريقة (One time pad) ،لا يوجد طريقة (تشفير باستخدام المفتاح المعلن) آمنة ضد المعتدين الذين بحوزتهم قدرات حسابية خارقة.لذلك اعتبارات الأمن هنا ترجع لافتراض ضعف الإمكانات الحسابية للمعتدين.
الاستخدام الأوضح لطريقة التشفير باستخدام المفتاح المعلن يكمن في سرية الرسالة المشفرة باستخدام المفتاح المعلن للمستقبل, يمكن فقط تشفيرها باستخدام المفتاح السري المقابل.
التوقيع الالكتروني باستخدام المفتاح المعلن يمكن استخدامه للتأكد من شخصية المرسل. في الواقع, يتم حساب قيمة معينة (hash value) للرسالة ويتم تشفيرها باستخدام المفتاح السري مع القيمة المحسوبة (Cryptographic Hash Value).
يمكن للمستقبل الـتأكد من هذه الرسالة عن طريق حساب القيمة الحسابية لهذه الرسالة ومقارنتها مع القيمة الحسابية المرفقة بالرسالة إذا تطابقت القيم الحسابية للطرفين يمكن التأكد من الرسالة و التأكد من أنه لم يعبث بها.
لتحقيق الأصالة وعدم التنكر و السرية, يمكن للمرسل تشفير الرسالة باستخدام مفتاحه السري ثم تشفير الرسالة باستخدام المفتاح المعلن للمستقبل.
هذه الخصائص مفيدة في العديد من التطبيقات مثل الأموال الإلكترونية ، اتفاقيات مفتاح متعدد الأطراف و اتفاقيات تأكيد صحة كلمة السر.
Actual Algorithm – Two linked keys الحساب الحقيقي – مفتاحان متصلان ببعضهما
ليست كل الحسابات عن طريق المفاتيح الغير متماثلة تعمل بهذه الطريقة بشكل دقيق. الأكثر لهم خاصية وجود مفتاحين لكل من Alice و Bob. واحد للتشفير و آخر لفك التشفير. في التشفير عن طريق المفاتيح الغير متماثلة لكي يكون التشفير آمناً لابد أن يكون المفتاح المعلن غير مستنتج من المفتاح السري. هذه معروفة كتشفير عن طريق المفتاح المعلن. مفتاح التشفير ممكن أن يكون منشوراً من غير خوف التعرض لأمان الرسالة.
في هذا القياس الذي سبق Bob يجب عليه أن ينشر التعليمات حول كيفية القفل(المفتاح المعلن) ، لكن هذا القفل من غير الممكن استنتاجه من التعليمات حول الكيفية لجعل المفتاح يفتح القفل.
هم يرغبون بإرسال الرسالة ل Bob باستخدام المفتاح المعلن للتشفير و Bob يستخدم المفتاح السري لفك التشفير.
يمكن استخدام هذا الزوج من المفاتيح (المعلن و السري) بشكل معاكس: استخدام المفتاح السري في التشفير و المفتاح المعلن لفك التشفير. هذا يستخدم في التطبيقات التي تحتاج دليل على مصداقية الرسالة و أنها مصدقة و موقعة من عند المرسل كي لا يستطيع إنكار إرسال الرسالة.
نقاط الضعف: بالطبع هناك إمكانية أن أحد الأشخاص يلتقط القفل ل Alice و Bob .
في التشفير عن طريق المفاتيح المتماثلة : فقط (One Time Pad) من الممكن أن يكون مثبت ليكون آمناً تجاه أي عدو. لا يوجد طريقة لكيفية حساب القوة المتاحة. لسوء الحظ لا يوجد مفتاح عام على هذا القدر من السرية، كل المفاتيح المعلنة معرضة لهجوم القوة الوحشية (Brute Force Attack). كل هذه الأنواع من الهجوم غير ممارسة إذا كانت كمية الحساب تتجاوز عامل العمل (Work Factor) م الذي أشار إليه Shannon. عامل العمل من الممكن أن يزاد ببساطة باختيار مفتاح أكبر. أنواع أخرى
من الهجوم من الممكن أن تكون أكثر كفاءة و بعضها معروفة للتشفير باستخدام المفتاح المعلن.
كلا من ال RSA و تشفير ال Elgamal يتعرضان لأنواع معروفة من الهجوم أسرع من هجوم القوة الوحشية. مثل تقديرات التغير في قدرة و قوة الحاسبات و الاكتشافات الرياضية الجديدة.
في الحياة العملية هذا الجانب الغير أمان ممكن أن يكون متجنب بواسطة اختيار حجم مفتاح أكبر بما فيه الكفاية ، و بذلك أفضل هجوم معروف سوف يأخذ وقت طويل بحيث أن الوقت أو المال المستخدم من قبل العدويتتعدى القيمة المستفادة من النص المكسور.
على سبيل المثال تقديرات بأن الوقت سيأخذه فك التشفير ألف سنة لفك اللازم لك تشفير معلومات بطاة ائتمان هو الف عام. هنا أمان كافٍ. لأن الوقت المحتاج لفك التشفير أكبر من الوقت الذي يمكن الاستفادة منه. إذ أنه بعد سنوات قليلة ستنتهي صلاحية البطاقة. عادة حجم المفتاح بحاجة ليكون أكبر في التشفير عن طريق المفتاح المعلن منه في الشفير عن طريق استخدام المفاتيح المتماثلة.
بجانب القوة لزوج معين من المفاتيح الأمان يجب أن يكون مأخوذاً بعين الاعتبار عند نشر نظام المفاتيح المعلنة. سلطة الشهادات تؤكد صلاحية اي زوج من المفاتيح و صحة استخدامها.
الشهادات الرقمية للمفتاح المعلن هي صالحة لسنوات عديدة ، لذا المفاتيح السرية المربوطة معها يجب أن تحمل بأمان على فترة طويلة.
عند تعرض مفتاح خاص بالسلطة للإنكشاف، جميع أزواج المفاتيح تطون غير جديرة بالسلطة و يفترض أنها تعرضت للإنكشاف و يعاد إصدارها من جديد.
شيفرة المفتاح العابر(Transient Key Cryptography) أنظمة تكون مستخدمة في بعض الأوقات لعنونة هذه الإصدارات. تحت نظام المفتاح العابر، الزوج من المفاتيح لRSA معين لفترة قصيرة من الوقت بدلاً من أن يكون دائما لأفراد أو شركات. المفاتح السري في المفتاح العابر شرعي لدقائق قليلة قبل أن يستبدل بمفتاح خاص جديد. في نظام المفتاح العابر لا يوجد أمان لفترة طويلة و لا يوجد نقاط ضعف و سقوط لكل سلسلة المفاتيح.
نقاط ضعف رئيسية ممكن توجد على الحساب باستخدام المفاتيح غير المتماثلة. الحساب عن طريق حزمة الحقائب(Knapsack Packing (Algorithm يكون موجود كطريقة غيرآمانه عند وجود هجوم جديد.
أخيراً بعض الهجومات مبنية على قياسات حذرة لكمية الوقت، تأخذ قطع معروفة لتشفير النص المستخدم لتبسيط البحث لمفاتيح فك التشفير.
استخدام الحساب عن طريق المفاتيح غير المتماثلة لا يؤكد وجود الأمان. هو مجال لتفعيل البحث للإكتشاف و الحماية من هجومات جديدة.
تعرض آخر للأمان عند استخدام المفاتيح الغير متماثلة هو إمكانية هجوم الرجل في المنتصف (Man in the middle attack) حيث التواصل للمفاتيح المعلنة مشفر باستخدام وسيط ثالث و يمد الطرفين بمفاتيح عامة مختلفة و بديلة. الرسالة المشفرة و الرد عليها يجب أن يكون محتجز أيضاً. فك التشفير و إعادة التشفير بواسطة المهاجم باستخدام المفتاح المعلن الصحيح لمختلف أجزاء التواصل في جميع الحالات لتجنب الشك.
هذا الهجوم ربما يظهر أنه يصعب تطبيقه، لكن هو ممكن عند استخدام وسيط نقل غير آمن.
مثل شبكة عامة كالإنترنت أو التواصل اللاسلكي. الشخص الماكر (malicious Member) عند وصل خدمة الإنترنت ISP عند Alice و Bob ربما يجد ذلك سهلاً.
طريقة واحدة لمنع مثل هذه الهجمات هو استخدام شهادات السلطة(Certificate authority)، وسيط ثالث مسؤول عن التأكد و التثبت من هوية المستخدم للنظام و إصدار الشهادة الرقمية التي تعين المفتاح المعلن ينتمي لشخص معين أو شركة. هذه الطريقة أيضاً لها نقاط ضعف. على سبيل المثال شهادة السلطة يجب أن تكون موثوقة لتتأكد من هوية حامل المفتاح و المفتاح الصحيح عند إصدار الشهادة. المهاجم الذي بإمكانه استبدال شهادة السلطة بشهادة بمفتاح عام مزيف، ثم استخدام الهجوم المتوسط بسهولة إذا كانت الشهادة غير مستخدمة. وعلى الرغم من مشاكلها هي مستخدمة بشكل كبير. مثلSSL وTLS في إرسال معلومات بطاقة الإئتمان للسوق.
ربط المفتاح المعلن مع هويات الأشخاص: الربط بين المفتاح المعلن و المالك يجب أن يكون صحيح خشية أن حساب الإقتران يكون غير آمن في الممارسة و العمل. مع أكثر طرق التشفير
الإتفاقية المستخدمة للتأسيس و التثبت هذا الربط يكون مهم. ربط المفتاح المعلن مع المالك له قيمة بواسطة تطبيق إتفاقيات البنية التحتية للمفتاح المعلن. هذه تسمح أن يكون الربط متثبت منه رسمياً بواسطة شريك ثالث. إما في شكل سلطة أو شهادة سلطة مثل X.509.
الربط بين المفتاح المعلن و المالك طريقة جوهرية للتاكد من صحة زوج المفاتيح.
العلاقة بحوادث العالم الحقيقي: المفتاح المعلن معروف لكثير من الناس في الواقع لمجموعة غير معروفة من المستخدمين. كل الحوادث التي تتطلب تبديل المفتاح المعلن ممكن أن تأخذ وقت كبير لتأخذ تأثير كامل مع كل الأشخاص المخبرين (الأشخاص العارفين للمفتاح) لهذا السبب النظام يجب أن يتفاعل مع الحوادث في الوقت الحقيقي. يجب عدم استخدام التشفير باستخدام المفتاح المعلن من غير أخذ عناية عظمى.
أربع نتائج للإهتمام:
1- صلاحية سحب المفتاح: السحب الماكر لبعض أو كل المفاتيح في النظام ممكن أن يسبب الفشل للنظام، إذا كان المفتاح المعلن ممكن أن يسحب فردياً. بينما يوجد تصميم يمكن أن يقلل حدوث ذلك في الحياة العملية.
على سبيل المثال ممكن أن نحدث ما يسمى بالمبدأ المركب (Compound principle) بمعنى أن Bob او Alice أو كلاهما بإمكانهم سحب المفتاح و لكن ليس بإمكان أحدهم سحب المفتاح على انفراد. لكن هذا يسبب مشكلة التعويل على الطرف الاخر.
من وجهة نظر الأمان هناك نقطة وحيدة لفشل نظام سحب المفتاح المعلن.هجوم الإنكار إما ل Alice أو Bob أو كلاهما سوف يشكل عقبة في السحب. في الحقيقة أي إنقسام بين Bob و Alice سوف يكون مؤثراً بغض النظر كيف أتى.
لأن المبدأ يملك صلاحية سحب المفتاح يكون قوي جداً. الميكانيكية المستخدمة للتحكم تشمل جميع الشركاء للحماية من الهجوم الماكر من هذا النوع. بينما في نفس الوقت ممكن التأكد أن المفتاح يمكن أن يسحب من غير تأخر خطير. شهادات المفتاح المعلن تشمل تاريخ إنتهاء غير مرضي ربما لا يكون منطبق على حاجة السحب. لكن على الأقل مثل هذه الشهادات لا تحتاج أن كل المستخدمين متصلين بالنظام طوال الوقت.
2- توزيع المفتاح الجديد: بعد سحب المفتاح أو إضافة مستخدم جديد للنظام ،المفتاح الجديد يجب أن يوزع بطريقة محددة مسبقاً.افترض أن مفتاح كارول سُحب. حتى توزيع المفتاح الجديد ، كارول خارج التواصل. لا أحد يستطيع إرسال رسالة من غير التعدي على إتفاقية النظام (أي من غير المفاتح المعلن الشرعي) و لا أحد يستطيع تشفير الرسالة لها، و الرسالة منها لا يمكن أن تكون موقعة منها لنفس السبب.
في تعبير آخر جزء من النظام المتحكم بواسطة كارول أساساً غير متاح.
هناك أحد قادر على إصدار المفاتيح كما أنه قادر على سحبها من المستخدمين. PGP فعلت هذا. لكن نشأت مشاكل فهم للمستخدم. لأسباب أمنية: هذه الطريقة مأخوذ بعين الإعتبار أنها صعبة. إذا لم يحصل شئ آخر، سوف يكون بعض المستخدمين كثير النسيان و الاضطراب. من ناحية أخرى سحب شهادة المفتاح المعلن يجب أن ينتشر بأقصى سرعة ممكنة. من ناحية أخرى جزء من النظام سوف يكون متعذر عن العمل قبل دخول المفتاح الجديد. الوقت ممكن أن يخفض للصفر بواسطة إصدار المفتاح الجديد مع الشهادة التي تسحب المفتاح القديم. لكن هذا يتطلب كلاَ من صلاحية السحب و إصدار المفاتيح الجديدة. سقوط النظام إذا كان المبدأ يصدر مفاتيح جديدة تسقط بواسطة إصدار مفاتيح خاطئة و غير مناسبة.
3- نشر عملية السحب: سحب شهادة المفتاح يجب أن تنشر لكل من المحتمل أن يحملها و بأقصى سرعة ممكنة. هناك طريقتان لنشر عملية السحب (على سبيل المثال سحب المفتاح هنا) في النظام الموزع: المعلومات تدفع للمستخدم من النقطة المركزية أو تسحب من النقطة المركزية.
دفع المعلومات هو الحل الأبسط في الرسائل التي ترسل لكل المشتركين بينما لا يوجد طريقة لمعرفة أن كل المشتركين فعلياً استلموا الرسالة. إذا كان عدد المشتركين كبير و مسافة الشبكة كبيرة، تصبح إحتمالية النجاح ضعيفة. في حالة التحديث الجزئي النظام يكون معرضاً لهجوم الإنكار. في تعبير آخر دفع رسالة سحب الشهادة ليس بالأمر السهل، لكي يكون آمناً و معولاً عليه.
البديل للدفع هو السحب. كل الشهادات تحتوي على المفاتيح المحتاجة للتثبت أن المفتاح المعلن بقي شرعياً. في هذه الحالة على الأقل بعض مستخدمي النظام سوف يكونون محتجزين إذا كان المستخدم لم يستطع الوصول لخدمة التثبت.
إتجاه آخر للإستخدام أقل جدارة و لكن أكثر أماناً، هي خدمة التثبت لكن تشمل تاريخ إنتهاء لكل مصدر تثبت.
4- الاسترجاع من المفتاح المتسرب: افرض أن المبدأ المركب قد رخص لسحب المفتاح، في أغلب الحالات هذا يحدث بعد حقيقة. على سبيل المثال قد يصبح معروف في وقت ما قبل حدوث حادث ان المفتاح السري عرض للخطر.
الرسالة المرسلة للمستخدم (تتطلب مفتاح خاص لتشفيرها) يجب أن تؤخذ بعين الإعتبار أنها تعرضت للخطر. و لا يوجد طريقة ترسل بها. مثل خطوات الاسترداد هذه ممكن أن تكون معقدة إلى حد بعيد بينما في تقدم النظام سوف تكون معرضة لهجوم الإنكارو أشياء أخرى.
الاستخدام
تستخدم الشهادة (الوثيقة) في نطاق واسع في التشفير بواسطة المفناح المعلن. تبادل المفتاح السري بين المستخدمين يصبح غير عملي من ناحية الكفاءة و السرعة إلا في حالة الشبكات الصغيرة . التشفير بواسطة المفتاح المعلن يوفر حلا لهذه المشكلة . فمثلا إذا أرادتAlice أن يرسلو رسائل سرية لها ، فما عليها إلا أن تنشر مفتاحها المعلن ، أي أحد يعرف مفتاحها المعلن بإمكانه إرسال الرسائل السرية لها . لسوء الحظ يمكن مثلا لDaviad أن ينشر مفتاحا عاما و أن يزعم انه المفتاح المعلن لAlice لذا يمكن لDaviad أن يقرأ على الأقل بعض الرسائل التي من المفروض أن تكون لAlice .
لكن إذا قامتAlice بناء مفتاحها المعلن في وثيقة و قامت بوضع توقيعها الإلكتروني(Digital signature ) عن طريق طرف ثالث موثوق به (Trusted Thired Party ) أي أحد يثق بهذا الطرف الثالث بمجرد أن يتفحص الوثيقة أن المفتاح المعلن هو لAlice . الطرف الثالث ممكن أن يكون أحد المستخدمين حيث عن طريقه المستخدمين ا لآخرين يتأكدون ان المفتاح المعلن المعين هو لذلك الشخص المحدد او المطلوب . على مستوى عال من الإنتشار ممكن أن تكون لAlice على غير علم نوثيقة Bob المصدقة (من الممكن ان يكون لكل واحد وثيقة مصدقة مختلفة عن الآخر ’اذا كان الإثنان يستخدمون الوثيقة المصدقة للموظفين ، أكثر من موظف يمكن ان ينتج هذه النتائج ). اذا ممكن لشهادةBob أن تحتوي على المفتاح المعلن لذوي المستوى الأعلى ، الذي هو مسجل من قبلAlice . هذه العملية تنسب لهيكلية الشهادة و لعلاقة معقدة من الطرف الثالث . الأساس الذي يقوم عليه المفتاح المعلن هو البرنامج الذي يستخدمه المدير . مثلا فيX.So9PKI ، هيكلية الوثيقة دائما من الأعلى إلى الأسفل ، تتركز الوثيقة في الأعلى .
يمكن ان تسحب الوثيقة اذا تبين ان المفتاح السري قد اكتشف ، و ان العلاقة بين الوحدة و المفتاح المعلن المتبقية في الوثيقة اكتشفت انها غير صحيحة او قد تغيرت ، هذه ممكن ان تحصل حيث انه يمكن للشخص ان يغير كلمة او اسمه او الإلغاء . يمكن ان يكون نادرا حدوثة ، ولكن طالما ان الشهادة موثوق بها اذا يجب تفقدها دائما و يجب تغيرها في حالة تغير اي معلومة ، حتى تكون صحيحة ، و هذه قد تكون عن طريق (CRL ) . Certificate Revocation List . و هي عبارة عم الشهادات و الوثائق التي قد ابطلت . و حتى تكون فعالة يجب ان تكون مهنية لأي شخص يريدها و ان نغيرها باستمرار . هناك طريقة اخرى للتأكد من صحة هذه اوثيقة عن طريقOnline Certificate Status Protocal(OCSP) لمعرفة حالة هذه الشهادة . كل من هاتين الطريثتين يتوفران عن طريقXKMS هذه المعاير اظهرت انتشارا واسعا .
الوثيقة عادة تحتوي على :
1-المفتاح المعلن (المعلن المحدد) 2-الإسم، المنسوب لشخص، جهاز حاسوب ، مؤسسة . 3-فترة الصلاحية 4-العنوانURL 5-التوقيع الإلكتروني للوثيقة.
من أكثر معاير الوثائق انتشار هوITU-TX.509 . X.509 زودت للإنترنت عن طريق IETF-PKIX
أمثلة: • Diffie – Hellman key exchange protocol. • DSS (digital signature standard) ) التي تنشئ التوقيع الرقمي • Elgamal • Elliptic curve techniques • Password authenticated key agreement technique • Paillier crypto system • RSA encryption Algorithm(PKCS) • Cramer Shoup encryption
أمثلة على حساب المفتاح الغير متماثل الغير آمن: Merkle – Hellman the 'knapsak' algorithm
أمثلة على اتفاقيات تستخدم الحساب عن طريق المفاتيح الغير متماثلة: • GPG • IKE • LAVA bit • PGP • SSL now implemented as an IETF standard TLS • SILC