登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

  • A+
所屬分類:娛樂
摘 要

整理 | 夕顏出品 | CSDN(ID:CSDNnews)2020 年 5 月 21 日,GitHub Trending 榜首被一款德國疫情防控應用程序 Corona-Warn-App 奪得, 熱度頗高。值得注意的是,這款 App 是基於Google和蘋果發布 Exposure Notification API 框架,這個框架在此前國際以輕爆發階段曾引起很多人的關註。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

整理 | 夕顏

出品 | CSDN(ID:CSDNnews)

2020 年 5 月 21 日,GitHub Trending 榜首被一款德國疫情防控應用程序 Corona-Warn-App 奪得, 熱度頗高。值得注意的是,這款 App 是基於Google和蘋果發布 Exposure Notification API 框架,這個框架在此前國際以輕爆發階段曾引起很多人的關註。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

按照慣例,先放上 GitHub 開源地址:

https://github.com/corona-warn-app/cwa-server

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

基於Google和蘋果的 Exposure Notification API

從字面上來看,Corona-Warn-App 的意思是「新冠病毒預警 App」。看過項目介紹後我們發現,原來該項目是世界第三大獨立軟體供應商,全球第二大雲公司為德國開發的官方新冠疫情追蹤應用程序,基於蘋果和Google的 Exposure Notification API(曝光通知 API)。這些應用程序適用於 iOS 和 Android 設備,可使用藍牙技術與附近同樣安裝了該 App 的手機交換匿名的加密數據。

本項目的存儲庫包含用於 Corona-Warn-App(下文簡稱 CWA)加密密鑰的服務器實現,但是實現仍在進行中,當前在 GitHub 上開源的為 alpha 代碼。

看到這段介紹,有人可能要問,這裡的 Exposure Notification API 是什麼?其實這個方案在剛推出時就已經引發了大家關於疫情期間從技術上防疫的關註。簡單來說,Exposure Notification API(曝光通知 API)是Google和蘋果聯合發布的一個新冠病毒追蹤 API,基於此框架開發的 App 可以把用戶分為兩類,一類是受影響的用戶(affected users),一類為暴露的用戶(exposed users)。受影響的用戶是 COVID-19 的確診或疑似病例,而暴露的用戶可能與前者有過接觸。這樣,當其頂用戶 A 被確診時,曾經同樣使用過這款 App 並與 A 安裝了 App 的設備近距離接觸時,用戶 B 會在 A 確診後得到通知,提醒 B 可能感染了病毒。

值得注意的是,這個 API 是基於藍牙技術,需要打開藍牙開關才能交換附近設備的數據。

為了加強隱私,這個 API 把Google和蘋果定義的加密協議的重大變化考慮進來了。最初,該協議使用了兩個加密密鑰,一個是用戶唯一的 Tracing Key,永遠留在本地設備上,另一個是 Daily Tracing Key,它是基於前者生成的一個跟蹤密鑰。Daily Tracing Keys 用於生成 Rolling Proximity Identifiers(又稱偽隨機藍牙標識符),用於檢測特定的時間段內設備的距離。

理論上來說,這種方法可以讓用戶在自己的資訊不會泄露的前提下獲取新冠病毒數據,從而達到及早發現及早治療的目的。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

技術實現解析,如何實現隱私保護?

如果這樣的方法果真能夠既保護用戶隱私,又達到疫情防控的目的,那就非常值得探討一番了。

後端架構

CWA 服務器在 Open Shift(「 OSP」)平臺上的 Kubernetes 集群中運行。其主要目的是使用戶能夠使用基於 Apple / Google 規范的曝光通知框架。貢獻者也說明了,盡管 CWA 盡可能地符合協議規范,但並不意味著將可以實現所有功能,主要還要l考慮數據隱私和保護(DPP)問題。

