- 相關(guān)推薦
Internet上一種新型的CORBA應(yīng)用安全防護(hù)模型
摘要:CORBA技術(shù)在Internet上的廣泛應(yīng)用對(duì)其安全性也提出了更高的要求。本文介紹了常見的兩種CORBA應(yīng)用的安全防護(hù)模型,并在此基礎(chǔ)上提出了一種新型的CORBA應(yīng)用安全防護(hù)模型。?
關(guān)鍵詞:CORBACORBA防火墻IIOPSSL安全服務(wù)環(huán)境
一引言:
CORBA即公共對(duì)象請(qǐng)求代理結(jié)構(gòu),它作為面向?qū)ο蠓植际教幚淼闹髁鳂?biāo)準(zhǔn)之一,正日趨完善和成熟,并在各領(lǐng)域得到了廣泛的應(yīng)用。一些基于CORBA的應(yīng)用(如電子銀行、電子商務(wù)等)更是在Internet上迅速地發(fā)展起來。但由于Internet的早期設(shè)計(jì)并未考慮到網(wǎng)絡(luò)的安全性問題,它靈活、松散的體系結(jié)構(gòu),使其很難滿足分布式CORBA應(yīng)用對(duì)安全性的要求。
Internet上CORBA應(yīng)用程序的安全需求
客戶對(duì)象域Internet服務(wù)對(duì)象域
CORBA客戶對(duì)象客戶方防火墻服務(wù)方防火墻CORBA服務(wù)對(duì)象
圖1Internet上的CORBA應(yīng)用程序
(對(duì)象域:一組受防火墻保護(hù)的CORBA對(duì)象)
圖1所示為一典型的Internet上的CORBA應(yīng)用程序,如(電子商務(wù))。在這里CORBA客戶對(duì)象和服務(wù)對(duì)象處于不同的對(duì)象域里,都受到防火墻的保護(hù)。當(dāng)客戶對(duì)象通過互聯(lián)網(wǎng)向遠(yuǎn)端不同對(duì)象域的服務(wù)對(duì)象激發(fā)一個(gè)調(diào)用請(qǐng)求時(shí),它必須考慮如下安全問題:
1身份鑒別
在CORBA應(yīng)用中,無論是客戶對(duì)象還是服務(wù)對(duì)象都必須實(shí)現(xiàn)互相之間的可靠的身份鑒別。如:基于CORBA的電子銀行應(yīng)用,它必須保證將客戶的請(qǐng)求發(fā)往給他提供服務(wù)的銀行,而銀行必須驗(yàn)證客戶的身份,然后對(duì)其請(qǐng)求服務(wù);如果客戶對(duì)銀行沒有身份鑒別,則黑客可能冒充客戶的銀行,騙取客戶的帳戶信息,相反如果銀行沒有對(duì)客戶進(jìn)行身份鑒別,則黑客可能冒充客戶向銀行提出服務(wù)。
2完整性
在Internet的CORBA應(yīng)用中,僅有身份鑒別是不夠的,保持請(qǐng)求的完整性也相當(dāng)重要。如:盡管在CORBA客戶方和服務(wù)方都有安全的身份鑒別機(jī)制,但黑客可以截獲CORBA客戶對(duì)象和服務(wù)對(duì)象之間的通信信息,并插入假冒的請(qǐng)求,欺騙服務(wù)對(duì)象對(duì)其服務(wù)。
3機(jī)密性
在Internet的CORBA應(yīng)用中,CORBA客戶對(duì)象和服務(wù)對(duì)象之間的通信信息必需保密。
4授權(quán)和訪問控制
在Internet的CORBA應(yīng)用中,一個(gè)服務(wù)對(duì)象可能會(huì)允許多個(gè)客戶對(duì)象的請(qǐng)求,但不同的客戶對(duì)象要求分配不同的權(quán)力。
5可靠性
當(dāng)然,Internet的CORBA應(yīng)用必須有很高的穩(wěn)定性.此外CORBA應(yīng)用不應(yīng)該對(duì)系統(tǒng)的其他應(yīng)用產(chǎn)生影響。
二、Internet上CORBA應(yīng)用的安全性實(shí)現(xiàn)技術(shù)及工具
對(duì)于CORBA應(yīng)用的保密性,完整性,身份鑒別我們可以采用加密的方法解決。SSL包括:各種加密算法(DES,RSA,IDEA,RC2,RC4,Blowfish),各種檢驗(yàn)和機(jī)制(MD2,MD5,SHA),證書函數(shù)(X.509)等。我們可以用SSL協(xié)議對(duì)IIOP通信進(jìn)行加密,實(shí)現(xiàn)Internet上的CORBA應(yīng)用的保密性,完整性和身份鑒別。具體方法是:
1)用DES加密算法實(shí)現(xiàn)保密性。
。玻┯肕D5檢驗(yàn)和機(jī)制保證完整性。
。常┥矸蓁b別機(jī)制用RSA的非對(duì)稱密鑰加解密機(jī)制和SSL握手協(xié)議實(shí)現(xiàn)。
另一種常見的安全技術(shù)是防火墻技術(shù)。一般的基于Tcp/ip層的防火墻對(duì)低層的網(wǎng)絡(luò)層、傳輸層的攻擊能很好的防護(hù)。而應(yīng)用層防火墻能提供很好的授權(quán)和訪問控制功能,同時(shí)它還能對(duì)內(nèi)容進(jìn)行檢查。因此,可以將防火墻技術(shù)嵌入CORBA應(yīng)用的模型里,為Internet上的CORBA應(yīng)用提供安全保護(hù)。
最后,CORBA安全服務(wù)(CORBASec)是CORBA中一項(xiàng)重要的公共對(duì)象服務(wù),它在CORBA客戶對(duì)象和服務(wù)對(duì)象之間建立安全語言環(huán)境,為CORBA應(yīng)用提供很好的安全服務(wù)。
三、Internet上的CORBA應(yīng)用的常見安全防護(hù)模型.
有了這些安全技術(shù)和工具之后,下面的任務(wù)就是確定一種合理的安全模型,使它能充分地利用這些安全技術(shù)和工具,使它滿足Internet上的CORBA應(yīng)用程序的安全需求。
。被贑ORBA防火墻的安全防護(hù)模型
圖2
防火墻技術(shù)已被廣泛的用于網(wǎng)絡(luò)的安全防護(hù),它可以就每個(gè)通過它的網(wǎng)絡(luò)數(shù)據(jù)包,檢查數(shù)據(jù)包收、發(fā)雙方的身份,根據(jù)預(yù)先的安全性設(shè)置確定該數(shù)據(jù)包是否能通過防火墻。將防火墻技術(shù)應(yīng)用到CORBA中,并結(jié)合SSL對(duì)Internet上傳送的IIOP請(qǐng)求加密,就形成了如圖2所示的基于CORBA防火墻的安全模型。
IIOPProxy是一種常見的CORBA防火墻,它是一種應(yīng)用級(jí)的防火墻,工作在IIOP應(yīng)用層,對(duì)IIOP請(qǐng)求進(jìn)行檢查,從而實(shí)現(xiàn)對(duì)CORBA對(duì)象調(diào)用的控制;另一方面,它也不允許客戶和服務(wù)之間直接傳遞任何數(shù)據(jù)包,因此,對(duì)于非CORBA的服務(wù)和應(yīng)用也能提供安全保護(hù)。
在這種模型里,CORBA客戶對(duì)象并不直接和CORBA服務(wù)對(duì)象通信,而是通過設(shè)在防火墻主機(jī)上的IIOPProxy代理他們之間的通信.。一個(gè)CORBA客戶對(duì)象對(duì)CORBA服務(wù)對(duì)象的請(qǐng)求經(jīng)過三個(gè)階段:
CORBA客戶對(duì)象將它對(duì)CORBA服務(wù)對(duì)象的IIOP請(qǐng)求用SSL加密后發(fā)往IIOPProxy。
IIOPProxy收到CORBA客戶對(duì)象的IIOP請(qǐng)求后,將請(qǐng)求解密,檢查請(qǐng)求的有效性,而后根據(jù)目標(biāo)服務(wù)對(duì)象、客戶對(duì)象認(rèn)證標(biāo)志等信息對(duì)解密后的請(qǐng)求進(jìn)行安全過濾。
假如請(qǐng)求符合預(yù)設(shè)的安全規(guī)則,IIOPProxy將請(qǐng)求轉(zhuǎn)發(fā)給相應(yīng)的服務(wù)對(duì)象。
而CORBA服務(wù)對(duì)象對(duì)CORBA客戶對(duì)象請(qǐng)求的回應(yīng)過程則與之相反。
但這種模型有其缺點(diǎn):IIOPProxy轉(zhuǎn)發(fā)解密后的請(qǐng)求給服務(wù)對(duì)象時(shí),它并不對(duì)請(qǐng)求再加密,或只用防火墻的密鑰加密,服務(wù)對(duì)象和客戶對(duì)象之間也沒有完全傳遞安全語言環(huán)境,而CORBA的安全語言環(huán)境含有保證服務(wù)對(duì)象和客戶對(duì)象之間通信安全的重要信息(如客戶的鑒別證書等)。
2第二種模型是:端到端的安全防護(hù)模型
在這種模型里,仍用SSL對(duì)Internet上傳送的IIOP請(qǐng)求加密,但是,CORBA客戶對(duì)象直接和CORBA服務(wù)對(duì)象通信,中間不設(shè)任何防火墻,他們之間的通信安全由CORBA安全服務(wù)保證。由于CORBA安全服務(wù)(CORBASec)為CORBA客戶對(duì)象與CORBA服務(wù)對(duì)象之間的通信提供了直接的安全語言環(huán)境,它能提供比IIOPProxy更可靠的身份鑒別、安全審計(jì)、授權(quán)和訪問控制功能。
但是這種模型有個(gè)非常嚴(yán)重的缺陷:既使CORBA應(yīng)用程序能夠很好地保護(hù)自己,但是不能保證主機(jī)上的其他應(yīng)用和服務(wù)也能提供相同級(jí)別的安全防護(hù)。如果要對(duì)這些應(yīng)用和服務(wù)也提供全面的安全防護(hù),則每臺(tái)主機(jī)都需要一個(gè)防火墻系統(tǒng),很顯然這是不現(xiàn)實(shí)的。
四.CORBA應(yīng)用的一種新型的安全防護(hù)模型
1:基本實(shí)現(xiàn)原理
由于上面常見的兩種模型都有其缺點(diǎn),我們提出了這種新的安全模型,它綜合了前兩種模型的優(yōu)點(diǎn),在保證完整地傳遞CORBA對(duì)象之間的安全語言環(huán)境的同時(shí),又能很好地對(duì)其他非CORBA應(yīng)用和服務(wù)提供安全保障。其基本原理如下(圖4)所示:
在這種模型里,在保持客戶對(duì)象和服務(wù)對(duì)象之間的安全語言環(huán)境的基礎(chǔ)上,再設(shè)一個(gè)基于Tcp層的CORBA防火墻系統(tǒng)(TcpProxy),對(duì)除CORBA應(yīng)用之外的服務(wù)提供保護(hù),但是它比IIOPProxy要簡(jiǎn)化了許多,它的任務(wù)只是將加密了的包含IIOP請(qǐng)求的tcp數(shù)據(jù)流從客戶對(duì)象轉(zhuǎn)發(fā)給服務(wù)對(duì)象,它并不象IIOPProxy一樣對(duì)IIOP請(qǐng)求進(jìn)行控制,客戶對(duì)象和服務(wù)對(duì)象之間仍保持有直接的安全語言環(huán)境,因此它能利用CORBA的安全服務(wù)(CORBASec),滿足CORBA應(yīng)用的獨(dú)特安全需求。
由于TcpProxy不對(duì)IIOP請(qǐng)求的內(nèi)容進(jìn)行檢查,而由服務(wù)對(duì)象對(duì)IIOP的請(qǐng)求內(nèi)容進(jìn)行檢查,并提供審計(jì)、授權(quán)和訪問控制功能,因此,CORBA應(yīng)用程序不但擁有了和端對(duì)端模型一樣的安全保護(hù),而且有TcpProxy提供低層安全防護(hù),能對(duì)ip和Tcp級(jí)的網(wǎng)絡(luò)攻擊過濾,確保了傳給服務(wù)對(duì)象的Tcp信息流是安全的。另外,由于TcpProxy只連接了CORBA應(yīng)用使用的端口號(hào),因此,非CORBA的服務(wù)也得到了保護(hù)。
2:安全性比較
在新型安全防護(hù)模型里,TcpPorxy只工作在Tcp層,它不能對(duì)IIOP消息流中的惡意內(nèi)容進(jìn)行過濾。例如:易受到針對(duì)CORBA服務(wù)的緩沖區(qū)溢出攻擊等。它提供的安全級(jí)別看起來比IIOPProxy要低,但是,實(shí)際上IIOPProxy也帶來了許多的安全問題:
1)在沒有IIOPProxy的CORBA應(yīng)用中,客戶對(duì)象的請(qǐng)求和安全語言環(huán)境是一同傳給服務(wù)對(duì)象的,因此服務(wù)對(duì)象能從安全語言環(huán)境中直接得到客戶對(duì)象的身份鑒別標(biāo)志,從而直接對(duì)之進(jìn)行授權(quán)和訪問控制;然而,IIOPProxy將客戶對(duì)象的請(qǐng)求和客戶的身份鑒別標(biāo)志(即安全語言環(huán)境)分離,這就意味著不能保證服務(wù)對(duì)象接受到的從IIOPProxy轉(zhuǎn)發(fā)來的請(qǐng)求和由IIOPProxy附在請(qǐng)求上的服務(wù)語言環(huán)境是相一致的。
2)服務(wù)對(duì)象只信任IIOPProxy,也導(dǎo)致另一個(gè)嚴(yán)重的安全問題。如果一個(gè)黑客成功地入侵了防火墻主機(jī),則整個(gè)CORBA應(yīng)用的安全就被破壞了。另外,僅靠IIOPProxy對(duì)IIOP消息中的惡意內(nèi)容進(jìn)行過濾也有相當(dāng)?shù)木窒扌。因(yàn)镮IOPProxy能利用的信息只有請(qǐng)求的頭部信息(GIOPheader和messageheader),而請(qǐng)求體由于IIOPProxy不能存取服務(wù)對(duì)象的接口定義而不可識(shí)別,它是以一種非結(jié)構(gòu)化的字節(jié)流,應(yīng)此,IIOPProxy也不能防范一些應(yīng)用層的攻擊(如緩沖區(qū)溢出攻擊)。
而這些問題在新型的安全防護(hù)模型里,由于客戶對(duì)象和服務(wù)對(duì)象之間仍保持有直接的安全語言環(huán)境,因此我們可以直接利用CORBA的安全服務(wù)(CORBASec)來解決它們。從而彌補(bǔ)了CORBA防火墻(IIOPProxy)的不足。同時(shí)TcpProxy能對(duì)非CORBA的應(yīng)用提供安全防護(hù),它有效地克服了端到端安全防護(hù)模型的缺點(diǎn)。
五結(jié)論
通過比較三種CORBA應(yīng)用安全防護(hù)模型,可以看到:結(jié)合TcpProxy、CORBA安全服務(wù),SSL(SecureSocketLayer)的新型的安全防護(hù)模型能為CORBA應(yīng)用提供全面的安全防護(hù)。
六參考文獻(xiàn)
1<<CORBA教程--公用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)>>清華大學(xué)出版社
ORBAOverview
ORBA技術(shù)的新進(jìn)展<<計(jì)算機(jī)應(yīng)用>>第十九卷第五期劉錦德蘇森
CORBA規(guī)范、實(shí)現(xiàn)及其在CIMS中的應(yīng)用
(聯(lián)系方式:曾勇福州大學(xué)計(jì)算機(jī)系98研究生郵編350002
email:zenyong#ail.si.net.cn電話:0591-7803442)
【Internet上一種新型的CORBA應(yīng)用安全防護(hù)模型】相關(guān)文章:
MCU應(yīng)用系統(tǒng)與Internet連接的一種新技術(shù)08-06
CORBA技術(shù)在動(dòng)態(tài)交通分配系統(tǒng)中的應(yīng)用08-06
一種新型單片機(jī)MSC1210及其應(yīng)用08-06
用VB構(gòu)鍵Internet的應(yīng)用08-06
用VB構(gòu)鍵Internet的應(yīng)用-08-06
在Oracle 應(yīng)用服務(wù)器實(shí)現(xiàn)Java CORBA的研究08-06
皖能集團(tuán)Internet/Intranet應(yīng)用系統(tǒng)08-06