โครงสร้างพื้นฐานขั้นพื้นฐานที่จะทำให้เรื่องนี้เป็นไปได้ที่มีอยู่และที่เรียกว่า DNS-based รับรองความถูกต้องของหน่วยงานที่มีชื่อ (DANE) และระบุไว้ในRFC6698 มันทำงานโดยใช้วิธีการTLSA
บันทึกทรัพยากรที่ระบุใบรับรองหรือกุญแจสาธารณะของหน่วยงานปลายทางหรือหนึ่งใน CA ของมันในห่วงโซ่ (มีจริงสี่ประเภทที่แตกต่างกันดู RFC สำหรับรายละเอียด)
การรับเป็นบุตรบุญธรรม
อย่างไรก็ตาม DANE ยังไม่เห็นการยอมรับอย่างกว้างขวาง VeriSign ตรวจสอบการยอมรับ DNSSEC และ DANEและติดตามการเติบโตในช่วงเวลาหนึ่ง :
สำหรับการเปรียบเทียบตาม VeriSign มีโซน DNS ประมาณ 2.7 ล้านโซนดังนั้นนั่นหมายความว่ามากกว่า 1% ของโซนทั้งหมดมี TLSA อย่างน้อยหนึ่งระเบียน
ฉันไม่สามารถให้คำตอบที่มีสิทธิ์ใด ๆ ทำไม DANE แต่นี่คือการคาดเดาของฉัน:
DANE ประสบปัญหาเดียวกันกับรายการเพิกถอนใบรับรอง (CRLs) และโพรโทคอลสถานะใบรับรองออนไลน์ (OCSP) ในการตรวจสอบความถูกต้องของใบรับรองที่นำเสนอต้องมีการติดต่อกับบุคคลที่สาม Hanno Böck ให้ภาพรวมที่ดีว่าทำไมเรื่องนี้เป็นปัญหาใหญ่ในทางปฏิบัติ มันทำให้เกิดปัญหากับสิ่งที่ต้องทำเมื่อคุณไม่สามารถเข้าถึงบุคคลที่สามได้ ผู้ขายเบราว์เซอร์เลือกที่จะใช้งานsoft-fail (หรือที่รู้จักกันว่าอนุญาต) ในกรณีนี้ซึ่งทำให้ทั้งหมดค่อนข้างไม่มีจุดหมายและในที่สุด Chrome ก็ตัดสินใจที่จะปิดการใช้งาน OCSP ในปี 2012
DNSSEC
DNS นั้นมีความพร้อมใช้งานที่ดีกว่าเซิร์ฟเวอร์ CRL และ OCSP ของ CAs แต่ก็ยังทำให้การตรวจสอบออฟไลน์เป็นไปไม่ได้ นอกจาก DANE ควรใช้ร่วมกับ DNSSEC เท่านั้น เมื่อ DNS ปกติทำงานผ่าน UDP ที่ไม่ผ่านการตรวจสอบสิทธิ์ก็มีแนวโน้มที่จะปลอมแปลงการโจมตี MITM และอื่น ๆ การใช้ DNSSEC นั้นดีกว่าการใช้ DANE มาก แต่ก็ยังห่างไกลจากการแพร่หลาย
และด้วย DNSSEC เราจึงพบกับปัญหา soft-fail อีกครั้ง ตามความรู้ของฉันไม่มีระบบปฏิบัติการเซิร์ฟเวอร์ / ไคลเอนต์ที่สำคัญให้ตัวแก้ไข DNSSEC การตรวจสอบตามค่าเริ่มต้น
จากนั้นยังมีปัญหาเรื่องการเพิกถอน DNSSEC ไม่มีกลไกการเพิกถอนและอาศัยคีย์อายุสั้นแทน
สนับสนุนซอฟต์แวร์
ซอฟต์แวร์ที่เข้าร่วมทั้งหมดต้องใช้การสนับสนุน DANE
ในทางทฤษฎีคุณอาจคิดว่านี่จะเป็นงานของ crypto library และผู้พัฒนาแอพพลิเคชั่นไม่ต้องทำอะไรมากมาย แต่ความจริงแล้วโดยทั่วไปแล้ว cryptographic libraries โดยทั่วไปจะให้บริการพื้นฐานและแอพพลิเคชั่นเท่านั้น (และน่าเสียดายที่มีหลายวิธีที่จะทำให้สิ่งผิดปกติ)
ฉันไม่ทราบว่าเว็บเซิร์ฟเวอร์หลักใด ๆ (เช่น Apache หรือ nginx) ตัวอย่างเช่นการนำ DANE มาใช้หรือมีแผนจะทำ เว็บเซิร์ฟเวอร์มีความสำคัญเป็นพิเศษที่นี่เพราะมีสิ่งต่างๆมากมายที่สร้างขึ้นบนเทคโนโลยีเว็บดังนั้นพวกเขาจึงมักจะเป็นคนแรกที่มีการนำสิ่งต่าง ๆ มาใช้
เมื่อเราดูการเปรียบเทียบ CRL, OCSP และ OCSP Stapling เราอาจสามารถสรุปได้ว่าเรื่องราวการรับเลี้ยงบุตรบุญธรรมของ DANE จะเป็นอย่างไร แอปพลิเคชั่นบางตัวเท่านั้นที่ใช้ OpenSSL, libnss, GnuTLS และอื่น ๆ รองรับคุณสมบัติเหล่านี้ ต้องใช้เวลาสักครู่สำหรับซอฟต์แวร์ที่สำคัญ ๆ เช่น Apache หรือ nginx เพื่อรองรับและกลับมาอ่านบทความของ Hanno Böckอีกครั้งพวกเขาเข้าใจผิดและการนำไปปฏิบัติมีข้อบกพร่อง โครงการซอฟต์แวร์สำคัญอื่น ๆ เช่น Postfix หรือ Dovecot ไม่รองรับ OCSPและมีฟังก์ชั่น CRL ที่ จำกัด โดยทั่วไปชี้ไปที่ไฟล์ในระบบไฟล์ (ซึ่งไม่จำเป็นต้องอ่านกฎเกณฑ์ซ้ำดังนั้นคุณจะต้องโหลดเซิร์ฟเวอร์ของคุณด้วยตนเองเป็นต้น) โปรดทราบว่านี่เป็นโครงการซึ่งมักใช้ TLS จากนั้นคุณสามารถเริ่มดูสิ่งต่าง ๆ โดยที่ TLS นั้นพบได้น้อยกว่ามากอย่างเช่น PostgreSQL / MySQL และบางทีพวกเขาก็เสนอ CRL ที่ดีที่สุด
ดังนั้นฉันจึงไม่แม้แต่เว็บเซิร์ฟเวอร์ที่ทันสมัยก็ใช้งานได้และซอฟต์แวร์อื่น ๆ ส่วนใหญ่ยังไม่ได้ใช้ OCSP และ CRL โชคดีกับแอปพลิเคชันระดับองค์กรหรืออุปกรณ์ 5 ปี
แอพพลิเคชั่นที่มีศักยภาพ
แล้วคุณจะใช้ DANE ได้ที่ไหน? ณ ตอนนี้ไม่ได้อยู่บนอินเทอร์เน็ตทั่วไป หากคุณควบคุมเซิร์ฟเวอร์และไคลเอนต์อาจเป็นตัวเลือก แต่ในกรณีนี้คุณมักจะหันไปใช้การตรึงคีย์สาธารณะ
ในพื้นที่จดหมาย DANE ได้รับแรงดึงบางอย่างเนื่องจาก SMTP ไม่มีการเข้ารหัสการส่งผ่านที่มีการรับรองความถูกต้องชนิดใดเป็นเวลานาน บางครั้งเซิร์ฟเวอร์ SMTP ใช้ TLS ระหว่างกัน แต่ไม่ได้ตรวจสอบว่าชื่อในใบรับรองตรงกันจริง ๆ ตอนนี้พวกเขาเริ่มตรวจสอบผ่าน DANE