แนวคิดของการใช้คู่คีย์คงที่คือข้อมูลในการแลกเปลี่ยนคีย์ได้รับการลงนาม ไม่สำคัญหรอกว่าจะเซ็นชื่ออะไร ตราบใดที่การแลกเปลี่ยนคีย์นั้นไม่สามารถทำได้โดยฝ่ายตรงข้าม
ในการตรวจสอบลายเซ็น จำเป็นต้องมีรหัสสาธารณะของผู้ลงนาม ที่เชื่อถือ. นี่คือสิ่งที่คุณขาดหายไปในคำอธิบาย หากผู้ตรวจสอบยอมรับเพียงคีย์เดียวหรือชุดคีย์เดียว ลายเซ็นของฝ่ายตรงข้ามจะถูกปฏิเสธ การตรวจสอบลายเซ็นจะล้มเหลวและคีย์จะไม่ถูกสร้างหรือใช้
วิธีใส่รหัสสาธารณะที่เชื่อถือจะกลายเป็นปัญหาต่อไป นี่ไม่ใช่ส่วนหนึ่งของโปรโตคอลข้อตกลงที่สำคัญ วิธีหนึ่งคือการเชื่อถือคีย์สาธารณะหนึ่งอย่างชัดเจน เช่น การตรวจสอบลายนิ้วมือของคีย์สาธารณะทางโทรศัพท์ นอกจากนี้ยังอาจเป็นไปได้ว่ามีการอัปโหลดคีย์ผ่านช่องที่เชื่อถือได้ นี่คือสิ่งที่มักจะดำเนินการกับคีย์สาธารณะ SSH
สำหรับ TLS ความน่าเชื่อถือนั้นสร้างขึ้นโดยการเชื่อถือใบรับรอง (รูท) ของผู้ออกใบรับรอง สิ่งเหล่านี้มีหน้าที่รับผิดชอบในการสร้างใบรับรองสำหรับเอนทิตีที่สามารถแสดงว่าควบคุมโดเมนใดโดเมนหนึ่งเท่านั้น ใบรับรองเหล่านี้มีทั้งโดเมนนั้นและรหัสสาธารณะที่ใช้สำหรับการตรวจสอบ โครงสร้างนี้เรียกว่า PKIX: โครงสร้างพื้นฐานคีย์สาธารณะโดยใช้ใบรับรอง X.509 และรายการเพิกถอนใบรับรอง
หมายเหตุบางส่วน:
- ฉันได้ลบการกล่าวถึงข้อตกลงสำคัญหรืออัลกอริทึมการสร้างลายเซ็น/การยืนยัน - อัลกอริทึมที่ใช้นั้นไม่สำคัญสำหรับคำถามนี้
- นอกจากนี้ยังเป็นไปได้ที่จะเชื่อถือรหัสสาธารณะ (คงที่) Diffie-Hellman แต่คุณจะต้องสูญเสีย ส่งต่อความลับ - หากคีย์ส่วนตัวระยะยาวของคู่คีย์นั้นรั่ว ฝ่ายตรงข้ามสามารถเล่นข้อตกลงคีย์ซ้ำและถอดรหัสข้อความทั้งหมดได้ (และทำให้ PKI ซับซ้อนด้วย)
- การสร้างลายเซ็นไม่เหมือนกับการเซ็นข้อความหรือแฮชข้อความ และการตรวจสอบก็ไม่เหมือนกับ "การถอดรหัสด้วยคีย์สาธารณะ" - คีย์สาธารณะของ Diffie-Hellman จะเป็นเพียงแค่ ส่งที่ชัดเจน พร้อมทั้งลงลายมือชื่อกำกับไว้ด้วย
- อาจจำเป็นต้องมีการควบคุมการเข้าถึงเพิ่มเติมหลังจากสร้างเซสชันแล้ว นั่นคือเหตุผลที่ใบรับรองที่ใช้สร้างการเชื่อมต่อมักถูกส่งผ่านไปยังส่วนหลังและใช้ในระบบควบคุมการเข้าถึงบางประเภท