就由鄉民來推動民主國家的科技防疫吧!– PTT 杜奕瑾親自解析社交距離 APP 背後技術

截至目前為止(4/30),台灣經歷了連續 5 天零武漢肺炎確診(或稱武漢肺炎,COVID-19),相比國外復工日期不定,台灣在醫護人員的守護下度過最初的艱難時刻,台灣投入科技實力強化防疫的印象,也讓國際讚譽有聲。

各國紛紛投入研發防疫 APP,像是新加坡的 TraceTogether(iOSAndroid),南韓政府的追蹤居家隔離 APP,澳洲健康部發表的 COVIDsafe(iOSAndroid);由民間發起的,則如美國民間 MIT 發起 Google 跟 Apple 加入的「暴露通知」(exposure notification)。

台灣則出現由「PTT 創世神」杜奕瑾帶領的 AI Labs,台灣人工智慧實驗室,提出「社交距離 APP」概念,四月底進入 Alpha 測試,預計在完成測試後開放國人下載。

科技報橘本次採訪杜奕瑾及「社交距離 APP」的團隊,聊到台灣跟其他國家最大的不一樣,杜奕瑾說:「在於台灣是草根向上、Bottom up 的公民科技」,未來若是成功,各國可以參考台灣的「民主科技防疫」經驗。

台灣比各國都早!全球第一去中心化「社交距離 APP」

3 月疫情暗潮洶湧,當時 AI Labs 本來正在進行一系列行政院疫調的專案研究,包含可用於肺炎的藥物 AI 比對分析、預測病毒的蛋白結構、以及建立病毒株追蹤路線圖,病毒侵蝕肺部過程的 X 光片資料庫… 等等。跟 AI 關係不大的社交距離 APP,其實並不在原來的計畫裡。

杜奕瑾說,在美國民間單位 MIT 提出概念並吸引 Google 跟 Apple 加入前,台灣就已經在開發如何用手機做科技防疫了。嚴格來說,管理疫情的 APP 或許比新加坡由國家推出的 APP 晚了一些,但台灣的環境,非常適合開發或挑戰「去中心化」管制疫情的策略。

APP 3 大特色:免註冊、免登入、免上傳

現在幾乎人人手機都配有藍芽,藍芽低耗能、傳輸快,恰巧是一個不用實際接觸、不用檢查個資,又能交換距離資訊的方式。除了念頭來得恰巧,先前跟行政院副院長陳其邁與資通安全處處長簡宏偉的幾次醫療相關 AI 合作經驗,說服了 AI Labs 全力再嘗試一個不那麼 AI 的專案—社交距離 APP。

雖然將資料交由政府統一收集、發佈,能更直接、更有效降低疫情影響,不過「我們要用民主國家的方式」杜奕瑾這麼說:「我們做的 APP 不用註冊、不用登入、不用上傳。」所有的資料只會儲存在個人手機上。

杜奕瑾強調, 使用「社交距離 APP」的步驟非常簡易,只有三個步驟:從 App Store/Play Store 下載,打開 APP,開啟藍芽。

AI Labs 團隊將藍芽偵測距離鎖定在 1.5 公尺內,就如同坐在車裡與麥當勞「得來速」的窗口的距離。一般人下載 APP 後可以什麼都不管,APP 會在每分鐘自動紀錄與你比鄰 1 分鐘以上的路人、朋友、親人的「隨機代碼」。

「隨機代碼」的概念對工程師來說簡直是「blow your mind」的點子。 這個隨機碼任何人都知道,就像是註冊 Facebook 的 6 碼手機驗證碼、信用卡結帳跳轉手機驗證一樣,這是一個技術成本不高、但又保有高度安全性的方式。

善用 Hashed ID,做到資訊完全匿名

再舉一個關於隨機碼的使用案例。如果有玩過遊戲「暗黑破壞神」的人,可能對遊戲公司暴雪設計的「驗證碼」有些印象。它的作用在於登入遊戲時,為了防止被盜帳號,每個人必須下載驗證碼產生器 APP,在登入遊戲時,必須同時輸入帳密與每 30 秒就變換一次的驗證碼。這是針對本地端的機器產生獨一無二驗證碼的方式,也就是社交距離 APP 應用的雜湊函數, Hashed ID。

社交距離 APP 這樣應用隨機碼:

(1) 每個用戶手機會每 15 分鐘產生一組代碼,由雜湊函數得出,叫做 Hashed ID,這個代碼沒有任何意義,對用戶來說,輸入端為隨機碼、輸出端也是隨機碼。

