Upgrade to Pro — share decks privately, control downloads, hide ads and more …

厲害了,我的票 / Fantastic Vote System and Where to Find ’em

厲害了,我的票 / Fantastic Vote System and Where to Find ’em

“Fantastic Vote System and Where to Find ’em”
2018/6/10 Talk @ SOSCON 2018, Chongqing University, Chongqing, China.

Poren Chiang

June 10, 2018
Tweet

More Decks by Poren Chiang

Other Decks in Technology

Transcript

  1. 「厲害了,我的票」
    那些電子投票系統教我的事
    RSChiang 2018.6.10 / CC BY-SA 4.0

    View Slide

  2. 哈囉,
    我是姜柏任。
    國立臺灣大學法律學系五年級。
    臺大開源社發起人暨首屆社長、
    臺大學生會選舉罷免執行委員、
    SITCON 共同發起人。
    Telegram: @RSChiang
    E-mail: [email protected]
    或是透過 poren.tw 與我聯繫 ( ´ ` )
    ▽ ノ

    View Slide

  3. View Slide

  4. https://sitcon.org / https://t.me/SITCONgeneral

    View Slide

  5. View Slide

  6. 臺大學生會聯合選舉
    ● 1988 年改制為三權分立、會長直選
    ● 總選舉人數略高於 3 萬人
    ● 採實體投票,淡旺季、尖離峰分明
    – 上學期(學代選舉)投票率約為 3~6%
    – 下學期(會長暨聯合選舉)投票率約為 8~10%
    – 1988 的時候有 50% 但很久沒有看過了
    – 下課、午休時間會有瞬時尖峰

    View Slide

  7. 105 學年度第 2 學期臺大學生會暨自治組織聯合選舉領票人數—時間圖(依投票所分色)

    View Slide

  8. 105 學年度第 2 學期臺大學生會暨自治組織聯合選舉領票人數—時間圖(依選舉人學院分色)

    View Slide

  9. 傳統(紙本)投票
    ① 查驗學生證與註冊章
    ② 簽名確認領取選票
    ③ 圈票處蓋章 ④ 投入票匭
    → →

    View Slide

  10. 人力成本
    (選票印製、運送、開票)

    View Slide

  11. 試行電子投票
    ① 查驗學生證與註冊章
    ② 簽名確認領取授權碼
    ③ 圈票處以平板投票

    View Slide

  12. 照片取自臺大學生會選委會粉專,原文於 2013/12/16 發佈。

    View Slide

  13. 「你半夜不睡在幹嘛?」
    「我在寫你們學校的投票系統」

    View Slide

  14. 嚇到吃手手

    View Slide

  15. View Slide

  16. 原圖取自 2014 電子投票論壇〈102-2 NTUvote 技術說明〉簡報,MouseMs CC BY-NC 4.0

    View Slide

  17. 原圖取自 2014 電子投票論壇〈102-2 NTUvote 技術說明〉簡報,MouseMs CC BY-NC 4.0

    View Slide

  18. 原圖取自 2014 電子投票論壇〈102-2 NTUvote 技術說明〉簡報,MouseMs CC BY-NC 4.0

    View Slide

  19. 還是爆炸了
    ◢▆▅▄▃╰ ( 〒皿〒 )╯▃▄▅▇◣

    View Slide

  20. View Slide

  21. 重新思索架構設計

    View Slide

  22. 投票四元素
    ● 普通
    ● 直接
    ● 平等(一人一票、票票等值)
    ● 秘密(無記名投票、不得亮票)

    View Slide

  23. 新式電子投票
    ① 讀卡查驗學生證
    ③ 在平板確認身分
    ② 向教務處系統查驗學籍
    ④ 授權碼派發至投票系統
    ⑤ 圈票處投票

    View Slide

  24. 認證變革
    ● 學生證本體是臺北捷運悠遊卡,特定磁區裡
    存有學號與補發次數的資料。
    ● 直接以程式派送授權碼,節省手動輸入的時
    間、也預防授權碼外流。
    ● 解決了廢除註冊章制度後的身分驗證問題。

    View Slide

  25. 技術堆疊
    ● 硬體先決
    – 支援 Mifare 的 NFC 裝置
    – Nexus 7, Sony Xperia, 部分 HTC 手機
    – 以 Java 開發 Android 原生客戶端
    ● 伺服器架構
    – 基於既有 framework 開發的 RESTful API
    – 身分驗證系統採用 Django (Python)
    – 投票系統以 CodeIgniter (PHP) 重構

    View Slide

  26. 稽核機制
    ● 投票結束後核算授權碼數量
    ● 保留各種紀錄
    – 伺服器:領票、驗證、派票、無效請求
    – 選務中心與投票所:網路異常、重新派票、中途離開
    – 經校正後授權碼總發出數應等於總使用數
    ● 以 SOP 壓低風險

    View Slide

  27. 法規與行政因素
    ● 《國立臺灣大學學生會選舉罷免法》
    – 無效票 / 廢票 / 不領票
    – 未投完所有選票
    – 重複投票 / 擅自使用他人選票
    ● 《個人資料保護法》
    – 個人資料的定義與範圍
    – 說服學校承辦人員同意 API 對接
    – 資料收集之揭露義務與最小侵害原則

    View Slide

  28. View Slide

  29. 照片取自臺大學生會選委會粉專,原文於 2014/12/17 發佈。

    View Slide

  30. 下排照片取自臺大學生會選委會粉專,原文於 2014/12/17 發佈。

    View Slide

  31. View Slide

  32. 挑戰與蛻變

    View Slide

  33. 挑戰與蛻變
    ● 試營運: 2014 模擬六都市長選舉
    ● 客戶端與管理權限衡平: 104-2 學生會長選舉
    ● 自造 vs. 仰賴既成硬體困境: 105-1 自製讀卡機
    ● 備援與二線機制: 105-2 部署失敗與選舉延期
    ● 易維護性與彈性取捨: 106-2 架構改寫
    ● 雙重稽核與風險控制: 106-2 選舉派票失誤

    View Slide

  34. 照片取自臺大學生會選委會粉專,原文於 2015/4/3 發佈。

    View Slide

  35. 自製硬體
    ① 讀卡查驗學生證
    ③ 在選務電腦確認身分
    ② 向教務處系統查驗學籍
    ④ 授權碼派發
      至投票系統
    ⑤ 圈票處投票
    ⑥ 回呼確認投票完成

    View Slide

  36. 照片取自選務人員 Facebook ,原文於 2017/5/17 發佈。

    View Slide

  37. 架構調整
    ① 讀卡查驗學生證
    ③ 在選務電腦確認身分
    ② 向教務處系統查驗學籍
    ④ 授權碼派發至投票系統
    ⑤ 圈票處投票
    ⑥ 回呼確認投票完成

    View Slide

  38. View Slide

  39. View Slide

  40. 人員操作簡化、硬體依賴度降低
    但壓力就都在 DevOps 上了 ( ; ´ `A
    Д

    View Slide

  41. 社會影響
    ● 中央選舉委員會
    ● 臺北市政府資訊局
    ● 2020 換發數位身分證後?

    View Slide

  42. 未來展望
    易用、討論、交接

    View Slide

  43. 「我們貢獻這所大學于宇宙的精神」
    (傅斯年校長)

    View Slide

  44. Thanks!
    RSChiang 2018.6.10 @ SOSCON 2018 / CC BY-SA 4.0
    歡迎在 GitHub
    一起戳程式碼!
    rschiang/ntu-
    vote-auth-server

    View Slide