ฉันกำลังพยายามพัฒนาโปรโตคอลอย่างง่ายสำหรับผู้ใช้สองคนเพื่อตรวจสอบ (เกี่ยวกับหน่วยงานกลางที่เชื่อถือได้) ว่าพวกเขาได้พบ/สื่อสารกัน (โดยตั้งใจ)
แนวคิดของฉันคือ: ผู้ใช้เป็นเจ้าของคู่คีย์ (สาธารณะ, ลับ) ของระบบอสมมาตรทั่วไปเช่น RSA รหัสสาธารณะของพวกเขายังเป็นเซิร์ฟเวอร์เป็นตัวระบุ เพื่อให้คนสองคนยืนยันว่ามีการติดต่อกัน พวกเขาทั้งคู่จะสร้างหมายเลขสุ่ม 256 บิต แบ่งปันให้กันและกัน (ในกรณีแอปพลิเคชัน/การใช้งานแบบเยื้อง นี้ตั้งใจให้เกิดขึ้นเฉพาะบุคคลเท่านั้น ไม่เกินระยะทาง) และ จากนั้นส่งหมายเลขที่เชื่อมต่อกันอย่างปลอดภัย (เช่น HTTPs) ไปยังหน่วยงานกลางที่เข้ารหัสด้วยคีย์ส่วนตัวที่เกี่ยวข้อง พวกเขายังจะส่งรหัสสาธารณะ/รหัสของตนเพื่อระบุตัวตนของตนไปยังหน่วยงานกลาง ซึ่งจะสามารถตรวจสอบได้ว่าทั้งสองได้ส่งข้อความเดียวกันหลังจากถอดรหัสด้วยรหัสสาธารณะของตน ซึ่งทั้งคู่จะพิสูจน์ตัวตนและการสื่อสารก่อนหน้าของพวกเขา
ฉันรู้ว่ามันยืมตัวเองไปสู่การโจมตีแบบคนกลาง ซึ่งคนกลางสามารถถ่ายทอดหมายเลขสุ่มของคนสองคนให้กันและกัน แกล้งทำเป็นการประชุมระหว่างสองคนนี้อย่างมีประสิทธิภาพและไม่รวมตัวเขาเองระบบจริงที่ฉันตั้งใจจะใช้จะทำให้สิ่งนี้เป็นไปไม่ได้จริง เนื่องจากผู้ใช้ทั้งสองต้องส่งข้อความถึง CA ในกรอบเวลาที่สั้นมาก และโดยทั่วไปแล้วผู้ใช้จะแบ่งปันรหัสแบบสุ่มต่อหน้าเท่านั้น ซึ่งการโจมตี MITM ดังกล่าวจะเห็นได้ชัด
แก้ไข: จุดประสงค์หลักคือให้ผู้ใช้สองคนพิสูจน์ตัวตนของพวกเขา โดยเจตนา การสื่อสาร/การประชุม. ไม่มีแรงจูงใจและไม่มีอันตรายในการสมรู้ร่วมคิดเพื่อยืนยันด้วยวิธีนี้ว่าการประชุมที่เกิดขึ้นจากระยะไกลเท่านั้น ตราบใดที่ทั้งสองฝ่ายตระหนักถึงการกระทำนี้
ด้วยสิ่งนี้กล่าวว่านี่เป็นความคิดที่ไม่ดี ถ้าใช่ เพราะเหตุใด