Telex

**Telex** 是一款用於突破網路審查的軟體。使用者通過使用 Telex 客戶端軟體瀏覽網際網路上被審查的內容。該專案由美國密西根大學電腦科學與工程系和加拿大滑鐵盧大學 Cheriton 電腦科學學院贊助。2018 年，Telex 專案演變為折射網路。

## 概述

Telex 是一款用於突破網路審查的軟體。使用者通過使用 Telex 客戶端軟體瀏覽網際網路上被審查的內容。Telex 與傳統突破網路審查軟體的不同之處在於傳統突破網路審查軟體只提供「終端代理」（end-point proxying），而 Telex 卻能提供「終端到中間代理」（end-to-middle proxying）。Telex 與傳統突破網路審查軟體之間的這種差異導致實施網路審查的政府無法封鎖 Telex 所提供的服務。

## 終端代理

傳統突破網路審查軟體（Tor、自由門）使用的是終端代理模式。在此模式下，身處網路審查國家的使用者使用這些軟體的客戶端連接到執行這些軟體的伺服器端的國外伺服器上，以取得在網路審查國家被封鎖的網際網路上的資訊。但是由於客戶端軟體是公開的，所以實施網路審查的國家的政府也可以下載這些軟體，執行它們，然後監視它們連接到哪些 IP 位址上。政府隨後把這些 IP 位址加入黑名單上，從而使得這些突破網路審查的軟體失效。當然，負責維護軟體的機構可以開通新的 IP 位址，並且公布包含這些新的 IP 位址的客戶端軟體的新的版本。但是這只會導致這些機構與實施網路審查的國家的政府之間的一場「貓和老鼠」的遊戲，並不能夠從根本上解決問題。

## 終端到中間代理

Telex 使用的是終端到中間代理模式。在此模式下，身處網路審查國家的使用者首先在自己的電腦上執行 Telex 所提供的客戶端軟體。但是此軟體里並不包含任何國外 IP 位址。當使用者使用 Telex 客戶端登陸被封鎖網站的時候，使用者首先為 Telex 客戶端指定一個使用者喜歡的執行在國外的支援 HTTPS 的網站，它可以是任何支援 HTTPS 的網站，比如國外商業公司的網站、維基百科加密版、國外銀行的網站、國外大學的網站等。Telex 客戶端軟體使用使用者所指定的網站的 IP 位址構造一個 IP 封包，這個封包看上去似乎像是一個普通的請求連接到使用者所指定的國外 HTTPS 網站的封包，但是 Telex 客戶端軟體卻運用公鑰隱寫術（public-key steganography）技術對這個封包做了一些手腳。然後 Telex 客戶端軟體把這個封包送出。這個封包由於其目的地 IP 位址是國外知名商業機構，大學或是銀行的 IP 位址，而並非用於突破網路審查的國外伺服器的 IP 位址，所以其目的地 IP 位址不可能出現在政府的防火牆的黑名單上。而公鑰隱寫術的使用又使得政府無法察覺封包的內情。所以政府的防火牆只能為這個封包放行。而這個封包一旦通過了政府的防火牆到達了國外自由網際網路後，其在被中轉到目的地 IP 位址之前很有可能經過支援 Telex 的路由器（而事實上在 Telex 被骨幹路由器採納之後，封包一定會經過支援 Telex 的路由器）。這時，支援 Telex 的路由器將會從封包中讀出早前由 Telex 客戶端軟體運用隱寫術在封包中埋下的隱藏資訊，從而明白此封包的真正意圖。支援 Telex 的路由器在取得了使用者需要的被封鎖網站的資訊以後，會把這些資訊加密並且偽裝成原先目的地商業機構，大學或是銀行回應使用者 HTTPS 連接請求的封包送回給使用者，從而達到中間代理的效果。而實施網路審查的國家的政府試圖把國外支援 Telex 的路由器的 IP 位址加入黑名單的做法將會是徒勞的，因為經過 Telex 客戶端加工的封包一旦通過了國家的防火牆，其在以後的自由網際網路上被中轉的過程中通過哪些路由器並不是實施網路審查的國家所能夠控制的。而 Telex 的作者們也有意願在 Telex 獲得廣泛部署以後，隨即在網上公布一部分支援 Telex 的路由器的 IP 位址以便學者們研究如何更好的改善 Telex。

## 技術細節

Telex 客戶端中包含多個 Telex 機構使用的公鑰（根據 Telex 作者的初步估算一兆空間可以提供約二萬五千把公鑰。Telex 客戶端利用 HTTPS 連接初期客戶端所提供的任意數 ClientHello nonce 做手腳。Telex 客戶端把 Telex 協定特徵用 Telex 的公匙加密後作為 ClientHello nonce 發出，對於沒有 Telex 私鑰的政府的防火牆來說這只是一個任意數。而擁有 Telex 機構的私鑰的 Telex 路由器卻能夠從這個看似任意的數中還原出 Telex 客戶段的請求，並且從中讀出關於原 HTTPS 連接的若干參數，使得此路由器變成這個 HTTPS 連接的「中間人」（man-in-the-middle），然後此路由器就可以把使用者所需要的被封鎖網站資訊注射入（inject into）使用者和表面上被連接的目的地（商業機構，維基百科，大學，銀行，等等）之間正在進行（on-going）的 HTTPS 對談（session）之中。而政府的防火牆卻只能看到使用者與國外商業機構，維基百科，大學，銀行，等等之間正在進行一個加密的 HTTPS 對談，從而無從著手封鎖。

Telex 作者稱 Telex 為一款「以毒攻毒」或「以暴制暴」的反審查軟體。它運用了網路審查者慣用的手段，比如深度包檢測（deep-packet inspection），中間人攻擊（man-in-the-middle attack）和國家級行為（state-level response）來幫助使用者突破網路審查。

## 局限

Telex 由於利用了公開金鑰加密以及網際網路的基本結構特徵屬性在網路層次進行代理，所以極難被封鎖。政府應對 Telex 的唯一方式是禁止所有通往國外的 HTTPS 連接。但在現今的網際網路大環境下，這樣做無異於徹底斷網，將會給該國的經濟帶來嚴重的損失。所以不到萬不得已的時候政府是不會選擇這種做法的。而 Telex 作者們的基本前提也是實施網路審查的政府會允許其國民使用網際網路，而且實施網路審查的政府會允許其國民連接至少一部分處在國外的安全 HTTPS 網站。

其次是 Telex 私鑰被泄露的問題。首先由於擁有 Telex 私鑰的路由器都是國外受到信賴的機構所有，並且定期由 Telex 機構權威性重新評定是否繼續給予 Telex 私鑰，所以私鑰泄露的情況將會極為罕見。就算私鑰被泄，也有很簡單的解決方案，就是 Telex 路由器定期淘汰舊私鑰，更換新私鑰。由於 Telex 客戶端軟體套件含大量公鑰，所以要過許多年才能用盡 Telex 客戶端軟體里包含的大量公鑰。到時 Telex 機構只要公布一個新版本的 Telex 客戶端軟體，就又可以被使用很多年。所以就算最終在加金鑰的問題上使用者和政府需要玩貓和老鼠的遊戲，這種貓和老鼠的遊戲對於使用者一方來說玩起來是毫不費力的。

特別有趣的是，由於公開金鑰加密的應用，使得實施網路審查的政府無法像 Tor 那樣在國內設定虛假代理站點以擷取和截停使用者的代理存取。Telex 是開源軟體，政府可以下載它的伺服器端並安裝在自己的路由器上。但由於政府沒有 Telex 的私鑰，所以仍舊無法解密使用者用 Telex 的公鑰加密的 Telex 服務存取請求。所以就算是帶有 Telex 服務存取請求的封包經過政府的 Telex 路由器，政府仍舊無法察覺到這些封包實際上是 Telex 封包。只有 Telex 機構授權的真正的 Telex 路由器才能解讀出這些封包。

還有就是 Telex 並不提供 Tor 所提供的網上匿名交流服務。通過使用 Telex 連接 Tor 網路可以解決這個問題。

Telex 對於 IPv6 的支援將在 Telex 被廣泛應用以後實現。

## 目前狀況

Telex 目前只在一台示範性路由器上執行。已有北京居民成功使用 Telex 服務觀看 YouTube 影片。2013 年 7 月 Telex 機構已經開始與一家網際網路提供商合作進行一次大規模的實驗。

## 未來

Telex 機構希望西方大型的網際網路提供商和電信公司會在未來陸續的加入到 Telex 計劃中，把 Telex 協定部署到它們的路由器中。最終 Telex 協定的大規模部署以及把骨幹路由器升級成支援 Telex 協定的工作則需要在西方國家政府的支援下才能完成。

## 知名度

Telex 軟體在著名電腦科技網站 Ars Technica 上有被報導。並且在第二十屆 USENIX 安全座談會上獲得二等獎。

## 參見

* HTTPS
* 代理伺服器
* 突破網路審查
* 中華人民共和國網路審查
* 網路安全

## 注釋

## 參考資料

## 延伸閱讀

* Eric Wustrow, Scott Wolchok, Ian Goldberg and J. Alex Halderman, In Proc. Telex: Anticensorship in the Network Infrastructure. 20th USENIX Security Symposium. 2011-08 [2022-10-26]. （原始內容存檔於 2013-10-30）.

## 外部連結

* Telex 官方首頁（頁面存檔備份，存於網際網路檔案館）（英文）