ความปลอดภัยของแบบแผนลายเซ็นไม่จำเป็นต้องเข้ารหัสข้อความ อัลกอริทึมแฮชและพารามิเตอร์อัลกอริทึมลายเซ็นเป็นที่รู้จักต่อสาธารณะและเป็นความลับเท่านั้น กุญแจของผู้ลงนามจะต้องถูกเก็บเป็นความลับตลอดเวลา. การแฮชก่อนลงนามเป็นส่วนหนึ่งของรูปแบบลายเซ็นตั้งแต่รูปแบบลายเซ็นแรกที่แท้จริง ราบิน ซิกเนเจอร์ โครงการ
ในการรักษาความปลอดภัยของแผนลายเซ็น เรามีผู้ปลอมแปลงที่เป็นปฏิปักษ์ ซึ่งมีเป้าหมายคือการปลอมแปลงลายเซ็นของข้อความที่ไม่เคยลงนามมาก่อน สำหรับเกมง่าย ๆ คุณสามารถพิจารณาได้ว่าผู้ปลอมแปลงได้รับ $n$ คู่ของ $(\sigma_i,m_i)$ นั่นคือข้อความและคู่ลายเซ็น ตอนนี้หากผู้ปลอมแปลงสามารถส่งข้อความใหม่ได้ $m \neq m_i$ สำหรับ $i \in \{1,n\}$ พร้อมลายเซ็นที่ถูกต้อง $(\sigma,m)$ เราเรียกสิ่งนี้ว่าเป็นการปลอมลายเซ็นดิจิทัลด้วย การปลอมแปลงที่มีอยู่.
เป็นไปได้หรือไม่ที่จะเซ็นชื่อข้อความด้วยรหัสส่วนตัวแบบเข้ารหัสในขณะที่เปิดเผยเนื้อหาภาพล่วงหน้าต่อสาธารณะ
ใช่. ตราบใดที่ข้อความไม่จำเป็นต้องเป็นความลับ ก็ไม่มีปัญหากับรูปแบบลายเซ็นที่ปลอดภัย เช่น RSASSA-PSS, DSA, ECDSA, EdDSA, Schnoor เป็นต้น สามารถเซ็นข้อความโดยไม่เข้ารหัสได้ นี่เป็นเรื่องปกติในสื่อดิจิทัล คุณสามารถดูเนื้อหาและลายเซ็นของ PDF รูปภาพ เอกสารราชการ ฯลฯ และตรวจสอบลายเซ็นได้หากคุณมีรหัสสาธารณะที่แท้จริงของผู้ลงนาม
โปรดทราบว่าหากอัลกอริทึมการแฮชไม่สามารถป้องกันภาพก่อนหน้าที่สองได้ การปลอมแปลงก็ใกล้เข้ามาแล้ว ใช้ฟังก์ชันการเข้ารหัสที่ทนต่อการชนกันเพื่อให้บรรลุผลเป็นอย่างน้อย Universal Forgery (UF) ภายใต้ Chosen-Message Attack (CMA) UF-CMAเช่น SHA2, SHAKE ของ SHA3 และ BLAKE2
หากเราอาศัยเพียงการต้านทานภาพล่วงหน้าที่สองของ SHA-1 ก็จะมีการโจมตีการชนกันของ $\operatorname{SHA-1}$ ชอบ;
- อลิซสร้างสองข้อความที่มีค่า SHA-1 เท่ากัน $m_1$ คือสิ่งที่บ๊อบต้องการลงนามและ $m_2$ คือสิ่งที่อลิซได้เปรียบสำหรับพวกเขาเอง
- อลิซมาส่ง $m_1$ ถึง Bob และ Bob อ่านและลงนาม $$(\sigma,m_1) = เครื่องหมาย( \operatorname{SHA-1}(m_1))$$
- อลิซมาส่ง $(\sigma,m_2)$ ถึงชาร์ลี
- ชาลีตรวจสอบสัญญาณตั้งแต่ $\operatorname{SHA-1}(m_1) = \operatorname{SHA-1}(m_2)$
- อลิซได้ประโยชน์
อย่าตั้งค่าการรักษาความปลอดภัยบนโครงร่างที่เสียหาย แม้ว่าจะลดความเสี่ยงในปัจจุบันแล้วก็ตาม