จากสิ่งที่ฉันได้อ่านมา nonces เป็นค่าสุ่มแบบครั้งเดียว ซึ่งจะถูกส่งเป็นข้อความธรรมดานอกเหนือจากข้อความรหัสเพื่อยืนยันตัวตนของผู้ส่ง/ผู้รับ ในทางทฤษฏี หาก nonce สุ่มขึ้นมา ผู้โจมตี E สามารถสกัดกั้นข้อความของ Alice ที่กำหนดให้กับ Bob และปลอมตัวเป็น Bob โดยการสร้าง nonce แบบสุ่ม โดยไม่ต้องติดต่อกับ Bob
ดังนั้นหากโปรโตคอลตอบกลับคำขอคือ:
ก â ข : นก
B â A : {นก, นข}เค
ก â ข : นข
โดย nA,nB เป็น nonces และ K เป็นคีย์ที่ใช้ร่วมกันแบบสมมาตรระหว่าง Alice และ Bob
- ผู้โจมตีสามารถสะท้อนการโจมตีกลับไปที่อลิซโดยเพียงแค่เปลี่ยน nonce ได้หรือไม่?
วิธีนี้ทำให้ A หลงกลโดยคิดว่า B กำลังเริ่มต้นการสื่อสารกับ A จากนั้นเธอก็จะแบ่งปัน nonce ของทั้งคู่ที่เข้ารหัสด้วยกุญแจ
ในกรณีนี้ (แก้ไขบรรทัดที่ 2 ของโปรโตคอล):
B â A : {นก, นอี}เค
นำไปสู่การโจมตีข้อความธรรมดาที่เป็นที่รู้จัก ผู้โจมตีมีความรู้ทั้งข้อความธรรมดาและข้อความเข้ารหัสในสถานการณ์นี้ ดังนั้นเขาจึงสามารถรับรหัสลับได้
- ข้อบกพร่องนี้ในโปรโตคอลสามารถแก้ไขได้โดย:
- ใช้ k กับ nonce?
- รวมถึงตัวระบุของ B (ตัวรับ) ในไซเฟอร์เท็กซ์ตัวที่สอง?
แก้ไขข้อเสนอ
ก â ข : {นก}เค
B â A : {ข, นก}เค
ก â ข : {นข}เค