paint-brush
Şifreleme Çevrimiçi Oylamayı Nasıl Güvenceye Alabilir?ile@nerv
628 okumalar
628 okumalar

Şifreleme Çevrimiçi Oylamayı Nasıl Güvenceye Alabilir?

Çok uzun; Okumak

Uzaktan e-oylamanın en büyük zorluğu, kontrolsüz bir ortam ve güvensiz bir platform altında yüksek düzeyde güvenlik elde etmektir. E-oylamanın özellikleri ve asgari gereklilikleri belirleyen birçok farklı sınıflandırma halihazırda oluşturulmuştur. Amaç her zaman görünüşte birbirini dışlayan iki özelliği uzlaştırmaktır: doğrulanabilirlik ve gizlilik.
featured image - Şifreleme Çevrimiçi Oylamayı Nasıl Güvenceye Alabilir?
Network Emergency Response Volunteers HackerNoon profile picture


Not: Burada sunulan bilgilerin bir kısmı kasıtlı olarak aşırı basitleştirilmiştir. Aynı hedeflere ulaşan çok sayıda yol ve alternatif şifreleme teknikleri olduğundan, belirli ayrıntılar gerçek uygulamaya bağlıdır.


"Uzaktan e-oylamanın en büyük zorluğu, kontrolsüz bir ortam ve güvenli olmayan bir platform altında yüksek düzeyde güvenlik elde etmektir. E-oylamanın özellikleri ve minimum gereklilikleri belirleyen birçok farklı sınıflandırma zaten oluşturulmuştur. Bu sınıflandırmalardan bazıları tamamen aynıdır. Uzaktan e-oylamanın en büyük zorluğu, kontrolsüz bir ortam ve güvenli olmayan bir platform altında yüksek düzeyde güvenlik elde etmektir.E-oylama özellikleri ve minimum gereksinimleri belirleyen birçok farklı sınıflandırma zaten oluşturulmuştur.Amaç her zaman görünüşte birbirini dışlayan iki özelliği uzlaştırmaktır. : doğrulanabilirlik ve mahremiyet. gizlilik, bütünlük, mahremiyet, demokrasi, evrensellik, doğrulanabilirlik vb. gibi farklı isimler altındaki özellikler. Ne olursa olsun, amaç her zaman görünüşte birbirini dışlayan iki özelliği uzlaştırmaktır: doğrulanabilirlik ve mahremiyet."


Çevrimiçi oylamanın ardındaki temel fikir, oyların şifrelenmesi ve kamuya açıklanması anlamında doğrulanabilirliktir; seçmenleri tüm prosedürün düzenli olarak yürütüldüğüne dair hiçbir şüphe payı olmadan ikna etmek. Bunun nasıl başarılabileceğine bakalım, ancak makalenin geri kalanını okumadan önce, Ron Rivest'in bu fikri[ 1 ] 5:07'ye kadar sunuşunu izlemenizi öneririz.


O halde şunları düşünelim:


Siber güvenli oylama gerçekleştikten sonra blockchain üzerinde yayınlandığı şekliyle yalnızca halka açık oy tablosunu ekleyin


Seçmenler oylarına karşılık gelen girişi benzersiz bir şekilde biliyor


seçmen kimliği şifreleniyor

Burada v, yalnızca özel bir anahtar kullanılarak tamamen çözülebilen oydur ve E(v) eklenen kriptografidir.


Ve şimdi işte matematik büyüsü...


E(v1), E(v2), E(v3) ve E(v4)'te homomorfik şifreleme kullanarak şunu gösterebiliriz: E(v1)+ E(v2) + E(v3) + E(v4) = E( v1+v2+v3+v4) !


Dolayısıyla son hesaplama D( E(v1+v2+v3+v4) ) olur; burada D, v'ye ayrı ayrı erişmeye gerek kalmadan yoklama sona erdiğinde herkes tarafından hesaplanabilen şifre çözme işlevidir: D(E(v1) ), D(E(v2) ) vb., yalnızca özel anahtarlar kullanılarak çözülebilir...


özel anahtar sahipliği


Yalnızca seçmenler v'nin şifresini bireysel olarak çözebilir ve kendi oylarının doğru şekilde kaydedildiğini gerçekten kontrol edebilir ! Sonuç olarak, seçmenler hem oylarını hem de nihai sayımları gizlilik ve doğrulukla doğrulayabilirler!


Homomorfik şifreleme


Vay! Oyumun doğru olduğunu doğrulayabilirim! Ancak başkalarının verdiği oyların da özel anahtarlarını kullanmadan yasal olduğundan nasıl emin olabilirim?


