AFAICT ไม่ เธอใช้แบบนั้นไม่ได้ แค่ ข้อมูลในหนังสือเดินทางของเธอตามที่คุณอธิบาย* และถือว่าอัลกอริทึมลายเซ็นดิจิทัลเป็นกล่องดำ
อย่างไรก็ตาม หากรัฐบาลเล็งเห็นถึงกรณีการใช้งานนี้และใส่ข้อมูลเพิ่มเติมเพียงเล็กน้อยในหนังสือเดินทางของเธอ เป็น วิธีทำโดยใช้เช่น วิธีแฮชเชนที่อธิบายไว้ใน กระทู้ถามตอบก่อนหน้านี้ (อ้างอิงจาก กระดาษปี 2013 โดย Angel & Walfish).
โดยเฉพาะอย่างยิ่ง สิ่งที่อลิซต้องการคือ:
ฟังก์ชันแฮชการเข้ารหัสแบบป้องกันภาพล่วงหน้า $H$ ที่ได้มาตรฐานจากภาครัฐ สิ่งที่ต้องการ SHA-256 จะดี
โทเค็นลับที่รัฐบาลออกให้ $s$แยกไม่ออกจากการคำนวณจากผลลัพธ์ของ $H$. (ตัวอย่างเช่น, $s$ อาจถูกสร้างขึ้นโดยการเลือกสตริงแบบสุ่ม $r$ โดยมีเอนโทรปีอย่างน้อยที่สุดเท่ากับความยาวของเอาต์พุต $H$ และปล่อยให้ $s = H(r)$.)
แถลงการณ์ลงนามโดยรัฐบาล แบบฟอร์ม:
อลิซ** เกิดในหรือก่อนวันที่ 2050-01-01 (แฮช = $H^a(s)$).
ที่ไหน $a$ คืออายุของอลิซในวันที่ 2050-01-01 และ $H^a$ หมายถึง $H$ ย้ำ $a$ ครั้ง เช่น $H^0(s) = เอส$ และ $H^{n+1}(s) = H(H^n(s))$
ตอนนี้ เพื่อพิสูจน์ให้ Bob เห็นว่าปัจจุบัน (2021-11-24) อายุ 18 ปีขึ้นไป Alice จำเป็นต้องจัดทำเอกสารที่มีลายเซ็นด้านบนพร้อมกับ $h = H^b(s)$, ที่ไหน $ข$ คืออายุของอลิซในหน่วยวันเมื่อ 18 ปีก่อนพอดี (เช่น วันที่ 11/2003-11-24)
บ๊อบสามารถคำนวณได้ $H^c(ซ)$, ที่ไหน $c = 16840$ คือจำนวนวันระหว่าง 2003-11-24 และ 2050-01-01 และเปรียบเทียบกับแฮชในคำสั่งที่ลงนามของอลิซ หากการอ้างสิทธิ์ของอลิซถูกต้อง ก็ควรตรงกันตั้งแต่นั้นเป็นต้นมา $a = b + c$และด้วยเหตุนี้ $H^c(h) = H^c(H^b(s)) = H^a(s)$.
(แน่นอนว่าบ๊อบควรตรวจสอบด้วยว่าข้อความของอลิซลงนามอย่างถูกต้องด้วยรหัสการลงนามของรัฐบาล และเป็นของเธอจริงๆ ไม่ใช่พี่สาวของเธอ)
โปรดทราบว่า เพื่อความสะดวกในการคำนวณและเพื่อลดการโจมตีด้วยเวลา อาจเป็นที่ต้องการสำหรับ Alice ในการคำนวณล่วงหน้าและจัดเก็บ $H^{b'}(s)$ สำหรับค่าต่างๆของ $ข'$ ตรงกับอายุของเธอเป็นวันในช่วงต้นปีจนถึงปัจจุบัน ด้วยวิธีนี้ เธอจะต้องดำเนินการประเมินแฮชสูงสุด 365 รายการ ณ จุดนั้นเท่านั้นจึงจะคำนวณได้ $H^b(s)$ สำหรับใดๆ $ข$.
เพื่อลดความต้องการด้านการคำนวณของ Bob รัฐบาลอาจต้องการออกแถลงการณ์ที่มีลายเซ็นหลายฉบับของแบบฟอร์มข้างต้นของ Alice แต่มีวันที่ต่างกันและค่าที่สอดคล้องกันของ $a$เพื่อให้อลิสสามารถส่งคำชี้แจงที่ลงนามให้บ็อบ เช่น 2004-01-01 แทน 2050-01-01 จากนั้นอีกครั้ง การประเมิน SHA-256 สองสามพันครั้งในปัจจุบันยังถือว่าไม่มาก และ Bob ก็ไม่จำเป็นต้องกังวลเกี่ยวกับการโจมตีช่องทางด้านข้าง
อย่างไรก็ตาม การออกแถลงการณ์ที่ลงนามหลายฉบับยังช่วยรักษาคุณสมบัติที่ไม่มีความรู้ในกรณีที่มีการโรลโอเวอร์ ตัวอย่างเช่น สมมติว่าเดิมทีรัฐบาลเลือกวันที่ 2030-01-01 เป็นวันที่แน่นอนสำหรับแถลงการณ์ที่ลงนาม แต่เมื่อไม่กี่ปีก่อนตัดสินใจเลื่อนเป็นปี 2050 เนื่องจากพวกเขาเริ่มออกหนังสือเดินทางที่ใช้ได้จนถึงปี 2030 และหลังจากนั้น นี่หมายความว่า อย่างน้อยที่สุด Bob สามารถเรียนรู้จากวันที่ในคำแถลงของ Alice ว่าหนังสือเดินทางของเธอออกก่อนหรือหลังการเปลี่ยนผ่าน ซึ่งอาจสัมพันธ์กับข้อมูลอื่นๆ รวมถึงอายุของเธอด้วย โดยให้อลิสเซ็นงบให้ ทั้งสอง 2030-01-01 และ 2050-01-01 (และอาจเป็นวันที่อื่นๆ ที่เกี่ยวข้อง) สามารถหลีกเลี่ยงการรั่วไหลนี้ได้ เนื่องจาก Alice สามารถเลือกข้อความที่มีวันที่เหมาะสมก่อนหน้านี้สำหรับคำขอของ Bob (แต่ไม่ใช่เร็วกว่าวันที่แน่นอน เธอต้องการพิสูจน์ว่าเธอเกิดในหรือก่อนนั้น)
ปล. ตามที่ระบุไว้ใน คำตอบของฉันสำหรับคำถามที่เชื่อมโยงด้านบนสามารถใช้โปรโตคอลเดียวกันเพื่อให้อลิซพิสูจน์อายุที่แน่นอนของเธอได้ ในการทำเช่นนี้อลิซจำเป็นต้องรู้ไม่ใช่แค่ $s = H(r)$ แต่ยังรวมถึงโทเค็นแบบสุ่มดั้งเดิมด้วย $r$ซึ่งควรเลือกโดยรัฐบาลก็ว่าได้ ไม่ ผลลัพธ์ที่ถูกต้องของ $H$.
จากนั้น หากอลิซต้องการพิสูจน์ให้บ็อบเห็นว่าเธอเกิดวันที่ 1975-05-04 และไม่เกิดเร็วกว่านั้น เธอก็สามารถเปิดเผยวันที่นั้นพร้อมกับ $r$ และอย่างน้อยหนึ่งข้อความลงนามของแบบฟอร์มด้านบน บ๊อบสามารถคำนวณอายุที่อ้างสิทธิ์ของอลิซเป็นวัน $a$ ณ วันที่ระบุในใบแจ้งยอด ให้คำนวณ $H^a(s) = H^{a+1}(r)$ และเปรียบเทียบกับแฮชในคำสั่งที่ลงนาม
แน่นอน ด้วยโปรโตคอลรูปแบบนี้ Bob ยังจำเป็นต้องตรวจสอบรูปแบบของ $s$ หรือ $r$ โทเค็นที่ส่งโดยอลิซ (เช่น เป็นเอาต์พุตที่ถูกต้องของ $H$ สำหรับการเรียกร้อง "เกิดในหรือก่อน" และ ไม่ ผลลัพธ์ที่ถูกต้องของ $H$ สำหรับคำร้อง "เกิดวันที่นี้")
ทั้งหมดที่กล่าวมา ในสถานการณ์ของคุณ ลายเซ็นของรัฐบาลแยกต่างหากสำหรับ "อลิซเกิดวันที่ 1975-05-04" จะตอบสนองจุดประสงค์นี้เช่นกัน
เชิงอรรถ:
*) คำอธิบายของคุณที่ว่า "[e] ทรัพย์สินแต่ละแห่งได้รับการลงนามแยกกัน" นั้นค่อนข้างมีปัญหาหากพิจารณาตามมูลค่าจริง เนื่องจากการที่รัฐบาลลงนามในทรัพย์สินแต่ละรายการ เช่น "ชื่อจริง: อลิซ" หมายความว่าใครก็ตามที่ได้เห็นการลงนามของอลิซ ชื่อจริงสามารถทำสำเนาลายเซ็นและใช้เพื่ออ้างว่าเป็นชื่อจริงได้ อีกด้วย อลิซ. นอกจากนี้ ตัวอย่างเช่น หากอลิซ แอนดรูว์และบ็อบ บาร์เกอร์มีหนังสือเดินทางที่มีชื่อและนามสกุลที่ลงนามแยกกัน พวกเขาสามารถรวมเข้าด้วยกันเพื่อสร้างหนังสือเดินทางปลอมสำหรับ "อลิซ บาร์เกอร์" หรือ "บ็อบ แอนดรูว์"
วิธีแก้ไขที่ดีกว่าเล็กน้อยคือให้คุณสมบัติใดคุณสมบัติหนึ่งบนหนังสือเดินทางเป็น ID เฉพาะ และรวม ID นั้นไว้ในคุณสมบัติที่ลงนามทั้งหมด ดังนั้น ตัวอย่างเช่น ผู้ที่ได้เห็นข้อความที่มีลายเซ็นของแบบฟอร์ม "ID: #123456789; ชื่อจริง: Alice" สามารถยืนยันได้ว่า Alice ซึ่งมีหนังสือเดินทางที่มี ID #123456789 มีชื่อจริงว่า "Alice" แต่ จะใช้ลายมือชื่อใครอ้างไม่ได้ อย่างอื่น ชื่อแรกคืออลิซ
แน่นอนว่าแผนการนี้ยังมีข้อบกพร่องในตัวเอง เช่น อลิซอาจต้องการพิสูจน์ให้บ็อบเห็นว่าเธอชื่ออลิซ ปราศจาก Bob สามารถพิสูจน์ข้อเท็จจริงนั้นกับคนอื่นได้ การดำเนินการดังกล่าว การรับรองความถูกต้องที่ปฏิเสธได้ รูปแบบดูเหมือนอยู่นอกขอบเขตของคำตอบนี้ แม้ว่าคุณอาจต้องการดูเช่น อันก่อนหน้านี้.
**) ในที่นี้ฉันใช้ "Alice" แทน ID เฉพาะที่ออกโดยรัฐบาลของ Alice ดังที่อธิบายไว้ในเชิงอรรถก่อนหน้านี้ด้านบน