[開源] 電子投票系統檢驗報告

看板NTU作者 (鍵盤蒟蒻的RS)時間10年前 (2014/05/27 16:25), 10年前編輯推噓28(28010)
留言38則, 30人參與, 最新討論串1/1
嗨,我是開源社長 RSChiang,這次受選委會邀集,一同協助檢視電子投票 程式運作方式及相關安全性。 自上週選委會將程式碼開源後,開源社TDOH(學生駭客社群)、SITCON (學生計算機年會)與開發商協作完成了 21 項程式碼安全性修正與資料效 度更新。 我們也同時閱讀並檢驗了系統運作的原始碼,針對投票之技術細節, 茲說明如下: 基本上選票會經過數個階段的轉換(現實世界) 選務人員 A 檢驗身份 --> 選務人員 B 發給授權碼 (電子系統) 輸入授權碼 --> 單向雜湊轉換為索引號 --> 索引號管控投票流程 --> 確認投票時轉換成候選人編號 + 時間戳,即為選票記錄 (1) 記名問題 a. 人 <--> 授權碼:由於檢驗身份的選務人員與發放授權碼的人員並不一 致,所以無從將單獨個人對應至授權碼本身。 b. 授權碼 <--> 索引號:資料庫中用以控管投票流程的索引號 (Key Index) 是由 SHA1 + Trimmed MD5 + Salt 單向雜湊產生,由於雜湊函式的 定義域有無限種可能,經過轉換(映射)後,在有限的時間內,並無法反推 其授權碼為何。 c. 索引號 <--> 選票記錄:兩者並無關聯。索引號暫時記下的時間戳在投 票完成後會被清除,無法反推。 → 並無違反無記名原則。 (2) 真實性問題 a. 授權碼:每一筆產生的授權碼,皆為獨佔性(無法多重登入)、不可逆 性(無法回頭修改)且唯一(不重複)。 b. 選票記錄:伺服器端會以版本控制系統 Git,將每一筆選票記錄自動雜 湊歸檔 (commit)。由於修改 commit history 會導致雜湊值不一致,得以 確保選票記錄不會被篡改。 → 真實性是可以檢驗的。 (3) 常見疑難雜症 a. 開源之後會不會比較容易被駭? 並不盡然。全世界最廣為使用的作業系統 Linux,便是徹頭徹尾的開放原始 碼專案;將程式碼攤開在陽光底下檢視,也才能有更多人協助找到問題並修 正。 (說實在,Windows 不是開放原始碼軟體,也沒比較安全啊XD) b. 會不會有釣魚假網站?我的選票會不會外流? 此次投票系統係建構於 Amazon 私有雲上,無法外連到任何外部網站。開發 廠商已付費簽署 SSL 安全憑證,若有疑慮,可在投票時認明網址列上的綠 鎖頭。 圖例:http://imgur.com/G9zmqpZ
c. 伺服器的偵錯記錄 (debug log) 會不會有時間戳記? 平板會不會被動手腳? (這是信任問題,廠商先我解釋了。見 NTU 版 #1JX3HB11d. 要怎麼確定開源版本與線上版本一致? 昨晚的電子投票說明會中,開源社已向廠商建議加設版本號標記。 以 g0v 零時政府網站為例: http://imgur.com/HSVprcA
e. 我是__院的參選人,這又不是我的本科,難道我不能質疑嗎? 你好,我是開源社長、法律學院法律學系的 RSChiang。 非本科從來不是問題,質疑需要技術力作為後盾, 歡迎加入推廣資訊透明化的開源社! 如果尚對電子投票有疑慮,除了聯繫選委會外,開源社也將在 6/26(四) 舉辦電子投票系統讀碼講座,歡迎與我們一同研究電子投票系統的運作流程 與設計巧思。 --- 臺灣大學開源社 http://fb.com/NTUOSC --

05/25 23:06,
黑雲被盜帳號了嗎XDD
05/25 23:06

05/25 23:09,
樓上黨工(欸)
05/25 23:09

05/25 23:23,
我不是黨工啦QQ
05/25 23:23

05/25 23:33,
樓上網軍XD
05/25 23:33
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.4.194 ※ 文章網址: http://www.ptt.cc/bbs/NTU/M.1401179135.A.183.html

05/27 16:32, , 1F
推開源社 >///<
05/27 16:32, 1F

05/27 16:44, , 2F
RS大大m(_ _)m
05/27 16:44, 2F

05/27 16:45, , 3F
但timestamp<->人?
05/27 16:45, 3F

05/27 16:45, , 4F
推<(_ _)> 6/26沒空無法去啦QQ
05/27 16:45, 4F

05/27 16:46, , 5F
另外「質疑需要技術力作為後盾」讓人看了不是很舒服啊....
05/27 16:46, 5F
那不是重點啦。XD 或許措辭不夠精準,應該反面來說「技術力方能作為質疑的有利後盾」 才能為自己的論點辯護。 ※ 編輯: RSChiang (140.112.4.194), 05/27/2014 16:49:44

05/27 16:51, , 6F
辛苦推@@
05/27 16:51, 6F

05/27 16:52, , 7F
另外不妨看一下大師怎麼說 http://0rz.tw/dvqzf
05/27 16:52, 7F

05/27 16:53, , 8F
朝聖推
05/27 16:53, 8F

05/27 16:53, , 9F
05/27 16:53, 9F

05/27 16:55, , 10F
推法﹑律﹑學﹑院出身的強大網軍
05/27 16:55, 10F

05/27 17:08, , 11F
媽我上簽名檔惹._./
05/27 17:08, 11F

05/27 17:13, , 12F
人家是社科院的啦~都看不懂>"< 不能質疑嗎^.<
05/27 17:13, 12F

05/27 17:14, , 13F
yehzu:英文看那麼多看不完啦
05/27 17:14, 13F

05/27 17:27, , 14F
推神人社長
05/27 17:27, 14F

05/27 17:46, , 15F
推x-frame-options
05/27 17:46, 15F

05/27 18:07, , 16F
推網軍 咦) XDD
05/27 18:07, 16F

05/27 18:09, , 17F
推 順便問一下 1.a 如果兩個選務人員串通好就可以知道?
05/27 18:09, 17F

05/27 18:10, , 18F
幹網軍別來亂好不好
05/27 18:10, 18F

05/27 18:18, , 19F
推rs大為61398網軍
05/27 18:18, 19F

05/27 18:19, , 20F
資法神人RSC!
05/27 18:19, 20F

05/27 18:23, , 21F
推個 有點猛
05/27 18:23, 21F

05/27 18:27, , 22F
git是不是有機會爆炸?!
05/27 18:27, 22F

05/27 18:28, , 23F
雖然不知道之前蘋果的版本管控是不是用git XD
05/27 18:28, 23F

05/27 18:52, , 24F
真的佩服
05/27 18:52, 24F

05/27 20:05, , 25F
@w840808 實際上揭露出來的最終結果是選票紀錄,照理說他只
05/27 20:05, 25F

05/27 20:05, , 26F
有授權碼是無法推出他到底選誰的。
05/27 20:05, 26F

05/27 20:07, , 27F
這其實是一道三層的鎖就是了
05/27 20:07, 27F

05/27 20:08, , 28F
這個機制倒是讓我想到死亡預告的逝紙發放 XD
05/27 20:08, 28F

05/27 20:32, , 29F
05/27 20:32, 29F

05/27 21:36, , 30F
我上簽名擋了欸~~~XDD
05/27 21:36, 30F

05/27 21:36, , 31F
    *檔
05/27 21:36, 31F

05/27 21:48, , 32F
娘子 快跟牛魔王出來看上帝
05/27 21:48, 32F

05/27 22:23, , 33F
推~辛苦啦!
05/27 22:23, 33F

05/28 00:02, , 34F
05/28 00:02, 34F

05/28 00:15, , 35F
推學弟辛苦了!
05/28 00:15, 35F

05/28 00:47, , 36F
推~
05/28 00:47, 36F

05/28 03:25, , 37F
神人學弟!
05/28 03:25, 37F

05/29 22:41, , 38F
yehzu:喔,RMS除此之外還反對IoT反對Cloud Computing
05/29 22:41, 38F
文章代碼(AID): #1JX4l_63 (NTU)