便攜數據庫管理系統的網(wǎng)絡(luò )連接與安全
關(guān)鍵詞:掌上電腦 無(wú)線(xiàn)網(wǎng)絡(luò ) PocketDBA Web裁剪技術(shù) 加密 數據完整性 防火墻
引言
計算技術(shù)和無(wú)線(xiàn)通信技術(shù)的發(fā)展與結合使得一種全新的計算模式――移動(dòng)計算機模式成為現實(shí)。Internet為信息傳遞、數據交互提供了一種無(wú)處不在的便捷方法。移動(dòng)計算(mobile computing)是使人們能夠在任何時(shí)間和任何地點(diǎn)獲得所需信息的技術(shù)和設備的總稱(chēng)。未來(lái)的網(wǎng)絡(luò )將是一無(wú)線(xiàn)、有線(xiàn)與Internet三者合一的數字化地球,它將超越一切地理的障礙,使得信息無(wú)處不在,這必將為移動(dòng)計算提供更廣闊的空間。在移動(dòng)計算環(huán)境下,用戶(hù)使用便攜式計算機通過(guò)無(wú)線(xiàn)通信接口實(shí)現對信息網(wǎng)絡(luò )的訪(fǎng)問(wèn),而不受實(shí)際物理位置變化的影響。人們不再滿(mǎn)足于傳統的局限在有限空間里的信息存取方式,而希望將活動(dòng)的地點(diǎn)延伸到廣闊的地理區域,如家庭、野外、海域和島嶼。人們也不再滿(mǎn)足于固定的信息存取模式,而希望隨時(shí)隨地查詢(xún)數據,甚至在移動(dòng)的過(guò)程中處理數據,如在旅途中處理日常辦公事務(wù),在購物時(shí)隨時(shí)查詢(xún)商品行情等。
便攜數據庫管理系統(即PocketDBA)是第一個(gè)可以實(shí)現無(wú)線(xiàn)連接數據庫管理的工具。通過(guò)一個(gè)無(wú)線(xiàn)連接的掌上電腦,可以實(shí)現對Oracle數據庫的訪(fǎng)問(wèn)和管理。該工具不僅僅提供一個(gè)信息狀態(tài)的快照,而且提供大部分直接對數據庫服務(wù)器進(jìn)行操作的功能,讓用戶(hù)進(jìn)入數據庫招待幾乎所有的任務(wù);加上集成了友好的用戶(hù)界面和方便易用的圖表,幾乎是每一個(gè)數據據庫管理都需要的一種無(wú)線(xiàn)解決方案。
1 PocketDBA應用程序的組成
PocketDBA包括2個(gè)主要部分:①PocketDBA客房軟件。該軟件運行在一個(gè)無(wú)線(xiàn)連接的掌上電腦上,可以跟PocketDBA服務(wù)器進(jìn)行通信并且將處理的結果顯示給用戶(hù)。②PocketDBA服務(wù)器軟件(PSS)。該服務(wù)器應用程序運行在本地環(huán)境,跟本地數據庫通信。接收來(lái)自PocketDBA客房軟件的請求,并進(jìn)行處理,然后將結果返回。這個(gè)軟件是用Java語(yǔ)言寫(xiě)的,因此可以在不同操作系統平臺上使用。
2 掌上電腦的無(wú)線(xiàn)網(wǎng)絡(luò )連接
掌上電腦的無(wú)線(xiàn)網(wǎng)絡(luò )連接實(shí)現PocketDBA客房和服務(wù)器之間的通信。大多數掌上操作系統設備都使用一種叫Web裁剪的技術(shù)進(jìn)行數據的傳輸、接收和格式化顯示。Web裁剪程序非常類(lèi)似臺式機上的網(wǎng)絡(luò )瀏覽器。
圖1概要地說(shuō)明了如何用Web裁剪實(shí)現掌上電腦操作系統與一個(gè)裝有無(wú)線(xiàn)服務(wù)程序的服務(wù)器進(jìn)行無(wú)線(xiàn)通信。
(1)無(wú)線(xiàn)掌上設備
掌上電腦裝有類(lèi)似臺式機瀏覽器的網(wǎng)絡(luò )剪切客戶(hù)軟件,配有無(wú)線(xiàn)廣域網(wǎng)(WWAN)硬件。該硬件可以是一個(gè)內置或外置調制解調器,也可以是一條連接到數字蜂窩電話(huà)的補充電纜。通信過(guò)程的第1步是通過(guò)掌上電腦上的天線(xiàn)將通信請求傳送到運營(yíng)商的無(wú)線(xiàn)基站。
(2)運營(yíng)商無(wú)線(xiàn)基站
基站類(lèi)似廣播發(fā)射塔分布在世界各個(gè)地方?;镜乃袡鄬儆谶\營(yíng)商并由運營(yíng)商操作維護?;窘邮諢o(wú)線(xiàn)傳輸數據流,并將數據傳給一個(gè)無(wú)線(xiàn)代理服務(wù)器。由于每個(gè)基站覆蓋范圍有限,因此,基站的數目和位置決定了運營(yíng)的業(yè)務(wù)覆蓋區域。
(3)無(wú)線(xiàn)代理服務(wù)器
無(wú)線(xiàn)代理服務(wù)器是負責將無(wú)線(xiàn)請求轉變成Internet請求。無(wú)線(xiàn)代理服務(wù)器一般都放在無(wú)線(xiàn)服務(wù)供應商的數據處理中心。當手持設備傳送數據時(shí),無(wú)線(xiàn)代理服務(wù)器從基站接收信息,并轉換成可在Internet上傳輸的數據流,連接一個(gè)無(wú)線(xiàn)應用程序服務(wù)器來(lái)處理請求。
(4)無(wú)線(xiàn)應用程序就服務(wù)器
無(wú)線(xiàn)應用程序服務(wù)器接收無(wú)線(xiàn)代理服務(wù)器送來(lái)的請求并進(jìn)行處理。在很多方面,無(wú)線(xiàn)應用程序服務(wù)器都類(lèi)似一個(gè)網(wǎng)絡(luò )服務(wù)器,除了它的格式輸出更適合在掌上電腦上顯示。PocketDBA服務(wù)器軟件屬于無(wú)線(xiàn)程序服務(wù)器的一種,常常被安裝在公司的內部網(wǎng)絡(luò )中,能夠很容易地跟需要監控的數據庫通信。
(5)無(wú)線(xiàn)網(wǎng)絡(luò )連接舉例
以下例子中簡(jiǎn)化了掌上電腦與Internet之間的連接,細節請參閱圖1。
①單服務(wù)器網(wǎng)絡(luò )連接,如圖2所示。
這種網(wǎng)絡(luò )配置結構適合用戶(hù)在運行Oracle數據庫的機器上直接安裝運行PocketDBA服務(wù)器軟件。這種配置在主要限制是PSS軟件需要的操作系統是WindowsNT、Windows 2000、Solaris或Red Hat Linux。圖2中掌上電腦用HTTPS協(xié)議通過(guò)Internet將通信請求送到防火墻。身份驗證通過(guò)后,防火墻允許請求并送到PSS。PSS通過(guò)JDBC接口與TNS監聽(tīng)器聯(lián)系,TNS監聽(tīng)器與數據庫通信。
②多服務(wù)器網(wǎng)絡(luò )連接,如圖3所示。
當用戶(hù)同時(shí)運行多個(gè)數據庫服務(wù)器時(shí),可以采用圖3配置。PSS軟件安裝在裝有WindowsNT、Windows 2000、Solaris、Red Hat Linux的機器上。對于圖3最右邊的數據庫服務(wù)器,只要支持Oracle數據庫,服務(wù)器操作系統類(lèi)型沒(méi)有限制。圖3中掌上電腦用HTTPS協(xié)議通過(guò)Internet將通信請求送到防火墻。身份驗證通過(guò)后,防火墻允許請求并送到PSS。PSS通過(guò)JDBC接口與適當主機上的TNS監聽(tīng)器聯(lián)第,TNS監聽(tīng)器與數據庫通信。
③使用代理服務(wù)器的網(wǎng)絡(luò )連接,如圖4所示。
這種網(wǎng)絡(luò )配置結構適合已經(jīng)有了一個(gè)代理服務(wù)器,并且代理服務(wù)器上設置了身份驗證了用戶(hù)使用,此時(shí)PSS服務(wù)器上不需再設置身份驗證。圖4中掌上電腦用HTTPS協(xié)議通過(guò)Internet將通信請求送到防火墻。防火墻將請求送至代理服務(wù)器,經(jīng)代理服務(wù)器驗證通過(guò)后,通信請求將被送到PSS服務(wù)器。PSS通過(guò)JDBC接口與適當主機上的TNS監聽(tīng)器聯(lián)第,TNS監聽(tīng)器與數據庫通信。
3 PocketDBA安全設置
PocketDBA程序設計的目的是允許管理數據庫。由于數據庫經(jīng)常包含敏感的信息,所以安全是最重要的。為了最大限度地減少來(lái)自網(wǎng)絡(luò )上任何系統的安全威脅,需要采取一定的安全策略。
(1)機密性
加密用于PocketDBA應用程序在傳輸和接收數據時(shí),防止數據被竊聽(tīng)。
在不同設備上采用的加密方法如下:
①無(wú)線(xiàn)掌上設備。數據的加密用了數據加密標準擴展規則(DESX)。
②無(wú)線(xiàn)基站到代理服務(wù)器。從基站到代理服務(wù)器的通信時(shí),數據流加密用了1個(gè)128位強RSA加密規則,并用SSL協(xié)議進(jìn)行傳輸。
③代理服務(wù)器到PocketDBA服務(wù)器。代理服務(wù)器經(jīng)過(guò)Internet與PocketDBA服務(wù)器進(jìn)行通信時(shí),有安全和非安全2種模式。
安全模式――傳輸的數據流用了SSL和公司的身份驗證進(jìn)行加密,并用HTTPS協(xié)議發(fā)送。
非安全模式――傳輸的數據流不經(jīng)過(guò)加密,并用HTTP協(xié)議傳輸。這種方法不可取,因為在傳輸過(guò)程中用戶(hù)名、口令以及所有數據都可能被看到。
(2)數據完整性
數據完整性是防止傳輸過(guò)程中數據發(fā)生修改,無(wú)線(xiàn)傳輸數據流用以下方法來(lái)防止受到攻擊:
①信息完整性檢查(MIC);
②密碼鏈;
③時(shí)間/日期戳;
④信息序列號;
⑤服務(wù)器ID域。
(3)認證與許可
認證與許可保證只有合法用戶(hù)才能訪(fǎng)問(wèn)應用程序。擁有數據庫的登錄名和口令的用戶(hù)可以訪(fǎng)問(wèn)PocketDBA程序。數據庫中存在設定訪(fǎng)問(wèn)允許的機制,因此用戶(hù)被限制在經(jīng)過(guò)授權的范圍內進(jìn)行操作。
另外,用戶(hù)可以靈活設置的超時(shí)時(shí)限來(lái)定期地消除非激活狀態(tài)的會(huì )話(huà),這樣一來(lái)就大大降低了被盜的手持設備用來(lái)進(jìn)入系統的可能性。
為了讓PocketDBA應用程序接收到來(lái)自掌上電腦的通信請求,PocketDBA服務(wù)器必須有1個(gè)可以通過(guò)Internet進(jìn)行訪(fǎng)問(wèn)的完整有效的域名(一個(gè)靜態(tài)IP地址),并且能夠跟所有需要管理的數據庫進(jìn)行通信。
PocketDBA推薦使用防火墻來(lái)保護本地網(wǎng)絡(luò )給免受外來(lái)攻擊。通常情況下,防火墻可以拒絕與特定主機(計算機或網(wǎng)絡(luò ))所提供的特定服務(wù)(如HTTP、HTTPS、FTP等)的連接請求。用在PocketDBA上,防火墻需要加入允許從一個(gè)有著(zhù)嚴格限制的區域來(lái)的數據流能夠進(jìn)入。一條嚴格規則有時(shí)比喻成防火墻上的一個(gè)“針孔”。PocketDBA的針孔定義如下:
①服務(wù)――僅僅來(lái)自HTTPS協(xié)議;
②主機――僅僅來(lái)自無(wú)線(xiàn)Palm OS設備。
評論