Diyelim ki, 0 değerini, oylanmakta olan belirli bir politika teklifinin reddedildiği anlamına gelirken, 1 değerini de bir dizi olası yanıt (0,1}) oluşturacak şekilde uyumlu olarak atfediyoruz. Herhangi biri olabilecek bir doğrulayıcı, yalnızca ekleme tablosunda yayınlanan tüm girişlerin, 100 değerine sahip bir giriş gibi başka hiçbir şeye değil, olası yanıtlar kümesindeki geçerli bir öğeye karşılık geldiğinden emin olmak isteyebilir. Sıfır bilgi kanıtları tam olarak buna izin verir. Bunun nasıl olduğunu anlamak için öncelikle ZKP'lerin gerçekte ne olduğunu anlamak yardımcı olabilir. Kriptografide, sıfır bilgi kanıtı veya sıfır bilgi protokolü, bir tarafın (kanıtlayıcının) diğer tarafa (doğrulayıcıya) belirli bir ifadenin doğru olduğunu kanıtlayabildiği, ancak kanıtlayıcının aşağıdakiler dışında herhangi bir ek bilgi iletmekten kaçındığı bir yöntemdir. ifadenin gerçekten doğru olduğu gerçeği."[ 2 ]


sıfır bilgi kanıtları


Çelişkili gibi görünebilir, ancak ZKP'lerle her seçmen oylarının geçerliliğini kesin olarak kanıtlayabilir! Tekrar ediyorum, oylama bir dizi olası seçenek arasından bir unsurun temsilinden başka bir şey değildir. ZKP'lerin oylamaya nasıl uygulanması gerektiğini anlamak için, bu soruyu daha ayrıntılı olarak ele alan aşağıdaki makalelere[ 3 ], [ 4 ] göz atmanızı öneririz.


ZKP doğrulaması


Bu teknik daha sonra hem homomorfik şifrelemenin hem de ZKP'lerin matematiksel özelliklerini korurken {0,1}'den büyük kümeleri içerecek şekilde genişletilebilir ve basit evet, hayır / katılıyorum, katılmıyorum cevaplarından daha karmaşık anketlere izin verir. Bu, birden fazla adayın seçilmesi, tek bir sorun için farklı çözüm önerileri sunabilen referandumlar, pazar araştırmalarında anketler gibi ilginç kullanım durumlarına olanak sağlar...


Az önce herkesin son sayıyı nasıl kontrol edebileceğini, kendi oylarının amaçlanan oy olduğunu ve diğer tüm oyların yasal olduğunu nasıl kontrol edebileceğini tartıştık! Bu arada seçmenlerin mahremiyeti de korunuyor! Bu algoritmaların hem homomorfik şifrelemenin hem de ZKP'nin özelliklerini koruyarak bir araya getirilme şekli karmaşıktır ve doğruluğu matematiksel olarak kanıtlanabilen derin bir kriptografi bilgisi gerektirir.[ 5 ]


Herhangi bir seçmen bu doğrulamaları üçüncü bir tarafa bağlı kalmadan kendisi yapabilir! Uygun uzaktan e-oylama uygulamalarında seçmenler oy vermenin denetçileridir!


En azından Ethereum gibi tüm işlemleri halka açık tutan blok zincirlerde gizli adreslerin[ 6 ] kullanımında olduğu gibi, siber güvenli çevrimiçi oylamaya ilişkin başka ayrıntılar ve kriptografik teknikler de vardır. Bunlar seçmenlerin cüzdanlarıyla bağlantı kurmasını önlemek için kullanılır. Ancak biz bunu, homomorfik şifreleme ve bilgileri sistemde güven oluşturmaya yardımcı olan ZKP'lerin aksine, tüm çevrimiçi oylama kullanıcılarının bilmesi gereken bir şey değil, yalnızca yazılım geliştiricileri ilgilendiren teknik bir ayrıntı olarak görüyoruz.


Bu özel anahtarlar güvenlikten ödün vermeden nasıl oluşturulup seçmene veriliyor?


Sonuçta, çifte harcamayı önlemek için özel anahtarların kullanıcının gerçek kimliğine bağlanması gerekir. Yaklaşımlardan biri, ulusal kimlik akıllı kartlarına yerleştirilmiş devlet tarafından verilen eID gibi güvenilir otoriteler tarafından sağlanan PKI'ları kullanmaktır... Çünkü elbette kamu kurumları bu anahtarları güvende tutmak için kendi mekanizmalarını düşünmüşlerdir, değil mi?


Her halükarda bu, okuyucuyu çok fazla ayrıntıdan kurtarmak ve bilgileri daha iyi organize etmek için gelecekteki bir makalede analiz edeceğimiz, dijital kimliğin kendisiyle daha çok ilgili bir konudur. Dijital kimliğin kendisi başlı başına karmaşık bir konu olsa da, birden fazla güvenilir kuruluşa bir kişinin kimliğini doğrulama görevi vererek her dijital kişinin benzersiz olduğunu göreceli güvenle garanti altına almanın yolları olduğunu söylemek yeterli olacaktır. Bob Marley'den bir alıntı tartışacağımız konuyu doğru bir şekilde açıklıyor:


"Bazı insanları bazen kandırabilirsiniz ama herkesi her zaman kandıramazsınız."


Bir seçmen sahtekarlık tespit ederse veya fiziksel olarak belirli bir şekilde oy kullanmaya zorlanırsa ne olur?


Alınacak ilk tedbir, bu olayların dikkate alınması için kişilerin bu durumları bildirebilecekleri bir kanalın sağlanmasıdır. Eğer marjinal iseler, örneğin toplam oyların %0,01'ini temsil ediyorlarsa, demokratik değerlerin savunulmasını gerektiren ve nihai sayının yüzde 0,01'e yakın olduğu çok hassas bir referandumu tartışmıyorsak, bu pek de sorunlu bir durum olmayacaktır. 50/50 durumuna eşdeğer. Bir anketin geçerli sayılması için çoğunluk oybirliğinin daha yüksek olması (örneğin 55/45) istenerek bu durum hafifletilebilir.


Birisinin oylarının yanlış kaydedildiğini gördüğü senaryoda, tüm cihazın blockchain tarafından desteklendiği ve dolayısıyla hizmeti sağlayan belirli bir sistem yöneticisinin kontrolünde olmadığı göz önüne alındığında, oylama makinesinin kendisinin güvenliğinin ihlal edildiğini varsaymak daha makul bir yaklaşımdır. ve tüm blockchain'in kendisi değil. Bu durumda alınacak en doğrudan koruyucu önlem, seçmenin makineyi ve/veya işletim sistemini değiştirmesi olacaktır. Bu sorun daha çok siber güvenlik tehditleriyle, sosyal mühendislik ve kötü amaçlı yazılımlarla ilgilidir. Açık kaynaklı donanım ve yazılımın yanı sıra amnezik işletim sisteminin kullanılması da tavsiye edilir[ 7 ]. Amnesic yazılımı her zaman başlangıçtaki yapılandırılmış durumuna geri döner; dolayısıyla seçmenler istemeden bir virüse tıklayıp çalıştırarak kötü amaçlı yazılım yükleseler bile, makinenin yeniden başlatılması yazılımı değiştirilmemiş bir yapılandırmaya geri döndürerek bu olayları etkili bir şekilde azaltır.


Açıklanması istenebilecek bir diğer durum ise seçmenin fiziki veya şantaj yoluyla belirli bir şekilde oy kullanmaya zorlanması durumudur. İyi bir toplumda yaşamak dışında, baskıya karşı savunmanın tek yaklaşımı, oylamanın aynı sandıkta yapılmasına izin vermektir. Bu alanda araştırmalar[ 8 ] mevcut olmasına rağmen, bu tekniği yukarıda belirtilen diğer tekniklerle birleştirmenin yolları, bilgimiz dahilinde, henüz uygulanmayı beklemektedir. Elbette bir yolu var. Her durumda, oy verme aşamasının yeniden başlatılması her zaman bir olasılıktır. Şunu da belirtmek gerekir ki, zorlamayı önlemek aynı zamanda bariz nedenlerden dolayı oy satışını da engelleyecektir.


Kağıtla oylamanın tamamen terk edilmesini savunmuyoruz çünkü kağıtla oylama, en azından mevcut durumda, kimliği (gerçek veya dijital) teste tabi tutmak için mükemmel bir fırsattır; Politika, daha hızlı fikir birliği oluşturabilen tamamlayıcı bir araç olarak kullanılırken aynı zamanda kağıt oylamanın sonuçlarını doğrulayan ikincil bir kaynaktır.

Henüz varmadık mı?

Bilgisayar bilimcisi Jeffrey Dean'in etkili bir şekilde ifade ettiği gibi:


“Modern bilgisayar şifrelerinin arkasındaki itici güç güvenlik değil verimliliktir. Sorun güvenli bir şifre oluşturup oluşturamayacağınız değil. Yapabilirsiniz. Asıl soru, büyük veri kümelerinde veya çok sınırlı donanımda verimli çalışacak bir tane oluşturup oluşturamayacağınızdır”


Blockchain teknolojisinin zorluğu tam olarak kullanıcı tabanı ve hesaplama talebi arttıkça ölçeklenebilme yeteneğidir. Blockchain tarafından desteklenen çevrimiçi oylamada kriptografik algoritmaların mevcut uygulamaları, Ethereum'da uygulandığı gibi maliyetlerin oy başına yaklaşık 10 ABD Doları olacağını tahmin ediyor.[ 14 ] Biz Brightgov olarak, bu değeri 1 ABD Dolarının altına düşürmek için iyileştirmeler yapılabileceğine inanıyoruz. daha hızlı bir blok zincirinin yanı sıra temeldeki matematiksel algoritmalarda ince ayar yapılması.


Tarih boyunca kriptografi olayların gidişatını değiştirmede önemli bir rol oynamıştır. En basit kriptografilerden biri olan Sezar şifresi, iki bin yıl önce Roma imparatoru tarafından kullanılmasıyla ünlüdür. Müttefiklerin Japon şifreleme makinesi Purple ve Alman Enigma tarafından şifrelenen mesajları yakalama ve şifrelerini çözme yeteneği, İkinci Dünya Savaşı'nı sona erdirmek için gereken önemli avantajı sağlamak açısından çok önemliydi.


Programlamayı bilen ve daha fazlasını öğrenmek isteyenler için araştırma makalemizi okumanızı öneririz.[ 15 ] Bu tür yazılımlarla tanışmak için CryptoBallot ile de oynayabilirsiniz.[ 16 ]


Sonuç olarak, siber güvenli çevrimiçi oylama sadece mümkün değil, aynı zamanda oldukça ihtiyaç duyulan bir şeydir. Siyasi alanda benimsenmesi hayatımızdaki en yıkıcı olaylardan biri olma potansiyeli taşıyor... Tek yapmanız gereken bilgisayarınızda çalışan algoritmalara ve blockchain'e güvenmek, güvenmiyorsanız da her zaman güvenebilirsiniz Matematiği bir kalem ve kağıtla kendiniz yapın.


Referanslar:


[1] " Oyunuz sayıldı mı? (feat. homomorfik şifreleme) " Profesör Ron Rivest, Numberphile, YouTube'da, 2016. https://www.youtube.com/watch?v=BYRTvoZ3Rho


[2] Wikipedia'da sıfır bilgi kanıtı girişi, https://en.wikipedia.org/wiki/Zero-knowledge_proof


[3] " Küme veya üyeyi açığa çıkarmadan küme üyeliğini kanıtlamak için ZKP nasıl kullanılır", Anders Borch, yazarın blogu, 2019. https://blog.cyborch.com/how-to-use-cryptographic-accumulators-to -set-üyeliğini-seti-veya-üyeyi-ifşa etmeden-kanıtla/


[4] " Set Üyeliği için Sıfır Bilgi Kanıtları ", Dario Fiore, ZKProof Standartları hakkında, 2020. https://zkproof.org/2020/02/27/zkp-set-membership/


[5] " Homomorfik Şifrelemeden Etkileşimli Olmayan Sıfır Bilgi ", Ivan Damg ̊ard ve diğerleri, Kriptografi Teorisi Konferansı, 2006. https://cs.nyu.edu/\~nicolosi/papers/NonIntSi.pdf


[6] " Gizli Adres (Kripto Para Birimi) ", Jake Frankenfield, Investopedia, 2022. https://www.investopedia.com/terms/s/stealth-address-cryptocurrency.asp


[7] Wikipedia'daki kuyruklar (işletim sistemi) girişi, https://en.wikipedia.org/wiki/Tails_(operating_system)


[8] " VoteAgain: Ölçeklenebilir, zorlamaya dayanıklı bir oylama sistemi ", Wouter Lueks ve diğerleri, Spring Labs, Universidad Carlos III de Madrid, 2020. https://arxiv.org/pdf/2005.11189.pdf


[9] Miras Vakfı , https://www.heritage.org/


[10] " Ainda mais indícios de dolandırıcılık nas Legislativas 2022? " girişi, YouTube'da, Portekizce, 2022. https://www.youtube.com/watch?v=L8fA9aOuR9k


[11] " AnaKarina, YouTube'daki "FRAUDE ELEITORAL" girişini CNE tarafından kınadı , portekizce, Angola, 2022. https://www.youtube.com/watch?v=hLm8ocLgXCU


[12] " Sıkça Sorulan Sorular - Seçmen Sahtekarlığı ", https://www.voteaustralia.org.au/faq_voter_fraud


[13] The Economist Intelligence Unit'in " Demokrasi Endeksi 2020: Hastalıkta ve sağlıkta mı? " raporu, 2020. https://www.eiu.com/n/campaigns/democracy-index-2020/


[14] " ethVote: Dağıtılmış defterlerle güvenli oylamaya doğru ", Johannes Mols et Emmanouil Vasilomanolakis, Aalborg Üniversitesi, Danimarka, 2020. https://www.researchgate.net/publication/341000573_ethVote_Towards_secure_voting_with_distributed_ledgers


[15] NERV'den " Uzaktan e-oylamaya genel bakış ", 2021'deki 14. ICEGOV Konferansına sunulan bir makale, https://ia601401.us.archive.org/33/items/remote-e-voting-overview/Remote e -oylamaya genel bakış.pdf


[16] CryptoBallot , https://github.com/cryptoballot/cryptoballot


Ayrıca burada görünür.