Re: [校園] 電子投票:流程說明、試用與原始碼開源

作者: mousems (MouseMs)   2014-05-27 14:44:25
您好,我是負責這次選舉的廠商,這部分選委會授權由我直接來回答
畢竟東西都已經開源了,這項專案未來也會繼續發展,持續推廣到其他學校
※ 引述《yehzu (小葉~)》之銘言:
: 哎…自己吃的河蟹自己吐
: 聽說是明天選,可是問題還沒被回答啊= =
: 1. git log 的問題
: 推 yehzu:我的疑問是,每次投票就commit,我是否能在投票所記錄誰在什 05/24 22:47
: → yehzu:麼時間進入,比對git log,就可得知誰投了什麼票? 05/24 22:48
: → yehzu:這樣是否違反不記名投票的原則? 05/24 22:49
: → tomchc:基本上log不開放,因為很多人一直要求要記錄甚麼時候投票 05/24 23:20
: → tomchc:不記名疑慮本會也一直有提出,目前將改成嚴加保存log不外流 05/24 23:21
: → tomchc:為解決之道 05/24 23:21
: 推 yehzu:這不是開不開放的問題,是「還是有人可以得知」的問題 05/24 23:23
: 推 tw0517tw:有沒有可能延後隨機時間寫入資料庫XD 05/24 23:28
: 推 yehzu:那麼延後的時間多久?票跟票前後的時間很鬆散結果也是一樣 05/24 23:29
: 推 yehzu:而且「工作人員後台會知道同學已操作完畢,將同學請出來」.. 05/25 00:09
: → yehzu:這太誇張了吧....為什麼外面的人可以得知裡面的投票情形? 05/25 00:10
: → tomchc:log問題我們將找選監以及設計者討論,後臺問題基本上只是確 05/25 00:23
: → tomchc:定有沒有進行投票。比較像是投票者蓋完章有沒有出來把票放 05/25 00:23
: → tomchc:進票匭。將空白票擱在裡面或是攜出都是違法的 05/25 00:24
關於匿名與公正性
我在這次選舉的身份是系統供應商,選委所使用的系統是由我提供的,我相當
希望這次選舉能公平且順利的度過,使用電子投票的最大問題就是在匿名(完
全追蹤不到投票人是誰)、公正(選票沒有被篡改),對於前者,因為要達成
後者的驗證效果,程式設計上 log不可能不儲存時間戳,也就是說當選票的公
正性被挑戰時,log裡面一定會包含時間戳。
矛盾與聲譽
如果我不放上時間戳,又會被挑戰選票公正性,但說真的真要作弊,系統供應
商有千百種方法可以做票,但今天我是負責提供系統的廠商,我做這件事情會
有損我的名譽,這也就是電子投票找第三方來做的最大理由(總不可能找電算
中心來寫吧,大家都會懷疑期中評量有沒有記名了)。
關於選委能得知投票狀態一事
工作人員使用的後台只會顯示該票所最近五次完成的時間戳,我想這是沒有問
題的。
: 2.
: 推 yehzu:那還有疑問是,將會使用browser或是內建app?我能不能利用公 05/25 00:33
: → yehzu:開的原始碼做一個假網站,並在投票時置換上去? 05/25 00:35
: 如果使用內建app,那麼程式碼呢?
: 如果使用browser,又是使用什麼樣的browser?
: 如果當前投票用的程式被切換到其他程式去,又是如何?
: 再延申一點,是否可能裝入側錄軟體監看?
程式的架構在先前的簡報內有說明,系統建於aws ec2 cloud上面,要採用VPN
連入,連入後內網沒有提供對外的連線功能,android的訪客模式也沒辦法將
VPN中斷,如果他將wifi中斷的話就沒辦法看見投票網站,無法完成投票基於
第一點第三項的設計,選委將會發現。
若wifi中斷則VPN中斷,得進入管理員權限連上VPN(而且VPN密碼不會儲存在平板內)。
若製作假網站的話,沒辦法達成假造域名且SSL憑證會顯示綠色的作用,會被拆穿。
如圖可以看到網址列左方有綠色鎖頭,且域名正確(域名會寫在選舉說明上)
http://goo.gl/x6M0Sq
: 3. 使用的硬體規格、作業系統為?所有外部可以插入的孔有封住嗎?
ASUS transformer pad tf300t
android 4.2.1
連接usb的孔將會貼上選委封條,投票時請確認封條完整(旁邊的選舉說明也會寫到)
: 4. 結果的正確性
: 要怎麼告訴選民結果是正確的?別再跟我說開源,這不是解決這個的方法
: 檢查下載下來的軟體正確性可以使用 checksum,可是票呢?身為選民是否
: 有方式可以不記名地得知自己的票被投入正確的一方?
中選會怎麼告訴選民結果是正確的?
其實這個問題在每個選舉都存在,最後結果都是基於信任第三方單位
今天我是一間廠商,所有系統的設計皆是我負責,並提供給選委使用,昨天晚
上也都和選監們花了三小時解釋所有細節,這次的選舉我可以算是第三方的公
正單位,您也可以說我代表台科大學生會(目前為台科大學生會資訊室第七屆
主任,先前大一時也在敝校擔任過選委),在github上的code也可以看到票已
經被不記名的記錄,並使用git commit做記錄,事後這些記錄都是可以比對的。
: 5. 之前提到的,怎麼樣得知 runtime 的 code 是 github 上的那一份?
沒錯,沒辦法知道,但如同第四點,我沒有理由做出舞弊的事情
另外,我會在學生會待到選舉結果公告,歡迎有能力有興趣的人來找我,可以
作為見證人看一下線上系統運作,然後看最後開票的處理方式。
謝謝指教
作者: lyviasun (:))   2014-05-27 14:54:00
作者: RPedsel (Edsel)   2014-05-27 15:06:00
作者: tiefblau (tiefblau)   2014-05-27 15:14:00
沒118IP 失敗 XD
作者: mousems (MouseMs)   2014-05-27 15:23:00
哭哭 學生會的VPN死掉了不能用XDDD
作者: RSChiang (鍵盤蒟蒻的RS)   2014-05-27 15:37:00
推XD
作者: yehzu (小葉~)   2014-05-27 15:44:00
唉 既然有timestamp怎麼會是不記名? 你怎麼證明自己是公正第三方?
作者: type0 (type0)   2014-05-27 15:54:00
樓上我不懂,timestamp跟記不記名有什麼關聯
作者: yehzu (小葉~)   2014-05-27 15:59:00
只要在場記錄投票的人及時間,再與log比對就知道了我的重點不在於公不公開,而是「還是有人會知道誰投了什麼」
作者: yehzu (小葉~)   2014-05-27 16:09:00
另外我文中指的正確性是指,傳統票券我可以確定我蓋在誰的欄
作者: yehzu (小葉~)   2014-05-27 16:10:00
位裡,並把它投進票匭。可是電子投票沒有這種性質,我要如何知道我投的人真的被算入對的counter,並且沒被竄改?
作者: bztfir (恩恩呵呵)   2014-05-27 16:27:00
timestamp那個可以再討論 不過你後面說的那個 基本上就是你
作者: bztfir (恩恩呵呵)   2014-05-27 16:28:00
信不信任作為第三方的程式設計者吧你不信任的話當然會有一大堆問題
作者: type0 (type0)   2014-05-27 16:30:00
我也覺得使用電子商品真的是信任的問題就像我也可以質疑PTT會不會偷偷賣我個資是一樣的道理
作者: type0 (type0)   2014-05-27 16:32:00
然後程式是開源的,y大可以去測看看哪邊步驟會出現y大質疑的
作者: type0 (type0)   2014-05-27 16:33:00
問題質疑。雖然我自己也沒很相信電子投票的說
作者: yehzu (小葉~)   2014-05-27 16:36:00
....怎麼會只相信一方呢?ATM都要用三道鑰匙才能開了
作者: yehzu (小葉~)   2014-05-27 16:38:00
我提出的就是傳統票券的優點卻是電子的缺點,難到不需釐清投票的意義在於保密及安全而非選務的方便嗎?
作者: yehzu (小葉~)   2014-05-27 16:41:00
我指的竄改並非一定是程式錯誤,而是遭人為更動,比如說有後台權限的人。
作者: wanghate   2014-05-27 17:15:00
樓上要不要說選委不是你所以都有可能竄改?
作者: yehzu (小葉~)   2014-05-27 17:26:00
樓上滿怪的,就算選委是我,也可能被我竄改。投票應該是要把
作者: yehzu (小葉~)   2014-05-27 17:27:00
信任單一來源變成可以通相互確認檢查,我怎麼知道有沒有人被買通?

Links booklink

Contact Us: admin [ a t ] ucptt.com