第三章、 相關研究
3.1 以 H.323 為基礎的四種合法監聽方法
這篇論文[20]提出四種在網路電話上的監聽方法,以 H.323[6]為基礎,第一種是在 匣道器(Gateway)上監聽,第二種是修改 Gatekeeper 使被監聽的網路電話封包會經過監聽 的機器,第三種是網路電話的封包一定會經過監聽的機器,最後一種是把監聽的機器和 交換器或集線器連接起來,只要是監聽的封包都會複製一份到監聽的機器。
1. 在匣道器上監聽
在匣道器上監聽這種方法可以用在當 H.323 網路電話打到公眾交換電話網路的時 候,這裡的匣道器指的是連接 H.323 和公眾交換電話網路的機器,它可以在 H.323 和公 眾交換電話網路的網際網路通訊協定之間做轉換。因為所有的通話都會經過這台匣道 器,所以可以在這裡監聽,當匣道器發現有通話需要被監聽時,它會將通話內容複製一 份到一台專門放監聽資料的機器上,如圖 16 所示。
圖 16 在匣道器上監聽
這個方法並不侷限在 H.323 和 PSTN 網路上,它可以用在任何有二種電話系統的網 路之上,因外為了要能辦認出哪些通話需要被監聽,哪些不需要監聽,匣道器必須要有 一份清單,這份清單上會列出需要被監聽的使用者,如果發話端是在 H.323 的網路內,
可以從 Q.913 的訊息中取出 alias addresses 和 IP address 來辨認使用者,如果是收話端在 H.323 的網路內,可以從 gatekeeper 中得到使用者的 IP address,如此一來無論是發話端 還是收話端都可以受到監控。
這個方法不需要在 H.323 網路中增加額外的機器,除了匣道器之外,也不需要修改 其它的機器,所以只要在匣道器上新增一些功能,就可以達到監聽的效果,值得一提的 是在匣道器上監聽不會影響通話的品質,也不會讓使用者發現被監聽,不過這個方法的 致命傷在於它無法監聽在 H.323 網路裡面的通話,也就是說只要通話沒有經過匣道器,
就英雄無用武之地了。
2. 利用 Gatekeeper 將被監聽的通話導向監聽設備
在 H.323[6]通訊協定中,gatekeeper 負責通話建立的工作,因此可以修改 gatekeeper 來達到監聽的目的,首先在 H.323 網路裡面增加一台監聽設備,它的工作是儲存監聽的 資料,再來就是修改通話建立的流程,讓被監聽的通話導向監聽設備,這樣就可以把通 話內容記錄下來,所以原本通話會變成發話端跟監聽設備建立連線,以及監聽設備跟收
話瑞建立連線。在 H.323 訊息中,RAS 訊息是 Registration, Admission and Status 的意思,
ARQ 訊息是 Admission Request 的意思,ACF 訊息是 Admission Confirm 的意思,H.323 通話建立方式如圖 17 所示。
圖 17 H.323 通話建立步驟
一開始,發話端先送一個 ARQ 訊息給 gatekeeper(1),ARQ 訊息裡面包含了收話端 的 alias address,gatekeeper 會回覆一個 ACF 訊息(2),ACF 訊息裡面包含了受話端的 IP address,如此一來發話端就可以利用這個 IP address 和受話端建立連線,之後雙方再交 換 Q.931 Setup/Call Proceeding 訊息(3, 4)[21],再來受話端會和 gatekeeper 交換 ARQ/ACF 訊息(5, 6),最後受話端會送給發話端一個 Q.931 Alerting 訊息(7)[22]。
H.323 網路協定加入監聽之後建立通話的步驟會有所改變,首先當 gatekeeper 收到 發話端送的 ARQ 訊息時(1),會判斷發話端或受話端是否需要被監聽,如果需要監聽的
話,gatekeeper 會送一個訊息告訴監聽設備有一則通話需要做監聽(2),這個訊息包含了 發話端跟受話端雙方的 IP address,再來 gatekeeper 會回覆發話端一個 ACF 的訊息(3),
這個訊息原本內容應該有受話端的 IP address,但是 gatekeeper 把它改成監聽設備的 IP address,如此一來到時候發話端就會跟監聽設備建立通話連線,受話端也會和監聽設備 建立連線,而監聽設備就可以成功的監聽這則通話,監聽設備會將所有經過它的訊息轉 送出去(4-7, 10, 11),所以通話雙方還是依照原本的步驟建立連線,最後監聽設備就可以 將雙方的通話內容完全記錄下來,成功的達到監聽效果,建立的流程如圖 18 所示。
圖 18 H.323 加入監聽之後的通話建立步驟
這個方法需要在 gatekeeper 上做修改,而不需要更動其它 H.323 的設備,gatekeeper 要加入能和監聽設備溝通的功能,另外還要修改 ACF 訊息讓裡面包含了監聽設備的 IP address。不過這個方法有些問題,當通話被監聽時,發話端和受話端是和監聽設備建立
連線,如果有一方知道對方的 IP address,再比對現在建立連線的 IP address,就可以發 上一個方法很類似,不一樣的地方在於 gatekeeper 不需要判斷每則通話是否需要導向監 聽設備,而是不管三七二十一的把所有通話都導向監聽設備所以也會像上一個方法一樣 將通話分隔成二邊,一邊是發話端和監聽設備建立連線,一邊是受話端和監聽設備建立 連線,這時候 gatekeeper 送給監聽設備的訊息除了帶有通話雙方的 IP address 之外,也 要註明這次的通話需不需要受到監聽,換句話說就是需不需要把通話內容紀錄下來,這
另外這個方法也受限於交換器和集線器的能力,當網路流量很大的時候有沒有辦法將所 有的封包都複製一份給監聽設備,就算有辦法,最後這台監聽設備能不能過濾並且取出 封包內容,判斷是否需要監聽也是一個問題。
圖 19 Promiscuous 模式監聽設備
最後我們對這四種方法做個結論,第一種方法優點是不會被偵測,通話品質也不受 影響,缺點是只能攔截部份通話,第二種方法優點是可以攔截全部通話,缺點是可能會 被偵測,而且通話品質會受影響,第三種方法優點為不會被偵測,也可以攔截全部通話,
缺點為通話品質可能受影響,第四種方法優點為不會被偵測,也可以攔截全部通話,而 且通話品不受影響,缺點為花費成本太大,在現實世界幾乎是不可行的,表 2 為四種方 法的比較說明:
表 2 四種方法優缺點比較
在閘道器上監聽 用 Gatekeeper 監聽 固定路徑監聽 隨機處理監聽
偵測性 不會 會 不會 不會
攔截通話 部份 全部 全部 全部
通話品質 不受影響 受影響 受影響 不受影響