國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
19
System)/IDS(Intrusion Detect System)、RSA 加密機制等,甚至對電腦病毒、木 馬、蠕蟲,以至於駭客入侵方面並不討論,那已經超過太多非本研究所能含蓋 範圍。但非因此而無安全機制,我們系統可以採用 Https SSL(Secure Session Layer)進行傳輸加密,保護傳輸的安全。
1.5 論文結構
本論文第一章簡介論文的基礎資訊包括研究背景動機、目標及論文中用的相關基礎 知識,希望藉由第一章的閱讀即可讓讀者很快對全文的研究,有個初步的認識。第二章 介紹本篇研究的相關技術背景及過去的相關研究的探討。第三章則從技術層面及系統架 構規劃介紹,希望讓讀者清楚知道系統的架構、運作模型及作業規劃。第四章進行實驗 及實作結果的報告,由一般簡單型到複雜型的三個投票活動實驗,進行測試,以達到本 系統的目標。第五章特別針對系統未來展望給概括的建議與描述,希望有助於想投入網 路投票研究的人有些幫助。
‧
的學者 Shamir,以及另一學者 Blakey 分別提出秘密分享(secret sharing scheme) [1]的構 想與方法來解決金鑰的保管問題。將金鑰利用某種方法分割為 n 個部份金鑰,分別交給 n 個人保管,避免集中於一人時,遺失或失竊的風險導致秘密無法還原。另外,在所有 保管人中,任意 k 個人的部份金鑰即可將主金鑰推導出來的一種金鑰安全管理方法。研 究[5]更整理了包括 Shamir 秘密分享、Blakley 秘密分享、Karnin-Greene-Hellman 秘密分 享、Asmuth-Bloom 秘密分享方法及相關應用。戰爭電影裡常常出現一個情結,當軍方要對敵軍發射一個飛彈前,都需要開啟一個
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
21
圖 1 秘密分享範例
參考來源: [7]
2.1.2. 安全多方計算
安全多方計算是密碼學裡的一個重要研究主題,同時也是秘密分享中的一項應用。
它是由中研院院士 Andrew C. Yao 所發表的論文中有關於百萬富翁問題[2]而來,問題假 設有兩個富翁,彼此不知道對方有多少財富,既不信任對方不想透露財務資料與對方,
但又好奇想知道誰比較富有,在這個狀況下,Yao 的研究中提出一個演算法,在分享有 限資訊的情形,藉由第三方的運算結果,既不會洩露雙方財產資料,又可以正確得知兩 人誰較富有。因此安全多方計算不只可應用在資訊安全方面,更可達到隱私保密的功能。
2.1.3. 加法分持安全多方計算
在多方安全計算的運算環境中,加法分持是最清楚易懂的一種安全多方計算方法。
依據[7]的設計,加法分持計算共有三個運算階段如圖 2,說明如下:
1. 秘密資訊分持:擁有秘密資訊的 End User 為了資訊安全的保護,將手上的秘密 資訊以亂數加減法運算邏輯分拆為 2 個(或是多個)部份秘密資訊,讓分拆的部 份資訊個別無法識別出秘密資訊,並將分拆的部份秘密資訊分送給 Proxy
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
22
Server A 及 B。個別的資訊因無法識別出秘密資訊,也無法還原回溯至秘密資 訊,因此具備一定程度的安全性。
2. 第一次的合併:當多位 End User 個別送出部份秘密資訊給 Proxy Server A 及 B 後,Proxy Server 進行第一次的加總合併計算,各個 Proxy Server 加總結果再 個別送至 Merge Server。Proxy Server 的數量愈多,愈難讓有心人士收集完整的 秘密資訊,安全性也愈高,相對地,要每一台 Proxy Server 皆正常運作,才可 順利還原秘密資訊,風險也愈高。
3. 再次的合併:Merge Server 將所有 Proxy Server 送來的加總資訊,再次加總計 算,得到最後的結果,即為秘密資訊或最終結果。
使用此設計概念可以實作出應用模型,例如安全會議排程及本研究所提之秘密投 票,亦為本系統設計的理論基礎。
圖 2 加法分持計算系統三個階段
參考來源: [7]
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
23
2.1.4. 電子投票
電子投票技術發展,參考王淳在 2008 年發表的論文[11]大體上可分為以下兩 種:E-Voting 及 I-Voting,E-Voting 即 Electronic-Voting 利用電子式或機械式的設備來進 行投票的行為,該設備放在各投開票所,而選舉人仍必需親至投、開票所進行投票,在 該設備上,透過按鍵點擊、觸控操作、畫卡掃描等的方式進行投票,例如圖 3的投票人 在選票畫記進行投票,再透過圖 4光學讀卡透過反射閱讀卡技術,找到相對位置,得知 投票人投給哪個候選人或選項。此方式與傳統投票所簡化的是在選票的製作及開票的過 程,並大幅縮短開票時間,但對於選舉人仍必需花時間到投開票所排隊投票或出門在外 的選舉人無法投票的問題,無法改善。
圖 3 An Optical Scan Ballot
資料來源:[11]
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
24
圖 4 An Optical Scanner
資料來源:[11]
另外一個 I-Voting 即是 Internet-Voting,利用網路進行投票,該網路可以是區域網 路也可能是網際網路,視選舉人數量規模或地點及本次選舉活動安全程度的考慮而定。
近來已有愈來愈多非正式的投票或社交目的的投票活動皆透過網路進行,它不僅提高投 票活動的便利性,同時也讓整個投票活動變得快速有效率。正式的選舉投票活動因為考 慮投票的安全性,實際透過網際網路投票的情形,在台灣較為少見,本篇研究則以網路 投票的複雜性及相對安全角度而設計,希望能給未來建立網路投票機制的參考。
2.2 文獻探討
較多的文獻所探討的網路投票系統相關議題,多圍繞選票的加密及投票人身份驗證 的技術觀點上,如在電子簽章數位憑證等加密安全為主的[9][11]所提到的愛沙尼亞 I-Voting 系統,利用「非對稱式加密」機制,當每個選舉人進行投票時,系統自動產生 一組金鑰,以公開金鑰將選舉人的投票資訊加密,使得紀錄保存的過程絕對安全,在開 票計算前,再利用該組私鑰解密,進行計票作業。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
25
另外,也有多重加密技術結合的論文研究,利用 RSA 簽章、盲簽章及 Shamir 秘密 分享法設計的電子投票系統如[12],相對於本論文研究,該演算法嚴謹卻顯得複雜許多。
另外對於電子投票機(E-Voting)的運作及安全改善的研究[4][11][12]也有不少。
本研究並未針對投票的加解密、不可否認性等投票安全進行討論,而是採用加法分 持安全多方計算的演算模型,減少複雜計算過程,同樣達到相對安全性要求,並且提供 一個參考設計架構,同時可以滿足大多數投票活動。
‧
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
28 圖 5 投票流程
資料來源:本研究編製
圖 6 計票並選出獲勝者
資料來源:本研究編製
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
29
3.3.2.
運作細節
1. 投票活動管理
依據該次投票活動規則,建立該次活動必要項目,建立步驟如下:
(1) 第一步驟為投票活動基本資料新增參考如圖 7,包括投票活動名稱、簡介及投 票起、迄時間及獲勝人數等,另外除了基本資料設定外,提供自訂欄位的設定 以便增加候選人或投票人的必要屬性欄位,例如候選人所屬的群組。
圖 7 投票活動基本資料
(2) 第二步驟為候選人資料維護參考如圖 8,包括候選人照片上傳、簡歷欄位及相 關附件上傳等,另外在活動基本資料建立時,若有針對候選人自訂欄位的內容 需要增加,則會在此頁面中,提供輸入的選項。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
30
圖 8 候選人資料維護
(3) 第三步驟為投票制度與投票人設定參考如圖 9,可以針對投票制度(多數決制、
認可投票制、排序投票制)的選擇,選票分配方式來決定投票人擁有的票數,
是否允廢票,或是未投完票是否視為廢票等,另外也提供自訂投票制度來定義 不同的規定,例如可設定每位投票人擁有的票數、票數是否皆相同或不同,是 否可全數或部份投票在一個候選人上等。
同時投票活動亦決定是否為限定投票人或不限定投票人,一個公開類似問卷調 查的投票活動時,常常是不限定投票人,投票結果做為統計參考之用,則可以 採用不限定投票人方式進行。而具有特定資格的投票人才有權進行投票的投票 活動,則可採用限定投票人的方式進行。由於投票人的數量往往非常多,系統 投票由外部資料匯入的功能,方便進行建檔,匯入的檔案至少需包括投票人姓 名(VoterName)及投票人電子郵件(VoterEmail)兩欄位。
另外在活動基本資料建立時,若有針對投票人自訂欄位的內容需要增加,則會
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
31
要求在匯入的檔案裡加入該欄位,做為投票人的屬性資料。
圖 9 投票制度與投票人設定
(4) 第四步驟為獲勝條件設定參考如圖 10,分為比例條件設定及人數條件兩種;
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
32
圖 10 獲勝條件設定
第一種比例條件的設定中,可供訂定的包括全體投票率、全體得票率條件,特 殊自訂欄位的屬性值下的得票率及投票率,實務上的範例包括絕對多數決定的 全體投票率需大於等於 1/2,其設定方式如圖 11,此條件會被儲存為:
{{“id”:1,”filter”:”PVO”,”condition”:”>=”,”value”:”1/2”}}
圖 11 絕對多數決制之設定
1/2
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
33
另一例為中央研究院院士選舉辦法中[15]第四章第十二條第三款:「…但於綜 合投票中,如本組投票數達本組院士人數二分之一,而候選人得本組票數三分 之二者,則得三組綜合票數之過半數即當選…」,設定方式如圖 12 此條件會 被儲存為:
圖 12 中央研究院院士當選條件設定
第二種獲勝條件的分類是人數條件,在多位獲勝者的情形下,為了妥善分配獲 勝者,以便讓不同背景或單位或特性等的候選人員,可以在當選後有發聲表達 意見的機會,即可利用獲勝條件的人數條件設定,達到獲勝者的妥善分配。例 如政治大學校長遴選辦法[16]第三條(一):「…. 教師代表七人:由全校教師或 研究人員登記參選,並由校務會議代表就參選人中選舉產生之,其中教授(含 研究員)人數不得少於五人,同一學院或中心以一人當選為限。」,教授(含研 究員)人數不得少於五人之人數條件設定如圖 13,此條件會被儲存為:
第二種獲勝條件的分類是人數條件,在多位獲勝者的情形下,為了妥善分配獲 勝者,以便讓不同背景或單位或特性等的候選人員,可以在當選後有發聲表達 意見的機會,即可利用獲勝條件的人數條件設定,達到獲勝者的妥善分配。例 如政治大學校長遴選辦法[16]第三條(一):「…. 教師代表七人:由全校教師或 研究人員登記參選,並由校務會議代表就參選人中選舉產生之,其中教授(含 研究員)人數不得少於五人,同一學院或中心以一人當選為限。」,教授(含研 究員)人數不得少於五人之人數條件設定如圖 13,此條件會被儲存為: