ภาพรวมของขั้นตอนการไม่เปิดเผยตัวตนสำหรับระบบการลงคะแนนอิเล็กทรอนิกส์ระยะไกล

В สิ่งพิมพ์ก่อนหน้า เราตกลงกับความจริงที่ว่าในระบบการลงคะแนนอิเล็กทรอนิกส์ระยะไกลที่เรากำลังพิจารณานั้น อัลกอริธึม "ลายเซ็นอิเล็กทรอนิกส์แบบปกปิด" ที่เข้ารหัสลับถูกนำมาใช้เพื่อให้แน่ใจว่าการลงคะแนนเสียงเป็นความลับและไม่ระบุชื่อผู้มีสิทธิเลือกตั้ง ในบทความนี้เราจะดูรายละเอียดเพิ่มเติม

ก่อนอื่นเรามาดูอัลกอริธึมลายเซ็นอิเล็กทรอนิกส์ที่รู้จักกันดีและคุ้นเคยซึ่งใช้กันอย่างแพร่หลายในระบบสารสนเทศเพื่อวัตถุประสงค์ต่างๆ ลายเซ็นอิเล็กทรอนิกส์จะขึ้นอยู่กับอัลกอริธึมการเข้ารหัสแบบอสมมาตรในการเข้ารหัส การเข้ารหัสแบบอสมมาตรคือการเข้ารหัสโดยใช้ 2 คีย์: หนึ่งในนั้นใช้สำหรับการเข้ารหัส และอีกอันสำหรับการถอดรหัส เรียกว่าคีย์เปิด (สาธารณะ) และคีย์ส่วนตัว ผู้อื่นรู้จักคีย์สาธารณะ และคีย์ส่วนตัวเป็นที่รู้จักเฉพาะเจ้าของลายเซ็นอิเล็กทรอนิกส์เท่านั้น และถูกจัดเก็บไว้ในที่ที่ผู้อื่นไม่สามารถเข้าถึงได้

เมื่อลงนามสิ่งต่อไปนี้จะเกิดขึ้น: ขั้นแรกเอกสารอิเล็กทรอนิกส์ที่ใช้การแปลงทางคณิตศาสตร์จะลดลงเป็นลำดับของอักขระในขนาดที่กำหนดซึ่งเรียกว่าฟังก์ชันแฮช

ลำดับอักขระผลลัพธ์ (แฮชจากเอกสาร) จะถูกเข้ารหัสโดยผู้ส่งเอกสารโดยใช้คีย์ส่วนตัว และส่งไปยังผู้รับพร้อมกับคีย์สาธารณะ ผู้รับถอดรหัสลำดับอักขระโดยใช้คีย์สาธารณะ ใช้ฟังก์ชันแฮชแบบเดียวกันทุกประการกับเอกสาร และเปรียบเทียบผลลัพธ์การแปลงกับผลลัพธ์การถอดรหัส หากทุกอย่างตรงกัน จะไม่มีการเปลี่ยนแปลงใดๆ ในเอกสารหลังจากที่ผู้ส่งลงนามแล้ว

การดำเนินการที่อธิบายไว้ช่วยให้คุณสามารถตรวจสอบว่าเอกสารไม่มีการเปลี่ยนแปลง แต่ไม่อนุญาตให้คุณตรวจสอบได้ว่าผู้ส่งคือบุคคลที่เขาอ้างว่าเป็นจริงๆ ดังนั้นเราจึงต้องการบุคคลที่สามที่ได้รับความไว้วางใจจากทั้งผู้ส่งและผู้รับ ในการดำเนินการนี้ ก่อนที่จะส่งเอกสาร ผู้ส่งจะติดต่อกับบุคคลที่สามและขอให้เธอลงนามในกุญแจสาธารณะของเขาด้วยลายเซ็นอิเล็กทรอนิกส์ของเธอ ตอนนี้ผู้ส่งจะส่งเอกสาร กุญแจสาธารณะของเขา และลายเซ็นบุคคลที่สามของกุญแจของเขาให้ผู้รับ ผู้รับตรวจสอบลายเซ็นของบุคคลที่สามในคีย์สาธารณะและเชื่อถือลายเซ็นเอกสารที่เกิดขึ้น

ตอนนี้เรามาดูกันว่า "ลายเซ็นที่ไม่เปิดเผย" คืออะไร และสามารถช่วยเราในการไม่เปิดเผยตัวตนได้อย่างไร

ลองจินตนาการว่าในตัวอย่างที่อธิบายไว้ข้างต้น ผู้ส่งคือผู้มีสิทธิเลือกตั้ง เอกสารคือบัตรลงคะแนน และผู้รับคือคณะกรรมการการเลือกตั้ง หรือที่เราเรียกว่า "องค์ประกอบการนับคะแนน" เราจะมีส่วนประกอบ "รายชื่อผู้มีสิทธิเลือกตั้ง" เป็นบุคคลที่สาม (ผู้ตรวจสอบ) ในกรณีนี้ กระบวนการสามารถเกิดขึ้นได้ดังนี้

ภาพรวมของขั้นตอนการไม่เปิดเผยตัวตนสำหรับระบบการลงคะแนนอิเล็กทรอนิกส์ระยะไกล

ผู้มีสิทธิเลือกตั้งจะสร้างคีย์คู่หนึ่งบนอุปกรณ์ของเขา ทั้งแบบส่วนตัวและสาธารณะ เนื่องจากคีย์เหล่านี้ถูกสร้างขึ้นบนอุปกรณ์ส่วนตัวของเขาในเบราว์เซอร์ จึงมีเพียงเขาเท่านั้นที่รู้จักคีย์เหล่านี้

เขาจะลงนามในบัตรลงคะแนนเพื่อควบคุมความสมบูรณ์ของบัตรโดยใช้กุญแจเหล่านี้ เขาส่งบัตรลงคะแนนที่ลงนามและกุญแจสาธารณะไปยังคณะกรรมการการเลือกตั้ง เพื่อให้บัตรลงคะแนนได้รับการยอมรับโดยส่วนประกอบการจัดเก็บและการนับคะแนนแบบกระจาย จะต้องตรวจสอบว่ารหัสสาธารณะได้รับการลงนามโดยผู้ตรวจสอบความถูกต้อง

เครื่องมือตรวจสอบ (ส่วนประกอบรายชื่อผู้มีสิทธิ์ลงคะแนน) จะลงนามในกุญแจสาธารณะหลังจากตรวจสอบว่าผู้มีสิทธิ์ลงคะแนนอยู่ในรายชื่อผู้มีสิทธิ์เลือกตั้งเท่านั้น

เพื่อแก้ปัญหาการรักษาความลับในการลงคะแนนเสียง ไม่ควรเปิดเผยรหัสสาธารณะของผู้มีสิทธิเลือกตั้งที่สร้างขึ้นบนอุปกรณ์ของเขา ปรากฎว่าผู้ตรวจสอบต้องลงนามในบางสิ่งที่เขาไม่รู้จัก ดูเหมือนว่างานนี้เป็นไปไม่ได้ แต่อัลกอริธึมการเข้ารหัสเข้ามาช่วยเหลือ - ในกรณีนี้คืออัลกอริธึม "ลายเซ็นที่มองไม่เห็น"

ขั้นแรก จะต้องปิดบังกุญแจสาธารณะบนอุปกรณ์ของผู้มีสิทธิเลือกตั้ง การมาสก์คือประสิทธิภาพของการดำเนินการทางคณิตศาสตร์แต่ละรายการบนอุปกรณ์ของผู้ใช้ ลองนึกภาพว่าคุณคิดเลขสุ่มตั้งแต่ 1 ถึง 100 แล้วนึกถึงเลขสุ่มตัวที่สองจาก 1 ถึง 10 และตัวที่สามจาก 10 เป็น 50 นำเลขความคิดเริ่มแรกยกกำลังของเลขตัวที่สองแล้วหารโดยไม่มี ส่วนที่เหลือโดยที่สาม รายงานผลให้ผู้อื่นทราบแล้ว การเรียกคืนหมายเลขเดิมจะไม่ใช่เรื่องยากเนื่องจากคุณทราบลำดับการกระทำและหมายเลขที่คุณมีอยู่ในใจ แต่คนรอบข้างจะไม่สามารถทำเช่นนี้ได้

การมาสก์ (ปกปิด) ของคีย์สาธารณะจะดำเนินการตามอัลกอริธึมการเข้ารหัสแบบพิเศษ เป็นผลให้ผู้ตรวจสอบลงนามในคีย์สาธารณะที่ถูกปิดบังโดยไม่ทราบรหัสต้นฉบับ แต่ลักษณะเฉพาะของอัลกอริธึมคือผู้ใช้ (ผู้ลงคะแนนเสียง) ซึ่งได้รับลายเซ็นสำหรับคีย์ที่ปิดบังแล้ว สามารถทำการแปลงแบบย้อนกลับ และรับลายเซ็นที่ถูกต้องสำหรับคีย์ดั้งเดิมที่ไม่ได้ปิดบัง

อัลกอริธึมที่อธิบายไว้ใช้กันอย่างแพร่หลายในโปรโตคอลการลงคะแนนลับ ขณะนี้ระบบลงคะแนนอิเล็กทรอนิกส์ระยะไกลใช้อัลกอริธึม RSA ที่มีความยาวคีย์ 4096 บิตสำหรับลายเซ็นที่ไม่เปิดเผย

โดยทั่วไป ขั้นตอนการปกปิดตัวตนจะเป็นดังนี้

  1. เมื่อมีการสร้างการโหวต คู่คีย์ “ตัวตรวจสอบ” แยกต่างหากจะถูกสร้างขึ้น และคีย์สาธารณะจะถูกบันทึกในบล็อกเชน คู่คีย์ที่ไม่ซ้ำกันจะถูกสร้างขึ้นสำหรับการโหวตแต่ละครั้ง
  2. ผู้ใช้จะถูกระบุตัวตนในระบบการระบุตัวตน (ในกรณีนี้คือใน ESIA) และให้สิทธิ์ในการถ่ายโอนข้อมูลการระบุตัวตนของเขาจากระบบการระบุตัวตนไปยัง DEG PTC
  3. ส่วนประกอบ "รายชื่อผู้มีสิทธิเลือกตั้ง" ของ DEG PTC จะตรวจสอบการมีอยู่ของผู้ใช้ในรายชื่อผู้มีสิทธิเลือกตั้ง
  4. บนอุปกรณ์ของผู้ใช้ คีย์ส่วนตัวจะถูกสร้างขึ้น - ส่วนตัวและสาธารณะ ซึ่งมีเพียงเขาเท่านั้นที่รู้จัก
  5. รหัสสาธารณะถูกปกปิดบนอุปกรณ์ของผู้ใช้
  6. เมื่อใช้ร่วมกับข้อมูลระบุตัวตนและคีย์สาธารณะที่ปกปิด ผู้ใช้จะเข้าถึงส่วนประกอบ "รายชื่อผู้มีสิทธิเลือกตั้ง"
  7. ส่วนประกอบจะตรวจสอบการมีอยู่ของผู้ใช้ในรายการอีกครั้งและความจริงที่ว่าเขาไม่เคยได้รับลายเซ็นมาก่อน
  8. หากการตรวจสอบทั้งหมดสำเร็จ กุญแจจะถูกเซ็นชื่อ
  9. ข้อเท็จจริงของการลงนามคีย์จะถูกบันทึกไว้ในบล็อคเชน
  10. ผู้ใช้บนอุปกรณ์ของเขาจะถอดมาสก์ออกจากคีย์สาธารณะ และรับคีย์ส่วนตัว คีย์สาธารณะ และลายเซ็นบนคีย์สาธารณะ และคีย์ทั้งหมดจะรู้จักเฉพาะเขาเท่านั้น
  11. หลังจากนั้น ผู้ใช้จะถูกโอนไปยังโซนนิรนาม - ไปยังเว็บไซต์แยกต่างหาก edg2020.gov.ru ซึ่งไม่สามารถระบุตัวเขาได้ (เช่น ก่อนการเปลี่ยนแปลง เขาสามารถเชื่อมต่อ VPN หรือเปลี่ยนผู้ให้บริการอินเทอร์เน็ต เปลี่ยนแปลงโดยสิ้นเชิง ที่อยู่ IP)
  12. การยอมรับบัตรลงคะแนนจะขึ้นอยู่กับว่าลายเซ็น "ของผู้ตรวจสอบ" ได้รับการตรวจสอบแล้วหรือไม่ และคีย์ดังกล่าวไม่เคยถูกใช้มาก่อนหรือไม่

ต่อไป เราจะให้คำอธิบายของอัลกอริทึมจากมุมมองของการเข้ารหัส
ตัวเลือกลายเซ็นและการกำหนด:

ภาพรวมของขั้นตอนการไม่เปิดเผยตัวตนสำหรับระบบการลงคะแนนอิเล็กทรอนิกส์ระยะไกล
ภาพรวมของขั้นตอนการไม่เปิดเผยตัวตนสำหรับระบบการลงคะแนนอิเล็กทรอนิกส์ระยะไกล

M – ในรูปแบบการขยาย FDN สำหรับลายเซ็น

ที่มา: will.com

เพิ่มความคิดเห็น