Zero‑Trace Terminal:瀏覽器內即時端對端加密聊天工具
Zero‑Trace Terminal 是一套完全在瀏覽器中執行的點對點(P2P)即時聊天應用,所有訊息皆以端對端加密(E2EE)方式傳送,無需伺服器、帳號或儲存聊天紀錄。開發團隊 Hardlint Cybersecurity Team 以教育與安全研究為目的釋出此專案,並明確提醒使用者:它只能保護訊息內容,無法保證連線雙方的匿名性。
主要架構與運作流程
-
純前端靜態網頁
- 程式碼僅包含 HTML、CSS、JavaScript,沒有任何專屬後端服務。唯一的外部基礎建設是 訊號伺服器(signaling broker),負責在兩個使用者之間交換連線資訊,必要時亦會使用 TURN 中繼伺服器協助穿透防火牆。
-
房間金鑰(Room Key)
- 使用者點擊「INITIALIZE ROOM (HOST)」後,系統產生一串高熵隨機字串(建議 100 個字符),作為唯一的共享密鑰。雙方必須透過語音、面對面或其他加密管道自行傳遞此金鑰,不會經由任何第三方服務。
-
金鑰衍生
-
從房間金鑰衍生出兩個獨立值:
-
訊息加密金鑰:使用 PBKDF2(密碼基礎金鑰衍生函式)產生 AES‑GCM(具驗證功能的對稱加密演算法)金鑰。
-
PeerJS 識別碼:取金鑰的 SHA‑256 雜湊後截斷,用於在 PeerJS 訊號代理上「尋找」對方,僅作為定位用途,不具任何密碼學功能。
-
-
-
WebRTC 連線協商
-
兩端透過 WebRTC(瀏覽器內建的即時通訊協定)執行 ICE(互動式連線建立)演算法,依序嘗試以下 ICE 伺服器:
-
STUN(簡易穿透伺服器)
-
TURN(中繼伺服器)
-
-
瀏覽器自動組合測試,選擇第一條成功的傳輸路徑,建立 DataChannel(資料通道)後即可開始加密訊息的點對點傳送。
-
-
訊息加密與驗證
- 每則訊息在送出前均以 AES‑GCM 加密,接收端解密後同時驗證訊息完整性與來源。此機制確保 訊息內容 不會被竊聽或竄改。
風險與限制
- 不保護連線元資料:雖然訊息內容加密,但對方的 IP 位址、連線時間等資訊仍可能被 ICE 伺服器或 TURN 中繼服務看到。
- 固定鹽值(salt):PBKDF2 使用硬編碼的鹽值,因房間金鑰本身已具高熵,對安全影響有限;但若改用弱密碼則會降低抗彩虹表攻擊的能力。
- 攻擊面與已知限制:原始文件提醒使用者先閱讀「Attack Surface and Known Limitations」章節,了解可能的旁路或拒絕服務(DoS)情形。
- 建議使用 VPN:為避免實際 IP 位址外洩,團隊強烈建議雙方同時使用可信任的 VPN(如 Mullvad),以匿名化網路流量。
未來展望與使用者指引
Zero‑Trace Terminal 以 100% 開源、無廣告、無資料販售 的姿態提供安全即時通訊,適合對隱私有高度需求的研究人員、記者或一般使用者。未來若社群持續貢獻,可能會加入:
- 多平台原生應用(如手機 App)以降低對瀏覽器的依賴
- 支援群組聊天的金鑰管理機制
- 更彈性的 ICE 伺服器配置,提升在嚴格企業防火牆環境中的可用性
使用者在採用此工具前,應先確認:
-
已取得足夠長度且隨機的房間金鑰。
-
雙方皆已啟用可信任的 VPN。
-
了解「PANIC: PURGE SESSION」按鈕會立即銷毀本機金鑰與連線資訊,適時使用以防止遺留痕跡。
透過上述防護措施,Zero‑Trace Terminal 能在不依賴中心化伺服器的前提下,為使用者提供 內容保密 的即時通訊體驗,為瀏覽器端的端對端加密技術樹立新標竿。