用于缺席選舉的網(wǎng)絡(luò)投票的系統(tǒng)和數(shù)據(jù)處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種用于缺席選舉的網(wǎng)絡(luò)投票的系統(tǒng)和 數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002] 選舉作為一種政治活動現(xiàn)象,是指一定的社會成員根據(jù)自己的意愿,按照一定的 程序和方法,選拔、推舉代表或者主要負(fù)責(zé)人的活動。在現(xiàn)代選舉過程中,選舉由選民現(xiàn)場 投票的方式進(jìn)行,但是選民可能因為各種原因不能到現(xiàn)場進(jìn)行投票,針對選民不能出席選 舉現(xiàn)場但需要參與選舉投票的問題,現(xiàn)有技術(shù)中存在符合可驗證性要求的公開審計的網(wǎng)絡(luò) 投票系統(tǒng)Helios,在選民不能出席選舉現(xiàn)場的情況下,選民在該網(wǎng)絡(luò)投票系統(tǒng)上進(jìn)行參與 選舉投票,Helios在接收到選民的加密選票后,將之公布在BBS上,并在后臺通過一個混 合網(wǎng)絡(luò)(Mixnet)對選票進(jìn)行混合,以達(dá)到匿名性要求,然后對選票進(jìn)行門限解密和統(tǒng)計計 數(shù),公布選舉結(jié)果。Helios對于混合與解密的處理過程都會向用戶提供相應(yīng)證據(jù),以證明 其工作流的程序正義性。Helios最突出的優(yōu)勢在于在選舉系統(tǒng)核心性狀可驗證性方面做 得很強。Helios拋棄了混合網(wǎng)絡(luò)的概念,而使用了同態(tài)計數(shù),但它也存在巨大的局限性:為 達(dá)到同態(tài)計數(shù)的目的,選票中的每個選項都應(yīng)單獨加密。而為了保證每個單項加密的有效 性,它們后面都附加有長串的零知識證據(jù),這些證據(jù)會隨著選項數(shù)量成線性增長,使整張選 票變得龐大而繁雜;另一方面,對于每種不同類型的選票,有效性證據(jù)都要修改,這更增加 了復(fù)雜性。
[0003] 基于上述原因,研發(fā)人員開發(fā)了一種基于混合計數(shù)的該網(wǎng)絡(luò)投票系統(tǒng)的變種系 統(tǒng),并對其中的工作流程與算法的選擇進(jìn)行了改進(jìn)。這種方案的最大優(yōu)勢就是對于選票的 加密格式不做任何限制,可簡化選票準(zhǔn)備過程。當(dāng)然,解密所有選票相較于同態(tài)計數(shù)方案的 不利之處是,隨著每一張選票的解密,帶來更大的解密系統(tǒng)開銷和更高的選民選擇信息被 泄露的風(fēng)險,這導(dǎo)致了許多困難,如:增長了選民被脅迫的風(fēng)險,對選票提交的獨立性要求 更尚。
[0004] 然而,對于大型公共選舉中來說,該網(wǎng)絡(luò)投票系統(tǒng)一些方面做得依然不理想,包 括:
[0005] 1、該網(wǎng)絡(luò)投票系統(tǒng)致力于選票隱私性,卻以犧牲機密性為代價,在抗重復(fù)攻擊方 面做得也不夠,相應(yīng)的選票獨立性差。有專家設(shè)計了多種針對其的攻擊,從簡單的選票克隆 到復(fù)雜的現(xiàn)有選票的部分重用,而這些都是能夠通過公開算法檢測并阻止的。
[0006] 2、粗糙的匿名性機制:其Mixnet架構(gòu)只采用了簡單的設(shè)計,抗攻擊能力不強。
[0007] 3、簡單的門限解密機制:其門限解密架構(gòu)采用的是較簡單的門限方案。
[0008] 4、只采用最簡單的"用戶名+ 口令"式認(rèn)證方法,缺乏嚴(yán)格的身份認(rèn)證和保護(hù)口令 的登錄安全機制。
[0009] 5、缺少強固的后臺服務(wù)器安全性保證:包括采取網(wǎng)絡(luò)隔離措施。
[0010] 6、未考慮數(shù)據(jù)安全性,即對選舉關(guān)鍵數(shù)據(jù)和原始選票數(shù)據(jù)進(jìn)行異地存檔。
[0011] 7、在抗脅迫性方面,該網(wǎng)絡(luò)投票系統(tǒng)采用了自由放開重投票的方法,可能會使選 民投票隨意化傾向得到加強。
[0012] Scytl公司開發(fā)的Pnyx. core ODBP L 0投票系統(tǒng)(以下簡稱Scytl系統(tǒng))。Scytl 系統(tǒng)已申請美國專利并獲批,專利號為7260552, Scytl系統(tǒng)具有許多優(yōu)點。例如,通過使用 加密算法和設(shè)置代理服務(wù)器,能較好抵御外部互聯(lián)網(wǎng)攻擊。但是Scytl系統(tǒng)也存在許多不 足。例如,無法抵御來自內(nèi)部可信人員的攻擊;系統(tǒng)的安全性是建立在對于系統(tǒng)中某些組件 的完全信任的基礎(chǔ)上的;系統(tǒng)在機密性和完整性保護(hù)方面使用的還是最常見的標(biāo)準(zhǔn)加密方 式。系統(tǒng)提供的收據(jù)無法保障選民的選票在解密后被正確記錄。這些缺陷可能導(dǎo)致以下問 題:選民無法投票;選舉結(jié)果被操縱,無法真實反映選民們的選擇;選民們的選票等機密信 息被泄露。
[0013] 針對現(xiàn)有技術(shù)中不能出席選舉現(xiàn)場的選民通過網(wǎng)絡(luò)系統(tǒng)參加選舉投票時因安全 問題導(dǎo)致的選舉結(jié)果不可信的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0014] 本發(fā)明的主要目的在于提供一種用于缺席選舉的網(wǎng)絡(luò)投票的系統(tǒng)和數(shù)據(jù)處理方 法。以解決現(xiàn)有技術(shù)中不能出席選舉現(xiàn)場的選民通過網(wǎng)絡(luò)系統(tǒng)參加選舉投票時因安全問題 導(dǎo)致的選舉結(jié)果不可信的問題。
[0015] 為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種用于缺席選舉的網(wǎng)絡(luò)投 票的系統(tǒng)。該系統(tǒng)包括:客戶端;Web服務(wù)器,用于與客戶端進(jìn)行選舉數(shù)據(jù)的交互,以及與數(shù) 據(jù)庫服務(wù)器進(jìn)行選舉數(shù)據(jù)的交互,其中,選舉數(shù)據(jù)為通過網(wǎng)絡(luò)參加選舉中生成的數(shù)據(jù);數(shù)據(jù) 庫服務(wù)器,其中,在數(shù)據(jù)庫服務(wù)器中預(yù)先創(chuàng)建有第一數(shù)據(jù)庫,第一數(shù)據(jù)庫用于存儲有選民標(biāo) 識,選民標(biāo)識為根據(jù)外部輸入的選民個人信息生成的用于標(biāo)識選民的標(biāo)識,在數(shù)據(jù)庫服務(wù) 器中還預(yù)先創(chuàng)建有第二數(shù)據(jù)庫,第二數(shù)據(jù)庫用于存儲空白選票的數(shù)據(jù),空白選票的數(shù)據(jù)為 根據(jù)外部輸入的選民個人信息選擇的選票數(shù)據(jù);擺渡系統(tǒng),其中,數(shù)據(jù)庫服務(wù)器與選票處理 服務(wù)器群組處于隔離狀態(tài),數(shù)據(jù)庫服務(wù)器與選票處理服務(wù)器群組通過擺渡系統(tǒng)執(zhí)行數(shù)據(jù)交 換,執(zhí)行數(shù)據(jù)交換的數(shù)據(jù)包括已填選票的數(shù)據(jù)及處理已填選票的數(shù)據(jù)時產(chǎn)生的過程數(shù)據(jù)和 選舉結(jié)果數(shù)據(jù),已填選票的數(shù)據(jù)為在客戶端上對空白選票的數(shù)據(jù)進(jìn)行填寫后得到的數(shù)據(jù); 以及選票處理服務(wù)器群組,用于對已填選票的數(shù)據(jù)進(jìn)行處理,得出選舉結(jié)果。
[0016] 進(jìn)一步地,客戶端包括第一客戶端、第二客戶端和第三客戶端,其中:第一客戶端 用于進(jìn)行選舉投票,其中,第一客戶端接收數(shù)據(jù)庫服務(wù)器發(fā)送的空白選票的數(shù)據(jù),對空白選 票的數(shù)據(jù)進(jìn)行填寫得到已填選票的數(shù)據(jù),將已填選票的數(shù)據(jù)發(fā)送至Web服務(wù)器;第二客戶 端用于根據(jù)獲取到的選舉資料設(shè)定選舉參數(shù),根據(jù)獲取到的選舉參數(shù)修正指令修改空白選 票的數(shù)據(jù),選舉參數(shù)用于生成空白選票的數(shù)據(jù);以及第三客戶端用于進(jìn)行選舉驗證,其中, 第三客戶端接收擺渡系統(tǒng)發(fā)送的對已填選票的數(shù)據(jù)進(jìn)行處理的過程數(shù)據(jù)和對選舉結(jié)果數(shù) 據(jù)進(jìn)行驗證。
[0017] 進(jìn)一步地,該系統(tǒng)還包括:身份認(rèn)證子系統(tǒng),用于獲取外部客戶端輸入的用戶信 息,其中,用戶信息用于認(rèn)證用戶身份合法性,身份認(rèn)證子系統(tǒng)判斷用戶信息是否通過身份 合法性審核,得到判斷結(jié)果,以及將判斷結(jié)果發(fā)送至客戶端。
[0018] 進(jìn)一步地,Web服務(wù)器包括Web服務(wù)器第一站點和Web服務(wù)器第二站點,其中:Web 服務(wù)器第一站點用于接收來自第一客戶端的攜帶有選民標(biāo)識的已填選票的數(shù)據(jù);Web服務(wù) 器第一站點將攜帶有選民標(biāo)識的已填選票的數(shù)據(jù)存儲至毛選票數(shù)據(jù)庫,其中,選民標(biāo)識為 Web服務(wù)器第一站點根據(jù)接收到的第一客戶端輸入的缺席選舉申請并通過Web服務(wù)器第二 站點審核后發(fā)出的標(biāo)識,毛選票數(shù)據(jù)庫用于保存未經(jīng)檢查的全部已填選票的數(shù)據(jù)的原始數(shù) 據(jù),在發(fā)生選舉爭議時作為核查所需的原始材料;Web服務(wù)器第二站點用于接收設(shè)定指令; Web服務(wù)器第二站點根據(jù)設(shè)定指令對選舉參數(shù)進(jìn)行設(shè)定;Web服務(wù)器第二站點獲取已確認(rèn) 的空白選票的數(shù)據(jù);Web服務(wù)器第二站點將已確認(rèn)的空白選票的數(shù)據(jù)存儲至數(shù)據(jù)庫服務(wù)器 的第二數(shù)據(jù)庫,其中,設(shè)定指令為用于指示對選舉參數(shù)進(jìn)行設(shè)定的指令,選舉參數(shù)用于生成 空白選票的數(shù)據(jù),已確認(rèn)的空白選票的數(shù)據(jù)是根據(jù)對選舉參數(shù)的設(shè)定予以確認(rèn)后生成的空 白選票的數(shù)據(jù);以及Web服務(wù)器第二站點還用于接收缺席選舉申請信息;并檢測缺席選舉 申請信息是否通過第二客戶端審核,如果檢測出缺席選舉申請信息通過第二客戶端審核, Web服務(wù)器第二站點根據(jù)缺席選舉申請信息生成選民標(biāo)識;以及將選民標(biāo)識存儲至第一數(shù) 據(jù)庫,其中,缺席選舉申請信息為經(jīng)身份認(rèn)證子系統(tǒng)進(jìn)行身份合法性審核后的信息。
[0019] 進(jìn)一步地,第一客戶端包括編碼器,編碼器用于對電子格式數(shù)據(jù)和第一客戶端顯 示頁面的數(shù)據(jù)執(zhí)行編碼轉(zhuǎn)換,其中,電子格式數(shù)據(jù)包括空白選票數(shù)據(jù)和已填選票的數(shù)據(jù)。
[0020] 進(jìn)一步地,第一客戶端還用于對已填選票的數(shù)據(jù)執(zhí)行加密操作,其中,通過以下步 驟對已填選票的數(shù)據(jù)執(zhí)行加密操作:第一客戶端獲取加密因子,其中,加密因子為客戶端生 成的長度固定的隨機數(shù);以及第一客戶端使用加密因子和系統(tǒng)加密公鑰對選票編碼執(zhí)行加 密操作,形成選票密文,其中,選票編碼為編碼器用于對第一客戶端顯示頁面的數(shù)據(jù)執(zhí)行編 碼轉(zhuǎn)換得到的電子格式編碼。
[0021] 進(jìn)一步地,第一客戶端還用于根據(jù)已填選票的數(shù)據(jù)對選票密文進(jìn)行選民審計,得 到審計結(jié)果,其中,根據(jù)審計結(jié)果判斷第一客戶端程序運行是否正常,如果判定第一客戶端 程序運行正常,第一客戶端重新選擇隨機加密因子,對已填選票的數(shù)據(jù)進(jìn)行重新加密。
[0022] 進(jìn)一步地,選票處理服