Google / Apple 的最新規范:

  • Google Spec(https://static.googleusercontent.com/media/www.google.com/en//covid19/exposurenotifications/pdfs/Exposure-Key-File-Format-and-Verification.pdf)

  • 蘋果 Spec:https://developer.apple.com/documentation/exposurenotification/setting_up_an_exposure_notification_server?changes=latest_beta

從高層次上講,該應用程序包含兩個主要部分,如下所示。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

  1. CWA 後端:處理診斷密鑰和配置文件的提交和聚合/分發。

  2. 驗證後端:處理測試結果驗證並發布 TAN。此後端是單獨管理和部署的。這些組件的存儲庫將很快向社區開放。

這裡概述了 CWA 後端組件,這些組件是此存儲庫的一部分。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

CWA 完整的體系結構概述

通過這個 API 手機的數據將被本地存儲在每個用戶的設備上,從而防止官方或其他方拜訪或控制數據。基於此 App 的 CWA 收集到的其他用戶的標識符以及自己的密鑰(以後可用於導出標識符)都存儲在Exposure Notification API 的本地安全存儲中。其他應用程序無法直接拜訪這個安全存儲,而只能通過 Exposure Notification 框架提供的接口拜訪。為了防止誤用,其中一些接口還受到速率限制。如果用戶 SARS-CoV-2 檢測呈陽性,則可以通過在 App 上長傳結果,並可以選擇發送一個最長 14 天的近期密鑰。將密鑰上傳到 Corona-Warn-App 後端服務器後,App 將對所有檢測呈陽性的人員的密鑰進行匯總。然後,所有安裝了該 App 的用戶都可以收到這個秘鑰列表。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

與其他系統整合

對象存儲

所有與移動應用相幹的文件都將存儲在 S3 對象存儲中。這些文件包括:

  • 包含診斷密鑰的聚合文件,這些文件以特定的時間間隔(例如每小時)進行報告

  • 包含曝光密鑰的每日匯總文件,分別在各天進行報告。

  • 配置文件,包含曝光配置和 CWA 移動應用程序配置

  • 有關可用文件/結構/等的元資訊的其他文件。

每當有新文件可用時,這些文件將被推送到 S3 兼容的對象存儲中。

移動應用程序將使用 CDN 來提取文件,對存儲對象中的所有文件鏡像為透明的代理。

驗證後端

注意:驗證後端設計正在討論中,不久後可用。

從掃描 COVID-19 測試條上列印的QRCode開始,直到用戶被測試為陽性時上傳診斷密鑰為止,驗證後端都會為用戶提供支持。當 COVID-19 測試結果為陽性時,測試實驗室將更新驗證後端。由於QRCode已鏈接到測試,因此移動應用程序將能夠從驗證後端以及 TAN 中獲取測試陽性通知。當用戶上傳過去 14 天的診斷密鑰時,TAN 將用作授權令牌。

因此,從 CWA 後端的角度來看,驗證後端是 TAN 驗證的終點。

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

數據存留

數據保留期限設置為 14 天。因此,所有提交日期早於 14 天的密鑰都將從系統中刪除。這包括持久性層,以及 CDN /對象存儲發布的文件。保留機制由分發服務強制執行。

關於此 App 的更多資訊,可以在 GitHub 查看:

https://github.com/corona-warn-app/cwa-server/blob/master/docs/architecture-overview.md

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

疫情隱私數據真的可以被保護好嗎?

當前,雖然國內新冠疫情已處於疫情發展後期,但是國際上仍處於疫情發展中期,疫情追蹤應用程序依然是追蹤疫情強有力的手段。但是,疫情期間收集到的個人數據安全問題正在被越來越多的人關註。疫情期間在各種 App 上填報的個人隱私數據涉及幾乎每個人的身份、住址、聯繫等私密資訊,這些資訊被上傳到了哪裡?疫情結束後會不會被刪除?萬一遭到攻擊被泄露怎麼辦?很多問題都會引起人們的疑慮。

比如在德國,CWA 出現之前就已經有一款8 個歐洲國家的大學和學院,包括羅伯特·科赫研究所共同開發的疫情追蹤應用程序 Coron—App,同樣是基於 Exposure Notification API,使用的也與 CWA 如出一轍——藍牙搜索技術,裝有 App 的行動裝置相互靠近到一定距離,就可以加密交換疫情數據。App 開發商表示收集到的數據僅會保存在本地收集中,不會產生備份,也不會上傳到任何地方,而且全程免費。

但即使是這樣,德國的網友也並不買帳,在德國一家大型網站 br.de 上發起的一項意願調查中,大於三分之一的德國人表示不願意使用這個 App,理由各種各樣,比如經常聯繫的老人不會使用智能機,藍牙不打開等於白費勁,但更多的人擔心的是數據隱私的問題,他們並不信任數據會被很好地保護,聯想到現在智能應用的隱私泄露問題嚴重,他們並不願意打開「潘多拉魔盒」……

通過諸如本文中介紹的技術手段,真的能保證疫情期間用戶數據的安全嗎?如果是你,你願意使用這樣的 App 嗎?歡迎評論區留言討論。

【End】

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

更多精彩推薦

☞尋找新冠「解藥」:在 10^60 化合物分子空間,他們用 AI 挖掘潛在藥物

☞進程全家桶,看這一篇就夠了 | 原力計劃

☞踢翻這碗狗糧:程序員花 7 個月敲出 eBay,只因女票喜歡糖果盒

☞我佛了!用KNN實現驗證碼識別,又 Get 到一招

☞如何使用 SQL Server FILESTREAM 存儲非結構化數據?這篇文章告訴你

☞加密價格更新周期:看似混亂無章,實際內藏玄機

登 GitHub 趨勢榜首德國疫情追蹤 App 號稱可保疫情隱私數據無憂,你信嗎?

你點的每個「在看」,我都認真當成了喜歡

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: