技術文,小弟會加多條問題:何以硬性規定用 telegram 認証投票人身份?用 gmail,FB 之類支援 Oauth protocol 獲取 access token 認証相比不夠用 telegram 安全 ?
http://news.mingpao.com/pns/dailynews/w ... 6835530770我應該用Telegram參與「2017特首民投」嗎?
【明報專訊】
■答﹕趙智勳,國際電腦公司的高級系統顧問;「公民數據」發言人。有份開發「雷動聲吶」Telegram程式及「2017特首選舉民間全民投票」PopVote程式
■問﹕Melody,民間記者
問﹕為什麼投票程式擅自替我開了Telegram戶口?
答﹕因為你要有Telegram戶口才能投票,所以程式會替你開設戶口,但就不會強行下載Telegram App到你電話中。
如果你本身不是用戶,Telegram已設定了6個月內你沒有動靜去連接,就會自動刪除戶口;你也可以自行從Telegram手機程式刪除戶口。
問﹕投票程式要求我輸入密碼或是認證碼。程式拿到密碼或認證碼後,是否便進入了我的Telegram,會看到我和他人的對話?
答﹕不會。正如訪問所說,
投票程式並不會「攞你條匙」,只會要求你掏出門匙來用,而且你與門之間沒有其他人。當你使用密碼登入Telegram時,表面上看起來是PopVote投票App,但包裝下其實是官方的web.telegram.org程式碼。投票程式並不會傳送或儲存你的認證碼到PopVote投票系統中。
因此,投票程式不會拿到你的密碼或認證碼,只會要求你輸入來開門。密碼是一次性的,沒有其他人能用。完成投票後,程式會自動及強行登出。問﹕你說得如此安全,為什麼保安事故協調中心仍然發出通告,叫人不要使用投票程式?
答﹕保安事故協調中心通告主要是說,
如果有壞人假扮PopVote投票程式,套取了你的Telegram登入資料,壞人就能取得你的對話紀錄和聯絡人清單,情况如假扮銀行的「釣魚網站」。除了假扮投票程式,另一可能是投票程式被人「加料」,在你登入Telegram之後,背後傳送資料到其他地方。
這兩個可能性都很低,但當然是還有可能,正如你使用銀行的網頁,也可能會遇上「釣魚網站」。
問﹕
但我把條匙掏出來用,仍然有可能被「強力部門」見到和強搶?「強力部門」也可能有能力扮成投票程式向我「釣魚」,又或者修改投票結果?
答﹕如訪問所說,「袋住條匙落街買嘢」的確也有風險,條匙有可能丟了在街上,這個風險大家要衡量是否可以接受。
但要入侵系統改動或偷取數據就相當難。黑客首先要知道系統位置,而PopVote系統採用雲端技術,前台的網站有CloudFlare保護。至於後台的數據儲存系統,是散佈於全世界數據中心之中運作和備份,只有Telegram才知道PopVote後台系統的確實位置,難以定位。
黑客入侵系統後,還要面對解密問題。系統把數據庫中儲存的每個市民的電子選票,都逐一做了加密處理。解密鑰匙分別由3名指定的非技術人員持有,儲存在USB記憶棒中。黑客除了入侵系統,還必須得到該記憶棒和解密鑰匙,才能盜取資料,也難以修改或破壞電子選票。
新系統還準備加入子區塊鏈(Blockchain)技術和離散式儲存(Distributed File System)技術,加密的選票會分散儲存於雲端,並以電子簽署將「聰明合約」(Smart Contract)技術送入Bitcoin區塊鏈中。將來即使整個PopVote系統被攻破,仍可在雲端取回投票結果,並以區塊鏈中的電子簽署判別電子選票的真確性。黑客若要修改電子選票或破壞投票紀錄,不單要入侵得手,還要強行修改雲端儲存和強行修改Bitcoin區塊鏈上的聰明合約,其難度非常高,需要取得全球Bitcoin區塊鏈網絡50%以上的運算力量才能辦到。
問﹕上次投票用SMS不是「好地地」嗎?為什麼今次要轉用Telegram和認證碼?
答﹕在本地收發SMS成本約是每條0.2元至1元。如果有100萬人投票,每次投票的社會成本需要數十萬元。2014年的PopVote系統使用SMS,效果很不錯,但電訊商需收取數以十萬元計的開發費用,而且有使用時限,而公投議題敏感,電訊商取態未明。