解析XMPP協議分析與施用

2021-06-23 06:19:36 字數 1927 閱讀 6233

解析xmpp協議分析與應用

伺服器會根據xmpp使用者的會話資訊加上乙個源位址,這樣接收者收到訊息時,訊息中已經包含了源位址。

(5)xmpp伺服器根據目標jid中的網域名稱查詢、連線到目標伺服器並進行認證(如sdpt.com使用dns查詢jabber.org,連線到jabber.org伺服器上並進行認證)。

(6)xmpp伺服器jabber.org證實sd連線到該伺服器上,yb被授權與sd進行通訊。

(7)資料在yb與sd間流動。

(8)使用者退出,退出時只需要關閉。

3  安全機制

3.1 簡單認證和安全層協商機制

簡單認證和安全層(****** authentication and security layer,sasl)可以為基於連線的協議加入認證機制,提供kerberos_v4、plain和digest-md5等多種認證方法。每種認證機制包含認證機制名、認證過程初始化命令、認證控制命令、特定8位碼和直譯器等資訊。

在認證過程中,認證伺服器完成認證、授權標識傳送、簡單認證和安全層協商3個方面的工作。在xmpp中,sasl處理步驟如下(c:客戶端,s:sasl認證伺服器):

(1)c、s之間建立連線。(2)s向c提供認證機制列表。(3)c在認證機制列表中選擇一種認證機制。(4)s向c詢問授權資訊。(5)c向s提交授權資訊。(6)s向c返回認證成功或失敗資訊。

3.2 回撥認證

在通訊過程中,2個xmpp伺服器之間經常需要通訊,為避免利用伺服器欺騙方式進行資訊偽造,xmpp 採用了回撥認證機制。回撥認證依靠dns技術完成,利用回撥認證機制,乙個伺服器可以確認與自己建立連線的伺服器是否經過合法授權,回撥認證過程為:(1)源伺服器和接收伺服器建立連線,並向接收伺服器請求認證。接收伺服器回應,並分配認證會話id。(2)源伺服器向接收伺服器傳送認證金鑰。(3)接收伺服器與認證伺服器建立連線。認證伺服器同時為該認證會話分配乙個驗證會話id。(4)接收伺服器把源伺服器提交來的金鑰和驗證會話id 傳送給認證伺服器,請求驗證。(5)認證伺服器驗證金鑰,並給接收伺服器返回認證結果。(6)接收伺服器給源伺服器返回認證結果。

3.3 加  密

雖然sasl提供了先進的認證機制,通訊雙方必須經過特定的授權認證才能進行正常通訊,但是登入資訊一般都是密碼和使用者名稱等重要資訊,它們大多採用明文方式傳送,因此很容易被攔截檢視到。為解決該問題,xmpp採用基於傳輸層安全協議的「starttls」擴充套件來為通訊雙方提供機密性和資料完整性服務。tls 協議包括兩個協議組―― tls 記錄協議和 tls 握手協議――每組具有很多不同格式的資訊。tls 記錄協議是一種分層協議。每一層中的資訊可能包含長度、描述和內容等字段。記錄協議支援資訊傳輸、將資料分段到可處理塊、壓縮資料、應用 mac 、加密以及傳輸結果等。對接收到的資料進行解密、校驗、解壓縮、重組等,然後將它們傳送到高層客戶機。tls 連線狀態指的是tls 記錄協議的操作環境。它規定了壓縮演算法、加密演算法和 mac 演算法。tls 記錄層從高層接收任意大小無空塊的連續資料。金鑰計算:記錄協議通過演算法從握手協議提供的安全引數中產生金鑰、 iv 和 mac 金鑰。tls 握手協議由三個子協議組構成,允許對等雙方在記錄層的安全引數上達成一致、自我認證、例示協商安全引數、互相報告出錯條件。

tls協議框架主要有2個層次的協議:tls握手協議和tls記錄協議。tls握手協議用來讓伺服器與客戶在傳輸應用層資料之前交換tls協議版本資訊、協商加密演算法、進行(相互)身份認證並交換金鑰。tls記錄協議用來將應用層提供的資訊進行分組、壓縮、資料完整性檢查和加密。資料完整性檢查通過比較傳輸前後使用安全雜湊函式(如sha和md5 等)計算出來的資料的mac值是否一致來完成。資料加密採用對稱密碼演算法(如r4和des等)。對資料進行完整性檢查和加密的金鑰由tls握手協議來協商。

xmpp中採用的starttls擴充套件處理流程如下(c:客戶端,s:tls伺服器):

(1)c、s之間建立xml流會話連線。

(2)s 向c 傳送starttls擴充套件服務需求及支援的其他認證機制列表,**例項如下:

digest-md5

plain

XMPP協議分析 具體篇

通過wireshark抓包來具體分析xmpp協議,下面用人人桌面版演示了,xmpp客戶端從登入到獲取新鮮事的過程,通過分析具體的資料報能夠更容易的理解協議。step1.tcp三次握手建立連線 圖1.xmpp客戶端使用5222埠,設定syn請求連線 圖2.伺服器返回ack,確認請求,同樣設定syn請求...

ARP位址解析協議分析

arp address resolution protocol 即位址解析協議,是根據ip位址獲取實體地址的乙個tcp ip協議。主機傳送資訊時將包含目標ip位址的arp請求廣播到網路上的所有主機,並接收返回訊息,以此確定目標的實體地址。arp封包格式 各欄位分析 長度或型別 佔16位 對於arp ...

rdesktop架構解析 RDP協議分析)

出自 http blog.csdn.net songbohr 本文立足於rdesktop的架構層次進行解析,算是拋磚引玉,國內對rdp協議深入解析的資料到本文發布時為空白!呼叫層次 rdp sec mcs iso tcp 協議包編譯碼層次 rdp hdr sec hdr mcs hdr iso hd...