• 沒有找到結果。

第四章、 系統設計與效能分析

4.3 安全性分析

這一節依據在第二章中討論的安全威脅,以幾種簡單的攻擊實驗,去證明這 個架構在簡單的竊聽以及攻擊下都有可能產生問題,並且使用本研究所提出的架 構去防止類似攻擊,並且分析,舊有的架構與本研究所提出的架構在安全性上所 呈現差異。

4.3.1

Tearing Down攻擊

首先,使用Tearing Down攻擊來比較原有架構與本研究所提出的架構對於 Tearing Down攻擊的防禦能力,在一個ALM群體當中如果有一個群體的成員要離

開ALM群體,就傳送BYE訊息給ALM群體領導者,ALM群體領導者在收到這個 訊息之後,便會傳送NOTIFY_d給其他的ALM群體的成員,告訴她們這個成員已 經離開這個ALM群體,於是所有的群體成員會將這個節點的資料從ALM名單移 除,這個實驗使用下列的拓墣狀態:

圖 30、實體層拓樸

NOTIFY FY TI O N NOTIFY

圖 31、應用層網狀網路拓墣(Overlay Meshed Network)

在原有的架構中,首先使用MN8與MN1兩個節點傳送FROM HEADER為 MN9的SIP URI: [email protected]給MN7,首先使用非SIP節點的MN1,使用偽 造MN9傳送BYE訊息給MN7,MN7收到之後回傳OK訊息給MN1,之後,MN8 就收到NOTIFY_d訊息,如此,MN9即從ALM群體中被阻斷,第二次使用MN8 傳送BYE訊息給MN7,FROM訊息依舊為MN9的SIP URI: [email protected]

MN9依舊輕易的被攻擊者從ALM群體中阻斷,而且更清楚的發現,甚至是在同 一個ALM群體的成員都可以輕易的將其他的ALM群組成員從ALM群體中阻斷。

在本研究的架構中,在傳送出訊息之前,會先對訊息產生簽章,並且將簽章 做驗證,本實驗中使用金鑰長度為192來做簽章產生, 並且將簽章放入

<Signature> HEADER裡面,在MN7收到之後就先去驗證<Signature>中的簽章,

如果使用FROM HEADER裡面傳送者的Public Key做驗證,如果驗證成功,表示 確實為FROM HEDER傳送並且沒有遭受破壞,如果驗證失敗,即將此訊息丟棄,

在實驗中,首先使用MN1來做攻擊,BYE訊息中,不加入<Signature>HEADER,

在MN7收到之後,因為沒有<Signature>HEADER就直接丟棄,而MN8也沒有收 到NOTIFY_d訊息,其次使用MN8傳送MN9的BYE訊息,並且加上MN8的簽章,

在MN7收到訊息之後,去使用MN9的Public Key去驗證這個簽章,結果,發現這 個簽章根本錯誤,所以,也直接遺棄,最後使用MN9傳送BYE訊息給MN7,並 且加上自己的簽章,MN7在收到之後,使用MN9的Public Key去驗證這個簽章正 確,便傳送NOTIFY_d訊息給MN8,MN9離開這個ALM群體。

由簡單的對照可以知道,在原本的架構當中,很容易就受到Tearing Down攻 擊,而且不僅外部的惡意節點就算ALM群體的成員也可以輕易將某個節點做 Tearing Down攻擊,使其ALM群體,加上本研究使用的簽章方式之後,就可以輕 易的解決可能面對的攻擊。

4.3.2

訊息竊聽

在原本的架構中,在ALM群體之上使用SIP應用程式作訊息交換時,訊息的 內容在傳送的過程當中,會相當容易的被惡意者做竊聽,特別是在MANET環境 上,每個節點在傳送訊息時,會經過其他節點的轉傳,就算不特別使用竊聽技術,

在訊息傳送的同時,也可以簡單的就獲得通訊的內容,同樣使用下列的拓墣狀態 進行實驗:

圖 32、實體層拓樸

MESSAGE

ES M G SA E

圖 33、應用層網狀網路拓墣(Overlay Meshed Network)

在原本的架構當中使用,在ALM群體的MN9要與MN8要進行SIP訊息對話時 使用Message的訊息交換,在實體層的傳輸時,會傳輸的訊息會經過MN1與MN4 再到MN8,因此,MN1可以輕易的在轉傳訊息時獲得MESSAGE訊息內容,而在 應用層網狀網路中MN4是SIP Gateway更可以很簡單的,就取得經過他所傳送出 去的訊息。

因此在本研究中提出,使用橢圓曲線來做加密,經過Diffie-Hellman已經產 生一把Session Key,利用這把Session Key將訊息加密,在當MN9傳輸訊息經過 MN1到MN4到MN8時,因為訊息的內容經過加密,並且MN1與MN4無MN8的 Private Key,所以,無法將訊息解開,而MN8在取得資料之後,先對訊息做簽章

驗證,在訊息內容做解密,如果簽章錯誤比較訊息已經不完整,就將訊息遺棄,

若訊息簽章無誤,就產Session Key,將訊息解密,透過這樣的實驗,可以確保在 ALM群體相互傳訊息時,訊息的私密性以及完整性獲得維持。