الديمقراطية ليست تصويت ، إنها فرز الأصوات.
توم ستوباردبالنسبة لباحثي التشفير ، لا يرتبط التصويت الإلكتروني في المقام الأول بجهاز التصويت وليس بالتصويت عبر الإنترنت - إنه مجرد
مجال للبحوث الرياضية . تنشئ أبحاث التصويت الإلكتروني بروتوكولات أو مكونات رياضية أساسية أو أنظمة
تصويت آمنة
وقابلة للتحقق ، أو أنظمة يستطيع المدققون والناخبون المستقلون التحقق من صحة فرز الأصوات بأمان. هذه الأنظمة ليست أعمالًا نظرية بسيطة ، ولكنها بالفعل تقنيات حقيقية تستخدم في الانتخابات الحقيقية: في تاكوما بارك بولاية ماريلاند ، وثق الناخبون في نظام
Scantegrity II استنادًا إلى أوراق الاقتراع غير المرئية بالحبر ،
واستخدم المصممون أنفسهم أنظمة التصويت عبر الإنترنت من
هيليوس. لانتخاب القيادة.
التصويت الإلكتروني موضوع معقد للغاية ، لذلك سأقتصر في هذه المقالة على المفاهيم الأساسية: ماذا يعني التحقق الصوتي الآمن ، كيف يمكنني حساب الأصوات دون مخاطبة كل فرد على حدة ، وما الذي يمنع الناخبين من الغش. لن أقدم لك وصفًا كاملاً لبروتوكول التصويت الإلكتروني بأكمله بكل فروقه ، ولكن يمكن لأولئك الذين يرغبون في البحث بشكل مستقل عن العمل بشأن هذا الموضوع ،
والذي يوجد الكثير منه .
تأكيد آمن
ما يمكن توقعه من نظام التصويت الآمن؟
أولاً ، والأكثر وضوحًا: يجب عليك التحقق من أن الأصوات يتم حسابها بشكل صحيح ، أي أنه يمكن للجميع التأكد من أن عملية الفرز النهائي تتم وفقًا لعدد بطاقات الاقتراع التي أنجزها الناخبون. يجب ألا يعطي الشيك أي معلومات إضافية ، باستثناء الإجماليات. على وجه الخصوص ، يجب ألا يكون المراجع قادرًا على تخمين من صوت. هذا يعادل عد ورقة الاقتراع اليدوية الكلاسيكية.
ثانياً ، من الضروري أن يتأكد أي ناخب من احتساب صوته ويحسب بطريقة صحيحة. يجب أن يتم ذلك دون الكشف عن تصويته ، وفي حالة أكثر عمومية ، يجب ألا يكون الناخب قادرًا على إثبات من صوت لصالحه. يتم ذلك للقضاء على الإكراه ، ولتمكين الناخبين من اختيار مرشح بحرية دون خوف من عواقب اختيارهم.
أخيرًا ، يجب حماية نظام التصويت ضد الاحتيال: يجب ألا يكون الناخب قادرًا على التصويت أكثر من مرة ، ويجب ألا تكون هناك القدرة على تغيير أو نسخ الاقتراع. بالإضافة إلى ذلك ، يجب أن يكون الناخبون المسجلون وحدهم قادرين على التصويت.
لتلخيص: نحن بحاجة إلى تدقيق عام ، وثقة الناخبين ، ومقاومة الإكراه ، ونزاهة الانتخابات. تم طرح هذه المبادئ في دراسة أساسية أجرتها Chaum و Neff وآخرون ، والتي نُشرت في أوائل العقد الأول من القرن العشرين.
المبادئ الأساسية
تعمل معظم بروتوكولات التصويت الإلكتروني الكلاسيكية على النحو التالي:
- يتلقى الناخب رمزية في شكل نشرة ، والتي تتغير وفقا لاختياره. يحصل الناخبون المختلفون على أصوات مختلفة.
- يقوم الناخب بتشفير الاقتراع (باستخدام نوع خاص من التشفير يتيح لسحر التصويت الإلكتروني أن يعمل ، ويرسله بحيث يتلقى منظمو التصويت اقتراعًا مشفرًا.
- ينشر المنظمون رسائل إخبارية مشفرة على لوحة الإعلانات ، "قناة البث العامة مع الذاكرة" ، في المصطلحات المشفرة - بعبارات بسيطة ، على شيء مثل Pastebin.
- يجمع المنظمون بين بطاقات الاقتراع المشفرة لحساب النتيجة المخزنة مؤقتًا. ثم يقومون بفك تشفيرها (ولكن ليس الأصوات نفسها!) ونشر النتائج.
- بعد تلقي النتيجة والأصوات المشفرة ، يمكن لأي شخص التحقق من صحتها.
تأمين عدد: تشفير homomorphic
في الخطوة الرابعة ، يجمع المنظمون بين الرموز المشفرة لإنشاء تشفير جديد يشفر مجموع الأصوات الفردية. لهذا الغرض ، تستخدم أنظمة التصويت الإلكترونية نظام تشفير Enc () ، حيث يمكنك حساب Enc (v1 + v2) ، فقط Enc (v1) و Enc (v2) في متناول اليد ، ودون معرفة مفتاح التشفير. وتسمى مخططات التشفير هذه شكل
متماثل .
على سبيل المثال ، إذا كان الناخبون الأمريكيون مبسطين إلى حد كبير ، فإنهم يقومون بما يلي في 8 نوفمبر:
- يتلقون رسالة كلينتون الإخبارية ورسالة ترامب الإخبارية من المنظمين (على سبيل البساطة ، سننظر في مرشحين اثنين فقط).
- يكتبون Enc (1) في اقتراع واحد و Enc (0) من جهة أخرى ، باستخدام المفتاح العمومي الصادر عن المنظمين كمفتاح.
يتم بعد ذلك نشر بطاقات الاقتراع المشفرة على لوحة الإعلانات جنبًا إلى جنب مع هوية الناخب. أعرف كل من صوت ، لكن من المستحيل أن نفهم من هو بالضبط ، لأن كل من Enc (0) و Enc (1) فريدان من نوعهما ، ونحن نستخدم التشفير القوي والعشوائي. إذا كان التشفير محددًا ، فقد يضطر الناخب إلى الكشف عن صوته عن طريق حساب Enc (0) مرة أخرى ومقارنته بالقيمة الموجودة على السبورة.
أخيرًا ، يجمع المنظمون جميع بطاقات الاقتراع لكلينتون ويحصلون على نتيجة Enc (عدد الأصوات لكلينتون) ، ثم يفعلون الشيء نفسه مع بطاقات الاقتراع الخاصة بترامب ويحصلون على Enc (عدد الأصوات لترامب). ثم يأخذون مفتاح فك التشفير وفك تشفير هاتين القيمتين ، إعلان الفائز.
كيفية العثور على مخطط التشفير متماثل؟ دوائر سهلة للغاية - مثل RSA و ElGamal متجانسة في شكلها الأساسي لأنها تلبي المعادلة
Enc (v1) × Enc (v2) = Enc (v1 × v2)
لكن هذا ليس بالضبط ما نحتاج إليه - إنه تشابه متعدد الأشكال ، لكننا بحاجة إلى صيغة مضافة. هناك بعض الحيل التي تحول مخططات RSA و ElGamal إلى أشكال متجانسة إضافية ، لكن بدلاً من ذلك سأعرض مخططًا أقل شهرة يتم تغييره على الفور بشكل إضافي:
نظام تشفير Paye يشفر الرسالة v1 إلى
Enc (v1) = g
v1 r1
n mod n
2حيث n = pq و g ثابتة ، و r1 عبارة عن عدد صحيح عشوائي من] 1 ؛ ن
2 [. لذلك ، لدينا:
Enc (v1) × Enc (v2) = (g
v1 r1
n ) × (g
v2 r2
n ) mod n
2 = g
v1 + v2 (r1r2)
n mod n
2 = Enc (v1 + v2)
أي أنه يمكن استخدام مخطط Peye لحساب الأصوات المشفرة.
للغش ، قد يرغب الناخب في كتابة Enc (10000) بدلاً من Enc (1) في الاقتراع لإضافة أصوات إلى المرشح. في حالة النوايا السيئة ، يمكنك كتابة Enc (very_large_number) بحيث يؤدي ذلك إلى تجاوز السعة الكلية وإلى فشل النظام بأكمله. كيف نضمن صلاحية الصوت (0 أو 1) دون فك التشفير؟
الحل هو
عدم المعرفة الصفرية غير التفاعلية (NIZK). يعتبر دليل NINR كائن تشفير معقدًا وقويًا للغاية: في حالتنا ، سيسمح للناخب بإثبات أن تشفيره يحتوي على 0 أو 1 ، ولكن دون إظهار الرسالة المشفرة نفسها. في الحالة العامة ، تتيح أدلة NINR للمثبِر إقناع مُدقق حقيقة البيان بإرساله فقط مجموعة بيانات دون أي أنواع أخرى من التفاعل.
ربما يكون نظام
Schnorr هو أبسط نظام لا يتم الكشف
عنه : فلنفترض أنك تعرف حل مشكلة اللوغاريتم المنفصلة (المهمة الصعبة وراء
DSA والتشفير على المنحنيات الإهليلجية) ، وتريد إثبات أنك تعرف حلها دون الكشف عن الحل نفسه. بمعنى ، أنت تعرف x بحيث g
x = y mod p ، والمعلم يعرف g و y و p فقط. لإقناع المراجع ، تلعب اللعبة التالية:
- اختر رقمًا عشوائيًا r وارسل القيمة g r إلى المختبر (الالتزام).
- تحصل على رقم عشوائي s من المختبر (call).
- إرسال إلى المدقق s = r + cx.
- يحسب المراجع g s = g r + cx ويتحقق من أنه يساوي g r × y c = g r × (g x ) c .
في هذا البروتوكول التفاعلي ، لا يكشف prover عن قيمة x ، لأنه يرسل أرقامًا عشوائية فقط. ومع ذلك ، فإن المؤيد الذي يعرف x يمكنه فقط إرسال s ، واجتياز الاختبار الأخير.
لتحويل مثل هذا البروتوكول التفاعلي إلى بروتوكول غير تفاعلي (بروتوكول يمكن إرساله باستخدام مجموعة بيانات واحدة) ، تم تصميم بروفات NINR. نحن نلعب هذه اللعبة بمفردنا ونتظاهر بأنها مختبرة حتى يتأكد المختبر الحقيقي من أننا لا نستطيع الخروج ببرهان NINR دون معرفة البيان المثبت.
الخاتمة
الأفكار الرئيسية التي نوقشت في هذا المقال:
- المشكلة الرئيسية في نظام التصويت الإلكتروني الآمن هي الاستماع العلني. يتم تحقيق ذلك عن طريق نشر رسائل إخبارية مشفرة في منتدى يمكن للجمهور الوصول إليه. يجب أن يصف الناخبون أيضًا الآلية التي تجري التأكيد نفسه.
- يتم تأكيد صحة التصويت عن طريق منح كل ناخب بطاقة هوية فريدة ومنح الناخبين حق الوصول الذي يسمح لهم بالتحقق من أن اقتراعهم 1) قد تم حسابه و 2) لم يتم تغييره.
- لا يمكن معاقبة الناخبين بسبب التصويت لصالح مرشحين "خطأ" بسبب مقاومة الإكراه ، والذي يتحقق ، على وجه الخصوص ، من خلال تشفير لا يمكن التنبؤ به.
- يتم ضمان خصوصية الأصوات من خلال حقيقة أن الأصوات المشفرة لا يتم فك تشفيرها ، ويتم فك تشفيرها فقط النتيجة التي تم إنشاؤها باستخدام تشفير homomorphic.
- لا ينجح الاحتيال إذا أجبرنا الناخبين على نشر أدلة مشفرة على صحة اقتراعهم باستخدام NINR.
قد تبدو المفاهيم والتقنيات الموصوفة هنا عميقة ومعقدة ، ولكن في الواقع هذا هو مجرد غيض من فيض. لا يمكنك إنشاء نظام التصويت الإلكتروني يعمل بشكل آمن ببساطة عن طريق اتباع الوصف. على سبيل المثال ، حذفت تفاصيل مثل الطريقة التي يتحقق بها الناخبون من بطاقات الاقتراع في الممارسة ، والسبب في استخدام خادم NINR ، وما إلى ذلك. خلاصة القول هي أن أي بروتوكول التصويت الإلكتروني آمن هو شيء معقد للغاية ومليئة بالفروق الدقيقة ، ويضيف التنفيذ الفعلي تعقيد إضافي بسبب العوامل البشرية والتنظيمية.
لمعرفة المزيد حول التشفير المتعلق بموضوع التصويت الإلكتروني ، يمكنك دراسة هذه المواد ذات الجودة: