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