تشفير بروتوكول BitTorrent

تشفير البروتوكول ( PEوتشفير تدفق الرسائل ( MSEوتشفير رأس البروتوكول ( PHE ) هي ميزات مشتركة في بعض برامج مشاركة الملفات من نظير إلى نظير ، بما في ذلك برامج BitTorrent . تهدف هذه الميزات إلى تعزيز الخصوصية وسرية البيانات ، بالإضافة إلى صعوبة تحديد حركة البيانات من قِبل جهات خارجية، بما في ذلك مزودي خدمة الإنترنت . مع ذلك، لا يحمي التشفير المستخدم من إشعارات قانون الألفية الرقمية لحقوق المؤلف (DMCA) عند مشاركة محتوى غير قانوني، إذ يظل المستخدم يقوم بتحميل المواد، ويمكن لشركات المراقبة ببساطة الاتصال بشبكة المشاركة .

تم تطبيق بروتوكول MSE/PE في BitComet وBitTornado و Deluge و Flashget و KTorrent و libtorrent (المستخدمة من قبل العديد من عملاء BitTorrent، بما في ذلك qBittorrent ) و Mainline و μTorrent و qBittorrent و rTorrent و Transmission و Tixati و Vuze . تم تطبيق بروتوكول PHE في الإصدارات القديمة من BitComet. يدعم الإصدار الحديث من بعض الأنظمة الأخرى (غير BitTorrent)، بما في ذلك eMule ، تشفيرًا مشابهًا للبروتوكول . [ 1 ]

غاية

في يناير 2005، شكّلت حركة بيانات BitTorrent أكثر من ثلث إجمالي حركة بيانات الإنترنت المنزلية، [ 2 ] على الرغم من انخفاض هذه النسبة إلى أقل من 20% بحلول عام 2009. [ 3 ] يتعامل بعض مزودي خدمة الإنترنت مع هذه الحركة بزيادة سعتهم، بينما يستخدم آخرون أنظمة متخصصة لإبطاء حركة البيانات من نظير إلى نظير بهدف خفض التكاليف. يُصعّب التشفير والإخفاء اكتشاف حركة البيانات، وبالتالي يُصعّب التحكم بها. صُممت هذه الأنظمة في البداية لتوفير إخفاء الهوية أو السرية ، ولكنها أصبحت إلزامية في الدول التي مُنح فيها مزودو خدمة الإنترنت صلاحية التحكم في سرعة مستخدمي BitTorrent، بل وحظر من يُعتقد أنهم مذنبون بمشاركة الملفات بشكل غير قانوني.

تاريخ

نهج مبكر

طُوِّرت تقنية تشفير رأس البروتوكول (PHE) بواسطة RnySmile ، وطُبِّقت لأول مرة في BitComet الإصدار 0.60 بتاريخ 8 سبتمبر 2005. تزعم بعض البرامج، مثل IPP2P، إمكانية كشف حركة مرور BitComet حتى مع استخدام PHE. [ 4 ] يُمكن كشف PHE لأن جزءًا فقط من البيانات مُشفَّر. ونظرًا لعدم وجود مواصفات مفتوحة لتطبيق هذا البروتوكول، فإن السبيل الوحيد لدعمه في عملاء آخرين كان عبر الهندسة العكسية .

تطوير MSE/PE

في أواخر يناير 2006، قرر مطورو برنامج Vuze (الذي كان يُعرف آنذاك باسم Azureus) تصميم وتنفيذ طريقة جديدة مفتوحة المصدر لإخفاء البروتوكولات، تُسمى تشفير تدفق الرسائل (MSE). وقد أُدرجت هذه الطريقة في لقطة Azureus CVS رقم 2307-B29 بتاريخ 19 يناير 2006. [ 5 ]

تعرضت المسودة الأولى لانتقادات شديدة لافتقارها إلى العديد من الميزات الأساسية. بعد مفاوضات بين مطوري BitTorrent، تم إعداد مقترح جديد وتطبيقه في النسختين التجريبيتين من Azureus و μTorrent في غضون أيام. في μTorrent، أُطلق على البروتوكول الجديد اسم تشفير البروتوكول (PE).

إصدارات عميل BitTorrent من MSE/PE

  • يدعم aria2 MSE/PE اعتبارًا من الإصدار v1.34، [ 6 ] ولكنه غير مفروض افتراضيًا.
  • تم إصدار BitComet الإصدار 0.63 في 7 مارس 2006. وقد أزال تشفير رأس البروتوكول القديم وطبق MSE/PE الجديد ليكون متوافقًا مع Azureus و μTorrent. [ 7 ]
  • يدعم برنامج BitTornado تقنية MSE/PE بدءًا من الإصدار T-0.3.18. وحتى تاريخ 5 يناير 2007، لا يزال هذا الإصدار مصنفًا على أنه "تجريبي" في صفحة التنزيل. [ 8 ]
  • يدعم برنامج BitTorrent (Mainline) تقنية MSE/PE منذ الإصدار 4.9.2-beta في 2 مايو 2006. [ 9 ]
  • يدعم برنامج Deluge تقنية MSE/PE بدءًا من الإصدار Deluge-0.5.1. [ 10 ]
  • قام برنامج KTorrent بتطبيق MSE/PE في إصدار SVN 535386 [ 11 ] في 29 أبريل 2006. [ 12 ]
  • قامت مكتبة libtorrent [ 13 ] بتطبيق تشفير البروتوكول في الإصدار 0.13 [ 14 ] الذي تم إصداره في 10 ديسمبر 2011. [ 15 ]
  • يدعم برنامج rTorrent تقنية MSE/PE بدءًا من الإصدار rTorrent-0.7.0. [ 16 ]
  • يدعم Transmission MSE/PE اعتبارًا من Transmission-0.90. [ 17 ]
  • يدعم برنامج Vuze (المعروف سابقًا باسم Azureus) المواصفات النهائية منذ 25 يناير 2006 (لقطة CVS رقم 2307-B33). [ 18 ] صدرت نسخة Azureus 2.4.0.0 في 10 فبراير 2006، وكانت أول نسخة مستقرة من برنامج عميل يدعم MSE/PE. مع ذلك، أدت بعض المشاكل في تطبيق Azureus إلى تشفير أجزاء البيانات بشكل غير صحيح، ما تسبب في فشل عملية التحقق من التجزئة. تم إصلاح هذه المشاكل بدءًا من الإصدار 2.4.0.2. [ 19 ]
  • تم إطلاق برنامج μTorrent بتقنية MSE/PE بعد أربعة أيام من إطلاق Azureus بإصدار تجريبي 1.4.1 (الإصدار 407). [ 20 ] أُصدر الإصدار 1.5 من μTorrent (الإصدار 436) في 7 مارس 2006؛ وكان أول إصدار مستقر من μTorrent بتقنية PE. [ 21 ]

عملية

طريقة BitComet PHE المستخدمة في الإصدارات من 0.60 إلى 0.62 غير منشورة، كما أنها غير متوافقة مع MSE/PE.

يستخدم بروتوكول MSE/PE تبادل المفاتيح مع تجزئة المعلومات (infohash) الخاصة بالتورنت لإنشاء مفتاح تشفير RC4 . يُساعد تبادل المفاتيح على تقليل مخاطر المُستمعين السلبيين، بينما تُساعد تجزئة المعلومات على تجنب هجمات الوسيط . تم اختيار RC4 لسرعته. يتم تجاهل أول كيلوبايت (1024 بايت) من الناتج لمنع هجوم فلوهر، مانتين، وشامير .

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

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

يقوم العملاء المدعومون بنشر حقيقة أن لديهم MSE/PE مفعلة من خلال PEX و DHT .

حماية

تُقدّر قوة التشفير بحوالي 60-80 بتًا للخوارزميات المتناظرة الشائعة. [ 22 ] من الناحية التشفيرية، يُعدّ طول المفتاح الفعال هذا منخفضًا نسبيًا، ولكنه مناسب لأن البروتوكول لم يُصمّم كبروتوكول نقل آمن، بل كطريقة إخفاء سريعة وفعّالة. اقتُرحت خوارزمية AES كطريقة تشفير، ولكن لم تُعتمد نظرًا لاستهلاكها الكبير لوقت المعالج. كان من الممكن أن تكون مفاتيح ديفي-هيلمان المطلوبة لتحقيق مستوى أمان مماثل لـ AES أكبر بكثير، أو أن تتطلب تشفير المنحنيات الإهليلجية ، مما يجعل عملية المصافحة أكثر تكلفة من حيث وقت المعالج المُستخدَم.

فعالية

أظهر تحليل تشفير بروتوكول BitTorrent (المعروف أيضًا باسم MSE) أن القياسات الإحصائية لأحجام الحزم واتجاهاتها لأول 100 حزمة في جلسة TCP يمكن استخدامها لتحديد البروتوكول المشفر بدقة تزيد عن 96%. [ 23 ]

يستخدم تطبيق Sandvine أسلوبًا مختلفًا لتعطيل حركة مرور BitTorrent بجعل عملية التوزيع مستحيلة. يعترض Sandvine اتصالات النظراء بالمتتبع لتحديد النظراء بناءً على عناوين IP وأرقام المنافذ في قائمة النظراء المُسترجعة من المتتبع. عندما يكتشف Sandvine لاحقًا اتصالات مع نظراء في قوائم النظراء المعترضة، فإنه قد يقوم (وفقًا للسياسة المتبعة) بقطع هذه الاتصالات عن طريق إرسال حزم إعادة ضبط TCP مزيفة. [ 24 ] توجد حلول متنوعة للحماية من هجوم Sandvine، بما في ذلك تشفير اتصالات النظراء بالمتتبع واتصالات النظراء فيما بينهم، واستخدام بروتوكول Teredo من مايكروسوفت بحيث يتم توجيه اتصالات TCP عبر حزم UDP، وتصفية حزم إعادة ضبط TCP قبل وصولها إلى طبقة TCP في الجهاز المضيف، أو التحول كليًا من بروتوكول نقل قائم على TCP إلى بروتوكول نقل قائم على UDP. لكل حل عيوبه. تتطلب تصفية حزم إعادة ضبط TCP عادةً الوصول إلى نواة النظام، ومشاركة النظير البعيد لأن Sandvine يرسل حزمة إعادة الضبط إلى النظراء المحليين والبعيدين.

نقد

عارض برام كوهين ، مخترع بروتوكول بت تورنت ، إضافة التشفير إليه. وأوضح كوهين أنه يخشى أن يؤدي التشفير إلى عدم توافق بين البرامج. كما أكد أن معظم مزودي خدمة الإنترنت لا يحظرون بروتوكول التورنت. في عام ٢٠٠٦، كتب كوهين: "أظن أن بعض المطورين قد تم تقييد سرعة نقل البيانات لديهم من قِبل مزود خدمة الإنترنت، وهم مهتمون أكثر بمحاولة التحايل على قيود مزود الخدمة بدلاً من الاهتمام بأداء الإنترنت ككل". [ ٢٥ ] وقد ردّ العديد من مستخدمي مجتمع بت تورنت بقوة على اتهامات كوهين. [ ٢٦ ] لاحقًا، أضاف كوهين اتصالات مشفرة إلى برنامجه الرئيسي [ ٢٧ ] مع إمكانية استقبالها فقط دون إمكانية إنشائها. والجدير بالذكر أنه عندما استحوذت شركة بت تورنت على برنامج μTorrent، الذي أصبح فيما بعد الإصدار الرئيسي التالي، تم الاحتفاظ بإمكانية إنشاء اتصالات مشفرة، ولكن تم تعطيلها افتراضيًا. في مقابلة أجريت عام 2007، صرح كوهين قائلاً: "إن ما يسمى بـ'تشفير' حركة مرور BitTorrent ليس تشفيراً حقيقياً، بل هو تمويه. فهو لا يوفر أي إخفاء للهوية على الإطلاق، ولا يتجنب سوى التلاعب بحركة المرور بشكل مؤقت." [ 28 ]

ملحوظات

  1. يُشار إليه عادةً باسم تشفير رأس البروتوكول الأكثر ملاءمة.

مراجع

  1. "إخفاء بروتوكول eMule (التشفير)" . emule-project.net. 16-09-2006. مؤرشف من الأصل في 25-09-2009 . تم الاطلاع عليه في 11-03-2010 .
  2. "تأثير بت تورنت" . مجلة وايرد . 30 مايو 2007. مؤرشف من الأصل في 26 مارس 2006. تم الاطلاع عليه في 5 مارس 2017 .
  3. "ظواهر النطاق العريض العالمي لعام 2009" (ملف PDF) . Sandvine.com. 16 نوفمبر 2009. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 22 نوفمبر 2009.
  4. "الأخبار" . IPP2P.org. 2006-01-04. مؤرشف من الأصل في 2013-05-20 . تم الاطلاع عليه في 2006-01-29 .
  5. " [ Azureus-commitlog ] تم إصدار لقطة CVS Azureus2307-B29.jar !" . Sourceforge.net. 19-01-2006. مؤرشف من الأصل في 24-09-2019 . تم الاطلاع عليه في 08-04-2013 . 
  6. "aria2c(1) — وثائق aria2 1.34.0" . aria2.github.io . تم ​​الاطلاع عليه بتاريخ 29-05-2019 .
  7. "ملاحظات إصدار عميل BitComet" . Bitcomet.com. 7 مارس 2006. مؤرشف من الأصل بتاريخ 17 ديسمبر 2010. تم الاطلاع عليه بتاريخ 7 مارس 2006 .
  8. "BitTornado T-0.3.18" . منتدى Degreez.net. 5 يناير 2007. مؤرشف من الأصل بتاريخ 25 مارس 2017. تم الاطلاع عليه بتاريخ 6 يناير 2007 .
  9. "ملاحظات الإصدار" . BitTorrent.com. 2006-05-02. مؤرشف من الأصل في 2006-06-13.
  10. "سجل التغييرات: Deluge 0.5.1 (11 يونيو 2007)" . Deluge-torrent.org. 2007-06-11. مؤرشف من الأصل في 2008-04-01.
  11. خادم SVN . KDE.org. 2006-04-29. مطلوب عميل Subversion .
  12. «تمت إضافة التشفير منتدى KTorrent.pwsp.net. ٢٩ أبريل ٢٠٠٦. مؤرشف من الأصل بتاريخ ٥ يونيو ٢٠٠٧. 
  13. نوربيرغ، أرفيد. "www.libtorrent.org/reference-Settings.html" . www.libtorrent.org . مؤرشف من الأصل بتاريخ 17 فبراير 2017. تم الاطلاع عليه بتاريخ 16 فبراير 2017 .
  14. "libtorrent/ChangeLog at master · arvidn/libtorrent · GitHub" . github.com . مؤرشف من الأصل بتاريخ 10-05-2017 . تم الاطلاع عليه بتاريخ 16-02-2017 .
  15. "Gmane -- البريد إلى الأخبار والعودة مرة أخرى" . permalink.gmane.org . مؤرشف من الأصل بتاريخ 17-02-2017 . تم الاطلاع عليه بتاريخ 16-02-2017 .
  16. « [ Libtorrent-devel ] تم إصدار LibTorrent 0.11.0 و rTorrent 0.7.0» . أرشيف بريد Rakshasa.no. 13 ديسمبر 2006. مؤرشف من الأصل بتاريخ 2 مايو 2007. تم الاطلاع عليه بتاريخ 10 يونيو 2007 .
  17. "تم إصدار Transmission 0.90!" منتدى Transmission.m0k.org. 24-10-2007. مؤرشف من الأصل بتاريخ 27-10-2007.
  18. " [ Azureus-commitlog ] تم إصدار لقطة CVS Azureus2307-B33.jar !" . Sourceforge.net. 25-01-2006. مؤرشف من الأصل في 24-09-2019 . تم الاطلاع عليه في 08-04-2013 . 
  19. "Azureus : عميل BitTorrent لجافا - سجل التغييرات" . Azureus.sourceforge.net. مؤرشف من الأصل بتاريخ 20-03-2006 . تم الاطلاع عليه بتاريخ 20-03-2006 . 
  20. "μTorrent 1.4.2 beta 435" . إعلانات uTorrent. 29-01-2006. مؤرشف من الأصل بتاريخ 14-05-2006.
  21. "إصدار μTorrent 1.5" مؤرشف بتاريخ 29 مايو 2013 في Wayback Machine . إعلانات uTorrent. 7 مارس 2006.
  22. "RFC 3526 الفصل 8" . IETF.org. مؤرشف من الأصل بتاريخ 18 يناير 2017. تم الاطلاع عليه بتاريخ 26 أغسطس 2007 .
  23. هيلمفيك، إريك؛ جون، وولفغانغ (27 يوليو 2010). "كسر وتحسين تشفير البروتوكول" (ملف PDF) . تقرير فني . قسم علوم وهندسة الحاسوب، جامعة تشالمرز للتكنولوجيا . ISSN 1652-926X . مؤرشف (PDF) من الأصل بتاريخ 11 نوفمبر 2020. تاريخ الاسترجاع: 17 أغسطس 2010 . 
  24. نيكولاس ويفر؛ ​​ر. سومر؛ فيرن باكسون (9 فبراير 2009). كشف حزم إعادة ضبط TCP المزيفة (ملف PDF) . ندوة NDSS 2009.
  25. كوهين، برام (29 يناير 2006). "إخفاء بيانات BitTorrent" . مدونة برام كوهين. مؤرشفة من الأصل بتاريخ 7 فبراير 2006.
  26. "نقاش حول تشفير البروتوكول" . منتدى uTorrent.com. 4 فبراير 2006. مؤرشف من الأصل بتاريخ 22 أكتوبر 2007.
  27. "تاريخ إصدارات BitTorrent الرئيسية" . BitTorrent.com. 15-10-2006. مؤرشف من الأصل بتاريخ 25-02-2007.
  28. "مقابلة مع برام كوهين، مخترع برنامج بت تورنت". مؤرشفة بتاريخ 15 يوليو 2013 في أرشيف الإنترنت (Wayback Machine ). موقع تورنت فريك. تاريخ الوصول: 17 يناير 2007. تاريخ الاسترجاع: 7 أبريل 2013.