การเปิดตัวแพลตฟอร์ม GNUnet P2P 0.13 การส่งเสริม GNS ให้เป็นมาตรฐานอินเทอร์เน็ต

IETF (Internet Engineering Task Force) ซึ่งพัฒนาโปรโตคอลอินเทอร์เน็ตและสถาปัตยกรรม ได้เริ่มกระบวนการสร้างมาตรฐานให้กับระบบชื่อโดเมน GNS (GNU Name System) ที่พัฒนาโดยโครงการ GNUnet เป็นการทดแทน DNS แบบกระจายอำนาจและป้องกันการเซ็นเซอร์อย่างสมบูรณ์ ในปัจจุบัน การตีพิมพ์ ร่างแรกของมาตรฐาน หลังจากการรักษาเสถียรภาพแล้ว RFC จะถูกสร้างขึ้น ซึ่งจะมีสถานะเป็น "มาตรฐานที่เสนอ"

จีพีเอส สามารถใช้ควบคู่กับ DNS และใช้ในแอปพลิเคชันทั่วไป เช่น เว็บเบราว์เซอร์ รับประกันความสมบูรณ์และความไม่เปลี่ยนแปลงของบันทึกผ่านการใช้กลไกการเข้ารหัส ต่างจาก DNS ตรงที่ GNS ใช้กราฟกำกับแทนลำดับชั้นของเซิร์ฟเวอร์ที่มีลักษณะคล้ายต้นไม้ การแก้ไขชื่อนั้นคล้ายคลึงกับ DNS แต่คำขอและการตอบกลับนั้นดำเนินการในลักษณะที่เป็นความลับ โหนดที่ประมวลผลคำขอจะไม่ทราบว่าใครเป็นผู้ส่งการตอบกลับ และโหนดการผ่านและผู้สังเกตการณ์บุคคลที่สามไม่สามารถถอดรหัสคำขอและการตอบกลับได้

โซน DNS ใน GNS ถูกกำหนดโดยใช้คีย์สาธารณะและคีย์ส่วนตัวจำนวนมาก ECDSA ขึ้นอยู่กับเส้นโค้งรูปไข่ Curve25519. การใช้ Curve25519 ที่รับรู้ บางคนคิดว่ามันเป็นขั้นตอนที่แปลกมาก เนื่องจากสำหรับ ECDSA พวกเขาใช้เส้นโค้งรูปไข่ประเภทอื่น และเมื่อจับคู่กับ Curve25519 พวกเขามักจะใช้อัลกอริธึมลายเซ็นดิจิทัล Ed25519, ทันสมัยขึ้นปลอดภัยและรวดเร็วกว่า ECDSA จากมุมมองของความแข็งแกร่งของการเข้ารหัส การเลือกขนาดคีย์ก็เป็นที่น่าสงสัยเช่นกัน - 32 ไบต์แทนที่จะเป็น 64 ไบต์ ซึ่งมักใช้สำหรับ Ed25519 เช่นเดียวกับการใช้งาน น้ำตก การเข้ารหัสแบบสมมาตรโดยใช้อัลกอริธึม AES และ TwoFish ในโหมด CFB

วิธีการนี้อธิบายได้จากความจำเป็นในการใช้คีย์แบบลำดับชั้น ทำให้สามารถใช้รูทพับลิกคีย์เพื่อแยกคีย์สาธารณะลูก โดยใช้ประโยชน์จากคุณสมบัติเชิงเส้นของ Curve25519 คุณลักษณะนี้ช่วยให้คุณได้รับคีย์สาธารณะลูกโดยไม่ต้องทราบรูทคีย์ส่วนตัว เทคนิคนี้ก็เช่นกัน นำไปใช้ ใน Bitcoin เลือกขนาดคีย์ 32 ไบต์เพื่อให้คีย์พอดีกับระเบียน DNS เดียว

