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 安全座談會上獲得二等獎。