اذهب إلى المحتوى

التشفير واستعمالاته في العالم الرقمي


محمد هاني صباغ

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

مفاتيح التشفير

هناك الكثير من العلوم الفرعية المنضوية تحت مبدأ التشفير، لكننا نريد الحديث الآن عمّا يعرف بالمفاتيح (Keys).

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

نشأت بسبب هذه الحاجة ما تعرف بمفاتيح التشفير الشخصية، وهما زوجان من المفاتيح المرتبطة ببعضها، واحدٌ منهما يسمّى المفتاح العام (Public Key) والثاني هو المفتاح الخاصّ (Private Key) وهما مرتبطان ببعضهما البعض دونًا عن غيرهما من المفاتيح. يمكن للمرء أن يمتلك العديد من المفاتيح إن أراد.

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

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

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

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

وتُستخدم هذه المفاتيح الشخصية لأكثر من التشفير، فيُمكن استخدامها من أجل ما يسمّى بالتوقيع الرقمي (Digital Signature)، وهو كما التوقيع الحقيقي للإنسان، ضمانٌ أنّ الملفّ أو الرسالة الإلكترونية هي من طرف ذاك الشخص بالفعل لكن دون تشفير الملفّ أو الرسالة. وهذا مهم لأنّه في الكثير من الأحيان قد يحتاج الناس لطريقةٍ لضمان موثوقية هذه الملفّات لكن لا يريدون تشفيرها. فيمكن أن تحاول بعض الجهات انتحال شخصية مستخدمٍ ما مثلًا ولن يكون لديك ضمانٌ من أنّ الملفّ الذي حمّلته هو من ذاك الشخص بالفعل وليس من طرفٍ مشبوه ينتحل شخصيته (مثل تحميل أحد توزيعات لينكس، قد يقوم أحد المخترقين باختراق موقع التوزيعة ووضع رابط تحميل لملفّ خبيث بدلًا من التوزيعة الأصلية ولن تتمكن من معرفة ذلك دون أن تتحقق من التوقيع الرقمي للملفّ، ومعظم المستخدمين لا يقومون بذلك للأسف).

هناك بالطبع معايير مختلفة (Standards) لطريقة بناء هذه المفاتيح وتشفيرها ومشاركتها وتخزينها، أبرزها هو المبدأ المفتوح OpenPGP. وهنالك العديد من المكتبات البرمجية (Software Libraries) التي توفّر أدوات التشفير الحقيقية لتشفير البيانات والملفّات وفق تلك المعايير، أبرزها GnuPG وهي مكتبة حرّة ومجانية ومفتوحة المصدر ومن أكثر المكتبات استخدامًا على الإطلاق في مجال الأمان الرقمي.

يُمكنك إنشاء مفاتيح التشفير الخاصّة بك (المفتاح العام والخاصّ) من داخل نظام التشغيل الحالي الذي تستعمله، ولهذا تختلف الطريقة بناءً على ذلك النظام. يمكنك إنشاء زوجيّ المفاتيح على نظام لينكس وmacOS عبر الأمر التالي:

gpg --full-generate-key

سيسألك برنامج gpg بضعة أسئلة مثل:

  • نوع خوارزمية التشفير المُرادة، مثل RSA أو DSA وغيرها. الخيار الافتراضي هو "RSA and RSA" وكلّ ما عليك فعله هو الضغط على Enter للمتابعة.
  • طول مفتاح التشفير المُراد. لا حاجة للتفكير الطويل هنا بل فقط اختر الإعدادات الافتراضية حاليًا (3072) واضغط Enter.
  • مدّة صلاحية المفتاح. هل تريد أن تنفذ صلاحية هذا المفتاح بعد وقتٍ معيّن، وبالتالي كلّ شيءٍ شُفّر أو وُقّع عبره لن يكون قابلًا للتأكّد من صحّته أو إلغاء تشفيره بعد انتهاء الوقت المعيّن؟ إن كان الجواب لا، فحينها اضغط Enter (الخيار الافتراضي) لجعل المفتاح غير محدود الصلاحية.
  • قد يطلب منك gpg تأكيدًا للخطوة السابقة. اكتب y (اختصارًا لـyes).
  • سيسألك gpg كذلك عن اسمك وبريدك وتعليقٍ قصير حول المفتاح.
  • سيعرض لك gpg معلومات المفتاح بصورتها النهائية. إن لم يكن لديك تغيير تريد إجراءه فحينها اكتب O (اختصارًا لـOkay).
  • أخيرًا، سيُطلب منك إدخال كلمة مرورٍ لحماية مفاتيح التشفير.

ستجد المفتاح العام والمفتاح الخاصّ في ملفّين منفصلين في المسار .gnupg داخل مجلّد المنزل الخاصّ بك. تذكّر أنّه يجب ألّا تشارك المفتاح الخاصّ مع أي شخصٍ بتاتًا، كما تذكّر أنّه عليك حفظه في مكانٍ آمن لا يصل إليه أحدٌ سواك، هو وكلمة المرور (يمكنك مثلًا وضعهم داخل فلاشة USB ورميها في مكانٍ آمن في منزلك).

