YOUDNSCrypt encryptedRESOLVERsigned cert

DNSCrypt

10 นาทีอ่านความเป็นส่วนตัว

ก่อนที่ DNS บน HTTPS จะสร้างกระแสหลักของ DNS ที่เข้ารหัส DNSCrypt เป็นเพียงตัวเลือกเดียวที่ใช้กันอย่างแพร่หลายในการรักษาการจำแนกชื่อให้เป็นส่วนตัว มันยังคงมาพร้อมกับ pfSense, พร็อกซี DoH ของ Pi-hole และ Linux หลายรุ่น และตัวเลือกการออกแบบของโปรโตคอล — รีเลย์ที่ไม่ระบุชื่อ, การหมุนเวียนใบรับรองเซิร์ฟเวอร์, ไม่มีค่าใช้จ่าย TLS — ทำให้มันน่าสนใจแม้ในตอนนี้

เนื้อหาบทความฉบับเต็มมีให้เป็นภาษาอังกฤษด้านล่าง

DNSCrypt ถูกสร้างขึ้นโดยวิศวกร OpenDNS Frank Denis ในปี 2554 เพื่อเข้ารหัสและตรวจสอบสิทธิ์การสืบค้น DNS ระหว่างไคลเอนต์และตัวแก้ไข โปรโตคอล DNS ธรรมดาตั้งแต่ปี 1983 ไม่มีการรับรองความถูกต้องเลย: ข้อความค้นหาคือแพ็กเก็ต UDP และอุปกรณ์ใดๆ บนเส้นทางสามารถอ่าน แก้ไขคำตอบ หรือปลอมแปลงคำตอบได้ DNSCrypt แก้ไขปัญหาทั้งสองหลายปีก่อนที่จะมี DNS บน HTTPS

โปรโตคอลในย่อหน้าเดียว

ไคลเอนต์ดึง certificate ที่ลงนามแล้วจากตัวแก้ไขที่โฆษณารหัสสาธารณะระยะสั้นและรหัสที่รองรับ จากนั้นไคลเอนต์เข้ารหัสแต่ละแบบสอบถามด้วย X25519 + XChaCha20-Poly1305 หรือ XSalsa20-Poly1305 และส่งไปยังตัวแก้ไขบนพอร์ต 443 (หรือ 53 ด้วยไบต์วิเศษ DNSCrypt) ตัวแก้ไขจะถอดรหัส ค้นหาคำตอบ เข้ารหัสการตอบสนอง และส่งคืน ใบรับรองชั่วคราวจะมีการหมุนเวียนบ่อยครั้ง ดังนั้นการประนีประนอมคีย์จึงมีผลกระทบอย่างจำกัด

DNSCrypt เทียบกับ DoH เทียบกับ DoT

ทั้งสามเข้ารหัสแบบสอบถาม ความแตกต่างในทางปฏิบัติ:

  • DNSCrypt: โปรโตคอลแบบกำหนดเอง โอเวอร์เฮดต่ำ รองรับรีเลย์ที่ไม่เปิดเผยชื่อนอกกรอบ ต้องใช้ไคลเอ็นต์ DNSCrypt-aware
  • DNS ผ่าน TLS (DoT): TLS มาตรฐาน บนพอร์ต 853 โปร่งใสต่อเครือข่าย แต่ถูกบล็อกได้ง่ายโดย ปิดพอร์ตนั้น
  • DNS ผ่าน HTTPS (DoH): สืบค้นผ่าน HTTPS บนพอร์ต 443 ซึ่งแยกไม่ออกจากการรับส่งข้อมูลเว็บ ยากที่จะบล็อกโดยไม่ทำให้อินเทอร์เน็ตเสียหาย

DoH ชนะการแข่งขันมาตรฐานเนื่องจากมัน piggybacks บนพอร์ตที่มีการใช้งานหนักที่สุดบนอินเทอร์เน็ต DNSCrypt ยังคงมีอยู่เนื่องจากคุณสมบัติการปฏิบัติงานที่ DoH ไม่มี โดยเฉพาะรีเลย์ที่ไม่ระบุชื่อ

DNSCrypt ที่ไม่ระบุชื่อ: แยกว่าใครถูกถามจากสิ่งที่ถูกถาม

คุณสมบัตินักฆ่าคือ Anonymized DNSCrypt ที่เพิ่มเข้ามาในปี 2019 ข้อความค้นหาได้รับการเข้ารหัสสองครั้ง: เลเยอร์ด้านนอกสำหรับ รีเลย์ชั้นในสำหรับตัวแก้ไข รีเลย์จะถอดรหัสเลเยอร์ด้านนอก เห็นเฉพาะที่อยู่ของรีโซลเวอร์ (ไม่ใช่คำถาม) และส่งต่อไซเฟอร์เท็กซ์ภายใน ตัวแก้ไขจะถอดรหัสเลเยอร์ด้านใน เห็นคำถาม แต่ไม่ใช่ IP ไคลเอ็นต์ดั้งเดิม ตราบใดที่รีเลย์และรีโซลเวอร์ดำเนินการโดยฝ่ายต่างๆ และไม่สมรู้ร่วมคิด ไม่มีใครสามารถเชื่อมโยงผู้ใช้กับแบบสอบถามได้

นี่เป็นทรัพย์สินความเป็นส่วนตัวเดียวกันกับ Oblivious DNS ของ Apple บน HTTPS (ODoH) แต่ DNSCrypt จัดส่งมาก่อนและรองรับรายการรีเลย์และรีโซลเวอร์สาธารณะที่ใหญ่กว่ามาก ซึ่งดำเนินการโดยอาสาสมัครอิสระ ทั่วโลก

แนวนอนไคลเอนต์

dnscrypt-proxyเป็นไคลเอนต์อ้างอิง — ไบนารี Go เดียวที่ทำงานบน Linux, macOS, Windows, OpenBSD และ FreeBSD โดยยอมรับ DNS ธรรมดาบน localhost ส่งต่อไปยังรีโซลเวอร์ที่กำหนดค่าไว้บน DNSCrypt หรือ DoH รองรับการกรอง การบล็อก การบันทึกการสืบค้น และการปรับสมดุลโหลดข้ามรีโซลเวอร์ pfSense และ OPNsense จัดส่งเป็นพัสดุ Pi-hole รองรับ DNSCrypt ผ่าน dnscrypt-proxy เป็นอัปสตรีม

ในด้านรีโซลเวอร์ รีโซลเวอร์สาธารณะที่เปิดใช้งาน DNSCrypt ได้แก่ Cisco OpenDNS, NextDNS, Quad9, AdGuard และโหนดที่ดำเนินการโดยชุมชนขนาดเล็กอีกหลายสิบโหนด รายการที่เก็บรักษาไว้อยู่ใน dnscrypt-resolvers repository.

What DNSCrypt ไม่สามารถแก้ปัญหา

Encrypting DNS ไม่ได้ทำให้การท่องเว็บของคุณเป็นแบบส่วนตัว ปลายทางของการเชื่อมต่อ HTTPS ทั้งหมดจะปรากฏแก่เครือข่ายในช่อง TLS ServerName Indication (SNI) ซึ่งเป็นเหตุผลว่าทำไม Encrypted Client Hello จึงมีความสำคัญ DNSCrypt ยังไม่ช่วยต่อต้านรีโซลเวอร์ที่เป็นอันตราย หากคุณชี้ dnscrypt-proxy ไปที่รีโซลเวอร์ที่บันทึกทุกอย่าง รีโซลเวอร์ก็ยังคงมีคำถามของคุณอยู่ โปรโตคอลเพียงป้องกันไม่ให้ผู้สังเกตการณ์บนเส้นทางมองเห็นพวกเขา

ในกรณีที่ DNSCrypt เหมาะกับ 2026

สำหรับผู้ใช้ส่วนใหญ่ DoH ในตัวของ OS หรือเบราว์เซอร์ก็เพียงพอแล้ว สำหรับผู้ที่ใช้โครงสร้างพื้นฐานของตนเอง — โฮมแล็บ, ธุรกิจขนาดเล็ก, เราเตอร์ที่เน้นความเป็นส่วนตัว — dnscrypt-proxy ยังคงเป็นตัวเลือกที่ยืดหยุ่นที่สุด การผสมผสานระหว่างรีเลย์ที่ไม่ระบุชื่อ โหลดบาลานซ์ที่ง่ายดาย และใบรับรองตัวแก้ไขที่ตรวจสอบได้แบบออฟไลน์นั้นเทียบได้ยาก

คำถามที่พบบ่อย

DNSCrypt ดีกว่า DNS บน HTTPS หรือไม่
ไม่มีดีกว่าอย่างเคร่งครัด DoH เป็นมาตรฐานที่กว้างขึ้น จัดส่งในเบราว์เซอร์ และรอดจากการบล็อกพอร์ตด้วยการทำงานบน 443 DNSCrypt มีโอเวอร์เฮดของโปรโตคอลที่ต่ำกว่า รองรับดั้งเดิมสำหรับรีเลย์ที่ไม่ระบุชื่อ และไคลเอนต์อ้างอิงที่สมบูรณ์ยิ่งขึ้น หากคุณต้องการ DNS ที่ไม่เปิดเผยตัวตนในวันนี้ด้วยการเปลี่ยนแปลงการกำหนดค่าเพียงครั้งเดียว DNSCrypt ยังคงเป็นเส้นทางที่สะอาดที่สุด
การใช้ DNSCrypt จะทำให้การท่องเว็บของฉันช้าลงหรือไม่
แทบจะไม่. การตรวจสอบสิทธิ์จะเพิ่มการทำงานของ crypto เป็นเวลาหลายสิบไมโครวินาทีและ UDP ไปกลับพิเศษหนึ่งครั้งในการสืบค้นครั้งแรกของเซสชัน เมื่อแคชใบรับรองตัวแก้ไขแล้ว การสืบค้นจะมีเวลาแฝงโดยประมาณเท่ากับ DNS ธรรมดา DNSCrypt ที่ไม่ระบุชื่อจะเพิ่มการกระโดดอีกหนึ่งรายการ ซึ่งจะเพิ่มเวลาอีกสองสามมิลลิวินาที
ISP ของฉันยังสามารถเห็นการสืบค้น DNS ของฉันด้วย DNSCrypt ได้หรือไม่
ไม่ ไม่ใช่เนื้อหา พวกเขาเห็น UDP หรือ TCP ที่เข้ารหัสไปยัง IP ของตัวแก้ไข พวกเขายังสามารถดูว่าคุณพูดคุยด้วยตัวแก้ไขตัวใด หากเป้าหมายคือการซ่อนทั้งการสืบค้นและตัวเลือกตัวแก้ไข ให้เรียกใช้ DNSCrypt ผ่าน VPN
DNSCrypt ป้องกันการไฮแจ็ก DNS หรือไม่
ใช่ สำหรับการไฮแจ็กบนเส้นทาง — ใบรับรองตัวแก้ไขได้รับการตรวจสอบโดยไคลเอ็นต์ ดังนั้นการตอบสนองที่แทรกเข้ามาหรือปลอมแปลงจะถูกตรวจพบและทิ้งไป ไม่ได้ป้องกันตัวแก้ไข <em>chosen</em> ที่ไม่เป็นมิตร หรือการแย่งชิงผู้รับจดทะเบียนโดเมนในด้านที่เชื่อถือได้ ดูบทความการจี้ <a href="/learning/dns-hijacking">DNS ของเรา </a> สำหรับพื้นผิวการโจมตีแบบเต็ม
DNSCrypt ยังคงได้รับการพัฒนาหรือไม่?
ใช่. dnscrypt-proxy มีการเปิดตัวเป็นประจำ และมีการเพิ่มฟีเจอร์การส่งต่อที่ไม่ระบุตัวตนของโปรโตคอลเมื่อเร็วๆ นี้ในปี 2019 นี่ไม่ใช่ตัวเลือก DNS ที่เข้ารหัสเพียงตัวเดียวอีกต่อไป แต่ผู้ดูแลยังคงปรับปรุงต่อไปสำหรับฐานผู้ใช้ที่ขึ้นอยู่กับมัน
DNSCrypt: โปรโตคอล DNS ที่เข้ารหัสดั้งเดิมและเหตุใดจึงยังมีความสำคัญ