摘要:主動網(wǎng)絡(luò)是一種代表網(wǎng)絡(luò)發(fā)展方向的開放的網(wǎng)絡(luò)體系,網(wǎng)絡(luò)的中間節(jié)點能夠運行定制的網(wǎng)絡(luò)服務(wù),這些服務(wù)能夠修改或擴展網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)。因此安全問題是其核心問題,該文從主動網(wǎng)絡(luò)的安全出發(fā),提出主動網(wǎng)絡(luò)的動態(tài)加密模型,該模型能產(chǎn)生動態(tài)變化的加密密鑰,能提供主動網(wǎng)絡(luò)環(huán)境中數(shù)據(jù)傳輸?shù)膹姲踩?,解決數(shù)據(jù)的完整性和機密性問題。
關(guān)鍵詞:主動網(wǎng)絡(luò);動態(tài)密鑰;初始密鑰
中圖分類號:TP393文獻標(biāo)識碼:A文章編號:1009-3044(2009)35-9916-02
The Model of Active Network Based on Active Key
LING Bao-hui
(Nanjing College of Information Technology, Nanjing 210046, China)
Abstract: Active network representes the networks' development direction and it is the open networks, in which the intermediary nodes can run customized network service. The service can modify or extend foundation architecture of network, so the security of network is the key problem of the active network. Based the security of active network, the paper present the model of dynamic encryption ofactive network, which can can generate the active key, and provide the strong security of data in active network environment. The model solves the problem in integrity and confidentiality of data.
Key words: active network; active key; initial key
當(dāng)今的計算機互聯(lián)網(wǎng)被視為“被動”網(wǎng)絡(luò),這是因為網(wǎng)絡(luò)的主要功能是將用戶要求傳送的數(shù)據(jù)從網(wǎng)絡(luò)的某一端點傳送到指定的地點。網(wǎng)絡(luò)的職能僅限于數(shù)據(jù)報文的路由、擁塞控制和服務(wù)質(zhì)量的規(guī)劃等。它所存在的主要問題是:新的網(wǎng)絡(luò)技術(shù)和標(biāo)準(zhǔn)很難集成到當(dāng)前正在使用的網(wǎng)絡(luò)設(shè)備中去,因為網(wǎng)絡(luò)編程僅限于端系統(tǒng)內(nèi)的高層網(wǎng)絡(luò)應(yīng)用軟件中,而網(wǎng)絡(luò)的中間節(jié)點是不可編程的,因此這種結(jié)構(gòu)是封閉式的系統(tǒng)。而主動網(wǎng)絡(luò)是允許中間節(jié)點執(zhí)行計算的網(wǎng)絡(luò)。主動網(wǎng)絡(luò)的基本設(shè)想就是讓第三方(終端用戶、操作員和服務(wù)提供商等)可以將特定應(yīng)用的服務(wù)注人網(wǎng)絡(luò)。主動網(wǎng)絡(luò)的研究目標(biāo)旨在增加網(wǎng)絡(luò)靈活性和可擴展性,并加速網(wǎng)絡(luò)軟件升級的步伐。
但是,主動網(wǎng)絡(luò)到目前還沒有得到廣泛的應(yīng)用。其主要原因是其本身的安全性還沒有得到較好的解決,主動網(wǎng)絡(luò)由于允許用戶對網(wǎng)絡(luò)的中間節(jié)點編程,到達主動節(jié)點(Antive Network Node, ANN)的主動代碼〔active Code,AC)在執(zhí)行的過程中需要請求相關(guān)的服務(wù),訪問所需要的節(jié)點資源,因此其安全性面臨更大的威脅,如果安全性得不到較好的解決。該網(wǎng)絡(luò)就不存在真正的實用價值。
本文從主動網(wǎng)絡(luò)安全出發(fā),從終端用戶角度考慮用戶數(shù)據(jù)信息的完整性和保密性,提出了主動網(wǎng)絡(luò)動態(tài)加密模型,為了提高執(zhí)行效率,采用組件定制的方案,系統(tǒng)使用JAVA實現(xiàn)。
1 動態(tài)加密安全模型
該安全模型的關(guān)鍵部分包含有通道、執(zhí)行引擎、證書庫、策略庫和節(jié)點資源、預(yù)處理虛擬機、證書管理、組件管理、認證中心、組件服務(wù)器和動態(tài)密鑰生成器等。通道主要負責(zé)接收/發(fā)送主動報文,每當(dāng)接收收到一個主動報文后,在通道中,檢查軟件首先根據(jù)主動報文中的數(shù)字簽名進行完備性檢查,檢查不通過的說明已被篡改或因傳輸錯誤而被丟棄,否則,將證書填入證書庫,以便在進行安全認證時查閱;如果主動報文中包含有資源訪問控制的策略,則將策略填入策略庫;以便在授權(quán)時參考,沒有攜帶策略的主動報文按節(jié)點默認的訪問控制策略進行資源訪問;強主動報文中的其他部分(AC及其相關(guān)的數(shù)據(jù)參數(shù))提交給EE執(zhí)行處理。執(zhí)行引擎負責(zé)響應(yīng)EE的服務(wù)請求,它包含認證授權(quán)執(zhí)行引擎和資源訪問控制執(zhí)行引擎,在提供服務(wù)時,查閱證書庫對主動報文的創(chuàng)建者/發(fā)送者進行身份認證,參考策略庫授權(quán)進行節(jié)點資源或環(huán)境資源的訪問。在模型中采用認證中心機制,通過簽發(fā)證書的方式實現(xiàn)身份認證。其中在模型中最為重要的是采用了組件服務(wù)策略和動態(tài)密碼生成機制。
主動網(wǎng)絡(luò)的安全從實現(xiàn)的角度考慮,主要涉及到主動節(jié)點的安全和主動報文的安全,主動網(wǎng)絡(luò)允許主動報文修改ANN的配置(如路由表),調(diào)用ANN的服務(wù),“惡意的主動報文在性質(zhì)上類似于病毒,,可通過大量耗費ANN的資源而實現(xiàn)“拒絕服務(wù)”攻擊。ANN的安全主要基于安全策略,通過控制EE與Node 0S之間、AC之間、AC與EE之間、AC與Node 0S之間的訪問來實現(xiàn). 針對主動報文的安全,我們設(shè)計了動態(tài)密鑰加密機制,系統(tǒng)在將數(shù)據(jù)分包傳輸時,不同的包采用不同的加密密鑰,所以能給傳輸數(shù)據(jù)提供強安全。
主動網(wǎng)絡(luò)的實現(xiàn)有兩個途徑: “可編程交換機(programmable switch)”途徑和“封裝(capsule)”途徑?!翱删幊探粨Q機“途徑保留了現(xiàn)有的包格式,并提供支持程序下載的離散機制?!胺庋b”途徑用封裝包替代了傳統(tǒng)包網(wǎng)絡(luò)中的數(shù)據(jù)包,稱之為主動包(active packets)。它將程序代碼和數(shù)據(jù)都裝在包內(nèi)。在該方式中,每一個包都是一個程序。為了提高AN的執(zhí)行效率,我們采用的是可編程交換機方式,信息包中不真正包含程序代碼,而只含有事先定義好的函數(shù)的標(biāo)識符和參數(shù),而函數(shù)體本身則駐留在組件服務(wù)器中,采用定制下載的方式,信息包中的主動性主要體現(xiàn)在它能用其自身攜帶的參數(shù)和數(shù)據(jù)等信息激活主動節(jié)點內(nèi)對應(yīng)的函數(shù)。
這里的組件是能實現(xiàn)某項特定功能的封裝代碼,它可以用來修改網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),更新修改現(xiàn)有的協(xié)議體系,用戶可以通過定制特定的網(wǎng)絡(luò)組件來擴充主動節(jié)點的功能。組件可以通過唯一的標(biāo)識號標(biāo)識,組件與外界的通信是通過接口完成,組件實例的配置由其屬性定義,如創(chuàng)建此組件實例要求多少資源,都可以作為屬性值寫入。于是在執(zhí)行環(huán)境(EE)中組件代碼執(zhí)行前節(jié)點操作系統(tǒng)(NOS)就能判斷是否能加載執(zhí)行。與主動信息包策略相比較可明顯看出它克服了因信息包中帶有可執(zhí)行程序代碼所達成的網(wǎng)絡(luò)安全方面的隱患,也突破了對程序代碼格式及長度的限制。
2 動態(tài)加密原理
從終用戶考慮主動網(wǎng)絡(luò)的安全,端用戶不得不信任所有的主動節(jié)點、執(zhí)行環(huán)境(EE)和其他在主動網(wǎng)絡(luò)中的主動代碼(ActiveCode)。因此,從端用戶角度看,必須把節(jié)點、執(zhí)行環(huán)境和其他主動代碼(或域)視為潛在的危險源。在某些特定研究領(lǐng)域中(如運行在非可信主機上的移動代理),確保端用戶數(shù)據(jù)不被節(jié)點或EE攻擊(泄露、未授權(quán)使用和修改等)是很難的.傳統(tǒng)的數(shù)據(jù)加密過程是對整個數(shù)據(jù)基于相同的密鑰進行加密,然后傳輸; 動態(tài)加密過程可以提供數(shù)據(jù)傳輸?shù)膹姲踩?,因為用戶?shù)據(jù)被劃分成許多數(shù)據(jù)包,動態(tài)加密過程是每個數(shù)據(jù)包采用不同的密鑰進行加密,然后分別傳輸。也就是使用密鑰序列對報文進行加密,為了使接受端也能生成同樣的密鑰序列,首先,我們采用Diffie-Hellman 密鑰交換協(xié)議,產(chǎn)生共享密鑰,即初始密鑰。得到初始密鑰后,我們選擇相同的一個基點加密文件,與初始密鑰組合后經(jīng)過單向散列函數(shù)得到與初始密鑰等長的報文摘要作為下一個數(shù)據(jù)包的加密密鑰,再把此次的加密密鑰經(jīng)同樣的算法得到再下一個數(shù)據(jù)包的加密密鑰,分別加密傳輸,在接收端是相似的解密過程。
因此,采用此策略后,假設(shè)數(shù)據(jù)被攔截或竊聽,且竊聽者知道加密使用的算法,再假設(shè)還知道某一次的密鑰,也是無法還原得到原文的,因為數(shù)據(jù)各個部分使用的是不同的密鑰。而基點加密文件是不在網(wǎng)絡(luò)上傳輸?shù)摹?/p>
3 結(jié)束語
主動網(wǎng)絡(luò)的安全一直是制約主動網(wǎng)絡(luò)不能大規(guī)模應(yīng)用的瓶頸,近年來也提出許多的基于主動網(wǎng)絡(luò)的解決方案,但都不能從根本上解決網(wǎng)絡(luò)的安全問題,本文從解決主動網(wǎng)絡(luò)的安全出發(fā),提出了主動網(wǎng)絡(luò)的動態(tài)加密模型,通過使用密碼序列對報文進行加密,即使數(shù)據(jù)被攔截或竊聽,也很難還原出原文,具有很好的安全效果,為提高系統(tǒng)的性能,采用了基于組件的動態(tài)代碼調(diào)入機制。
參考文獻:
[1] Tennenhouse D.A Survey of Active Network Research[C].IEEE Communications,1997.
[2] Xu Ke.Active Network Architecture Based on Extended Services Router[C].ISFST,2000.
[3] Psounis K.Active Networks: Applications, Security, Safety, and Architectures[C].IEEE communication Surveys,1999.
[4] Konstantions P.Active network: application, security, safety and architecture[EB/OL].(1998-04-16)[2001-10-12].http://www.comsoc.org/pubs/surveys.
[5] scott D A,Bob B,Carl A G,et al.ANEP: active network encapsulation protocol[EB/OL].(1997-07-01)[2000-03-09].http://www.cis.upenn.edu/switchware/ANEP/docs/ANEP.tex.
[6] Campbell R H,Liu Zhaoyu.Dynamic interoperable security architecture for active network[J].IEEE OPENARCH Israel,2000(3):32-41.
[7] A Node OS Working Group.NodeOS interface specification 2000[EB/OL].http://www.cs.princeton.edu/nsg/papers/nodeos.ps.
[8] Initial Active Network and Active Node Architecture 2002[EB/OL].http://www.ist-fain.org/deliverables/del2/d2.pdf.