駭客猖獗的網絡世界,匿名安全成了通訊不可或缺的必要條件!本文將為你介紹安全性極高的協定 - 「 XMPP


XMPP 是什麼?

XMPP 」全名「 Extensible Messaging and Presence Protocol 」,中譯「 可延伸訊息與存在協定 」,前稱為「 Jabber 」,是一種基於 TCP/IP 且為開源形式組織產生的網路即時通信協定,而應用程式。


起源

  • 1998 年Jeremie Miller」開始了第一個 XMPP 伺服器端軟體「 jabberd 」的專案。
  • 2000 年 05 月 發行第一個公開版本。
  • 2004 年 10 月 Jabber 已經由 IETFRFC3920標準化

來自世界各地的開發者正為 XMPP 技術而努力。
今日的網際網路上有著數以計的 XMPP 伺服器正在運作著,並有數以百萬計的人們使用 XMPP 即時傳訊軟體


架構

XMPP 通訊上主要利用常見的 Client (客戶端)Server (伺服器) 外,還多新增了 Gateway (閘道器)
傳輸的內容格式則為 XML

  • Server (伺服端)
    • 處理與 Client 的連接及直接與之互相溝通
    • 其他 XMPP Server 互相溝通
    • 處理 Client 註冊、認證、現狀資訊、好友名單以及離線訊息儲存等等功能。
  • Client (客戶端)
    • XMPP Server 建立溝通連線
    • 解析 XML Stream
    • 確認 XMPP 核心資料型態

運用

每個 XMPP 的用戶,都有一個獨立的 Jabber ID (JID) ,並且使用「 @ 」連接著 domain
例如 ID 為「 alpaca 」, Domain 為「 xmpp.com 」,則 JID 為「 alpaca@xmpp.com 」。
不僅僅是看起來,就連網路架構都與電子郵件相似。

XMPP 協議自由開放公開的。
客戶端伺服器元件原始碼庫等方面,都已經各自有多種實作。

除了可用在即時通訊的應用程式,還能用在網路管理內容供稿協同工具檔案共享遊戲遠端系統監控等。


安全性

XMPP 核心協定通信方式是先建立一個 Stream,以 TCP 傳遞 XML 資料流。不存在中央主伺服器,每個人皆可運行自己的 XMPP Server

XMPP 協定伺服器可以獨立於公眾 XMPP 網路(例如在企業內部網路中),而使用 SASLTLS 等技術的可靠安全性,已內建於核心 XMPP 技術規格中。

用 XMPP 技術開發軟體,資源支援的來源是多樣的,這能避免發生因不明軟體背後的運作而遭到軟體挾持的困境。


主要參考資料