تنبيه: هذه التعليمات هدفها التحقق من الشيفرة المصدرية لِتور. يرجى اتباع التعليمات الصحيحة للتحقق من توقيع متصفح تور‎ .

إن التوقيع رقمي هو عملية يُتحقَّق من خلالها أن حزمة معينة قد تم توليدها من مطوريها ولم يتم التلاعب بها. نوضح أدناه سبب أهميتها وكيفية التحقق من أن الشفرة المصدرية لِتور التي قمت بتنزيلها هي التي أنشأناها ولم يتم تعديلها بواسطة بعض قراصنة الانترنت.

إن كل ملف في صفحة التنزيل يكون مصحوبا بملفين اسمهما ”checksum“ و”sig“ مع نفس اسم الحزمة، وينتهيان بـ ”‎.sha256sum“ و ”‎.sha256sum.asc“ على التوالي.

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

$ sha256sum -c *.sha256sum

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

على سبيل المثال، يكون tor-0.4.6.7.tar.gz مصحوبا بـtor-0.4.6.7.tar.gz.sha256sum.asc. هذه أمثلة لأسماء الملفات ولن تتطابق تماما مع أسماء الملفات التي تقوم بتنزيلها.

سنريك الآن كيف يمكنك التحقق من التوقيع الرقمي للملف المُنزَّل على أنظمة تشغيل مختلفة. لاحظ أن التوقيع يتم تأريخه من اللحظة التي يتم فيها توقيع الحزمة. لذلك، كل مرة يُرفع فيها ملف جديد يتم توليد توقيع جديد بتاريخ مختلف. طالما أنك تحققت من التوقيع، لا يجب عليك أن تقلق من كون التاريخ الوارد قد يكون مختلفا.

تثبيت GnuPG

قبل أي شيء تحتاج إلى أن يكون عندك GnuPG مثبتا قبل أن تتمكن من التحقق من التواقيع.

لمستخدمي ويندوز :

إذا كنت تستخدم ويندوز، نزّل Gpg4win وقم بعملية التثبيت.

لأجل تأكيد التوقيع، ستحتاج إلى كتابة القليل من الأوامر في سطر الأوامر الخاص بنظام ويندوز cmd.exe.

لمستخدمي نظام ماكْ:

إذا كنت تستخدم نظام ماكْ، فيمكنك تثبيت GPGTools.

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

لمستخدمي جْنو لينَكْسْ GNU/Linux:

اذا كنت تستخدم جْنو-لينَكْسْ، فعلى الأرجح أن GnuPG موجود مسبقا على نظامك، لأنه يكون مثبتا في أغلب توزيعات لينَكْسْ.

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

جلب مفتاح مطوري تور

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

يمكنك الحصول على المفتاح من خلال الروابط الواردة أعلاه أو باستخدام:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

يجب أن يظهر لك هذا شيئًا كـ (لـ nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

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

بعد استيراد المفتاح، يمكنك حفظه في ملف (عبر التعرف عليه من بصمته هنا):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

يؤدي هذا الأمر إلى حفظ المفتاح في ملف موجود في المسار ‎./tor.keyring، أي في المجلد الحالي. إذا لم يكن ‎./tor.keyring موجودا بعد تشغيل هذا الأمر، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.

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

للتحقق من توقيع الحزمة التي قمت بتنزيلها، ستحتاج إلى تنزيل ملف التوقيع sha256sum.asc. المقابل وملفsha256sum. بنفسه، والتحقق منه باستخدام أمر يطلب من GnuPG التحقق من الملف الذي قمت بتنزيله .

تفترض الأمثلة في الأسفل أنك نزّلت هذين الملفَين لمجلد ”التنزيلات“ الخاص بك. لاحظ أن هذه الأوامر تستخدم أسماء الملفات كأمثلة وأن أسماءك ستكون مختلفة: ستكون قد قمت بتنزيل إصدار مختلف عن 9.0 وربما لم تختر الإصدار الإنجليزي (en-US).

لمستخدمي ويندوز :

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

لمستخدمي نظام ماكْ:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

لمستخدمي BSD لينَكْسْ :

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

يجب أن تشبه نتيجة الأمر شيئا كهذا (اعتمادا على المفتاح الذي وقع عليه):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

إذا تلقيت رسائل خطأ تحتوي على "لا يوجد مثل هذا الملف أو الدليل" (No such file or directory)، فإما أن هناك خطأ ما في إحدى الخطوات السابقة، أو نسيت أن هذه الأوامر تستخدم أسماء الملفات كأمثلة وستكون أوامرك مختلفة قليلاً.

ربما تريد أيضا أن تتعلم المزيد عن GnuPG.

التأكد من مجموع التحقق

الآن بعد أن تحققنا من صحة تواقيع المجموع الاختباري (checksum)، نحتاج إلى التحقق من سلامة الحزمة.

لمستخدمي ويندوز :

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

لمستخدمي نظام ماكْ:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

لمستخدمي BSD لينَكْسْ :

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum