กลับไปหน้าบทความ

อ่าน 6 นาที

การเข้ารหัสโปรโตคอล BitTorrent

การเข้ารหัสโปรโตคอล ( PE ), การเข้ารหัสสตรีมข้อความ ( MSE ) หรือการเข้ารหัสส่วนหัวโปรโตคอล ( PHE ) เป็นคุณสมบัติที่เกี่ยวข้องของไคลเอนต์การแชร์ไฟล์แบบเพียร์ทู เพียร์บางตัว...

การเข้ารหัสโปรโตคอล BitTorrent

การเข้ารหัสโปรโตคอล ( PE ), การเข้ารหัสสตรีมข้อความ ( MSE ) หรือการเข้ารหัสส่วนหัวโปรโตคอล ( PHE ) [ a ]เป็นคุณสมบัติที่เกี่ยวข้องของไคลเอนต์การแชร์ไฟล์แบบเพียร์ทู เพียร์บางตัว รวมถึงไคลเอนต์ BitTorrent คุณสมบัติเหล่านี้พยายามเพิ่มความเป็นส่วนตัวและความลับ นอกจากนี้ยังพยายามทำให้บุคคลที่สาม รวมถึงผู้ให้บริการอินเทอร์เน็ต (ISP) ระบุข้อมูลการรับส่งได้ยากขึ้น อย่างไรก็ตาม การเข้ารหัสจะไม่สามารถป้องกันการแจ้งเตือน DMCA จากการแชร์เนื้อหาที่ผิดกฎหมายได้ เนื่องจากผู้ใช้ยังคงอัปโหลดเนื้อหาอยู่ และบริษัทตรวจสอบสามารถเชื่อม ต่อ กับเครือข่าย ได้

MSE/PE ถูกนำไปใช้ในBitComet , BitTornado, Deluge , Flashget , KTorrent , libtorrent (ใช้โดยไคลเอ็นต์ BitTorrent ต่างๆ รวมถึงqBittorrent ), Mainline , μTorrent , qBittorrent , rTorrent , Transmission , TixatiและVuze PHE ถูกนำไปใช้ใน BitComet เวอร์ชันเก่าการเข้ารหัส โปรโตคอลที่คล้ายกันนี้ได้รับการสนับสนุนใน เวอร์ชันล่าสุดของระบบอื่นๆ (ที่ไม่ใช่ BitTorrent) บางระบบ รวมถึงeMule [ 1 ]

วัตถุประสงค์

ณ เดือนมกราคม พ.ศ. 2548 ปริมาณการใช้งาน BitTorrent คิดเป็นมากกว่าหนึ่งในสามของปริมาณการใช้งานอินเทอร์เน็ตในที่อยู่อาศัยทั้งหมด[ 2 ]แม้ว่าจะลดลงเหลือน้อยกว่า 20% ในปี พ.ศ. 2552 [ 3 ]ผู้ให้บริการอินเทอร์เน็ตบางรายจัดการกับปริมาณการใช้งานนี้โดยการเพิ่มความจุ ในขณะที่บางรายใช้ระบบเฉพาะเพื่อลดความเร็วของการรับส่งข้อมูลแบบ peer-to-peer เพื่อลดต้นทุน การปกปิดและการเข้ารหัสทำให้การตรวจจับปริมาณการใช้งานทำได้ยากขึ้น และด้วยเหตุนี้จึงยากต่อการควบคุม ระบบเหล่านี้ได้รับการออกแบบมาในตอนแรกเพื่อให้ความเป็นส่วนตัวหรือการรักษาความลับแต่กลายเป็นสิ่งจำเป็นในประเทศที่ผู้ให้บริการอินเทอร์เน็ตได้รับอำนาจในการควบคุมผู้ใช้ BitTorrent และแม้กระทั่งแบนผู้ที่พวกเขาเชื่อว่ามีความผิดในการแบ่งปันไฟล์ที่ผิดกฎหมาย

ประวัติศาสตร์

แนวทางเบื้องต้น

การเข้ารหัสส่วนหัวของโปรโตคอล (PHE) ได้รับการคิดค้นโดยRnySmileและนำไปใช้งานครั้งแรกในBitCometเวอร์ชัน 0.60 เมื่อวันที่ 8 กันยายน 2548 ซอฟต์แวร์บางตัวเช่น IPP2P อ้างว่าสามารถตรวจจับการรับส่งข้อมูล BitComet ได้แม้จะมี PHE [ 4 ] PHE สามารถตรวจจับได้เนื่องจากการเข้ารหัสเพียงบางส่วนของสตรีมเท่านั้น เนื่องจากไม่มีข้อกำหนดแบบเปิดสำหรับการใช้งานโปรโตคอลนี้ ความเป็นไปได้เพียงอย่างเดียวที่จะรองรับในไคลเอ็นต์อื่น ๆ คือการวิศวกรรมย้อนกลับ

การพัฒนา MSE/PE

ในช่วงปลายเดือนมกราคม พ.ศ. 2549 นักพัฒนาVuze (ซึ่งในขณะนั้นรู้จักกันในชื่อ Azureus) ได้ตัดสินใจออกแบบและใช้งานวิธีการปกปิดโปรโตคอลแบบเปิดใหม่ที่เรียกว่าการเข้ารหัสสตรีมข้อความ (MSE) พร้อมกัน โดยได้รวมอยู่ใน Azureus CVS snapshot 2307-B29 เมื่อวันที่ 19 มกราคม พ.ศ. 2549 [ 5 ]

ร่างฉบับแรกนี้ถูกวิพากษ์วิจารณ์อย่างหนักเนื่องจากขาดคุณสมบัติสำคัญหลายประการ หลังจากการเจรจาระหว่างนักพัฒนา BitTorrent ต่างๆ ข้อเสนอใหม่จึงถูกเขียนขึ้นและนำไปใช้ใน เวอร์ชันเบต้าของ AzureusและμTorrentภายในไม่กี่วัน ใน μTorrent โปรโตคอลใหม่นี้เรียกว่า การเข้ารหัสโปรโตคอล (PE)

MSE/PE ในเวอร์ชันไคลเอ็นต์ BitTorrent

  • aria2รองรับ MSE/PE ตั้งแต่เวอร์ชัน 1.34 [ 6 ]แต่ไม่ได้บังคับใช้โดยค่าเริ่มต้น
  • BitComet เวอร์ชัน 0.63 เปิดตัวเมื่อวันที่ 7 มีนาคม พ.ศ. 2549 โดยได้ลบการเข้ารหัสส่วนหัวโปรโตคอลแบบเก่าออก และนำ MSE/PE แบบใหม่มาใช้เพื่อให้เข้ากันได้กับ Azureus และ μTorrent [ 7 ]
  • BitTornado รองรับ MSE/PE ตั้งแต่เวอร์ชัน T-0.3.18 ณ วันที่ 5 มกราคม 2550 เวอร์ชันนี้ยังคงถูกระบุว่าเป็น "รุ่นทดลอง" ในหน้าดาวน์โหลด[ 8 ]
  • BitTorrent (Mainline) รองรับ MSE/PE ตั้งแต่เวอร์ชัน 4.9.2-beta เมื่อวันที่ 2 พฤษภาคม 2549 [ 9 ]
  • Delugeรองรับ MSE/PE ตั้งแต่ Deluge-0.5.1 เป็นต้นไป[ 10 ]
  • KTorrentได้นำ MSE/PE มาใช้ใน SVN เวอร์ชัน 535386 [ 11 ]เมื่อวันที่ 29 เมษายน พ.ศ. 2549 [ 12 ]
  • libtorrent [ 13 ]ได้นำการเข้ารหัสโปรโตคอลมาใช้ในเวอร์ชัน 0.13 [ 14 ]ซึ่งเผยแพร่เมื่อวันที่ 10 ธันวาคม 2011 [ 15 ]
  • rTorrentรองรับ MSE/PE ตั้งแต่ rTorrent-0.7.0 เป็นต้นไป[ 16 ]
  • ระบบส่งกำลังรองรับ MSE/PE ตั้งแต่ Transmission-0.90 เป็นต้นไป[ 17 ]
  • Vuze (เดิมชื่อ Azureus) รองรับข้อกำหนดขั้นสุดท้ายตั้งแต่วันที่ 25 มกราคม 2549 (CVS snapshot 2307-B33) [ 18 ] Azureus เวอร์ชัน 2.4.0.0 เปิดตัวเมื่อวันที่ 10 กุมภาพันธ์ 2549 และเป็นเวอร์ชันเสถียรแรกของไคลเอ็นต์ที่รองรับ MSE/PE อย่างไรก็ตาม ข้อบกพร่องในการใช้งานของ Azureus ส่งผลให้ชิ้นส่วนที่เข้ารหัสไม่ถูกต้องซึ่งไม่ผ่านการตรวจสอบแฮช ข้อบกพร่องดังกล่าวได้รับการแก้ไขในเวอร์ชัน 2.4.0.2 [ 19 ]
  • μTorrentเปิดตัว MSE/PE 4 วันหลังจาก Azureus ด้วยเบต้า 1.4.1 build 407 [ 20 ] μTorrent เวอร์ชัน 1.5 (build 436) เปิดตัวเมื่อวันที่ 7 มีนาคม 2549 ซึ่งเป็นเวอร์ชันเสถียรแรกของ μTorrent ที่มี PE [ 21 ]

การดำเนินการ

วิธีการ BitComet PHE ที่ใช้ในเวอร์ชัน 0.60 ถึง 0.62 นั้นไม่ได้ถูกเผยแพร่ และไม่สามารถใช้งานร่วมกับ MSE/PE ได้

MSE/PE ใช้การแลกเปลี่ยนคีย์ร่วมกับข้อมูลแฮชของไฟล์ทอร์เรนต์เพื่อสร้าง คีย์เข้ารหัส RC4การแลกเปลี่ยนคีย์ช่วยลดความเสี่ยงจากผู้ดักฟังแบบแฝง และข้อมูลแฮชช่วยป้องกันการโจมตีแบบคนกลาง (man-in-the-middle attack ) เลือกใช้ RC4 เนื่องจากความเร็ว ข้อมูล1 กิโลไบต์ แรก (1024 ไบต์) ของเอาต์พุตจะถูกทิ้งเพื่อป้องกันการโจมตีแบบ Fluhrer, Mantin และ Shamir

ข้อกำหนดนี้อนุญาตให้ผู้ใช้เลือกได้ว่าจะเข้ารหัสเฉพาะส่วนหัวหรือเข้ารหัสการเชื่อมต่อทั้งหมด การเข้ารหัสการเชื่อมต่อทั้งหมดจะให้การปกปิดข้อมูลที่มากกว่า แต่ใช้เวลาในการประมวลผลของ CPU มากกว่า

เพื่อให้มั่นใจได้ว่าสามารถใช้งานร่วมกับไคลเอ็นต์อื่นๆ ที่ไม่รองรับข้อกำหนดนี้ได้ ผู้ใช้ยังสามารถเลือกได้ว่าจะอนุญาตให้มีการเชื่อมต่อขาเข้าหรือขาออกที่ไม่เข้ารหัสหรือไม่

ลูกค้าที่ได้รับการสนับสนุนจะแจ้งให้ทราบว่าตนได้เปิดใช้งาน MSE/PE ผ่านPEXและDHTแล้ว

ความปลอดภัย

ความแข็งแกร่งโดยประมาณของการเข้ารหัสสอดคล้องกับประมาณ 60–80 บิตสำหรับการเข้ารหัสแบบสมมาตรทั่วไป[ 22 ]ในทางการเข้ารหัส ความยาวคีย์ที่มีประสิทธิภาพนี้ค่อนข้างต่ำ แต่เหมาะสมเนื่องจากโปรโตคอลไม่ได้ออกแบบมาเป็นโปรโตคอลการขนส่งที่ปลอดภัย แต่เป็นวิธีการปกปิดที่รวดเร็วและมีประสิทธิภาพAESได้รับการเสนอให้เป็นวิธีการเข้ารหัส แต่ไม่ได้นำมาใช้เนื่องจากใช้เวลา CPU มากเกินไป คีย์ Diffie–Hellman ที่จำเป็น เพื่อให้ได้ความปลอดภัยเทียบเท่ากับ AES จะต้องมีขนาดใหญ่กว่ามากหรือต้องใช้การเข้ารหัสเส้นโค้งวงรีทำให้การจับมือมีค่าใช้จ่ายมากขึ้นในแง่ของเวลา CPU ที่ใช้

ประสิทธิผล

การวิเคราะห์การเข้ารหัสโปรโตคอล BitTorrent (หรือ MSE) แสดงให้เห็นว่าการวัดทางสถิติของขนาดแพ็กเก็ตและทิศทางแพ็กเก็ตของแพ็กเก็ต 100 แพ็กเก็ตแรกในเซสชัน TCP สามารถใช้เพื่อระบุโปรโตคอลที่ถูกปกปิดได้อย่างแม่นยำกว่า 96% [ 23 ]

แอ ปพลิเคชัน Sandvineใช้แนวทางที่แตกต่างออกไปในการขัดขวางการรับส่งข้อมูล BitTorrent โดยทำให้การปล่อยไฟล์เป็นไปไม่ได้ Sandvine ดักจับการสื่อสารระหว่าง peer กับ tracker เพื่อระบุ peer โดยอิงจากที่อยู่ IP และหมายเลขพอร์ตในรายการ peer ที่ส่งคืนจาก tracker เมื่อ Sandvine เห็นการเชื่อมต่อกับ peer ในรายการ peer ที่ถูกดักจับในภายหลัง มันอาจ (ตามนโยบาย) ตัดการเชื่อมต่อเหล่านี้โดยการส่ง TCP reset ปลอม[ 24 ]มีวิธีแก้ปัญหาต่างๆ เพื่อป้องกันการโจมตีของ Sandvine รวมถึงการเข้ารหัสทั้งการสื่อสารระหว่าง peer กับ tracker และ peer กับ peer การใช้Teredo ของ Microsoft เพื่อให้การเชื่อมต่อ TCP ถูกส่งผ่านภายในแพ็กเก็ต UDP การกรอง TCP reset ก่อนที่จะถึงเลเยอร์ TCP ในโฮสต์ปลายทาง หรือการเปลี่ยนจากการขนส่งแบบ TCP ไปเป็นการขนส่งแบบ UDP โดยสิ้นเชิง แต่ละวิธีแก้ปัญหามีข้อดีข้อเสีย การกรอง TCP reset มักต้องเข้าถึงเคอร์เนล และการมีส่วนร่วมของ peer ระยะไกล เนื่องจาก Sandvine ส่งแพ็กเก็ต reset ไปยัง peer ในพื้นที่และระยะไกล

การวิจารณ์

Bram Cohenผู้คิดค้นBitTorrentคัดค้านการเพิ่มการเข้ารหัสลงในโปรโตคอล BitTorrent Cohen กล่าวว่าเขากังวลว่าการเข้ารหัสอาจทำให้เกิดความไม่เข้ากันระหว่างไคลเอนต์ เขายังเน้นย้ำประเด็นที่ว่า ISP ส่วนใหญ่ไม่ได้บล็อกโปรโตคอล torrent ในปี 2549 Cohen เขียนว่า "ผมค่อนข้างสงสัยว่านักพัฒนาบางคนถูกจำกัดอัตราโดย ISP ของเขา และสนใจที่จะพยายามแฮ็กผ่านข้อจำกัดของ ISP มากกว่าประสิทธิภาพของอินเทอร์เน็ตโดยรวม" [ 25 ]ผู้ใช้ชุมชน BitTorrent จำนวนมากตอบโต้ข้อกล่าวหาของ Cohen อย่างรุนแรง[ 26 ] ต่อมา Cohen ได้เพิ่มการเชื่อมต่อที่เข้ารหัสลงใน ไคลเอนต์ Mainline ของเขา[ 27 ]โดยมีความสามารถในการรับแต่ไม่สามารถเริ่มต้นการเชื่อมต่อได้ ที่น่าสังเกตคือ เมื่อ μTorrent ถูกซื้อโดย BitTorrent, Inc. และกลายเป็นเวอร์ชันหลักถัดไป ความสามารถในการเริ่มต้นการเชื่อมต่อที่เข้ารหัสยังคงอยู่ แต่ถูกปิดใช้งานโดยค่าเริ่มต้น ในการสัมภาษณ์เมื่อปี 2550 โคเฮนกล่าวว่า "สิ่งที่เรียกว่า 'การเข้ารหัส' ของการรับส่งข้อมูล BitTorrent นั้นไม่ใช่การเข้ารหัสที่แท้จริง แต่เป็นการปกปิดข้อมูล มันไม่ได้ให้ความเป็นส่วนตัวใดๆ เลย และหลบเลี่ยงการควบคุมการรับส่งข้อมูลได้เพียงชั่วคราวเท่านั้น" [ 28 ]

