ถ้าฉันเข้าใจถูกต้อง แก่นแท้ของการโจมตีแบบคนกลางคือความสามารถในการแทนที่ตัวแปรที่แลกเปลี่ยน (คีย์สาธารณะ) ด้วยอันอื่น
ดังนั้นในการตรวจจับ MITM จำเป็นต้องตรวจสอบว่าคีย์สาธารณะที่แลกเปลี่ยนนั้นเหมือนกันจริงหรือไม่สำหรับทั้ง A และ B และเพื่อป้องกัน MITM เราต้องสามารถแลกเปลี่ยนตัวแปรได้โดยไม่ต้องแก้ไข
ฉันคิดว่ามันน่าจะเป็นไปได้ที่จะตรวจพบการเปลี่ยนแปลงในตัวแปรโดยใช้ตัวแปรนั้นเพื่อกำหนดกฎการแลกเปลี่ยนข้อมูลในอนาคต (เช่น ลำดับข้อมูล หรือขนาดของแพ็กเก็ต) สำหรับ A และ B ซึ่งแพ็กเก็ตถัดไปสามารถส่งได้เมื่อมีการตอบกลับเท่านั้น . ด้วยวิธีนี้ MITM จะถูกบังคับให้สร้างการตอบกลับ (เชื่อได้) เพื่อให้การแลกเปลี่ยนข้อมูลดำเนินต่อไปได้ โดยธรรมชาติแล้ว MITM ต้องการรวบรวมข้อมูลจากการแลกเปลี่ยน ดังนั้นจึงไม่ทราบคำตอบที่ดีที่สุดเท่าที่จะเป็นไปได้ นอกจากนี้ เมื่อการสื่อสารดำเนินไป ความแตกต่างในการแลกเปลี่ยนข้อมูลก็เพิ่มขึ้นและด้วยเหตุนี้จึงมองเห็นได้ชัดเจนขึ้น (ไม่แน่ใจว่าตรวจสอบอย่างไร?) วิธีนี้น่าจะเป็นไปได้ที่จะตรวจพบ MITM
ฉันถูกต้องหรือมีข้อบกพร่องในการให้เหตุผลของฉันหรือไม่?