MITM ระหว่างการแลกเปลี่ยนคีย์ Diffie-Hellman สามารถจัดการทั้งสองฝ่ายเพื่อสร้างความลับที่สมมาตรได้หรือไม่
สมมติว่าผู้โจมตี MITM สามารถสร้างคีย์แลกเปลี่ยนที่เหมือนกันทั้งสองด้าน นั่นคือปาร์ตี้ $A$ ได้รับ $g^t$ จากผู้โจมตีและคำนวณ $g^{ที่}$ และปาร์ตี้ $B$ ได้รับ $g^u$ จากผู้โจมตีและคำนวณ $g^{bu}$ ดังนั้น $g^{at} = g^{bu}$.
หากผู้โจมตีส่งองค์ประกอบประจำตัว ทั้งสองฝ่ายจะมีกุญแจเป็นองค์ประกอบประจำตัว นี่เป็นวิธีแก้ปัญหาเล็กน้อยและตรวจจับได้ (นอกเหนือจากโซลูชันการทดลองใช้แล้ว จำเป็นต้องมีการลด...)
เป็นไปได้ไหมที่จะตรวจจับการโจมตีผ่าน MITM หากเราสามารถตรวจจับผ่านช่องทางอื่นที่ความลับของทั้งสองฝ่ายไม่ตรงกัน
ในระบบหลัก การป้องกันการโจมตี MITM ทำได้โดยใช้ใบรับรอง บางครั้งเราทำ TOFU (เชื่อถือในการใช้งานครั้งแรก) เช่นใน Signal (และใน WhatsApp ที่อ่อนแอกว่า) และตรวจสอบคีย์สาธารณะในภายหลัง *.
วิธีง่ายๆ วิธีหนึ่งคือการอ่านค่าเลขฐานสิบหกบนโทรศัพท์ เนื่องจากเป็นการยาก (ไม่ใช่เป็นไปไม่ได้) ในการปลอมแปลงคำพูดตามเวลาจริง
* คุณเคยตรวจสอบคีย์เดียวใน Signal (หรือ WhatsApp) หรือไม่