• 沒有找到結果。

第三章 系統設計與實作

3.3 架構

15

我們的系統除了保有匿名性的基本功能之外,也將整個系統設計得更完整。

主要加強的部份在於使用者資訊的分佈與管理、節點的組織成長,以及路徑追蹤 機制的建立,避免系統遭到不肖份子使用,進行非法的網路行為。

3.2 系統模型和假設

所有網路上的節點,我們以IP Address 表示其身份。假設攻擊者會在系統內 佈置一些惡意節點,亦即由攻擊者所掌控,但經由正常管道進入系統,以觀察系 統內部網路傳輸情形進行分析。惡意節點也可能直接成為我們匿名傳輸 Tunnel 中的節點,直接觀測傳輸的封包, 在 Tunnel 中,包含的惡意節點越多,此次匿 名傳輸的真實路徑被分析出的機會越高。

此外,我們假設攻擊者所能夠觀測的Domain有一定的限制,所以在建立 Tunnel的過程中,盡量選取不同Domain的節點,能帶來較高的隱私性[15]。相同 domain的IP Address,會有一定長度相同的Prefix,將其以unsigned int表達時,彼 此會是接近的數字,因此,我們以IP Address作為依據,將相近的節點群聚在一 定相近的群組中,若是有惡意攻擊者的節點,也能將其限制在系統中鄰近的區 域,減低其感染整個系統的機會。

3.3 架構

在架構上,我們將整個系統分成三層:

16 3-2 系統架構

3.3.1 Static Subscribe Server

如圖3-3,Static Subscribe Server 是由系統提供維護的 Server,負責一般使用 者進入系統時的註冊,以及管理各節點的分佈組織,以及各群組之間節點數量的 平衡負載,偵測各群組的Dynamic Subscribe Server 是否仍在系統中運作。

各Static Subscribe Server 擁有部份的節點資訊,每個 Server 的節點資訊合併 即為整個系統的節點資訊,分擔儲存和管理節點資訊的成本。各Server 之間進行 訊息交換,擁有彼此的部份訊息:管理的節點數目、群組數目以及各自管理的

17

Dynamic Subscribe Server,稱為 Slave Dynamic Subscribe Server,負責將系統中 所有的 Dynamic Subscribe Server 的資訊發佈給各自管理的 Slave Dynamic Subscribe Servers。

3-3 Static Subscribe Server 運行機制

3.3.2 Dynamic Subscribe Server

如圖3-4,每個 Dynamic Subscribe Server 由一個 Static Subscribe Server 管 理,稱為 Master Static Subscribe Server,擁有 Master Static Subscribe Server 所管 理 Common Node 的部份資訊,這些 Common Node 即由此 Dynamic Subscribe Server 管理,稱為 Slave Common Node,此外 Dynamic Subscribe Server 也擁有整 個匿名網路系統中所有Dynamic Subscribe Server 的資訊,或是一個可設定的上

18

限值數量,再動態地和Master Static Subscribe Server 進行更新。

Dynamic Subscribe Server 和其管理的 Slave Common Node 稱為一個群組,必 須負責偵測和回報Slave Common Node 是否仍在系統中運作,若是某 Common Node 不存在系統中,則向上回報 Master Static Subscribe Server,自己也必須週期 地向Master Static Subscribe Server 回報本身仍在系統中運作的訊息。負責傳遞 Master Static Subscribe Server 和 Slave Common Node 之間的訊息,包括從 Master Static Subscribe Server 端傳遞訊息給 Slave Common Node,以及從 Slave Common Node 端傳遞訊息給 Master Static Subscribe Server。就是當使用者向其詢問可用的 匿名節點資訊時,回應其管理的 Slave Common Node 資訊,以及回應 Slave Common Node 向其詢問 Dynamic Subscribe Server 的資訊。

3-4 Dynamic Subscribe Server 運行機制

19

3.3.3 Common Node

如圖3-5,一般的匿名網路使用者,除了週期向其所屬的 Dynamic Subscribe Server,稱為 Master Dynamic Subscribe Server,回報自己的運作狀況外,不需負 擔其餘工作。Common Node 隨著使用者增加後,有可能轉變成為 Dynamic Subscribe Server,分擔系統的運作。

當使用者進入系統後,若是恰好被選為Dynamic Subscribe Server,由 Static Subscribe Server 主動聯繫。否則被分配到其所屬的群組,管理該群組的 Dynamic Subscribe Server 主動向 Common Node 聯繫。一開始 Common Node 除了 Master Dynamic Subscribe Server 之外,沒有其他節點的資訊,於是向其要求所有或是一 個設定上限值節點數量的Dynamic Subscribe Server 資訊,存在 Dynamic Subscribe Server List 中,之後 Common Node 再隨機和 List 中的 Dynamic Subscribe Server 要求節點資訊。之後 Common Node 也會動態地向 Master Dynamic Subscribe Server 更新 Dynamic Subscribe Server List。

當Common Node 取得節點資訊後,在進行匿名傳輸之前,會先由所取得的 節點資訊中選取節點進行Tunnel Setup,當此程序完成,便將 Tunnel 的資訊存到 Tunnel List 中,作為進行匿名傳輸時的 Anonymous Tunnel。Dynamic Subscribe Server 同時也具有 Common Node 的身份,同樣也會和其他 Dynamic Subscribe Server 要求節點資訊。

20

3-5 Common Node 運行機制

相關文件