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