نستحسن ألّا تحاول العبث بالملفّات داخل مجلّد .gnupg بنفسك، لكن يمكنك تصدير المفاتيح وإدارتها واستيرادها عبر الأمر gpg نفسه من سطر الأوامر. ويمكنك البحث عنه على الإنترنت للمزيد من المعلومات أو رؤية التوثيق الكامل له عبر:

gpg --help

أمّا بالنسبة لأنظمة ويندوز، فالعملية سهلة بفضل برنامج Gpg4Win، وهو برنامجٌ مفتوح المصدر ومجاني. كلّ ما عليك فعله هو تحميل البرنامج وتثبيته. تأكّد من تفعيلك للخيارات التالية أثناء تثبيته:

001.png

ستجد برنامجًا اسمه Kelopatra على نظامك بعد التثبيت، وهو الواجهة الرسومية لمكتبة GnuPG على أنظمة ويندوز. اضغط على "New Key Pair" كما في الصورة لإنشاء زوجيّ مفاتيح جديدة:

002.png

ثمّ أدخل اسمك وبريدك الإلكتروني:

003.png

واضغط كذلك على "Advanced Settings". ستصل بعدها إلى النافذة التالية، أزل علامة الصحّ من جانب "Valid until" لكي تجعل المفتاح بلا تاريخ صلاحية محدد (لا ينتهي):

004.png

وأخيرًا، أدخل كلمة المرور التي تريدها:

005.png

وهذه هي العملية ببساطة! يمكنك الآن تصدير المفاتيح أو حفظها أو عمل ما تشاء بها.

006.png

يُمكنك استخدام المفتاحين لاستقبال وإرسال البيانات المشفّرة بمجرّد أن تنشئهما مع مختلف البرامج والأدوات. يمكنك إنشاء عدة مفاتيح كذلك بناءً على كلّ نوع من الاستخدامات التي تريدها (مثلًا واحد للرسائل الإلكترونية والآخر للملفّات المشفّرة… إلخ).

تبادل رسائل البريد الإلكتروني المشفرة والموقعة

تدعم معظم خدمات البريد الإلكتروني تشفير الرسائل البريدية بين المستخدمين. لكن لتبادل الرسائل الإلكترونية بينك وبين مستخدمٍ آخر فعليكما أنتما الاثنان أن تمتلكا المفاتيح العامّة (Public Keys) الخاصّة بالآخر، وهذا لتشفير الرسائل بصيغةٍ تمكّن الطرف الآخر وحده من فكّ تشفيرها. يمكنكما تبادل المفاتيح العامّة عبر أي وسيلة اتصال أو حتّى نشرها على الإنترنت بأريحية.

تختلف طريقة إعدادها بناءً على الخدمة التي تستعملها، لكن بصورة عامّة، عليك تثبيت ما يُعرف ببرنامج بريد الإلكتروني المحلّي (Email Client) على جهازك، ثمّ ربطه بخدمة البريد الإلكتروني التي تستعملها، ثمّ تفعيل ميّزة تشفير الرسائل وإضافة مفاتيحك العامّة والخاصّة إلى البرنامج ليستخدمها.

وبما أنّه هناك العشرات من خدمات البريد الإلكتروني المختلفة بالإضافة إلى العشرات من البرامج المحلّية لإدارة البريد الإلكتروني وعلى مختلف أنظمة التشغيل، فإننا لن نشرح العملية بالتفصيل في هذه السلسلة ونترك المُستخدم ليختار خدمته وبرنامجه اللذين يناسبانه.

لكننا نُشير إلى بضعة أمور:

  • حتّى مع استخدام التشفير فإنّه ما يزال بإمكان مزوّد خدمة البريد الإلكتروني، و(ربّما) مزوّد خدمة الإنترنت بالإضافة إلى أطرافٍ ثالثة (3rd-party) أن تعرف عنوان الرسائل الإلكترونية، بالإضافة إلى العنوان المُرسِل والعنوان المُستقبِل. أي أنّ التشفير لا يشمل هذه الحقول الثلاثة، ولذلك لا تضع شيئًا مهمًا فيها واعلم أنّ الغير قد يطّلعون عليها.
  • لا تستخدم معظم - إن لم يكن كلّ - برامج إدارة البريد الإلكتروني المحلّية التشفير بصورة افتراضية؛ أيّ أنّ إضافة المفاتيح واستيرادها إلى البرنامج لا يكفي. عليك التأكّد بالضبط أنّ الرسالة الحالية التي تريد إرسالها ستكون مشفّرة. قد يكون في بعض البرامج خياراتٌ لتشفير كلّ الرسائل افتراضيًا، لكن عليك التحقق من ذلك بنفسك. وبالطبع، عليك إضافة المفاتيح العامّة للشخص الذي تُريد مُراسلته قبل التمكّن من إرسال رسالة بريدية مشفّرة إليه (سيقوم هو بتصديرها لك ثمّ تقوم أنت باستيرادها من داخل البرنامج أو النظام، وكذا بالنسبة لك).
  • يُمكنك توقيع الرسالة رقميًا (Digital Signing) بنفسك وعبر مفتاحك الخاصّ دون الحاجة لشيءٍ من أحد، لكن من أجل التشفير فعليك امتلاك المفتاح العامّ للطرف الآخر وعليه أن يمتلك هو كذلك مفتاحك العام.
  • هل يجب عليك تشفير كلّ الرسائل أم فقط الحساسة والمهمّة منها؟ يعتمد هذا على مدى درجة عامل الخطورة (Threat Factor) الذي أنت محاطٌ به، وإلى أيّ مدىٍ تريد تأمين نفسك وضدّ من.

