Telegram 說明他們將會使用 CDN 加速:「More Speed and Security!」。
資料在 CDN 的節點上是加密的,金鑰需要透過 Telegram 的 key server 提供:
While these caching nodes are only used to temporarily store public media (imagine Telegram versions of superpopular YouTube hits), all data that goes through them is encrypted with a key unknown to the caching nodes. In other words, we treat these CDN caching nodes just like we treat your internet provider – they only ever get encrypted junk they can't decipher.
但這表示 Telegram 本身有能力解開這些資料?不知道這邊講的是什麼行為...
使用者如果選擇願意公開的話當然沒問題,但這種情況下也不需要 CDN 加密;而當使用者不願意公開時,應該是期望 Telegram 也無法解開這些資料?再來看看到底是怎麼樣的功能要上 CDN?
> 但這表示 Telegram 本身有能力解開這些資料?不知道這邊講的是什麼行為...
Telegram 這篇講的蠻清楚的,他只會對在「公開」 channel 上分享的檔案做這件事情(把檔案加密存放在 CDN 上)。原本這些資料的存取,至此牽涉的只有兩個端點:使用者和 Telegram 的伺服器。但是對於大型的 channel 來講(Telegram 的定義是使用者數量為 100K 以上),使用者可能來自世界各地,使用 CDN 來加速檔案的存取對 Telegram 來講看起來是有其必要性(所以才會實做這個功能)。 而從 Telegram 來看,CDN 的角色僅僅是一個傳遞者,是第三方不可信任的通道。一個(過度)簡單的類比是由我們的瀏覽器(比做 Telegram channel 上的 user)去存取 Google 的伺服器(比做存放檔案的 Telegram 伺服器)的資料時,我們也會將之間的傳輸進行加密(TLS)避免中間的傳遞者(像是 ISP)能夠得知傳輸的內容。