燕飛飛,仲 紅,孫彥飛,黃宏升
(1.安徽大學(xué) 計(jì)算智能與信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230039 2.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)
利用計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)對(duì)投票人的登記、認(rèn)證、分發(fā)、收集、計(jì)票等一系列過程即為電子投票[1-3]。電子投票過程中使用計(jì)算機(jī)和網(wǎng)絡(luò)為媒介,可以防止參與方惡意參選,同時(shí)又滿足了投票結(jié)果的公開性、透明性、及時(shí)性和公正性。目前已經(jīng)有很多研究人員提出了多種電子投票方案,但其中的認(rèn)證機(jī)制和對(duì)重復(fù)投票問題的解決方案還不完善。
現(xiàn)有方案中多數(shù)采用一個(gè)注冊(cè)中心進(jìn)行身份認(rèn)證,少數(shù)方案利用門限秘密共享協(xié)議共同認(rèn)證。2007年,日本學(xué)者Krivoruchko提出抗強(qiáng)制注冊(cè)方案[4],防止了注冊(cè)機(jī)構(gòu)泄露投票者身份、投票者與投票之間聯(lián)系,但是該方案的認(rèn)證階段使用門限方案,對(duì)每一個(gè)合法身份的判定都必須通過多個(gè)注冊(cè)機(jī)構(gòu),因此在大規(guī)模電子投票中對(duì)身份的認(rèn)證效率低下。若設(shè)置單個(gè)注冊(cè)中心則存在重復(fù)認(rèn)證問題。2008年,西班牙學(xué)者Jordi Girona結(jié)合聲音識(shí)別技術(shù),提出了身份注冊(cè)方案[5],可防止投票人重復(fù)認(rèn)證。該方案基于投票人聲音來限定身份的唯一性,但是當(dāng)管理機(jī)構(gòu)對(duì)投票人進(jìn)行驗(yàn)證審查時(shí),會(huì)泄露投票人真實(shí)的聲音信息和通信地址,即私有信息被部分泄露。
本方案注冊(cè)階段,利用注冊(cè)中心和認(rèn)證中心共同完成對(duì)投票人的身份驗(yàn)證,防止了惡意方冒充認(rèn)證、合法投票人重復(fù)投票;在驗(yàn)證階段,利用增強(qiáng)型OTP認(rèn)證中不同認(rèn)證次序?qū)?yīng)不同認(rèn)證口令的特點(diǎn),合法投票人不但能簡(jiǎn)單、有效地申訴,還防止公開驗(yàn)證階段投票人的身份信息被泄露。
投票人 Vi:i∈[1,N]。
計(jì)票中心T:負(fù)責(zé)計(jì)票和公布選舉結(jié)果。
注冊(cè)中心R:發(fā)放合法身份證書、驗(yàn)證Vi身份證書的合法性、向T發(fā)送投票信息組成的列表。
認(rèn)證中心CA:向 Vi提供 SOTP認(rèn)證服務(wù);為正確認(rèn)證的Vi提供向R發(fā)送投票信息的服務(wù)。
驗(yàn)證中心TA:接受Vi的申訴,并進(jìn)行檢驗(yàn)。
Bulletin Board(BB):電子公告板;Mix Net(MN):混合網(wǎng);
bi:參與方 Vi的選票;Ci:由注冊(cè)中心簽發(fā)的合法身份證書;
SIGNVi(m):投票人 Vi對(duì)數(shù)據(jù)m進(jìn)行數(shù)字簽名[6];
PKS、PKR、PKT:分別為 CA、R、T 的公鑰;SKS、SKR、SKT:分別為CA、R、T的私鑰;
L0:R已經(jīng)分發(fā)的 Ci列表;
L1:由 R加密的 EPKS(Ci)列表;
L2:合法 Vi投票信息列表(投票信息:EPKR(Ci)、EPKI(bi)和SIGNVi(EPKI(bi)));
L2′:是 L2經(jīng)過 MN后得到的列表;
A→B:(m)表示參與方A向參與方B發(fā)送消息m。
HN(spp‖seed):對(duì)數(shù)據(jù) spp和 seed進(jìn)行 N次哈希運(yùn)算。
2008年,國內(nèi)研究人員提出了基于一次性口令OTP[7](One-Time Password)的增強(qiáng)型認(rèn)證系統(tǒng)SOTP[7](Strengthened OTP),在C/S模式下設(shè)置單個(gè)認(rèn)證中心,實(shí)現(xiàn)客戶端的身份認(rèn)證。不但減少了認(rèn)證系統(tǒng)中信道安全性假設(shè),還防止了惡意者利用公開信道冒充認(rèn)證服務(wù)器,截獲認(rèn)證口令仿冒認(rèn)證,使SOTP可用于大規(guī)模電子投票中的身份認(rèn)證。
此C/S模式中,客戶端保存秘密口令 spp、seed和相應(yīng)的認(rèn)證次序,而服務(wù)器端保存客戶端的ID、seed、客戶端認(rèn)證次序和HN(spp‖seed)的值。協(xié)議執(zhí)行時(shí),客戶端與服務(wù)器端進(jìn)行簡(jiǎn)單的相互通信,雙方對(duì)秘密信息進(jìn)行加/解密和H(spp‖seed)運(yùn)算,比較已存信息與接收的秘密信息是否相同,判斷出兩端身份的合法性。不僅完成了相互認(rèn)證,還修改了下次認(rèn)證口令,提高了安全性。
R通過安全性信道向合法Vi發(fā)放唯一的Ci,Vi在注冊(cè)階段向R提供其收到的Ci,R按照自己已經(jīng)發(fā)放的證書列表進(jìn)行證書檢查,根據(jù)檢查的結(jié)果來判斷Vi身份的合法性。
該方案中Vi只有同時(shí)擁有合法Ci和正確認(rèn)證口令時(shí)才能投票。利用剩余的秘密認(rèn)證口令,在公開驗(yàn)證階段向TA提出有效申訴,確保Vi的投票被正確計(jì)票。對(duì)圖1的方案框圖解釋如下:
初始化階段:
①R→Vi:Ci;//R經(jīng)過MN混合后,通過安全信道為每個(gè)Vi核發(fā)唯一的匿名證書 Ci。
圖1 方案框架圖
②R:L1=EPKS(L0);R→CA:L1;CA:L0=DSKS(L1);
SOTP認(rèn)證階段:
③SOTP初始化:
④SOTP認(rèn)證:
Vi:隨機(jī)選擇 S和對(duì)稱加密密鑰 K,保存 S′=S;
注冊(cè)階段:
Else丟棄Vi發(fā)送的所有信息。
計(jì)票階段:
⑥注冊(cè)結(jié)束時(shí) R 利用 MN 使 L2轉(zhuǎn)換為 L2′;R→T:L2′;
公開驗(yàn)證階段:
⑧R:根據(jù) BB公布的EPKR(Ci)檢查是否有非法的注冊(cè)信息;
⑨TA:利用Vi提供的剩余認(rèn)證口令進(jìn)行N-1次認(rèn)證;
10TA通知Vi利用BB查看公開驗(yàn)證結(jié)果。
初始化階段:R利用MN混合后,通過安全信道為每個(gè)Vi核發(fā)唯一的Ci,既保證了 Ci的傳輸安全,也完成了Ci的匿名分發(fā),防止惡意方獲取Ci與Vi之間的對(duì)應(yīng)關(guān)系,進(jìn)行惡意攻擊;R用PKS對(duì)L0進(jìn)行加密,實(shí)現(xiàn)了安全的SOTP初始化。
注冊(cè)階段:本方案中CA和R共同驗(yàn)證Vi的合法性。在惡意方無法獲得Ci的情況下,無法通過SOTP認(rèn)證,即使惡意方非法避開SOTP階段也不能完成注冊(cè),因?yàn)镽在⑤中檢查EPKR(Ci)的合法性;由于SOTP的特點(diǎn)是不同認(rèn)證次序?qū)?yīng)不同的認(rèn)證口令,即使惡意方擁有SOTP認(rèn)證口令也不能完成注冊(cè);假設(shè)惡意方非法避開整個(gè)注冊(cè)階段,利用偽造Ci直接投票也會(huì)失效,因?yàn)樵诠_驗(yàn)證時(shí)R檢查BB中EPKR(Ci)的合法性,會(huì)發(fā)現(xiàn)虛假的注冊(cè)信息。
計(jì)票階段:T利用⑥判斷是否有重復(fù)認(rèn)證和重復(fù)投票,同時(shí)公開EPKR(Ci)和SIGNVi(EPKT(bi))以 便 R 和 Vi驗(yàn)證計(jì)票階段的合法性,增強(qiáng)了方案的健壯性。
從通信的安全性的角度對(duì)比,參考文獻(xiàn)[8]中使用了一次容易泄密的電話通信,但本方案利用安全信道和數(shù)據(jù)加密的方法實(shí)現(xiàn)了信息安全傳輸;本方案中利用SOTP機(jī)制實(shí)現(xiàn)了Vi對(duì)認(rèn)證機(jī)構(gòu)誠實(shí)性的判斷過程,而參考文獻(xiàn)[8]沒有Vi對(duì)認(rèn)證機(jī)構(gòu)的驗(yàn)證過程;參考文獻(xiàn)[8]增加了保存聲音特征的步驟,即Vi與認(rèn)證機(jī)構(gòu)電話通信時(shí)Vi的聲音特征,不但增加了通信代價(jià)、數(shù)據(jù)存儲(chǔ)代價(jià),而且聲音特征的錄入與普通數(shù)字相比,錄入的工作量大、誤差率高;從認(rèn)證的準(zhǔn)確性角度分析,參考文獻(xiàn)[8]中認(rèn)證機(jī)構(gòu)對(duì)Vi身份的真實(shí)性檢查、Vi認(rèn)證信息的完整性檢查,都是基于生物特性的比對(duì),由于當(dāng)前生物認(rèn)證技術(shù)的限制,在Vi認(rèn)證階段仍會(huì)存在2%以上的錯(cuò)誤率[8];從公開驗(yàn)證的角度比較,本方案公開驗(yàn)證數(shù)據(jù)都是秘密數(shù)據(jù),即利用秘密挑戰(zhàn)口令進(jìn)行驗(yàn)證,不會(huì)泄露Vi的私有信息,而參考文獻(xiàn)[8]身份檢查時(shí)涉及了Vi的錄音或者電話號(hào)碼。
綜上所述,本方案僅在認(rèn)證機(jī)構(gòu)中增加一個(gè)挑戰(zhàn)中心,卻比參考文獻(xiàn)[8]多了以下特點(diǎn):(1)避免惡意方通過監(jiān)聽Vi電話而造成私有信息泄露;(2)增加了投票方Vi對(duì)認(rèn)證機(jī)構(gòu)誠實(shí)性判定功能;(3)認(rèn)證階段驗(yàn)證準(zhǔn)確率高于基于聲音特征的準(zhǔn)確率;(4)驗(yàn)證階段對(duì)保護(hù)Vi的私有信息更加合理,驗(yàn)證過程更加簡(jiǎn)單、準(zhǔn)確;(5)增加了具體的計(jì)票方案,完善了公開驗(yàn)證中的申訴方法。
本方案不但滿足了一般電子投票的要求,還增加了防止重復(fù)認(rèn)證、重復(fù)投票以及保密申訴的功能。方案也存在一些不足之處,如對(duì)投票人誠實(shí)性要求較高,不能防止Vi與惡意方合謀,這將是作者下一步的研究重點(diǎn)。
[1]FUJIOKA A, OKAMOTO T, OHTA K.A practical secret voting scheme for large scale elections[C].In Advancesin Cryptology(-AUSCRYPT9 2), LNCS 718, Berlin:S pringer-Verlag,1992:244-251.
[2]仲紅,黃劉生,羅永龍.一個(gè)實(shí)用的電子評(píng)審方案[J].小型微型計(jì)算機(jī)系統(tǒng),2007,43(1):178-181.
[3]ZHONG H, HUANG L S, XIONG Y.A weighted e-voting scheme with secret weights[J].Chinese Journal of Electron-ics, 2006,15(3):413-416.
[4]KRIVORUCHKO T.Robust coercion-resistant registra tion for remote e-voting[C].Proceedings of the IAVoSS Workshop on Trustworthy Elections(WOTE 2007),2007.
[5]JORDI G.Secure remote voter registration[DB/OL].2008.http://www.e-voting.cc/files/Session03_JordiPuiggali.
[6]趙澤茂.數(shù)字簽名理論[M].北京:科學(xué)出版社,2007.
[7]張麗,趙洋,史麗敏.基于 OTP的增強(qiáng)型身份認(rèn)證系統(tǒng)的研究與設(shè)計(jì) [J].計(jì)算機(jī)工程與科學(xué),2008,30(6):1007-130.
[8]HALLER N, METZ C, NESSER P.A one-time password system[M].RFC 2289,1995(2).