Skype 數位鑑識

Skype通訊鑑識及時補破網

在成熟的技術與硬體飛速發展的支持之下,網路通訊軟體越來越強大且受到重視,Skype通訊軟體便是眾多著名的通訊軟體之一。為此,本文將針對Skype進行介紹及探討,包含構成Skype的背景、如何運作、未來趨勢以及關於鑑識方面的討論分析,藉此讓Skype的安全議題得以受到重視。
換句話說,VoIP系統就是將原為聲音的類比訊號數位化後(Digitized),透過網路的相關通訊協定做即時通訊功能。

VoIP技術可將資料封包於網路上傳遞過程中所發生的失真、迴音及資料遺失做適當修補功能,使其原音重現。圖3為VoIP簡單的示意圖。

而Skype是基於以上所介紹的P2P和VoIP技術所發展出來的。

Skype簡介

以下簡單介紹Skype系統架構、原理與安全保護。

Skype系統架構

在Skype系統中,有用戶端節點(Ordinary Node)和超級節點(Super Node,SN)兩種節點。用戶端節點即普通主機終端,只需要下載Skype的應用,就具有提供語音呼叫和文本訊息傳送的能力。

而超級節點,實際上是滿足某些要求的用戶端節點,這些要求包括具有公網地址、內建足夠的CPU、儲存空間足夠大、擁有足夠的網路頻寬。

換句話說,任何符合條件的主機終端都可以成為超級節點,當然前提是加載了Skype應用。用戶端必須連結到超級節點,並且在Skype的中央伺服器登錄。中央伺服器保存使用者的用戶名稱和密碼,完成登錄的認證工作。

圖4為用戶端節點、超級節點及中央伺服器的關係圖。與以往MSN等即時通訊工具最大的不同在於,除了用戶登錄外,其餘工作基本不依賴中央伺服器。


▲圖4 用戶端節點、超級節點及中央伺服器的關係圖。

每一個用戶端都維護一個可以到達的主機清單(Host Cache,HC),包括其IP位址和埠號。

Skype系統原理

使用者第一次安裝Skype用戶端軟體之後,Skype用戶端軟體會發送一段請求給Skype系統的中央伺服器,在這個請求的資訊中,包括關鍵字「installed」以及所安裝Skype的版本編號。

伺服器會回覆一個200 OK的資訊。以後的每次登錄Skype都會向中央伺服器發送一小段包含關鍵字「getlatestversion」的HTTP 1.1請求,檢查是否有新版本的Skype。

使用者登錄Skype中央伺服器時,中央伺服器會檢查使用者的帳號和密碼。如果帳號和密碼正確無誤,使用者的Skype用戶端軟體就會進行以下所要介紹的初始化程序。

這個初始化程序將讓使用者進入到Skype的網路系統中。進入到Skype的網路系統之後,使用者的語音或資料便可以透過這個網路系統傳送到想要通話或聯絡的對象。

在初始化的程序中,Skype用戶端軟體考慮到使用者常用的網路架構有以下三種:

1. 使用者直接擁有公共網路的IP。
2. 使用者位於內部網路內,透過TCP連接外部網路。
3. 使用者在內部網路內,只能透過有限的幾個埠連接外部網路,例如80埠和443埠,80是常見的HTTP服務預設埠,而443則是HTTPS服務的預設埠。

為了讓在這三種不同架構下的使用者可以正常執行初始化程序,Skype用戶端軟體會先以UDP協定發送出請求封包具有特定IP的電腦,而這些IP都是在自己本機電腦中Host Cache上所紀錄的IP位址。

如果該IP的電腦,對於這個Request封包,5秒內沒有回應,就改用TCP協定,以80埠發送請求封包到該IP;倘若仍然失敗,就透過443埠再次送出TCP請求的封包給該IP,然後等待6秒鐘。

如果仍然失敗,就無法完成初始化程序。整個的程序可以重複4次,主要的目的是希望對有這些IP的電腦建立起連接。

使用者的語音或資料在傳送時,便會透過這些建立起來的連結,來傳送想要通話或傳送資料的目的地用戶端。具有剛剛所提到IP的電腦,在Skype網路中即是所謂的超級節點(SN)。圖5是整個初始化程序的流程。


▲圖5 初始化程序的流程。

在語音的傳輸上,Skype採用32kbps(bit-per-second)的語音編碼以保證語音品質,其信令透過TCP傳遞,而語音數據則透過TCP和UDP協定進行傳輸,信令和語音數據使用不同的埠號。為了保證信令傳輸的可靠性,信令始終是透過TCP進行的。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!