文章列表

EP44 - 暴露通知系統|不用在隱私與防疫之間取捨了

Podcast連結


台灣社交距離App

ExposureNotification_app

由衛福部疾管署跟台灣人工智慧實驗室共同研發的App

透過這個App我們可以追蹤自己在過去14天內接觸過的人,如果在我們過去14天接觸過的人當中有人很不幸確診,而且他們有回報自己確診的資訊的話,我們就會收到通知,讓我們知道自己是高危險群。

台灣社交距離App背後所使用的Exposure Notification暴露通知系統是由Apple跟Google合作推出的。

Exposure Notification暴露通知系統

Apple和Google在一起研發的技術,目前已內建在iPhone和Android。

只要你所在的當地政府有開發對應的系統或是App來啟用這個功能,你就可以透過這個系統來追蹤自己有沒有暴露在風險中。Apple 和Google在去年四月推出這個功能以後,包含了日本和歐美許多國家都陸續推出了對應App開始使用這個功能來追蹤和控制疫情。

簡易運作原理

當你跟別人接近時,雙方的手機就會透過藍芽來交換一組識別碼,交換了以後你的手機就會把這組識別碼保存起來,用來記錄你曾經跟哪些人有接觸。

你的手機裡面會保存過去14天裡面你有接觸到的每個人的識別碼。

當有人確診了以後,他們就可以跟暴露通知系統回報,並且把自己的識別碼上傳到暴露通知系統的伺服器。

每一個有開啟暴露通知系統的人的手機都會定時跟伺服器連線,下載所有這段時間在你所在區域的確診者的識別碼,接著比對你手機紀錄裡面你過去14天有接觸過的人,如果兩者有任何相符合的話,就會跳出通知警告你,讓你知道你曾經跟確診者接觸過,可能已經暴露在風險之中了。

ExposureNotification_diagram2

exposurenotification diagram2

技術原理解釋

  1. 手機每天會隨機產生一組臨時金鑰Temporary Exposure Key
  2. 利用臨時金鑰透過雜湊函數來生成輪替識別碼金鑰Rolling Proximity Identifier Key
  3. 輪替識別碼金鑰會利用AES-128加密方式配合當下的時間來產生輪替識別碼 Rolling Proximity Identifier 這個輪替識別碼就是我們前面提到,會與別人的手機交換的那個識別碼
  4. 輪替識別碼金鑰會每十到二十分鐘就重新產生一組輪替識別碼,用來避免有人追蹤我們的識別碼
  5. 臨時金鑰只能使用24小時,過了一天後,我們的手機就會再一次的隨機產生一個新的臨時金鑰,並且重複前面的動作來產生用來跟別人交換用的輪替識別碼

安全性

以現今的技術來說,想要破解我們用來生成輪替識別碼的加密演算法AES-128基本上是做不到的。

AES這個加密演算法因為安全性高,是現在最多人使用的加密演算法之一,就連美國政府也認可過他的安全性。

即便真的有人想到辦法破解了AES加密演算法,拿到了我們的輪替識別碼,他們也沒有辦法透過輪替識別碼反推出我們的臨時金鑰,因為這邊用來生成輪替識別碼的工具是雜湊函數。

複習 - 雜湊函數 Hash Function

雜湊函數的單向函式特性讓我們在暴露通知系統裡面不用擔心別人會有辦法透過輪替識別碼來回推出我們的臨時金鑰。

確診

舊的臨時金鑰在用完了以後並不會馬上被刪掉,會被保存14天

如果我們很不幸的確診的話,我們可以將確診的情況回報給暴露警示系統,這時手機就會將我們過去14天的所有臨時金鑰上傳到暴露警示系統的伺服器當中。

所有有開啟暴露警示系統的人的手機都會定時的跟暴露警示系統的伺服器連線,下載所有你的區域內確診者的臨時金鑰。

因為每支手機上用來計算輪替識別碼的演算法都是一樣的,因此只有有了確診者最近14天的臨時金鑰,我們就可以透過剛剛介紹的演算法來算出這位確診者在這14天內所分享出的每一個識別碼,接著我們只要再比對這個識別碼有沒有出現在我們過去14天接收到的識別碼當中,就可以知道我們過去14天當中有沒有跟這位確診者有所接觸了。

官方技術文件

不紀錄定位資訊

暴露通知系統追蹤人的方式完全是仰賴我們互相接近的時候,透過藍芽來連線交換資訊。

因為藍芽本身是一個短距離的傳輸技術,通常他的傳輸範圍不會超過十公尺(實際使用上傳輸距離往往更短)因此即便在沒有使用到定位資訊的情況下,當兩個人的手機可以透過藍芽互相連接的時候,我們就知道這兩個人是十分接近的。過程中完全不需要定位資訊。

也因為藍芽是個短距離的技術,你不會有辦法去偵測或搜尋到遠方的人,所以這個系統從技術面上去做了限制,避免有人濫用這個系統在遠端追蹤別人。

除此之外,比起定位追蹤,藍芽也比較能更準確判定兩個人的距離。

舉例來說,如果今天有兩個人,一個在台北101的89樓觀景台,一個在一樓的Apple Store,如果從定位資訊來看,這兩個都在台北101的裡面,我們可能會認定為這兩個人有近距離接觸過。但如果是以藍芽來追蹤的話,我們就會知道這兩個人其實距離很遠。

因此透過藍芽的方法追蹤,系統就只會通知真正有近距離接觸的人,這樣也能很有效的避免過度恐慌。

不蒐集用戶資訊

在使用暴露通知系統的整個過程中,完全沒有使用到任何跟我們有關的資訊。

輪替識別碼是建立在隨機產生的臨時金鑰上,因此即便我們要回報自己確診的資訊,也完全不會有我們的個人資訊被分享出去,不避擔心會讓大家知道自己確診,害自己變成眾矢之的。

Google跟Apple對於可以使用暴露通知系統的App是有所限制的,目前只有政府相關單位可以申請結合這個技術來開發App,因此大家不用擔心會有人很無聊就自己寫了一個防疫App來蒐集大家使用暴露通知系統時的資料。

自由的參與

大家可以自由地選擇要不要參與,如果你哪天突然決定不想繼續使用這個系統了,那麼你也可以很簡單的在手機上選擇退出,不繼續跟別跟交換識別碼。

缺點 / 限制

因為大家是可以自行選擇要不要參與這個計畫的,因此如果參與這個計畫的人太少的話,那麼他的追蹤效果就會很有限。即便你開啟了這個功能,如果你身邊的人都沒有的話,你的手機也沒有辦法跟他們交換識別碼。

目前據我所知這個系統並沒有辦法強制確診者主動通報,也就是說如果有人確診了,但選擇不通報、不把自己的臨時金鑰上傳到伺服器上的話,即便包含確診者在內的所有人都有開啟並使用暴露通知系統,也可以讓這個系統失效。

我們的想法

我會滿推薦在台灣的大家去下載台灣社交距離App來啟用這個功能,會這樣推薦有幾個原因。

我自己在研究過他所使用的技術以後,覺得這是一個滿完備而且很注重使用者隱私和安全的系統。

他們都盡可能地降低實際蒐集的資料,並且把資料適度的去識別化,讓我們不用擔心自己的資料被過度蒐集或濫用。

我也相信這會是比透過實名制登記來追蹤,或是公告確診者足跡等等的方式更簡單更準確的方式,對於不管是一般民眾還是確診者來說都會更友善。

再加上前面提到過的,如果都沒有人在使用這個系統的話它也是會失去作用的,因此大家如果願意的話,趕快去下載這個App。