โปรโตคอลกบปากกว้าง
โปรโตคอล Wide -Mouth Frog [ 1 ]เป็นโปรโตคอลการตรวจสอบความถูกต้องของเครือข่ายคอมพิวเตอร์ ที่ออกแบบมาเพื่อใช้ในเครือข่ายที่ไม่ปลอดภัย ( เช่น อินเทอร์เน็ต ) โปรโตคอลนี้อนุญาตให้บุคคลที่สื่อสารผ่านเครือข่ายสามารถพิสูจน์ตัวตนของตนเองต่อกันได้ ในขณะเดียวกันก็ป้องกันการดักฟังหรือการโจมตีแบบเล่นซ้ำ และยังสามารถตรวจจับการแก้ไขและป้องกันการอ่านโดยไม่ได้รับอนุญาตได้อีกด้วย ซึ่งสามารถพิสูจน์ได้โดยใช้ Degano
ประวัติศาสตร์
โปรโตคอลนี้ได้รับการอธิบายครั้งแรกภายใต้ชื่อ "โปรโตคอลกบปากกว้าง" ในบทความ "ตรรกะของการตรวจสอบสิทธิ์" (1990) ซึ่งแนะนำตรรกะ Burrows–Abadi–Needhamและในบทความนั้น โปรโตคอลนี้เป็น "โปรโตคอลที่ยังไม่ได้เผยแพร่ ... เสนอโดย" ผู้ร่วมเขียนMichael Burrows [ 2 ] บทความไม่ได้ให้เหตุผลใดๆ สำหรับชื่อแปลกๆ ของโปรโตคอลนี้
คำนิยาม
สามารถระบุโปรโตคอลได้ดังต่อไปนี้ในสัญกรณ์โปรโตคอลความปลอดภัย[ 1 ] [ 2 ] [ 3 ]พิจารณา:
- A, B และ S คือตัวตนของอลิซ บ็อบ และเซิร์ฟเวอร์ที่เชื่อถือได้ ตามลำดับ
- และเป็นค่าเวลาที่สร้างขึ้นโดย A และ S ตามลำดับ
- เป็นกุญแจสมมาตรที่รู้เฉพาะ A และ S เท่านั้น
- เป็นคีย์สมมาตรที่สร้างขึ้น ซึ่งจะเป็นคีย์เซสชันของเซสชันระหว่าง A และ B
- เป็นกุญแจสมมาตรที่รู้เฉพาะ B และ S เท่านั้น
ดังนั้น ขั้นตอนการดำเนินการจึงเป็นดังนี้:
โปรดทราบว่า เพื่อป้องกันการโจมตีแบบแอคทีฟ จำเป็นต้องใช้การเข้ารหัสแบบตรวจสอบความถูกต้อง (หรือการตรวจสอบความถูกต้องของข้อความ) ในรูปแบบใดรูปแบบหนึ่ง
ปัญหา
โปรโตคอลนี้มีปัญหาหลายประการ:
- จำเป็นต้องใช้นาฬิกาสากล
- เซิร์ฟเวอร์ S สามารถเข้าถึงคีย์ทั้งหมดได้
- ค่าของคีย์เซสชันนั้นถูกกำหนดโดยA อย่างสมบูรณ์ ซึ่ง A ต้องมีความสามารถเพียงพอที่จะสร้างคีย์ที่ดีได้
- ระบบสามารถเล่นข้อความซ้ำได้ภายในช่วงเวลาที่เวลาประทับนั้นยังถูกต้อง
- Aไม่ได้มั่นใจว่าBมีอยู่จริง
- โปรโตคอลนี้มีสถานะ (stateful) ซึ่งโดยทั่วไปแล้วไม่เป็นที่ต้องการ เนื่องจากต้องใช้ฟังก์ชันการทำงานและความสามารถเพิ่มเติมจากเซิร์ฟเวอร์ ตัวอย่างเช่นSต้องสามารถรับมือกับสถานการณ์ที่Bไม่สามารถใช้งานได้