العربية
  • المفتاح العام
  • المفتاح الخاص
  • التشفير غير المتماثل
  • التشفير المتماثل

المفتاح العام، المفتاح الخاص والتشفير غير المتماثل

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

Darcy Ye
Darcy Ye
Developer

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

التشفير غير المتماثل مقابل التشفير المتماثل

المفاتيح الخاصة والعامة هي مفاهيم في التشفير غير المتماثل (المعروف أيضًا باسم التشفير بالمفاتيح العامة، PKC).

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

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

لذلك نستخدم تعليقات توضيحية بسيطة لعرض عملية التشفير / فك التشفير لكل من التشفير المتماثل وغير المتماثل.

التشفير وفك التشفير

من المهم ملاحظة أن وظائف التشفير / فك التشفير في خوارزميات التشفير المتماثل وغير المتماثل مختلفة وغالبًا ما تستخدم خوارزميات مختلفة. تشمل الخوارزميات المتناظرة الشائعة DES، AES، RC2، RC4، وغيرها، بينما تشمل الخوارزميات غير المتماثلة الشائعة RSA و EC.

يستخدم Logto خوارزمية EC لتشفير وفك تشفير نقل البيانات لأنها أكثر كفاءة وأمانًا من RSA، يمكنك قراءة هذا المقال لمزيد من التفاصيل. سيوفر Logto الدعم لـ RSA في الإصدار التالي أيضًا لتحسين التوافق مع بعض الأنظمة القديمة.

لماذا استخدام التشفير غير المتماثل؟

يعالج التشفير غير المتماثل مشكلة توزيع المفتاح في التشفير المتماثل.

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

اثنان من الاستخدامات الشائعة للتشفير غير المتماثل

إرسال البيانات المشفرة

يمكن للمرسل استخدام المفتاح العام للمستلم لتشفير المعلومات، ويستخدم المستلم مفتاحه الخاص لفك تشفير المعلومات.

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

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

استخدام توقيع لضمان نزاهة البيانات

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

باستخدام التعليقات التوضيحية التي حددناها في القسم السابق، يمكن تمثيل التوقيع والتحقق من التوقيع كما يلي:

التوقيع والتحقق

إثبات التحقق من التوقيع الرقمي يوضح أن الطرف الذي يولد التوقيع يعرف المفتاح الخاص المقابل.

ربما تجد أن هذه الاستخدامات الاثنتين المذكورتين أعلاه مألوفة جدًا. في حياتنا اليومية، تستخدم تقريبًا جميع الخدمات ذات بنية العميل/الخادم التشفير غير المتماثل لضمان أمان البيانات.

كإطار هوية المستخدم المتنامي بسرعة، يستخدم Logto أيضًا بشكل واسع PKC لضمان أمان بيانات المستخدم. بعد أن يكمل المستخدمون عملية تسجيل الدخول، تُصدر Logto رمز وصول للمستخدمين لمنحهم أذونات محددة للوصول إلى الموارد المطلوبة. يستخدم المفتاح العام المنشور لـ Logto للتحقق من أن رمز الوصول قد تم إصداره بالفعل بواسطة Logto ولم يتم تحريفه بواسطة مهاجمين خبيثين.

العيوب في التشفير غير المتماثل

بشكل عام، يكون طول المفاتيح للتشفير المتماثل 128 أو 256 بت، في حين أن طول المفاتيح للتشفير غير المتماثل يمكن أن يصل إلى 4,096 بت. ذلك لأن المفتاح الخاص والمفتاح العام مرتبطان رياضيًا وهما زوجان من المفاتيح الفريدة. نظريًا، معرفة المفتاح العام يسمح بحساب قيمة المفتاح الخاص، لكن بسبب تعقيد الخوارزميات المتورطة، فإن ذلك يستغرق عادةً وقتًا كبيرًا. لجعل مهمة "كسر" المفتاح الخاص "مستحيلة"، يعتبر استخدام أطوال مفاتيح أطول نهجًا بسيطًا.

النقاط المستفادة

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

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