หมายเหตุ

  1. ^โดยทั่วไปมักเรียกว่าการเข้ารหัสส่วนหัวโปรโตคอลที่
  • "การเข้ารหัสสตรีมข้อความ" เก็บถาวรเมื่อ 31 ธันวาคม 2016 ที่Wayback Machine Vuze
  • "ISP ที่มีอิทธิพลต่อ BitTorrent" เก็บถาวรเมื่อ 2016-11-26 ที่Wayback Machine Vuze
  • "การเข้ารหัสแบบ End-to-End และการจำกัดแบนด์วิดท์ของ BitTorrent - ตอนที่ 1" โดยนักพัฒนา μTorrent Slyck News
  • "การเข้ารหัสแบบ End-to-End และการจำกัดแบนด์วิดท์ของ BitTorrent - ตอนที่ 2" โดยนักพัฒนา Azureusจาก Slyck News
  • "BitTorrent และการเข้ารหัสแบบ End-to-End" . Slashdot.
  • "การปกปิดข้อมูล Peer ของ Tracker" BitTorrent.org
  • "การระบุโปรโตคอลการเข้ารหัสสตรีมข้อความ (MSE)" สำหรับการระบุโปรโตคอลเชิงสถิติ SourceForge
  • "บล็อกการรับส่งข้อมูล P2P บนเราเตอร์ Cisco IOS โดยใช้ NBAR" Cisco
  • "คู่มือการใช้งาน VPN/Proxy Aria2c"โดย GoTux
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=BitTorrent_protocol_encryption&oldid=1341373649 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเข้ารหัสโปรโตคอล BitTorrent

การเข้ารหัสโปรโตคอล ( PE ), การเข้ารหัสสตรีมข้อความ ( MSE ) หรือการเข้ารหัสส่วนหัวโปรโตคอล ( PHE ) เป็นคุณสมบัติที่เกี่ยวข้องของไคลเอนต์การแชร์ไฟล์แบบเพียร์ทู เพียร์บางตัว...

วัตถุประสงค์

ณ เดือนมกราคม พ.ศ. 2548 ปริมาณการใช้งาน BitTorrent คิดเป็นมากกว่าหนึ่งในสามของปริมาณการใช้งานอินเทอร์เน็ตในที่อยู่อาศัยทั้งหมด [ 2 ] แม้ว่าจะลดลงเหลือน้อยกว่า 20% ในปี พ.ศ.

แนวทางเบื้องต้น

การเข้ารหัสส่วนหัวของโปรโตคอล (PHE) ได้รับการคิดค้นโดย RnySmile และนำไปใช้งานครั้งแรกใน BitComet เวอร์ชัน 0.

การพัฒนา MSE/PE

ในช่วงปลายเดือนมกราคม พ.ศ. 2549 นักพัฒนา Vuze (ซึ่งในขณะนั้นรู้จักกันในชื่อ Azureus) ได้ตัดสินใจออกแบบและใช้งานวิธีการปกปิดโปรโตคอลแบบเปิดใหม่ที่เรียกว่าการเข้ารหัสสตรีมข้อความ (MSE) พร้อมกัน โดยได้รวมอยู่ใน Azureus CVS snapshot 2307-B29 เมื่อวันที่ 19 มกราคม...