แนวคิดหลัก
本文提出了一種基於中繼伺服器的安全文件傳輸機制,該機制受到 WebRTC 協議棧的啟發,旨在實現安全、可靠、開放和高效的設備到設備文件傳輸。
บทคัดย่อ
概述
本文旨在設計一種安全、可靠、開放設計且高效能的文件傳輸協議,其靈感來自 WebRTC 協議棧。作者認為,傳統的文件傳輸方式依賴公開的第三方伺服器,存在安全隱患和效能瓶頸。為此,他們提出了一種基於中繼伺服器的解決方案,並對其進行了實證分析和基準測試。
現有文件傳輸方式的缺陷
- HTTP 協議最初並非為傳輸大型二進制文件而設計。
- FTP 協議缺乏安全性,即使使用 SSH 加密通道(SFTP)也存在漏洞。
- SCP 協議過時、不靈活且存在漏洞。
- 基於雲端的服務存在效能、透明度和隱私問題。
- 點對點傳輸面臨 NAT 穿透的挑戰。
基於中繼伺服器的文件傳輸機制
組成部分
- 中繼伺服器:負責建立與發送方和接收方的全雙工通信通道,並中繼數據包。
- 密碼認證金鑰交換(PAKE):使用 sPAKE2 協議,確保發送方和接收方之間的安全通信。
- IP 交換機制:中繼伺服器獲取發送方和接收方的公共 IP 地址。
- 設備客戶端:發送方和接收方,使用 TCP 套接字進行可靠傳輸。
工作流程
- 發送方和接收方使用 sPAKE2 協議協商共享金鑰。
- 發送方將文件分割成數據包,並使用共享金鑰加密。
- 發送方將加密數據包發送到中繼伺服器。
- 中繼伺服器將數據包中繼到接收方。
- 接收方使用共享金鑰解密數據包,並重組文件。
安全性
- 端到端加密:即使中繼伺服器也無法讀取數據包內容。
- sPAKE2 協議:即使密碼較弱也能提供強大的安全性。
- 身份驗證加密:確保數據完整性和真實性。
WebRTC 文件傳輸
- 優點:無需中繼伺服器即可實現設備到設備傳輸,成本效益高。
- 缺點:可能無法穿透嚴格的防火牆,需要支援 WebRTC 的瀏覽器,基於 UDP 協議可能存在不可靠性。
比較
比較因素 | WebRTC | 基於中繼伺服器的傳輸 |
---|
安全性 | DTLS | sPAKE2 + NaCl 加密 |
數據中繼 | TURN | 由中繼伺服器處理 |
中繼伺服器的需求 | 僅作為備用選項 | 除非兩個設備都暴露在公共網路中,否則所有情況下都需要 |
連接建立 | 信令伺服器 | 由中繼伺服器處理 |
IP 交換 | STUN 伺服器 | 由中繼伺服器處理 |
結果
- 與 Google Drive、Dropbox、FTP 和 SCP 等現有方法相比,本文提出的方法在安全性、效能和透明度方面表現更佳。
- 對於大型文件傳輸,基於中繼伺服器的方案比 WebRTC 更可靠,但成本更高。
討論
- 本文提出的協議適用於需要安全、私密地共享文件的用戶。
- 然而,與任何端到端加密協議一樣,它無法控制盜版或受審查內容的傳輸。
- 未來可以考慮將中繼伺服器託管在 Tor 網路上,以進一步增強安全性和隱私性,但可能會影響傳輸效能。
總結
本文設計並開發了一種安全的端到端加密文件傳輸協議,滿足了安全性、效能和透明度的目標。作者將其方法與許多現有的文件傳輸方法進行了比較,並展示了其結果。
สถิติ
文件數據包大小為 16384 位元組。
測試文件大小包括 1MB、100MB、512MB 和 1GB。
中繼伺服器託管在美國愛荷華州的 Google Cloud VPS 和俄勒岡州的 DigitalOcean VPS 上。
คำพูด
"在文件傳輸中,我們希望提供安全性,這意味著我們希望確保傳輸過程中文件數據的機密性和完整性。"
"基於雲端的檔案傳輸/儲存實作很少提供有關加密機制和儲存設計機制的透明度,這違反了「開放設計」的安全原則。"
"我們的基於中繼伺服器的方案在文件大小為 512MB 和 1GB 時具有顯著優勢。"