• 沒有找到結果。

ALM GROUP 上的安全威脅

第三章、 在 MANET 上以 SIP 為基礎的安全群播協定

3.2 金鑰交換

3.2.1 ALM GROUP 上的安全威脅

當一個存在於應用層網狀網路的節點想要發起一個ALM群體,它會先將訊息 傳播到他的SIP Gateway,再由SIP Gateway傳送給其他所有的點,Group-ID即代 表這個ALM群體的發起人,也就ALM的領導者,一旦其他節點收到這個訊息,

如果要加入這個群體,便會回傳一個OK的回覆給群體的領導者,群體的領導者 會等待一段時間來接收OK的回覆訊息,然後,在等待時間結束之後,群體領導 者會發送,NOTIFY給所有這個ALM群體的參予者。

當有一個新的節點要加入這ALM群體時,因為它加入這個應用層的網狀網 路時,SIP Gateway傳送的NOTIFY的訊息裡面,就會包括目前已經啟動的ALM

群體,因此這個節點就可以依據裡面的訊息,送INVITE訊息給ALM的群體領導 者,這個INVITE的訊息裡面會包含一個Join的HEADER,依據這個HEADER,

收到的ALM群體領導者比對自己的Event-ID,與可能會有某些節點的加入限制 (ADMISSION CONTROL),如果ALM群體領導者允許這個節點加入,就傳送一 個NOTIFY回去給新加入的節點,裡面會包含目前所有加入這個ALM的所有資 訊,當新節點回傳OK即完成加入ALM群體程序,之後SIP Gateway再送NOTIFY_d 告訴其他目前已經存在於這個ALM群體的成員,有新節點的加入,並且訊息包 含這個節點的資訊。

MN4

MN1 MN3

SIP Gateway

noode

MN2 MN7

MN5

Non-SIP node

MN9 MN6

SIP NODE MN8

圖 25 ALM 建立節點分布圖

以在第二章中所討論ALM群體建立的流程為例,圖22為節點的分布圖,其 ALM群體的建立流程如下:

2.INVITE

MN9 MN4 MN8 MN6

12.NOTIFY_d 8.INVITE with

Join

1.INVITE 1.INVITE 2.INVITE

Step 1. MN8決定發起一個ALM群體,傳送INVITE訊息給其他的節點。

Step 2. 因為MN9、MN7為MN4的子節點,所以透過MN4來轉傳MN8的INVITE 訊息。

Step 3,4. MN6與MN9決定加入MN8所成立的ALM群體。

Step 5. MN8在等待回應期間結束之後,就傳送NOTIFY訊息給決定加入的節點 MN6與MN9告訴她們,參與這個ALM群體的成員為MN8、MN6與MN9。

Step 6,7. MN9與MN6回傳OK訊息給MN8,回覆MN8收到NOTIFY訊息。

Step 8. MN4決定加入MN8的ALM群體,因此傳送INVITE訊息給MN8其中包含一 個Join的Header。

Step 9. MN8接受MN4的加入請求,回傳OK訊息回去給MN4。

Step 10. MN8傳送NOTIFY訊息給MN4,裡面包含參與這個ALM群體的成員。

Step 11. MN4回覆MN8已收到NOTIFY訊息。

Step 12,13,14 MN8傳送NOTIFY_d訊息給ALM群體上的成員,有新成員加入。

Step 15,16,17 收到NOTIFY_d的節點回傳OK訊息,確認以收到,如此便完成新 節點加入的流程。

當MN8在Step 1傳送INVITE訊息時,如果在MN4為MN9的SIP Gateway,MN4 惡意的去竄改INVITE訊息,將INVITE訊息變成由MN4發起的ALM群體,那就可 能會發生一個節點加入的是一個錯誤的ALM群體,而產生MAN-IN-MIDDLE ATTACK,所有的訊息都會先透過錯誤的節點MN4在送到MN8去,因此如何保證 在傳送MN8所產生的訊息完整性,是在發起ALM群體時的一個問題。

其次,當ALM群體在進行訊息交換時,以傳送Instant Message為例,因為SIP 為一個明文傳送的通訊協定,而且MANET上,每一個節點都有可能幫其他節點 傳送訊息,如果在訊息的內容沒有做私密性的處理,那訊息的內容會在傳送的期 間簡單的被別有居心的節點窺探甚至被竄改,如何去保證在這個架構下,維持訊 息內容的私密性與完整性也是另一個重要問題。