第三章 系統介紹
3.6 實例說明
舉一個實例來說明我們的專題,這樣更能了解我們專題的實作部 分,假設 Client 端欲傳送檔案到 Server 端(圖 3.3) 。
圖 3.3 防火牆端等待及接收 Client 請求
在 Client 端的介面中向防火牆端發出建立安全通道要求,當防 火牆端收到請求時,便發出一個 Agent 給 Client 端來檢查 Client 的 安全性(圖 3.4)
圖 3.4 安全性檢查視窗
安檢的過程中,若 Client 端的環境不安全(Client 端未開防火 牆、防毒軟體或病毒碼版本太舊),則防火牆會中止其連線,要求 Client 做更新的動作(圖 3.5),若通過防火牆的安全性檢查,則防火
牆端會在 Client 端開啓傳輸介面(圖 3.6),以讓 Client 端準備傳輸 資料。
圖 3.5 Client 端環境不安全
圖 3.6 Client 端傳輸介面
而防火牆端也會準備將從 Client 端的檔案資訊傳送到 Server(圖 3.7)
圖 3.7 防火牆端準備傳送至 Host 端
然後 Host 端便會接收到從 Client 端的檔案,而防火牆端也會記 錄下整個傳輸檔案的過程(圖 3.8)。
圖 3.8 記錄檔
然而在遠端傳送資料時,我們有分為二種模式,一種是非點對點 的傳輸模式,此模式是將封包在防火牆端解密之後,再傳送到 Host 端(圖 3.9-1、3.9-2):
圖 3.9-1 遠端傳送資料(非點對點模式)
圖 3.9-2 目的端接收資料(非點對點模式)
而另一種傳輸模式是點對點的傳輸模式,其作法是防火牆端直接 將 Client 端傳送過來的資料直接送到 Host 端,讓 Host 端自行做解
密的動作(圖 3.10-1、3.10-2),在此只有傳送到 Host 端,並未做解 密以分別出二者之間的差別,圖 3.10-1 中,第一個”test”字串為 非點對點的傳輸,而在”test”字串後的亂碼,即為點對點的傳輸。
圖 3.10-1 遠端傳送資料(點對點模式)
圖 3.10-2 目的端接收資料(點對點模式)
第四章 總結
Server 端的資料,若 Client 端沒有相當的安全性保護,相對的也就 是讓 Server 端暴露在危險的環境中,因此這二點是我們著重的要點。發揮,在安全性方面也可以再加強對 Client 端安全環境的檢查機 制,相信一定更能使加密傳輸有更高的利用性。
4.2.專題所遇到的困難:
在我們實作專題時,曾遭遇到了下列的困難點:
1. 未曾接觸過的領域:
Mobile Agent 對我們來說是很陌生的,國內相關資料少之又少,
必須到國外的網站或論壇找尋,剛開始只能從最簡單的 sample program 著手,後來漸漸地了解了整個 Aglets 的架構,也可以逐步 測試專題的各項目標。
2. 環境設定複雜:
Aglets 並沒有完整的安裝程式,而是必須自行設定,另外像是 Server 端也需詳細設定 Security、domain 及 Agent 的執行權限,因 此,整體環境偏向封閉的系統而非開放式。
3. Server 端的防火牆:
原本初步的構想是與防火牆作結合,也就是說在防火牆內常駐一 Agent 來檢查特定要求的封包,不過這又是另一頊新的挑戰,對我們 來說也是一個新的領域,因此,我們並沒有做到很完整的封包檢查。
4. Client 端的安檢機制: 很久,才決定研究 Mobile Agent,原本我沒信心可以做出來,因為 題目偏向理論,再加上相關資料並不充足,一度想要放棄,不過到後 來,在找相關資料研讀及請教學長之後,才慢慢有了初步的概念,於 是想放棄的念頭也就慢慢消失了。
由於國內相關資料幾乎沒有,只能藉由網路找尋資料、以及閱讀 Mobile Agent 的原文書,剛開始很難下手寫一些簡單的程式,只能 夠看看語法,連怎麼運用 Agent 都不是很清楚,到最後才慢慢地從小
於是老師又給了我們另一個方向---Mobile Agent,也就是我們 現在發表的這個題目,在做這個專題時,也是碰到了很多問題,因為 Mobile Agent 算是個滿新的技術,在資料上我們能找到的東西並不 像以前一樣那麼多,不過聽說有學長在做有關這方向的東西,於是向 學長請教了很多有關 Mobile Aglets 的問題,學長也給了我們很多的 意見,也借了一本 Aglets 的書,這對我們的專題有相當大的助益,
4.3.專題進度
月 份 2 3 4 5 6 7 8 9 10 11 12 1 尋 找 老 師 ● ● 收 集 資 料 ● ● 確 立 目 標 ● 系 統 分 析 ● 分 配 工 作 ● 實 作 ● ● ● ● ● ●
測 試 修 改 ● ● 撰 寫 報 告 ●
參考資訊
[1] D.B.Lange and M.Oshima,”Programming and Deploying Java Mobile Agents with Aglets”,Addison-Wesley,1998
[2]E.R. Harold,”JAVA I/O 技術 ”pp.273-329, O’REILLY,2001 [3]E.R.Harold,”Java 網路程式設計”, O’REILLY,2000