بخصوص رسائل البريد الإلكتروني الموقّعة فالمفترض أنّ البرنامج الذي تستعمله سيعرض لك في "ترويسة الرسالة" (Message Headers) ما إذا كانت موقّعة بصورة صحيحة وموثوقة من الطرف الآخر الذي استقبلتَ الرسالة منه أم لا.

تبادل الملفّات المشفّرة

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

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

يمكنك القيام بالعملية السابقة على أنظمة لينكس وmacOS عبر الأمر gpg. طبّق الأمر التالي أوّلًا لتصدير مفتاحك العامّ (ولا تنس استبدال بريدك الإلكتروني):

gpg --armor --export your@email.com > mypublickey.asc

ويمكنك الآن إرسال ملفّ mypublickey.asc إلى الشخص الآخر عبر أيّ وسيط ليستعمله هو في تشفير الملفّات والرسائل التي يريد إرسالها إليك.

إذا كنتَ تريد أنت أن تُرسل إليه ملفًّا مشفّرًا فعليك حينها استيراد مفتاحه العام عبر الأمر التالي (بعد أن تحصل على الملفّ منه):

gpg --import otherpublickey.asc 

وبعدها، طبّق الأمر التالي لتشفير الملف المطلوب وفق المفتاح العام لذاك الشخص (لا تنسى استبدال البريد الإلكتروني هذه المرّة ببريده الإلكتروني هو):

gpg --recipient otherparty@email.com --encrypt requested_filename.txt

وهكذا صار الملفّ مشفّرًا ويُمكنك إرساله إليه (ستجده باسم requested_filename.txt.gpg في نفس المسار). ويمكنه هو إلغاء تشفير الملفّات عبر الأمر التالي ثمّ كتابة كلمة المرور الخاصّة بالمفتاح الخاصّ:

gpg --decrypt requested_filename.txt.gpg > unencrypted.txt

وستجد أنّ الملفّ قد فُكَّ تشفيره في نفس المسار وصار قابلًا للقراءة (لا تنسى استبدال لاحقة الملفّات باللاحقة المناسبة مثل .mp4 أو .png بناءً على نوع المحتوى، استخدمنا .txt كمجرّد مثال).

يمكنك استخدام برنامج Gpg4Win السابق على أنظمة ويندوز للقيام بنفس العملية. فقط استورد المفتاح العام للشخص المُراد التعامل معه ثمّ اضغط على "Sign/Encrypt" وحدد الملفّ المطلوب تشفيره:

007.png

ثمّ اختر اسم الشخص الذي تريد تشفير الملفّ وفق مفتاحه العام. يمكنك كذلك توقيع الملفّ رقميًا أو حمايته بكلمة مرور إضافية أن أردت ذلك:

008.png

بعدها يمكنك إرسال الملفّ ومشاركته كيفما تشاء.

تشفير خدمات التخزين السحابية

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

إننا نستحسن استخدام برنامج Cryptomator لهذه العملية. وهو برنامجٌ مجاني ومفتوح المصدر، ويدعم تشفير كامل الملفّات وحمايتها بكلمات المرور. إننا ندعم استخدام هذا البرنامج لأنّه قد تُحقِّقَ منه ومن أمانه عبر باحثين أمنيين مستقلين (Independent 3rd-party Security Audit) ويستخدم تشفير AES بمفاتيح بطول 256-بت بصورة افتراضية، وبالتالي هو آمن للاستخدام، هذا فوق كونه مجانيًا ومفتوح المصدر ويعمل على كلّ أنظمة تشغيل الحواسيب والهواتف الشهيرة (ويندوز وماك ولينكس وأندرويد وiOS)، كما أنّه يدعم معظم - إن لم يكن كلّ - خدمات التخزين السحابية.

يقوم البرنامج بإنشاء "خزنة آمنة (Vault)" داخل مساحتك على خدمة المزامنة السحابية، وهذه الخزنة مشفّرة ومحمية بكلمة مرور (بما في ذلك اسمها!)، وكلّ ما عليك فعله هو تثبيت البرنامج ثمّ وضع ملفّاتك التي تريد حمايتها داخل تلك الخزنة، ببساطة.

009.png

ختاما

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

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

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...