تعمية باستخدام المفتاح العام

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

ينقسم التعمية عند استعمال المفتاح المعلن إلى قسمين :-
 استخدامه لأغراض التعمية:عند تعمية الرسالة باستخدام المفتاح المعلن للمستقبل لا يمكن فك تعمية هذه الرسالة إلا باستخدام المفتاح السري الموجود بحوزة المستقبل.
 التوقيع الإلكتروني:الرسالة الموقعة باستخدام المفتاح السري للمرسل يمكن التعرف عليه من قبل أي أحد يعرف المفتاح المعلن للمرسل وبذلك يمكن التأكد من هوية المرسل ومعرفة أن الرسالة لم يتم العبث بها.

المشكلة الرئيسية في التعمية باستخدام المفتاح المعلن هي التأكد من صحة المفتاح المعلن والتأكد من عدم تعديله أو تبديله على يد أحد العصابات الإلكترونية (malicious third party). الحل لهذه المشكلة يكون عن طريق استخدام أساس المفتاح المعلن ((Public key infrastructure Pki)), حيث طرف ثالث أو أكثر، معروفون بسلطة الشهادات (Certificate Authority) ويعرفون ملكية هذا الزوج من المفاتيح، حل آخر، وهو استخدام PGP)) للتأكد من صحة هذا الزوج.

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

تعمية حسابي 
يعد التعمية من أهم العمليات في الرياضيات وتستخدمه البنوك بكثرة، ويقوم التعمية على أساس اختيار عددين أوليين ثم ضربهماولنفرض أن الناتج=x ثم إيجاد حاصل ضرب العدد الأول -1 ضرب العدد الثاني -1 =A ثم إيجاد عدد y لا يكون بينه وبين (A) عامل مشترك ومنه نوجد عدد(g) يكون حاصل ضربه ب (y) متكافئ مع 1mod(A و يعلن صاحب الشفرة للناس العدد x والعدد y

وإذا أراد شخص كتابة الشفرة فأنه يمكنه ذلك عن طريق رفع العدد m (وهو العدد الذي يريد أن يشفره) إلى الأس A يساوي f ويوجد f mod n يساوي c
ثم يعطي صاحب الشفرةالعدد c
صاحب الشفرة يرفع العدد c للأس g يساوي L ثم يوجد L mod x فيعطيه العدد m

التعمية علم واسع ويعتمد على أعداد كبيرة تتكون من أكثر من 200 خانة فلذلك لابد من استخدام جهاز الحاسب وإيجاد برامج تسهل هذا الشيء .

منعت الولايات المتحدة الأمريكية هذه البرامج بزعمها أن العصابات غير القانونية ستتمكن من خرق القانون والتخفي باستعمالها، لكن دائما لكل علم حدان سيء وجيد فلا يمكن إيقاف جميع العلوم.

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

على عكس طريقة لوحة المرة الواحدة لوحة المرة الواحدة ،لا يوجد طريقة (تعمية باستخدام المفتاح المعلن) آمنة ضد المعتدين الذين بحوزتهم قدرات حسابية خارقة.لذلك اعتبارات الأمن هنا ترجع لافتراض ضعف الإمكانات الحسابية للمعتدين.

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

التوقيع الإلكتروني باستخدام المفتاح المعلن يمكن استخدامه للتأكد من شخصية المرسل. في الواقع، يتم حساب قيمة معينة (hash value) للرسالة ويتم تعمية ها باستخدام المفتاح السري مع القيمة المحسوبة (Cryptographic Hash Value).

يمكن للمستقبل الـتأكد من هذه الرسالة عن طريق حساب القيمة الحسابية لهذه الرسالة ومقارنتها مع القيمة الحسابية المرفقة بالرسالة إذا تطابقت القيم الحسابية للطرفين يمكن التأكد من الرسالة والتأكد من أنه لم يعبث بها.

لتحقيق الأصالة وعدم التنكر والسرية، يمكن للمرسل تعمية الرسالة باستخدام مفتاحه السري ثم تعمية الرسالة باستخدام المفتاح المعلن للمستقبل.

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

الحساب الحقيقي – مفتاحان متصلان ببعضهما 

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

مراجع 

برمجيات تعمية
بروتوكولات تعمية
بنية الشبكة
بنية تحتية رئيسة عامة
تعمية
تقنية مصرفية