就在 2 月 18 日星期二,美國威斯康辛州的小鎮 Fulton,居民經驗了先進的電子設備,投票選舉當地學區委員與威州的高院法官。電子設備是微軟的「選舉守衛」(Election Guard),設備很簡單,一個平板電腦、一台列印機、一個票匭。選民在一個平板電腦畫面點選屬意的候選人,列印機印出一張圈選好的選票,選民核對無誤,把選票投入票匭,手續完成。初看起來這電子投票似乎多此一舉,用傳統的辦法圈選紙票投入票匭不是更簡單?
微軟的「選舉守衛」是去年九月宣布的,這是第一次試用,威州還沒有核准,所以計票還以票匭裡的紙票為準,Fulton 小鎮人口只有三千多人,手工計票不難,而微軟一方面藉此機會測試系統,一方面瞭解投票人的感受,希望能普及應用,即使今年總統大選趕不及,以後的選舉與 2024 年總統大選或可用得上。微軟所推動的自然不是簡單的設備,而是背後的軟體,是一個讓選舉安全的守衛軟體。
安全的核心技術,由微軟的加密學家 Josh Benaloh 設計,每一張投下的電子選票都「同態加密」(Homomorphic Encryption)。同態加密的特點,在加密後的密文,也可以如加密前的明文進行處理,像是加總選票,但不洩漏選票內容,直到解密後才看到明文的選舉結果。所以投票以後的各種處理與統計,都是密文進行,即使有駭客闖入,所看到的全是密文,完全看不到選舉內容。
同態加密的用意在安全之下的資料處理,特別是藉助第三者的運算能量如雲端來處理,卻又不希望暴露資料內容。「選舉守衛」在正式啟用的時候,投票人在電腦畫面點選候選人之後,會印出兩頁選票,一頁投入票匭,另一頁由投票人保存,票上印有二維條碼,可進入選務單位的網站,察看自己投的票有沒有正確的列入統計。另外任何人都可以下載或自行撰寫驗證程式,來核對公布的結果是否正確。這兩個端點到端點的驗機制,在密文處理之下來維護選舉資料的安全,也使駭客無所遁形。
電子計票的結果是否準確,尤其是運算是在密文進行,所以需要一個審核功能,當然最簡單的方式就是把紙票從票匭取出,用人工計算,結果與電子計票核對,這不但費時費力,人工計算難免有錯。「選舉守衛」則用一個統計上的審核機制,隨機取出適量的電子票,與對應的紙票核對,如果無誤,就代表電子系統運算正確,免除了傳統方式全數核對的冗長手續。
「選舉守衛」是一個軟體,也可作為系統發展的套件 SDK,也是一個 Open Source,免費提供各選舉機構,可以直接使用,也可以與既有的選舉系統連接,當然也可以更改或改進,適應各選務單位所需,使選舉作業更安全、更有效率、更順暢。微軟進一步提出在家選舉的構想,先在家裡上網選擇候選人之後,在手機製作一個二維條碼,然後到投票所用手機嗶一聲,就投完票了。
美國的投票方式種類繁多,除了傳統的圈選紙票以外,有打卡機、現在大概不再用了,另外有在紙上標記後光學掃描、直接在電腦畫面點選、直接在電腦畫面點選同時列印一張紙票掉到密閉票箱,但無論哪一種,安全的考量都不周全,微軟是第一家大型軟體公司提出選舉安全的考量。
美國的選舉投票複雜,經常要選出各級政府多類官員與民意代表,以及多項公投議題,不論紙張或電腦,選票都是長長的一張。有的媒體認為「選舉守衛」可能是微軟 2020 年最成功的產品,據說幾家大型投票機製造公司與外國選務機構,都對微軟的設計有高度興趣。至於微軟能否守衛選舉,就要從今後一年一年的選舉來驗證了。
*作者為資深媒體人。本文原刊西海岸隨筆,授權轉載。