الإنترنت: التشفير والمفاتيح العامة
مرحبا أنا "ميا جيل-ابنر"،
أنا مختصة بعلوم الحاسب في جامعة "يو-سي بيركلي" وأعمل
لقسم الدفاع، حيث أحاول إبقاء المعلومات آمنة.
الإنترنت نظام عام ومفتوح. نرسل جميعنا المعلومات ونستقبلها
عبر أسلاك وتوصيلات مشتركة
ولكن بالرغم من أنه نظام مفتوح ما زلنا نتبادل الكثير من البيانات الخاصة
أشياء مثل أرقام البطاقات الإئتمانية والمعلومات البنكية
وكلمات المرور والبريد الإلكتروني.
كيف لجميع هذه الأمور أن تبقى سرية؟
البيانات من أي نوع يمكن الحفاظ على سريتها من خلال
عملية تدعى بالتشفير، وهي عملية خلط أو تغيير الرسالة بهدف إخفاء النص الأصلي.
أما فك التشفير فهو عملية إعادة ترتيب لتلك الرسالة لجعلها مقروءة
إنها فكرة بسيطة والناس يمارسونها منذ قرون. من أوائل طرق التشفير المعروفة
شيفرة "قيصر" والتي تم تسميتها نسبة ل"يوليوس قيصر" ، وهو لواء روماني
كان يشفر أوامره العسكرية للتأكد من أنه في حالة وقوع رسالة ما بيد
الأعداء فلن يكونوا قادرين على قراءتها.
شيفرة قيصر هي خوارزمية تقوم باستبدال
كل حرف في الرسالة الأصلية بحرف يليه بعدد محدد من الخطوات ضمن الأبجدية
إذا كان الرقم شيئا لا يعرفه سوى المرسل والمستقبل، فإننا ندعوه بالمفتاح
من خلاله يستطيع القارئ فك تشفير الرسالة السرية.
على سبيل المثال إذا كانت رسالتك الأصلية
"HELLO"
فباستخدام خوارزمية شيفرة قيصر بمفتاح: 5
ستكون الرسالة المشفرة كهذه
ولفك تشفير الرسالة، على المستقبٍل أن يستخدم المفتاح ببساطة لعكس العملية.
ولكن هنالك مشكلة كبيرة في شيفرة قيصر،
فبإمكان أي شخص أن يكسر أو يخترق
الرسالة المشفرة ، من خلال تجربة كل مفتاح ممكن، وفي الأبجدية الإنكليزية
يوجد 26 حرفا فقط، ما يعني أنك بحاجة لتجربة 26 مفتاحا على الأكثر
لفك تشفير الرسالة. الآن تجربة 26 مفتاحا محتملا ليست بالأمر الصعب،
ستستغرق على الأكثر ساعة أو ساعتين.
إذا دعونا نجعلها أصعب. بدلا من إزاحة كل حرف بنفس المقدار
دعونا نزيح كل حرف بمقدار مختلف.
في هذا المثال يظهر مفتاح بعشر أرقام كم من المواقع
سيتم إزاحة كل حرف لتشفير رسالة أطول.
تخمين هذا المفتاح سيكون صعبا جدا.
فباستخدام تشفير ب10 أرقام من الممكن أن يكون هناك 10 بلايين مفتاحا محتملا للحل
من الواضح أن هذا أكبر مما يستطيع أي إنسان أن يحله،
من الممكن أن يستغرق الأمر العديد من القرون.
ولكن حاسوبا بقدرات متوسطة في هذه الأيام،
سيستغرق بضعة ثوان لتجربة ال10 بلايين احتمالا
إذن في العالم المتحضر حيث يتسلح الأشخاص السيئون بالحواسيب بدلا من الأقلام
كيف يمكن لك أن تشفر الرسائل بشكل آمن يجعلها صعبة جدا على الاختراق؟
"صعبة جدا" على الاختراق يعني أن هناك الكثير جدا من الاحتمالات
التي يمكن أن يتم حسابها ضمن مقدار معقول من الزمن.
الاتصالات الآمنة اليوم يتم تشفيرها باستخدام مفاتيح ب 256 بت.
هذا يعني أن حاسوب الشخص السيئ
الذي يعترض رسالتك يحتاج ليجرب الكثيير من الخيارات المحتملة.. حتى يكتشف
المفتاح ويخترق الرسالة. حتى لو كان لديك 100000 جهاز كمبيوتر خارق وكل منها
كان قادرا على تجربة مليون بليون مفتاحا في الثانية
فسيستغرق الأمر تريليونات السنوات لتجربة جميع الخيارات،
فقط لاختراق رسالة واحدة محمية بتشفير 256 بت
بالطبع رقاقات الحاسوب تتضاعف سرعتها ويتقلص حجمها إلى النصف كل سنة تقريبا
إذا استمرت سرعة ذلك التطور الأسية، فإن المشاكل المستحيلة اليوم
ستغدو قابلة للحل خلال بضعة مئات من السنين فقط في المستقبل
و 256 بت لن تكون كافية لتكون بأمان.
في الحقيقة لقد كان علينا زيادة طول المفتاح القياسي بالفعل. لمواكبة سرعة الحواسيب
الخبر الجيد هو أن استخدام مفتاح أطول لا يجعل تشفير الرسائل أصعب بكثير ولكنه
يزيد عدد المحاولات اللازمة لكسر شيفرة ما بشكل أسي.
عندما يتشارك المرسل والمستقبل المفتاح ذاته لتشويه وإعادة ترتيب رسالة ما
فإننا ندعوه بالتشفير المتناظر. في التشفير المتناظر مثل شيفرة قيصر،
المفتاح السري يجب أن يتم الاتفاق عليه مسبقا من قبل شخصين بشكل خاص.
حسنا ذلك جيد للناس ولكن الإنترنت
مفتوح وعام وبالتالي من المستحيل أن "يلتقي" حاسوبان بشكل خاص للاتفاق
على مفتاح سري. بدلا من ذلك تستخدم الحواسيب مفاتيح تشفير غير متناظر،
مفتاح عام يمكن أن يتم تبادله مع أي شخص ومفتاح خاص لا يتم مشاركته.
المفتاح العام يتم استخدامه لتشفيرالبيانات وأي شخص يمكنه أن يستخدمه
لإنشاء رسالة سرية، ولكن السر يمكن فك تشفيره فقط
من قبل حاسوب يمتلك صلاحية وصول للمفتاح الخاص.
كيفية عمل هذا الأمر تتم ببعض المعادلات الرياضية التي لن ندخل فيها حاليا.
فكر بالأمر بهذه الطريقة: تخيل أن لديك صندوق بريد شخصي
حيث يمكن لأي شخص أن يودع الرسائل ولكنهم بحاجة لمفتاح لفعل ذلك.
يمكنك أن تقوم بعمل العديد من النسخ
من مفتاح الإيداع وإرسال إحدها لصديقك أو حتى جعله متاحا للعموم.
يمكن لصديقك أو حتى لشخص غريب أن يستخدم المفتاح العام للوصول لفتحة الإيداع خاصتك
ويترك الرسالة داخله، ولكن أنت فقط يمكنك أن تفتح الصندوق بمفتاحك الخاص،
للوصول إلى جميع الرسائل السرية التي وصلت إليك.
ويمكن لك أن ترسل رسالة رد آمنة إلى صديقك
باستخدام مفتاح الإيداع العام الخاص بصناديقهم.
بهذه الطريقة يمكن للناس أن يتبادلوا الرسائل الآمنة
بدون أي حاجة للاتفاق على مفتاح خاص.
علم التشفير باستخدام المفتاح العام هو أساس
جميع عمليات تبادل الرسائل الآمنة عبر شبكة الانترنت المفتوحة.
بما في ذلك بروتوكولات الحماية المعروفة بـ SSL وTLS ،
والتي تحمينا عندما نتصفح الويب. حاسوبك يستخدم هذه البروتوكولات.
اليوم حينما ترى فيه القفل الصغير أو الأحرف https
ضمن شريط عنوان المتصفح الخاص بك هذا يعني أن حاسوبك يستخدم تشفير المفتاح العام
لتبادل البيانات بشكل آمن مع موقع الويب الذي أنت فيه.
مع تزايد الناس الذين يستخدمون الإنترنت تتزايد كمية البيانات
الخاصة التي سيتم نقلها، وتتزايد أهمية الحاجة لتأمين هذه البيانات
ومع تزايد سرعة الحواسيب، سيتوجب علينا أن نطور طرقا جديدة لجعل التشفير
شديد الصعوبة ليتم كسره من قبل الحواسيب. وهذا ما أفعله في عملي وهو يتغير باستمرار.