(2) 當用戶的藍芽偵測到彼此接觸,超過 1 分鐘將開始自動紀錄對方的雜湊 ID。如果遇到多人場所如演唱會也不用擔心,依據疫調規範,藍芽鎖定偵測停留 1 分鐘以上、1.5 公尺內距離的人,不會有來不及紀錄的問題。

儘管杜奕瑾並未詳細透露,但我們假設 APP 內使用基本 256 位元的雜湊函數,若要用暴力逆推函數原始值,光是一組代碼就至少要嘗試 2 的 256 次方次,還別說運算的時間、需要效能強大 GPU 才能完成。我們可以試著想像,當某駭客好不容易破解完一個 Hashed ID,結果發現是有效期間 15 分鐘、不代表任何意義的字串,他該多氣餒?

想到利用「雜湊函數 ID」是非常聰明的方式,不但不用透露 GPS 位置,也不用紀錄任何個資。假設一個情境,如果手機記錄到一起等紅綠燈的小明的隨機碼,我們不會也不用知道小明是誰,只要小明確診後將自己的資料通報疾管局,由疾管局上傳小明的隨機碼,我們下載下來比對資料庫有沒有登記過,就能知道有沒有接觸過小明了。

目前最流行的雜湊函數有 MD-5、SHA-3、NTLM、LANMAN,但為了再增加逆推難度,AI Labs 會再將雜湊值加密,確保沒有人能夠修改數列,並隨機在資料庫放出不存在的 ID,以假亂真,即使有人試圖破解,花費的時間也早就超過 15 分鐘效期。

「去中心化」協作模式保障個人隱私

訪談中杜奕瑾不斷強調「隱私」問題,「現在有很多人覺得極權管理比較好,但我們不要那樣,我們要做『去中心化』的資料管理。」

AI Labs 的社交距離 APP 其實並不涉及隱私問題,硬要剖析的話,也許是我們能不能要求確診者向疾管局通報自己是確診者。我們該強迫確診者公開嗎?疾管局有資格公開確診者資訊嗎?

眼尖的使用者可能會發現「社交距離 APP」的關鍵點:使用者必須自己做資料管理。

在社交距離 APP 中,每進行下一步使用者都必須主動授權,包含下載 APP、同意開啟並使用手機藍芽,「我們希望大家能夠自己管理資料。」杜奕瑾說。管理資訊將會是「去中心化」的關鍵運作方式。

如果工程師的堅持有用、使用者真的能被教育成願意自我管理,這個社交距離或許才能說「成功推廣」。最民主的理想是:「自己管理資料」跟別人連通,比對 Hashed ID 才有意義。

杜奕瑾不厭其煩地強調:「這裡面完全沒有監控,但要所有人的參與才能發揮效用。」本著工程師「開源分享」的初衷,杜奕瑾希望社交距離 APP 能夠分享給越多人越好。

除此之外, 杜奕瑾還透露,其實已經有歐、亞的國家洽詢 APP 的技術了,因此團隊設定了非常高的保障隱私目標,甚至比歐盟的個資法 GDPR《一般資料保護規範》,要求還要更高,希望有機會將資源分享給更多需要的國家。

就由鄉民來推動民主國家的科技防疫吧!

目前 AI Labs 的社交距離 APP 預計將獨立於其他政府部門的 APP,也暫無考慮跟健保局的 APP 做結合。杜奕瑾認為,AI Labs 應該要維持提供技術與平台支援的角色,他們的確覺得跟政府合作有挑戰、能迫使所有人去思考隱私的界線,但他們無意介入太多,因此也不經手用戶的資料。

杜奕瑾在網路世界有著「PTT 創世神」的封號,原因是他是台灣最大網路論壇 PTT 的創辦者之一,他的帳號也直接叫做 PTT,心心念念的都是共享資源,open source。在疫情當前時刻,台灣的科技人那股來自鄉民論壇的精神又再次浮現,集眾人之力、作眾人之事。

(本文提供合作夥伴轉載。)


《TO》品牌活動「CONNECT」深度專題重磅更新! 

《TO》年度品牌活動 CONNECT 2020「5G 新經濟」新專題上線! 看台灣新創如何用 5G 翻轉各產業的傳統想像,打造意想不到的創新服務! 馬上報名 獲取最新深度報導。

點關鍵字看更多相關文章: