ไม่มีความสามารถของผู้โจมตีที่กำหนดไว้อย่างชัดเจนหรือการรับประกันความปลอดภัยขององค์ประกอบต่างๆ (การเข้ารหัสคีย์สาธารณะ ฟังก์ชันแฮช ฯลฯ) ไม่ใช่เรื่องง่ายที่จะบอกว่าโปรโตคอลนี้ "เชื่อมต่อได้" หรือไม่
เนื่องจากเราได้รับ "carte blanche" ฉันจะแสดงการโจมตี PITM สองครั้งตามรูปแบบความปลอดภัยและผู้โจมตีที่แตกต่างกัน
โมเดลผู้โจมตีทั่วไป: ฉันถือว่าเป็นผู้โจมตีที่ควบคุมเครือข่ายได้อย่างสมบูรณ์ พวกเขาสามารถแทรก จัดลำดับใหม่ แก้ไข หรือลบข้อความ นอกจากนี้ ผู้โจมตียังได้รับอนุญาตให้ "ลงทะเบียน" ผู้ใช้ใหม่ได้ตลอดเวลา
การโจมตี 1: การผูกมัดข้อมูลประจำตัวที่ไม่ถูกต้องและความต้องการ PKE ที่ปลอดภัยมากกว่า CPA
ตามที่เขียนไว้ ดูเหมือนว่าโปรโตคอลควรจะปลอดภัยตราบเท่าที่มีการใช้รูปแบบ PKE ที่ "ปลอดภัย" อย่างไรก็ตาม แนวคิดพื้นฐานเกี่ยวกับความปลอดภัยเช่นเดียวกับความปลอดภัยเชิงความหมายนั้นยังไม่เพียงพอ ในระดับสูง เมื่อสิ้นสุดการโจมตี $A$ คิดว่ากำลังคุยกันอยู่ $B$, ในขณะที่ $B$ คิดว่าพวกเขากำลังพูดคุยกับผู้โจมตีพูด $E$.
ในการทำเช่นนั้น เราจะแสดง CPA ที่ปลอดภัย PKE ซึ่งการโจมตีเป็นไปได้ อนุญาต $\คณิตศาสตร์ E$ เป็นแบบแผน PKE "ไฮบริด" (อิงตามอย่างอื่น) บนฟังก์ชันประตูกล ที่เข้ารหัสของข้อความ $m$ ภายใต้ $pk$ประกอบด้วยการสร้างค่าสุ่มโดยประมาณ $s$ จากนั้นสร้างคีย์การเข้ารหัสแบบสมมาตร $k = H(s)$. $k$ จากนั้นจะใช้เพื่อเข้ารหัสข้อความด้วยการเข้ารหัสแบบสตรีม เช่น อัลกอริทึม โดยสร้างข้อความเข้ารหัส $ค$. ไซเฟอร์เท็กซ์สุดท้ายจากโครงร่าง PKE คือ $$\{m\}_{pk} = (enc_{PKE}(pk, s), ค)$$
การโจมตีทำงานดังนี้
- $ A\ลูกศรขวา B: c_1 = \{N_A,A\}_{pk(B)} $
- ผู้โจมตีสกัดกั้นข้อความนี้ สร้างผู้ใช้ใหม่ $E$แก้ไขข้อความรหัสเป็นค่า $c_1'$ ดังกล่าวเพื่อถอดรหัสเป็น $N_A, E$. สิ่งนี้เป็นไปได้เนื่องจากเรากำลังใช้รหัสสตรีม (เรายังถือว่า nonce และตัวตนมีความยาวคงที่ เป็นต้น...)
- $B$ ถอดรหัสข้อความและดูเหมือนว่า $E's$ ข้อมูลประจำตัว ดังนั้น ข้อความที่สองจะถูกส่งไป $E$
- $B \ลูกศรขวา E: c_2 = \{N_A. N_B\}_{pk_E}$.
- $E$ ถอดรหัส $c_2$และได้รับ nonce
- $E \ลูกศรขวา A: c_2' = \{N_A, N_B\}_{pk_A}$
- $A \ลูกศรขวา B: c_3 = H(N_B, A, B)$
- $E$ สกัดกั้นดร็อบบ์ $c_3$ และส่ง $c_3' = H(N_B, E, B)$
จากกระแสข้างต้น มุมมองของ $A$ ก็เหมือนกับว่ามีปฏิสัมพันธ์กับ $B$ในขณะที่มุมมองของ $B$ ราวกับว่ามีปฏิสัมพันธ์กับ $E$.
การโจมตี 2: การเปิดเผยความลับในระยะยาวและความซื่อสัตย์ของการประนีประนอม
ที่นี่ความสามารถของผู้โจมตีแข็งแกร่งขึ้น และเราอนุญาตให้ประนีประนอมกับคีย์ลับระยะยาวได้ เห็นได้ชัดว่าถ้า $sk_A$ ถูกบุกรุก (และ $A$ ยังไม่ทราบ) ผู้โจมตีสามารถปลอมตัวได้ $A$ ตามใจ; อย่างไรก็ตาม ดูเหมือนว่าเป็นเรื่องปกติที่จะคาดหวังว่าหาก $A$ ดำเนินการเซสชันด้วยความซื่อสัตย์ $B$, $A$ ควรมีความมั่นใจว่าเธอคุยกับใคร อย่างไรก็ตามในการโจมตีครั้งนี้ การประนีประนอมของ $sk_A$ หมายความว่าผู้โจมตีสามารถสวมบทบาทเป็นบุคคลใดก็ได้ $A$.
แนวคิดพื้นฐานข้างต้นคือ ผู้โจมตี PITM จะสามารถถอดรหัสข้อความที่สองได้ $\{N_A, N_B\}_{pk_A}$. ผู้โจมตีสามารถสรุปการโต้ตอบกับ $A$ และ "ตัดสาย" ไปทาง B ด้วยเหตุนี้ $A$ คิดว่าพวกเขากำลังพูด $B$ ทั้งที่คุยกับบีอยู่แท้ๆ