國安法通過,全民反監控。常用通訊軟體哪個最安全?

怎麼看一個通訊軟體安不安全?

我在評估軟體的資訊安全時,會同時考慮到資料的安全性跟使用者的隱私,在這裡我把其中比較常被考量的因素分為兩大類:技術層面跟組織政策層面。

技術層面

技術層面會考量的點包含了:

  • 是否支持點對點加密?點對點加密的演算法
  • 預設是否開啟點對點加密?
  • 程式碼是否開源?
  • 伺服器是否會備份訊息資料?
  • 是否有身份認證的機制?
  • 是否有自動通知金鑰變更機制?

組織與政策層面

資訊安全的問題往往不只牽扯到技術面,也很常牽扯到很多組織政策與政治面的問題。在檢視資料安全性跟隱私性的時候,通常也會評估以下的因素:

  • 是否為營利組織?組織的資金及獲利模式
  • 公司是否配合國家政府或執法單位提供資料
  • 有可能會提供給政府的資料

比較常用通訊軟體的安全性

利用以上列出的考量因素,我花了很多時間去查比對目前台灣常用的幾家通訊軟體,包含 Facebook Messenger、Line、WhatsApp、Telegram 跟 Signal,分析這些結果之後將通訊軟體的安全度進行排名。不過這個排名是綜合了以上所有提到的因素,依照每個人的需求不同或許有不同的結論,所以我也把比較表放在下方。

五種通訊軟體比較。安全度:紅 → 低, 橘 → 中, 綠 → 高

第五名:Facebook Messenger

source: https://www.messenger.com/
  • 支援點對點加密(悄悄話訊息),但預設不開啟
  • 群組對話不支援點對點加密
  • 備份使用者非悄悄話對話訊息
  • 程式碼不開源
  • 無自動通知金鑰更改的功能
  • 由營利組織營運,且公司有洩漏使用者資料的黑歷史 (劍橋事件
  • 會配合美國法院傳票調查交出以下訊息:名稱,開始使用的日期,最後查看訊息的時間,IP,email 地址。美國外的法院調查也有機會配合但沒有說明會交出那種資料。

第四名:Line

source: commons.wikimedia.org
  • 語音跟文字都支援點對點加密
  • 群組 50人以上不支援點對點加密
  • 程式碼非開源
  • 無自動檢查金鑰變更通知
  • 接受法院調查時提供以下資料:註冊信息(個人資料圖像,顯示名稱,電子郵件地址,電話號碼,LINE ID,註冊日期等),指定用戶的通信數據(消息發送日期,發送者的IP地址),沒有加密的文字聊天訊息 (預設是加密,所以如果被關掉了文字訊息會被保存)

第三名:Telegram

  • 支援點對點加密,但預設不開啟
  • 群組不支援點對點加密
  • 使用的點對點加密機制 MTProto 雖然舉辦破解比賽多年無人破解,但被很多密碼學學者資安研究員指出不夠安全 (我不是密碼學家無法驗證,但其他通訊軟體沒有被這麼多人質疑所以這個列入疑慮)
  • 會備份非點對點加密的訊息
  • 程式碼僅客戶端開源,伺服器端沒有開源
  • 若有法院通知與恐怖份子行為有關會配合交出IP位址跟電話號碼 (公開時會通知在一個群組,目前聲稱沒有提供過任何資料)

第二名:WhatsApp

source: musically.com
  • 程式碼非開源
  • 由營利組織營運 (Facebook),且公司有洩漏使用者資料的黑歷史 (劍橋事件
  • 群組無法確認使用者金鑰
  • 會配合美國法院傳票調查交出以下訊息:名稱,開始使用的日期,最後查看訊息的時間,IP,email 地址。美國外的法院調查也有機會配合但沒有說明會交出那種資料。

第一名:Signal

source: https://signal.org/

建議搭配 VPN (Virtual Private Network) 使用

由上面的分析可以知道,很多通訊軟體是有可能會配合法院傳票通知提供使用者的 IP 訊息,若有需要降低暴露真實通訊 IP 的需求建議搭配 VPN 使用。除此之外,在網路架構受到監管的地區,也可以降低被監控的風險。

資訊保護及反監控不能只靠通訊軟體

最後我想要強調一個很重要的觀念,再安全的通訊軟體保護的都是訊息在傳輸過程中的安全,無法保護訊息在產生過程跟收到訊息後的安全。簡單來說就是,假設你的訊息在傳送過程中是安全的,但你的手機或是接收訊息的裝置已經被攻擊滲透,那用了再安全的通訊軟體都沒用。

補充知識:

什麼是點對點加密 (End-to-end encryption)

這個影片解釋得非常清楚:

什麼是身份認證機制?

點對點的加密機制是怎麼讓訊息在被伺服器傳送的時候也不會被解密呢?這需要用到密碼學上的非對稱式加密演算法 (Asymmetric Encryption)。

在 Signal 中顯示的身份號碼 source: https://signal.org/blog/safety-number-updates/

自動通知金鑰(代碼)變更

你或許會想到,就算是當面先確認鑰匙,有人會這麼勤勞每次傳訊息都檢查一下鑰匙一不一樣嗎?相信 90% 以上的人都不會這麼勤勞。所以這時候自動通知的功能就很有用了,較安全的通訊軟體會自動在這個身份變更的時候在對話中通知,當發現這個訊息代碼長的跟一開始不一樣,就馬上發出變更的通知,這樣可以讓安全性多出一層保障。下圖是的 Signal 中自動通知的訊息。

source: https://signal.org/blog/safety-number-updates/
本著作採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權

--

--

我們與駭的距離是一個由資安工程師/研究員/分析師創立的 Podcast 頻道,在這個podcast 我希望能夠透過輕鬆的氣氛與說故事的方式讓更多人有機會了解駭客與資安相關的知識與議題。 目前節目可以在 Firstory, Spotify 跟 Apple podcast 收聽。

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
我們與駭的距離 The Hacks Between Us

我們與駭的距離 The Hacks Between Us

我們與駭的距離是一個由資安工程師/研究員/分析師創立的 Podcast 頻道,在這個podcast 我希望能夠透過輕鬆的氣氛與說故事的方式讓更多人有機會了解駭客與資安相關的知識與議題。 目前節目可以在 Firstory, Spotify 跟 Apple podcast 收聽。