劉瑋瑋
一種基于J2EE平臺的Web應用安全機制
劉瑋瑋
通過一個網(wǎng)上銀行應用研究了基于J2EE平臺Web應用安全機制的實現(xiàn)。使用文件配臵實現(xiàn)EJB組件開發(fā)的業(yè)務邏輯層安全,SOAP協(xié)議保證系統(tǒng)信息交換安全,RSA算法的變形實現(xiàn)網(wǎng)上傳輸信息加密。在不借助Web應用專用防火墻時也能較好實現(xiàn)Web應用安全,具有一定的可借鑒性。
Web應用;安全機制;EJB;SOAP;RSA
隨著Web應用越來越廣泛,它的開放性、易開發(fā)性和易用性使得解決其安全問題變得非常重要,尤其在一些安全性要求較高的情況下。本文通過一個網(wǎng)上銀行系統(tǒng),研究了一種基于J2EE平臺Web應用安全機制的實現(xiàn)方法。
根據(jù)Web 程序的工作原理,Web程序多是B/S 模式,通過瀏覽器運行客戶端,瀏覽器首先向Web服務器發(fā)出請求,Web服務器對請求做出響應,將響應數(shù)據(jù)發(fā)送給客戶端瀏覽器,通常是一個HTML文件,然后通過瀏覽器把HTML文件信息顯示在屏幕上。Web應用可能會涉及的安全問題包括[1]:Web 平臺軟件的不安全性,拒絕服務攻擊,SQL注入,跨站腳本攻擊。
本文的網(wǎng)上銀行基于 J2EE平臺,涉及管理員操作界面和一般用戶的網(wǎng)頁客戶端,涉及用戶、銀行事務和銀行帳戶3個實體,為了使用戶能夠?qū)崿F(xiàn)安全的網(wǎng)上銀行操作,安全性設計必須滿足以下要求:用戶創(chuàng)建及權限分配由管理員登錄后臺進行,普通用戶通過身份驗證后登錄系統(tǒng)進行權限內(nèi)查詢、轉(zhuǎn)賬操作。系統(tǒng)采用4層結構:Web表示層對應網(wǎng)頁客戶端、數(shù)據(jù)存儲層對應數(shù)據(jù)庫、業(yè)務邏輯層用EJB實現(xiàn)、數(shù)據(jù)持久層用實體Bean實現(xiàn)。
2.1 EJB安全的實現(xiàn)
J2EE平臺中通過具體化訪問不同方法的角色來保證EJB的安全[2]。系統(tǒng)中定義了兩個角色:銀行管理員、普通用戶,定義了兩類操作:銀行管理員操作、普通用戶操作,這兩種操作沒有重復部分。
系統(tǒng)通過為用戶管理會話Bean、帳戶管理會話Bean、事務管理會話 Bean的方法設定權限來使不同用戶根據(jù)權限調(diào)用相應方法。如只允許銀行管理員調(diào)用帳戶管理會話Bean中的創(chuàng)建帳戶方法,不允許普通用戶或其他任何類型的用戶創(chuàng)建銀行帳戶,不同角色的使用及對角色的分組確保了客戶端被授權,又不增加額外的授權功能[3]。
EJB的安全性通常都從組件代碼中分離出來,通過配置的形式實現(xiàn)。有兩種方法:聲明式和編程式,一般情況下使用聲明式安全性,可以實現(xiàn)業(yè)務邏輯與具體安全策略的松耦合,使得用戶在修改安全性規(guī)則后,也不用修改EJB組件代碼,此時安全性角色并沒有硬編碼在EJB組件邏輯中,從而保證了代碼的簡潔性。由于 EJB規(guī)范提供的聲明式安全性設施還不夠完善,它并不支持實例級授權、基于條件的授權,因此當在Bean類需要為不同的角色提供相應的業(yè)務方法,為各個安全性角色創(chuàng)建單獨方法等安全性要求較為復雜的場合時,最好使用編程式來實現(xiàn)EJB安全[4]。本文采用聲明式實現(xiàn)EJB組件安全,具體步驟為:
首先聲明方法許可。在待保護的EJB業(yè)務方法聲明許可信息,EJB容器會根據(jù)這些方法許可信息,為 EJB組件生成安全檢查。以帳戶管理會話Bean為例,注釋聲明了EJB的安全策略,相關代碼如下:
接下來聲明安全性角色。即在部署描述中聲明 EJB組件使用的所有安全性角色,完成抽象安全性角色的定義,可借助部署描述符也可借助注釋來聲明。相關代碼如下:
由于 EJB組件開發(fā)部署時需要實際安全角色,因此最后需要將聲明的抽象安全角色映射到實際角色。相關代碼如下:
2.2 系統(tǒng)信息交換安全協(xié)議和傳輸加密
Web應用的信息通過網(wǎng)絡在服務器與客戶端之間交互,需要采用一個共同遵循的信息交換安全協(xié)議來保證系統(tǒng)信息傳輸?shù)目煽啃?、穩(wěn)定性、不可否認性,同時由于用戶通過瀏覽器登錄系統(tǒng)時密碼等信息以明文的方式在網(wǎng)絡上傳輸,很容易被攻擊者截獲,進而可以假冒用戶身份,身份認證機制就會被攻破,因此還要對在網(wǎng)絡上傳輸?shù)目蛻?ID和用戶密碼等信息的明文形式進行加密。本文采用 SOAP協(xié)議實現(xiàn)信息交換安全[5],SOAP簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息的簡單協(xié)議,是一個基于XML的協(xié)議;采用了RSA加密算法的一種變形 RSA_v1dot5來實現(xiàn)網(wǎng)上傳輸信息的加密[6],將明文信息傳送到網(wǎng)絡前先對其進行加密,經(jīng)網(wǎng)絡傳輸?shù)竭_目的地之后再對加密信息進行解密,將其轉(zhuǎn)換為可以識別的明文。信息交換安全協(xié)議和傳輸加密均采用XML部署描述文件實現(xiàn)。
使用SOAP協(xié)議實現(xiàn)信息交換安全的XML文檔關鍵代碼如下,其中指明了提供該協(xié)議的類、請求策略和響應策略等參數(shù):
程序?qū)φ埱蠛晚憫褂冒踩呗缘纳矸蒡炞C模塊。安全策略基于一組配置數(shù)據(jù):策略元數(shù)據(jù)和 DD,策略元數(shù)據(jù)指定在加密、簽名算法中所使用的密鑰相關信息,DD是基于Sun指定的部署描述配置數(shù)據(jù)。
配置 RSA加密算法的變形實現(xiàn)網(wǎng)上傳輸信息加密時,XML文檔中還包含了證書別名等一些參數(shù),涉及到兩種安全性需求:客戶希望傳入的消息以 X509令牌簽名;客戶簽名輸出請求,并要求添加經(jīng)過身份驗證的用戶Username令牌。該文檔基于XWSSSecurityConfigura-tion模式,關鍵代碼如下:
當前Web應用商務邏輯變化加快,業(yè)務邏輯要求更加多元化,安全性要求越來越高,對Web應用的開發(fā)提出了許多更高的要求。本文提出的Web應用安全機制實現(xiàn)方法:通過聲明式安全性實現(xiàn) EJB組件安全、通過SOAP協(xié)議實現(xiàn)信息交換安全、通過RSA加密算法的變形實現(xiàn)網(wǎng)上傳輸信息加密,在不借助第三方組件,如專用Web應用防火墻時也能較好地應對可能涉及的安全問題,降低了軟件的開發(fā)成本,可用于如金融系統(tǒng)等一些對安全性要求較高的場合,是一種高效、簡潔、易行的方法。
[1] 黃希. 淺談 WEB應用安全問題及防范[J]. 信息技術, 2015:277.
[2] 劉恒. EJB 性能改進與實踐[J]. 微計算機信息, 2006(09X).
[3] 全立新. 一種基于加密技術的 Web服務安全方法[J].制造業(yè)自動化, 2011(2):82-84.
[4] Rima Patel Sriganesh,Gerald Brose, Micah Silverman著,精通 EJB3.0[M].羅時飛,譯. 北京: 電子工業(yè)出版社,2006:274-284.
[5] 顏瑞江. 淺談Web Services技術的安全應用[J]. 信息科技, 2011(2):228.
[6] 符浩,陳靈科,郭鑫. 基于Web網(wǎng)絡安全和統(tǒng)一身份認證中的數(shù)據(jù)加密技術[J]. 軟件導刊.
圖5 包投遞率比較
從圖5可以看出,隨著節(jié)點運動速度的增加,網(wǎng)絡拓撲結構變化加快,算法的包投遞率都降低,而BD-ZRP算法在確定區(qū)域半徑時考慮了帶寬,減少了向不可用鏈路發(fā)送數(shù)據(jù)包的概率,提高了包投遞成功率。
本文在分析移動網(wǎng)絡特點的基礎上,依據(jù)帶寬和時延,動態(tài)調(diào)整ZRP半徑,適時改變路由結構,增強路由利用率,增加了節(jié)點的穩(wěn)定性,提高了包投遞成功率,盡可能減小時延,優(yōu)化了ZRP協(xié)議。但是節(jié)點周期查詢鄰節(jié)點的時間以及經(jīng)過多少個周期重新構置生成樹等細節(jié)信息仍需進一步的研究。
參考文獻
[1] Schulzrinne H, Casner S, Frederick R, et al. RTP: A Transport Protocol for Real-Time Applications[S]. RFC 3550, July 2003.
[2] 王力軍,田靜,洪濤,李健.智能建筑與無線網(wǎng)絡設計[J].價值工程,2012,5:151-152.
[3] 鄭四海.無線移動自組織網(wǎng)絡QoS路由協(xié)議研究[D].武漢:武漢理工大學,2012.
[4] A bolhasan M. A review of routing protocols formobile ad Hoc network s[C]. Ad Hoc Networks, 2004 (2) :1222.
[5] Ververidis C N,Polyzos G C.Service discovery for mobile adhoc networks:A survey of issues and techniques EJ[J].Communications Surveys & Tutorials,2008,10 (3):30—45.
[6] 李琳武穆清.ZRP區(qū)域路由協(xié)議分析[J].數(shù)字通信世界,2007(11):52-55.
[7] Haas Z J , Pearlman M R , Samar P. The Zone Routing Protocol(ZRP) for Ad Hoc Networks [EB/OL] . 2002. Draft-ietf-manet-zone-zrp-04. txt .
[8] Marw aha S, Tham C K, Srinivasan D. A novel routing protocol using mobile agents and reactive route discovery for ad Hoc wireless networks. Networks[C], 10th IEEE International Conference on ICON 2002, 2002: 311-316.
[9] 沈亮光,汪學明.移動Ad hoc 網(wǎng)絡ZRP路由協(xié)議的仿真分析[J].通信技術,2013,46(8):71-73.
[10] 王研.Ad-Hoc網(wǎng)絡中的路由協(xié)議研究[D].南京:南京大學,2013:26-28.
(收稿日期:2016.02.02)
Approach of Web Applications Security Based on J2EE Platform
Liu Weiwei
(Faculty of Informatics, Fujian Vocational College of Agriculture, Fuzhou 350001, China)
This paper used a E-bank application to research the security mechanism implementation of Web application based on the J2EE platform. It used file configuration to implement the security of business logic layer which developed by EJB elements, used SOAP protocol to ensure the security of system information interchange, and used the transformation of RSA algorithm to implement the encryption of the online information. This method could realize the Web application security better without the specific Web firewall, and could be used for reference.
Web Application; Security Mechanism; EJB; SOAP; RSA
TP183
A
1007-757X(2016)09-0077-03
2016.02.23)
劉瑋瑋(1982-),女,福安人,福建農(nóng)業(yè)職業(yè)技術學院,信息技術系,碩士研究生,講師,研究方向:網(wǎng)絡技術及應用研究,福州 350001