นอกจากนี้ยังสามารถสังเกตได้ ปัญหาใหม่ กรอบ GNUnet 0.13ออกแบบมาเพื่อสร้างเครือข่าย P2P แบบกระจายอำนาจที่ปลอดภัย เครือข่ายที่สร้างโดยใช้ GNUnet ไม่มีจุดล้มเหลวเพียงจุดเดียวและสามารถรับประกันการขัดขืนข้อมูลส่วนตัวของผู้ใช้ได้ รวมถึงการขจัดการละเมิดที่อาจเกิดขึ้นโดยบริการข่าวกรองและผู้ดูแลระบบที่เข้าถึงโหนดเครือข่าย การเผยแพร่นี้ถูกตั้งค่าสถานะว่ามีการเปลี่ยนแปลงโปรโตคอลที่สำคัญซึ่งทำให้ความเข้ากันได้แบบย้อนหลังกับเวอร์ชัน 0.12.x

GNUnet รองรับการสร้างเครือข่าย P2P ผ่าน TCP, UDP, HTTP/HTTPS, Bluetooth และ WLAN และสามารถทำงานในโหมด F2F (เพื่อนกับเพื่อน) รองรับการแวะผ่าน NAT รวมถึงการใช้ UPnP และ ICMP เพื่อระบุตำแหน่งของข้อมูล คุณสามารถใช้ตารางแฮชแบบกระจาย (DHT) มีเครื่องมือสำหรับการปรับใช้เครือข่ายแบบตาข่าย ในการเลือกให้และเพิกถอนสิทธิ์การเข้าถึงจะมีการใช้บริการแลกเปลี่ยนคุณลักษณะการระบุตัวตนแบบกระจายอำนาจ เรียกคืน ID, โดยใช้ GNS (GNU Name System) และการเข้ารหัสตามแอตทริบิวต์ (การเข้ารหัสตามคุณสมบัติ).

ระบบมีคุณลักษณะการใช้ทรัพยากรต่ำและใช้สถาปัตยกรรมแบบหลายกระบวนการเพื่อให้แยกระหว่างส่วนประกอบต่างๆ มีเครื่องมือที่ยืดหยุ่นสำหรับการเก็บรักษาบันทึกและการรวบรวมสถิติ ในการพัฒนาแอปพลิเคชันสำหรับการใช้งานปลายทาง GNUnet ได้จัดเตรียม API สำหรับภาษา C และการเชื่อมโยงสำหรับภาษาการเขียนโปรแกรมอื่นๆ เพื่อให้การพัฒนาง่ายขึ้น ขอเสนอให้ใช้ลูปเหตุการณ์และกระบวนการแทนเธรด ประกอบด้วยไลบรารีทดสอบสำหรับการปรับใช้เครือข่ายทดลองโดยอัตโนมัติซึ่งครอบคลุมเพื่อนนับหมื่นราย

นอกจาก GNS แล้ว แอปพลิเคชันสำเร็จรูปหลายตัวยังได้รับการพัฒนาโดยใช้เทคโนโลยี GNUnet:

  • บริการแชร์ไฟล์โดยไม่ระบุชื่อ ซึ่งไม่อนุญาตให้คุณวิเคราะห์ข้อมูลเนื่องจากการถ่ายโอนข้อมูลในรูปแบบที่เข้ารหัสเท่านั้น และไม่อนุญาตให้คุณติดตามผู้ที่โพสต์ ค้นหา และดาวน์โหลดไฟล์ด้วยการใช้โปรโตคอล GAP
  • ระบบ VPN สำหรับการสร้างบริการที่ซ่อนอยู่ในโดเมน “.gnu” และการส่งต่ออุโมงค์ IPv4 และ IPv6 ผ่านเครือข่าย P2P นอกจากนี้ ยังรองรับแผนการแปล IPv4-to-IPv6 และ IPv6-to-IPv4 รวมถึงการสร้างอุโมงค์ IPv4-over-IPv6 และ IPv6-over-IPv4
  • บริการสนทนา GNUnet สำหรับการโทรด้วยเสียงผ่าน GNUnet GNS ใช้เพื่อระบุผู้ใช้ เนื้อหาของการรับส่งข้อมูลเสียงจะถูกส่งในรูปแบบที่เข้ารหัส ยังไม่มีการระบุตัวตน - เพียร์อื่นสามารถติดตามการเชื่อมต่อระหว่างผู้ใช้สองคนและกำหนดที่อยู่ IP ของพวกเขาได้
  • แพลตฟอร์มสำหรับการสร้างเครือข่ายโซเชียลแบบกระจายอำนาจ เซคูแชร์โดยใช้โปรโตคอล PSYC และสนับสนุนการกระจายการแจ้งเตือนในโหมดมัลติคาสต์โดยใช้การเข้ารหัสจากต้นทางถึงปลายทางเพื่อให้เฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงข้อความ ไฟล์ แชท และการสนทนา (ผู้ที่ข้อความไม่ได้รับการแก้ไข รวมถึงผู้ดูแลระบบโหนด จะไม่สามารถอ่านได้ );
  • ระบบจัดระเบียบอีเมลที่เข้ารหัส ความเป็นส่วนตัวที่ค่อนข้างง่ายซึ่งใช้ GNUnet สำหรับการป้องกันข้อมูลเมตาและรองรับต่างๆ โปรโตคอลการเข้ารหัส สำหรับการตรวจสอบคีย์
  • ระบบการชำระเงิน การประชุมเชิงปฏิบัติการ GNUซึ่งจะช่วยให้ผู้ซื้อไม่เปิดเผยตัวตน แต่ติดตามธุรกรรมของผู้ขายเพื่อความโปร่งใสและการรายงานภาษี รองรับการทำงานกับสกุลเงินและเงินอิเล็กทรอนิกส์ที่มีอยู่มากมาย รวมถึงดอลลาร์ ยูโร และบิตคอยน์

คุณสมบัติใหม่ที่สำคัญใน GNUnet 0.13:

  • การลงทะเบียนถูกนำไปใช้งาน ชนะ (GNUnet Assigned Numbers Authority) รับผิดชอบในการกำหนดชื่อและที่อยู่สำหรับ GNUnet
  • การใช้งานระบบชื่อโดเมนแบบกระจายอำนาจ GNS นั้นสอดคล้องกัน ข้อกำหนดเสนอโดย IETF ปลั๊กอิน NSS “บล็อก” ได้รับการปรับปรุงแล้ว เพิ่มแฟล็ก SUPPLEMENTAL ใหม่สำหรับเรคคอร์ดที่ไม่ได้เผยแพร่อย่างชัดเจนภายใต้ป้ายกำกับที่กำหนด แต่ส่งคืนโดยตัวแก้ไข เพิ่มคำเตือนให้กับยูทิลิตี้ gnunet-namestore เมื่อเพิ่มรายการ TLSA หรือ SRV นอกรายการ BOX.
  • ในกลไกการเพิกถอนคีย์ (GNS/REVOCATION) ฟังก์ชัน หลักฐานการทำงานเสร็จสมบูรณ์ เปลี่ยนไปใช้อัลกอริธึมการแฮช Argon2
  • ในบริการการแลกเปลี่ยนคุณลักษณะการระบุตัวตน (RECLAIM) แบบกระจายอำนาจ ขนาดตั๋วได้เพิ่มขึ้นเป็น 256 บิต
  • ปลั๊กอินการขนส่งซึ่งใช้โปรโตคอล UDP สำหรับการถ่ายโอนข้อมูลถูกย้ายไปยังหมวดหมู่ทดลองเนื่องจากปัญหาด้านความเสถียร
  • รูปแบบไฟล์คีย์ ECDSA และวิธีการซีเรียลไลซ์คีย์ส่วนตัวจะรวมเป็นหนึ่งเดียวกับไลบรารีอื่นๆ (คีย์เก่าจะไม่ทำงานอีกต่อไป)
  • ไลบรารีนี้ใช้เป็นการนำอัลกอริธึมการเข้ารหัสไปใช้โดยใช้เส้นโค้งรูปวงรี ลิบโซเดียม.
  • เพิ่มความสามารถในการสร้างยูทิลิตี้ด้วยไลบรารี cURL ซึ่งไม่เกี่ยวข้องกับ gnutls
  • ส่งคืนเซิร์ฟเวอร์การรวมอย่างต่อเนื่อง บิลด์บอท.
  • การขึ้นต่อกันของบิลด์ ได้แก่ libmicrohttpd, libjansson และ libsodium

ที่มา: opennet.ru

เพิ่มความคิดเห็น