主動(dòng)�(wǎng)�(luò)是一門(mén)將網(wǎng)�(luò)的可編程�、計(jì)算�、開(kāi)放�、靈活性、保�(hù)性和�(dòng)�(tài)配置等發(fā)揮得淋漓盡致的網(wǎng)�(luò)技�(shù)。它是一種可編程�分組交換�(wǎng)�(luò),通過(guò)各種主動(dòng)技�(shù)和移�(dòng)�(jì)算技�(shù),使傳統(tǒng)�(wǎng)�(luò)從被�(dòng)的字節(jié)傳送模式向更一般化的網(wǎng)�(luò)�(jì)算模式轉(zhuǎn)�,提高網(wǎng)�(luò)傳輸速度、動(dòng)�(tài)定制及網(wǎng)�(luò)新服�(wù)的能力�
主動(dòng)�(wǎng)�(luò)的基本思想是將程序注入�(shù)�(jù)�,使程序和數(shù)�(jù)一起隨�(shù)�(jù)包在�(wǎng)�(luò)上傳輸;�(wǎng)�(luò)的中間節(jié)�(diǎn)�(yùn)行數(shù)�(jù)包中的程�,利用中間節(jié)�(diǎn)的計(jì)算能�,對(duì)�(shù)�(jù)包中的數(shù)�(jù)�(jìn)行一定的處理;從而將傳統(tǒng)�(wǎng)�(luò)中“存�(chǔ)——轉(zhuǎn)�(fā)”的處理模式改變?yōu)椤按�?chǔ)——計(jì)算——轉(zhuǎn)�(fā)”的處理模式�
主動(dòng)�(wǎng)�(luò)中能夠攜帶程序代碼的分組�(chēng)為主�(dòng)分組,能夠處理主�(dòng)分組并執(zhí)行主�(dòng)分組中所帶程序的中間節(jié)�(diǎn)�(chēng)為主�(dòng)節(jié)�(diǎn),如主動(dòng)路由器和主動(dòng)交換�(jī)。網(wǎng)�(luò)節(jié)�(diǎn)不僅具有分組路由的處理能力而且能夠?qū)Ψ纸M�(nèi)容�(jìn)行計(jì)�,使分組在傳送過(guò)程中可以被修�、存�(chǔ)或重定向。主�(dòng)�(wǎng)�(luò)允許用戶向網(wǎng)�(luò)節(jié)�(diǎn)插入自己定制的程�,網(wǎng)�(luò)節(jié)�(diǎn)在處理數(shù)�(jù)包時(shí)將程序載入并�(zhí)行,以此�(lái)修改或者擴(kuò)展網(wǎng)�(luò)的基�(chǔ)配置,從而實(shí)�(xiàn)快�、動(dòng)�(tài)的部署新�(xié)�、提供新服務(wù),使�(wǎng)�(luò)更具靈活性和可擴(kuò)展��
主動(dòng)�(wǎng)�(luò)中包含許多由各種可能的網(wǎng)�(luò)技�(shù)連接起來(lái)的網(wǎng)�(luò)節(jié)�(diǎn),這些�(wǎng)�(luò)節(jié)�(diǎn)并不一定都是主�(dòng)節(jié)�(diǎn)。體系結(jié)�(gòu)從宏觀上分為三層,由節(jié)�(diǎn)操作系統(tǒng)(Node OS)執(zhí)行環(huán)境和主動(dòng)�(yīng)用主要構(gòu)件組�,Node OS的功能是主動(dòng)節(jié)�(diǎn)中的通信帶寬處理�(jī)能Node OS�,以及存�(chǔ)空間等本地資源向其上層的EE提供可供�(diào)用的接口,包括輸入輸出信道軟狀�(tài)存儲(chǔ)、安全策略數(shù)�(jù)�(kù)以及安全�(qiáng)制引擎Security Enforcement Engine,EE EE利用Node OS向其提供節(jié)�(diǎn)資源的調(diào)用接�,再向AA提供相對(duì)�(dú)立的�(zhí)行環(huán)境的編程接口,一�(gè)Node OS中可以有多�(gè)EE�(lèi)似于Java的接�。語(yǔ)言的虛擬機(jī)這些EE相對(duì)隔離�(gòu)成一�(gè)�(gè)相對(duì)安全的執(zhí)行環(huán)境,這樣既可以限制每�(gè)EE�(duì)節(jié)�(diǎn)資源的使�,從而保證多�(gè)節(jié)�(diǎn)資源可以公平地使用節(jié)�(diǎn)資源又能隔離每�(gè)EE的處理防�。由于某�(gè)主動(dòng)分組�(wú)意或惡意地過(guò)多使用網(wǎng)�(luò)節(jié)�(diǎn)資源而妨礙主�(dòng)節(jié)�(diǎn)的正常運(yùn)行�
?。ㄒ唬〢NSA安全體系
ANSA是IETF安全工作小組建議的主�(dòng)�(wǎng)�(luò)安全體系�(jié)�(gòu)。在ANSA體系�(jié)�(gòu)中定義了一�(gè)基本的安全角色—主�。它泛指任何�(wǎng)�(luò)操作行為的發(fā)起�,如:某�(gè)人某�(gè)�(tuán)體或�(tuán)體中的某�(gè)成員�。ANSA將主�(dòng)�(wǎng)�(luò)中的安全�(wèn)題分為兩�(lèi):端到端(End-to-End)安全和逐跳(Hop-by-Hop)安�,ANSA建議所有的逐跳安全和絕大部分端到端安全在節(jié)�(diǎn)操作系統(tǒng)層實(shí)�(xiàn)。其�(yōu)�(diǎn)是所有的EE操作都經(jīng)�(guò)�(tǒng)一的安全檢�;其缺點(diǎn)是在目前基于�(lèi)UNIX通用操作系統(tǒng)的主�(dòng)�(wǎng)�(shí)�(yàn)平臺(tái)上加載安全機(jī)�,并需要修改操作系�(tǒng)�(nèi)�,這顯然大大增加了主動(dòng)�(wǎng)安全�(jī)制開(kāi)�(fā)的難度�
?。ǘ〢Bone安全體系
ABone是由DARPA資助的在Internet上供研究用的一�(gè)主動(dòng)�(wǎng)�(shí)�(yàn)平臺(tái)。在功能上對(duì)等于IPv6�(wǎng)�(luò)的實(shí)�(yàn)平臺(tái)6Bone。有了ABone人們就可以在全球范圍內(nèi)借助Internet�(kāi)展主�(dòng)�(wǎng)的研究工作。ABone支持兩種可執(zhí)行環(huán)境EE:ANTS和ASP。目前加入ABone的節(jié)�(diǎn)己遍布于世界各地,基于Abone的主�(dòng)�(wǎng)安全性研究非常活�。絕大多�(shù)Abone的節(jié)�(diǎn)操作系統(tǒng)都為�(lèi)UNIX操作系統(tǒng)� Abone將主�(dòng)�(wǎng)中的安全�(wèn)題主�?jiǎng)澐譃橐韵聝深?lèi)�
1、非法的主動(dòng)分組�(duì)主動(dòng)節(jié)�(diǎn)上合法的AA帶來(lái)的安全隱��
2、惡意的AA�(duì)主動(dòng)節(jié)�(diǎn)上的EE和節(jié)�(diǎn)操作系統(tǒng)的危�。Abone建議逐跳安全可以在EE中實(shí)�(xiàn)也可以在�(wǎng)�(luò)守護(hù)�(jìn)程(netiod)中�(shí)�(xiàn),端到端安全則在EE中實(shí)�(xiàn)。其�(yōu)�(diǎn)是實(shí)施安全機(jī)制不需修改操作系統(tǒng)�(nèi)核;缺點(diǎn)是需要在每�(gè)EE中分別實(shí)�(xiàn)安全�(jī)��
總之,主�(dòng)�(wǎng)�(luò)與傳�(tǒng)�(wǎng)�(luò)相比,具有無(wú)法比擬的靈活性和�(kāi)放�,但這些�(yōu)�(shì)也使得主�(dòng)�(wǎng)�(luò)的安全問(wèn)題變得更加棘�。本文在�(duì)主動(dòng)�(wǎng)�(luò)定義闡述的基�(chǔ)�,提出了主動(dòng)�(wǎng)�(luò)安全體系�(jié)�(gòu)模型,并�(duì)模型的功能�(jìn)行了描述,設(shè)�(jì)了系列基于AN的網(wǎng)�(luò)故障管理技�(shù)的基本實(shí)�(xiàn)方法�
?。ㄒ唬┲�?dòng)節(jié)�(diǎn)面臨的安全威�
主動(dòng)節(jié)�(diǎn)希望保護(hù)自己的資�,不希望未經(jīng)�(guò)授權(quán)的主�(dòng)分組使用自己的節(jié)�(diǎn)資源,確保自己所提供的服�(wù)具有可獲得�,保�(hù)自己節(jié)�(diǎn)狀�(tài)的完整性和保護(hù)自己狀�(tài)反對(duì)未授�(quán)暴露。主�(dòng)節(jié)�(diǎn)可能感覺(jué)受到的威脅來(lái)自執(zhí)行環(huán)�,因?yàn)�?zhí)行環(huán)境會(huì)消耗主�(dòng)節(jié)�(diǎn)資源或更改節(jié)�(diǎn)狀�(tài)參數(shù)�。作為主�(dòng)節(jié)�(diǎn)必須能夠安全有效地管理自己資�,以便分配給�(jīng)�(guò)授權(quán)的主�(dòng)代碼使用,為主動(dòng)�(yīng)用提供服�(wù)此外主動(dòng)節(jié)�(diǎn)必須能夠�(shí)別鄰居節(jié)�(diǎn),這樣能夠確保將主�(dòng)�(bào)文傳送到可信任的相鄰主動(dòng)節(jié)�(diǎn)上。為了滿足以上這些安全要求,主�(dòng)�(wǎng)�(luò)�(yīng)�(dāng)采用下面方式�(lái)保障主動(dòng)節(jié)�(diǎn)安全:(1)主�(dòng)�(wǎng)�(luò)�(yīng)�(dāng)采用有效的安全機(jī)制保證主�(dòng)節(jié)�(diǎn)安全;(2)主�(dòng)節(jié)�(diǎn)�(zhí)行主�(dòng)代碼�(shí)候必須能�?qū)ζ浒l(fā)行者�(jìn)行身份認(rèn)�,并�(zhí)行一種存取控制來(lái)�(shí)�(xiàn)其資源操作和安全控制;(3)由于主�(dòng)節(jié)�(diǎn)中的�(zhí)行環(huán)境需要安裝主�(dòng)代碼、執(zhí)行主�(dòng)代碼等操作,因此主動(dòng)節(jié)�(diǎn)�(yīng)�(dāng)有安全審�(jì)功能�(lái)�(shí)�(shí)�(jiān)視主�(dòng)節(jié)�(diǎn)系統(tǒng)以及主動(dòng)�(yīng)用程序的�(yùn)行狀�(tài),發(fā)�(xiàn)威脅�(shí),能夠及�(shí)終止主動(dòng)代碼的執(zhí)行并且保留不可抵賴和不可磨滅的記��
?。ǘ�?zhí)行環(huán)境面臨的安全威脅
�(zhí)行環(huán)境感�(jué)其受到的威脅可能�(lái)自其它的�(zhí)行環(huán)�、來(lái)自主�(dòng)分組或者來(lái)自主�(dòng)代碼。因?yàn)樵谝粋€(gè)主動(dòng)節(jié)�(diǎn)中可能存在著多�(gè)�(zhí)行環(huán)�,如果其中一�(gè)�(zhí)行環(huán)境過(guò)多的消耗主�(dòng)節(jié)�(diǎn)資源,那么必然對(duì)其它�(zhí)行環(huán)境的�(yùn)行造成損害。同樣一�(gè)惡意的主�(dòng)代碼在執(zhí)行環(huán)境中�(yùn)行的�(shí)候,該惡意主�(dòng)代碼可能更改�(zhí)行環(huán)境參�(shù)、超額消耗執(zhí)行環(huán)境所授權(quán)使用的資源、�(jìn)行執(zhí)行環(huán)境所未授�(quán)的存取控制操�,導(dǎo)致執(zhí)行環(huán)境不能有效的或正確的為其它主�(dòng)代碼提供服務(wù)�
?。ㄈ┲�?dòng)分組面臨的安全威�
主動(dòng)代碼可能向主�(dòng)節(jié)�(diǎn)�(fā)出存取控制操作請(qǐng)�,其目的是為了處理和傳送;主動(dòng)代碼可能向主�(dòng)節(jié)�(diǎn)�(fā)出存取請(qǐng)�,其目的是為了取得服�(wù);主�(dòng)代碼也可能請(qǐng)求存取一�(gè)主動(dòng)分組,其目的是為了處理或刪除和更改這�(gè)分組,這些意味著主�(dòng)代碼�(yīng)�(dāng)能夠�(shí)別它所想處理的主動(dòng)分組。一�(gè)主動(dòng)節(jié)�(diǎn)可能�(duì)主動(dòng)代碼�(jìn)行存�、檢索更改或終止;主�(dòng)分組需要保�(hù)自己�(shù)�(jù)�(méi)有經(jīng)�(guò)未授�(quán)而被竊取或更�,保�(hù)自己的服�(wù)防止未授�(quán)使用,保�(hù)自己的資源防止未授權(quán)使用。主�(dòng)代碼感覺(jué)受到的威脅主要來(lái)自其它主�(dòng)分組、其它主�(dòng)代碼、來(lái)自執(zhí)行環(huán)境和節(jié)�(diǎn),它能保�(hù)自己防止其它主動(dòng)代碼�(duì)其造成的安全危�,但是它不能保護(hù)自己防止受到�(zhí)行環(huán)境和主動(dòng)節(jié)�(diǎn)的安全威�,因?yàn)橹鲃?dòng)代碼不得不在�(zhí)行環(huán)境和主動(dòng)節(jié)�(diǎn)中運(yùn)行。主�(dòng)代碼所能做的是保護(hù)自己確保它沒(méi)有被傳送到不信任的節(jié)�(diǎn)和執(zhí)行環(huán)境上。主�(dòng)分組�(yīng)�(dāng)不相互干�,一些分組將基于下面幾�(gè)�(biāo)�(zhǔn)安裝新的代碼和�(jìn)行存取控制:�1)授�(quán)分組�(chuàng)始人允許安裝新的代碼;(2)代碼被證明非干�;(3)代碼僅允許�(zhí)行通過(guò)�(rèn)證的�(chuàng)始動(dòng)�;(4)代碼被證明有邊際影�,但僅影響信任使用者的代碼�
(四)用戶面臨的安全威脅
用戶或源節(jié)�(diǎn)希望保護(hù)自己主動(dòng)分組中的傳輸�(shù)�(jù)和代�,確保主�(dòng)分組中數(shù)�(jù)和代碼的完整性和�(jī)密性。因?yàn)槠渌欠ɑ驉阂獾挠脩糁�?dòng)代碼可能通過(guò)在主�(dòng)節(jié)�(diǎn)上運(yùn)行來(lái)查看其主�(dòng)分組的數(shù)�(jù)、代碼和�(yùn)行狀�(tài)�,所以主�(dòng)�(yīng)用用戶會(huì)感覺(jué)威脅�(lái)自其它用戶的主動(dòng)代碼或主�(dòng)分組:主�(dòng)�(yīng)用用戶還把執(zhí)行環(huán)境和節(jié)�(diǎn)看作威脅�,因?yàn)榉乐刮词�?quán)的主�(dòng)節(jié)�(diǎn)查看和修改其主動(dòng)分組的數(shù)�(jù)、代碼和�(yùn)行的狀�(tài)�
?。ㄒ唬┲�?dòng)節(jié)�(diǎn)的保�(hù)
?�?)主�(dòng)分組的認(rèn)證:任何主動(dòng)分組都具有一份證�(shū),該證書(shū)由一�(gè)可信任的證書(shū)中心�(fā)�。證�(shū)用來(lái)保證�(duì)該證�(shū)簽名的持有者為主動(dòng)分組�(fù)�(zé);(2)監(jiān)視和控制:可以通過(guò)�(shè)定訪�(wèn)�(jiān)視器,它可以根據(jù)策略�(shù)�(jù)�(kù)中的安全決策�(lái)決定訪問(wèn)是否被授�(quán),通過(guò)安全策略�(lái)允許主動(dòng)分組訪問(wèn)和使用主�(dòng)節(jié)�(diǎn)資源和服�(wù);(3)限制技�(shù):時(shí)間限�、范圍限制以及復(fù)制限�,這些限制在阻止主�(dòng)分組�(guò)度占用節(jié)�(diǎn)資源方面是必要的�
?。ǘ┲鲃?dòng)分組的保�(hù)
�1)在主動(dòng)�(wǎng)�(luò)�,主�(dòng)分組可能�(huì)�(dǎo)致一些在�(xiàn)有的傳統(tǒng)�(wǎng)�(luò)中不易經(jīng)常出�(xiàn)的一些問(wèn)�,如毀壞節(jié)�(diǎn)資源、拒絕服�(wù)、竊取信息等。為了保�(hù)主動(dòng)分組的安�,可以采用加�、容�(cuò)、數(shù)字簽名技�(shù)等安全技�(shù);(2)加密指主動(dòng)分組不含有明文代碼和�(shù)�(jù),防止在傳輸�(guò)程中代碼和數(shù)�(jù)被破�;(3)容�(cuò)技�(shù)就是備份、持�(xù)和重定向。備份意味著在每�(gè)節(jié)�(diǎn)都�(jìn)行復(fù)�。持�(xù)是指分組臨時(shí)被存�(chǔ)以防節(jié)�(diǎn)失效,這樣即使節(jié)�(diǎn)崩潰,分組仍然存在存�(chǔ)器中。由于備份和持續(xù)�(huì)消耗大量的�(nèi)存和帶寬,對(duì)大部分分組來(lái)�(shuō)是不可接受的,所以只有非常重要的分組才這樣�;(4)數(shù)字簽名技�(shù)�(duì)于主�(dòng)分組�(jìn)行完備性檢�(cè)常采用公鑰簽名或X.509證書(shū)形式。接收方收到主動(dòng)分組后,利用CA公鑰�(yàn)證CA�(shù)字簽名以保證證書(shū)的完整�,然后從證書(shū)中獲得主�(dòng)分組�(fā)送者的公鑰,驗(yàn)證主體的身份�
主動(dòng)�(wǎng)�(luò)由于允許用戶�(duì)�(wǎng)�(luò)的中間節(jié)�(diǎn)編程,到�(dá)主動(dòng)節(jié)�(diǎn)的主�(dòng)代碼,在�(zhí)行的�(guò)程中需要請(qǐng)求相�(guān)的服�(wù),訪�(wèn)所需要的節(jié)�(diǎn)資源,因此其安全性面臨更大的威脅。如果安全性得不到更好的解決,該網(wǎng)�(luò)就不存在真正的實(shí)用價(jià)�。IETF(互�(lián)�(wǎng)工程任務(wù)組)的主�(dòng)�(wǎng)�(luò)安全工作組已�(jīng)提出了一�(gè)主動(dòng)�(wǎng)�(luò)的安全規(guī)范,但該�(guī)范只提出了一�(gè)安全框架,許多細(xì)節(jié)和實(shí)�(xiàn)在該�(guī)范中并沒(méi)有得到具體的體現(xiàn)。國(guó)外主�(dòng)�(wǎng)�(luò)系統(tǒng)中考慮了一些安全方面的�(wèn)�,方法大致有以下幾種�
(一)使用強(qiáng)�(lèi)型語(yǔ)言限制資源訪問(wèn):如BBN公司的SmartPacket系統(tǒng)采用了Sprocket�(yǔ)言,賓夕法尼亞大學(xué)的Switchware系統(tǒng)采用了PLAN�(yǔ)言。這種方法雖然能夠保證一定的安全,但與他們所采用的語(yǔ)言有著密切的關(guān)�,不具有通用��
?。ǘ┲苯酉薅ㄖ担褐苯釉谥�?dòng)信包中限定AC的跳�(shù),從而避免耗費(fèi)�(guò)多的資源。由于不同AC所訪問(wèn)的資源量不同以及節(jié)�(diǎn)�(huán)境的�(dòng)�(tài)�,所以在�(shí)�(xiàn)�(guò)程中該值最終難以確定�
?。ㄈ┦褂糜布喝鏢witchware在安全方面做的研究工作并取得了一定的研究成果,通過(guò)在底層使用硬件AEGIS�(lái)安全地引�(dǎo)主動(dòng)節(jié)�(diǎn)操作系統(tǒng)。但是這種基于硬件的安全策略使其通用性方面受到了影響�
(四)使用認(rèn)證和授權(quán):如SmartPacket采用了認(rèn)證技�(shù)�(duì)信包的創(chuàng)建者�(jìn)行身份認(rèn)�,采用訪�(wèn)控制列表�(lái)仲裁主動(dòng)信包的訪�(wèn)�(quán)限和可訪�(wèn)的資�,但該方法需要修改主�(dòng)�(wǎng)�(luò)封裝�(xié)�。由此可�(jiàn),國(guó)外研究的一些主�(dòng)�(wǎng)�(luò)系統(tǒng)因其�(cè)重點(diǎn)不同而對(duì)安全性考慮得很少。即使有所考慮,但采用了特殊技�(shù)使得其安全機(jī)制不具有通用��