張 升
摘要:基于網(wǎng)絡(luò)的數(shù)據(jù)庫(kù)訪問(wèn)安全問(wèn)題,即數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)安全問(wèn)題成為研究熱點(diǎn)問(wèn)題。本文針對(duì)信息系統(tǒng)中基于廣域網(wǎng)的數(shù)據(jù)庫(kù)訪問(wèn)帶來(lái)的非法訪問(wèn)、黑客攻擊、數(shù)據(jù)的截取、篡改等安全問(wèn)題提供了建立一個(gè)安全代理系統(tǒng)代理對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)的思路,并對(duì)其中整個(gè)系統(tǒng)結(jié)構(gòu)進(jìn)行分析。
關(guān)鍵詞:數(shù)據(jù)庫(kù)安全代理系統(tǒng)結(jié)構(gòu)分析
0引言
隨著信息時(shí)代的到來(lái),各種信息爆炸式發(fā)展并積累著,這涉及到人們?nèi)粘I睢⑵笫聵I(yè)單位的管理、各種科研活動(dòng)以至國(guó)家的宏觀經(jīng)濟(jì)調(diào)控等等各個(gè)方面。采用計(jì)算機(jī)對(duì)各種信息作為數(shù)據(jù)進(jìn)行管理成為高效科學(xué)的手段,這也促進(jìn)了計(jì)算機(jī)數(shù)據(jù)庫(kù)的發(fā)展。目前,基于計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng)正得到越來(lái)越廣泛的應(yīng)用,計(jì)算機(jī)網(wǎng)絡(luò)的開(kāi)放性和信息的安全性之間的矛盾日益突出。基于網(wǎng)絡(luò)的數(shù)據(jù)庫(kù)訪問(wèn)安全問(wèn)題,即數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)安全問(wèn)題成為研究熱點(diǎn)問(wèn)題,本文針對(duì)信息系統(tǒng)中基于廣域網(wǎng)的數(shù)據(jù)庫(kù)訪問(wèn)帶來(lái)的非法訪問(wèn)、黑客攻擊、數(shù)據(jù)的截取、篡改等安全問(wèn)題提供了建立一個(gè)安全代理系統(tǒng)代理對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)的思路,并對(duì)其中整個(gè)系統(tǒng)結(jié)構(gòu)進(jìn)行分析。
1數(shù)據(jù)庫(kù)安全代理訪問(wèn)系統(tǒng)結(jié)構(gòu)
為了達(dá)到安全訪問(wèn)數(shù)據(jù)庫(kù)的目的,在傳統(tǒng)的數(shù)據(jù)庫(kù)訪問(wèn)方式中加入加密和認(rèn)證安全技術(shù)以及防火墻技術(shù)。形成新的數(shù)據(jù)庫(kù)訪問(wèn)結(jié)構(gòu)。而新加入的模塊以代理的形式在起作用。
1.1總體系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)安全訪問(wèn)代理用來(lái)提供用戶身份認(rèn)證和數(shù)據(jù)庫(kù)訪問(wèn)服務(wù)并提供了網(wǎng)絡(luò)傳輸加密服務(wù)。所有的客戶方的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求都通過(guò)數(shù)據(jù)庫(kù)安全訪問(wèn)代理進(jìn)行轉(zhuǎn)發(fā)。客戶方數(shù)據(jù)訪問(wèn)代理用于接收所有的客戶應(yīng)用數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求(包括數(shù)據(jù)庫(kù)客戶的連接建立和連接斷開(kāi)請(qǐng)求),并負(fù)責(zé)向數(shù)據(jù)庫(kù)客戶傳送數(shù)據(jù)庫(kù)訪問(wèn)的結(jié)果。數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求是按照協(xié)議格式化為數(shù)據(jù)報(bào)提供給數(shù)據(jù)加密,認(rèn)證客戶端,而數(shù)據(jù)庫(kù)訪問(wèn)結(jié)果是按照協(xié)議格式由數(shù)據(jù)加密/認(rèn)證客戶端提供。數(shù)據(jù)加密認(rèn)證客戶端完成客戶端的數(shù)據(jù)加密和認(rèn)證工作,同服務(wù)器端的數(shù)據(jù)加密,認(rèn)證服務(wù)器一起完成強(qiáng)大的數(shù)據(jù)加密功能保障數(shù)據(jù)安全。數(shù)據(jù)加密,認(rèn)證服務(wù)器接收通過(guò)廣域網(wǎng)f或者是局域網(wǎng))傳輸?shù)目蛻舳税l(fā)出的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求數(shù)據(jù)報(bào),這個(gè)請(qǐng)求是經(jīng)過(guò)數(shù)據(jù)加密,認(rèn)證客戶端加密的。解密后的數(shù)據(jù)傳遞給數(shù)據(jù)庫(kù)訪問(wèn)代理服務(wù)器。然后將數(shù)據(jù)庫(kù)訪問(wèn)代理服務(wù)器返回的結(jié)果加密通過(guò)網(wǎng)絡(luò)回送客戶端。
可以看到代理系統(tǒng)將廣域網(wǎng)包含在內(nèi)部。廣域網(wǎng)是數(shù)據(jù)庫(kù)訪問(wèn)中的最薄弱環(huán)節(jié),容易引起各種安全問(wèn)題。采用代理后廣域網(wǎng)中傳輸?shù)氖羌用芎蟮臄?shù)據(jù),配合認(rèn)證簽名技術(shù)可以保證數(shù)據(jù)不被竊取篡改,極大的提高了系統(tǒng)的數(shù)據(jù)安全性。數(shù)據(jù)庫(kù)訪問(wèn)代理服務(wù)器主要用于向數(shù)據(jù)庫(kù)服務(wù)器提出所代理客戶的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求,并負(fù)責(zé)接受應(yīng)答,執(zhí)行真正的數(shù)據(jù)庫(kù)操作。
1.2安全訪問(wèn)代理的中間件特點(diǎn)數(shù)據(jù)庫(kù)安全訪問(wèn)代理處在應(yīng)用和數(shù)據(jù)庫(kù)之間,起一個(gè)數(shù)據(jù)庫(kù)中間件的作用和結(jié)構(gòu)??梢栽诖硐到y(tǒng)中,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求進(jìn)行控制管理,配合數(shù)據(jù)庫(kù)的特點(diǎn),達(dá)到發(fā)揮最大數(shù)據(jù)庫(kù)性能的目的,例如建立數(shù)據(jù)庫(kù)連接池。這種模型完全克服了傳統(tǒng)的客戶,服務(wù)器模型的缺點(diǎn),具有可重用性、靈活性、可管理性、易維護(hù)性等一系列優(yōu)良的特性。遠(yuǎn)程過(guò)程調(diào)用中間件(開(kāi)PC,Remote Proeedure Call)在客戶,服務(wù)器計(jì)算方面,比數(shù)據(jù)庫(kù)中間件又邁進(jìn)了一步。即C的靈活特性使得它有比數(shù)據(jù)庫(kù)中間件更廣泛的應(yīng)用。它可以應(yīng)用在更復(fù)雜的客戶/服務(wù)器計(jì)算環(huán)境中。
1.3安全訪問(wèn)代理的代理作用之所以稱為代理是因?yàn)橄到y(tǒng)接收數(shù)據(jù)庫(kù)應(yīng)用的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求,把請(qǐng)求映射到代理系統(tǒng)對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn),而系統(tǒng)不對(duì)這些請(qǐng)求進(jìn)行過(guò)于復(fù)雜的處理。同其它代理系統(tǒng)一樣,這種代理具有能夠加入安全控制的特點(diǎn),同時(shí)代理系統(tǒng)對(duì)外接收數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求,而數(shù)據(jù)庫(kù)系統(tǒng)可以只接受代理的訪問(wèn)請(qǐng)求,起到隔離和安全保護(hù)作用。另一個(gè)重要特點(diǎn)是,可以加入到己經(jīng)開(kāi)發(fā)應(yīng)用的信息系統(tǒng)中,極大提高原有系統(tǒng)的安全性能而不需要重新開(kāi)發(fā)。
1.4安全訪問(wèn)代理的防火墻作用現(xiàn)在網(wǎng)絡(luò)的一個(gè)現(xiàn)狀是黑客的攻擊廣泛存在。攻擊后果可以是竊取信息、使系統(tǒng)癱瘓或者造成網(wǎng)絡(luò)堵塞。數(shù)據(jù)庫(kù)安全訪問(wèn)代理可以起應(yīng)用級(jí)網(wǎng)關(guān)類別的防火墻作用,代理服務(wù)器而不是數(shù)據(jù)庫(kù)暴露在廣域網(wǎng)中,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都是通過(guò)代理服務(wù)器來(lái)完成。代理服務(wù)器采用防火墻技術(shù)對(duì)抗黑客的各種攻擊,以及配合數(shù)據(jù)加密和身份認(rèn)證技術(shù),使系統(tǒng)達(dá)到極大的安全要求。數(shù)據(jù)庫(kù)和代理服務(wù)器處于一個(gè)局域網(wǎng)之中,不會(huì)受到廣域網(wǎng)用戶的訪問(wèn)或者攻擊,同時(shí)數(shù)據(jù)庫(kù)的原有安全措施在起作用。
1.5安全代理訪問(wèn)系統(tǒng)采用SSL加密認(rèn)證技術(shù)代理系統(tǒng)中的數(shù)據(jù)加密和身份認(rèn)證及簽名采用SSL技術(shù)來(lái)完成。代理系統(tǒng)中的數(shù)據(jù)加密和身份認(rèn)證及簽名采用SSL技術(shù)來(lái)完成。應(yīng)用程序通常使用IPC(Interporcess Communications Facilty)與不同層次的安全協(xié)議打交道,在不同傳輸層協(xié)議中工作。最流行的工PC界面是Bad-sockets和TLI。在Unix系統(tǒng)V命令里可以找到。在Intemet中提供安全服務(wù)的首先一個(gè)想法便是強(qiáng)化它的IPC界面,如BSD Sockets等,具體做法包括雙端實(shí)體的認(rèn)證,數(shù)據(jù)加密密鑰的交換等。
1.6安全代理訪問(wèn)系統(tǒng)形成多層結(jié)構(gòu)為了克服由于傳統(tǒng)客戶/服務(wù)器模型的這些缺陷給系統(tǒng)應(yīng)用帶來(lái)的影響,一種新的結(jié)構(gòu)出現(xiàn)了,這就是三層(N層)客戶,服務(wù)器模型。三層客戶,服務(wù)器結(jié)構(gòu)構(gòu)建了一種分割式的應(yīng)用程序。系統(tǒng)對(duì)應(yīng)用程序進(jìn)行分割后,劃分成不同的邏輯組件,主要分為三層:用戶服務(wù)層,業(yè)務(wù)處理層,數(shù)據(jù)服務(wù)層。系統(tǒng)中由于安全訪問(wèn)代理的加入而形成多層結(jié)構(gòu)。安全代理形成獨(dú)立的一層,與其它層通過(guò)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問(wèn)接口,這就提供了極大的靈活性,每一層的改變可以不影響其它層。這也很大程度上降低了數(shù)據(jù)安全訪問(wèn)代理的設(shè)計(jì)復(fù)雜性。
1.7安全代理訪問(wèn)系統(tǒng)采用ODBC技術(shù)ODBC之所以能夠操作眾多的數(shù)據(jù)庫(kù),是由于當(dāng)前絕大部分?jǐn)?shù)據(jù)庫(kù)全部或部分地遵從關(guān)系數(shù)據(jù)庫(kù)概念,ODBC看待這些數(shù)據(jù)庫(kù)時(shí)正是著眼了這些共同點(diǎn)。ODBC基本思想是提供獨(dú)立程序來(lái)提取數(shù)據(jù)信息,并具有向應(yīng)用程序輸入數(shù)據(jù)的方法。ODBC接口的優(yōu)勢(shì)之一為互操作性,程序設(shè)計(jì)員可以在不指定特定數(shù)據(jù)源情況下創(chuàng)建ODBC應(yīng)用程序。從應(yīng)用程序角度方面,為了使每個(gè)驅(qū)動(dòng)程序和數(shù)據(jù)源都支持相同的ODBC函數(shù)調(diào)用和SQL語(yǔ)句集,ODBC接口定義了一致性級(jí)別,即ODBCAPI一致性和ODBC SRL語(yǔ)法一致性。
1.8安全代理訪問(wèn)系統(tǒng)對(duì)于應(yīng)用的透明性對(duì)于應(yīng)用的透明性是指對(duì)應(yīng)數(shù)據(jù)庫(kù)應(yīng)用來(lái)說(shuō),采用或者不采用數(shù)據(jù)庫(kù)安全訪問(wèn)代理,對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn)方法沒(méi)有區(qū)別。技術(shù)的透明性可以達(dá)到一個(gè)向上繼承的作用,這也是很大的優(yōu)點(diǎn)。對(duì)應(yīng)用的透明性是通過(guò)采用標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)來(lái)達(dá)到的,數(shù)據(jù)庫(kù)應(yīng)用的每一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)操作經(jīng)過(guò)訪問(wèn)代理系統(tǒng)映射為同樣的數(shù)據(jù)庫(kù)訪問(wèn)實(shí)施于數(shù)據(jù)庫(kù),對(duì)AP工調(diào)用進(jìn)行一對(duì)一的映射,所以原來(lái)開(kāi)發(fā)系統(tǒng)不需要改動(dòng)。也為系統(tǒng)的方案設(shè)計(jì)提供了靈活性。
1.9安全代理訪問(wèn)系統(tǒng)中數(shù)據(jù)的壓縮傳輸數(shù)據(jù)庫(kù)安全訪問(wèn)代理中,數(shù)據(jù)的傳輸要通過(guò)工nternet來(lái)完成。帶寬相對(duì)于局域網(wǎng)來(lái)說(shuō)要窄的多,造成數(shù)據(jù)庫(kù)訪問(wèn)的瓶頸,影響速度。對(duì)于使用很廣泛的撥號(hào)上網(wǎng)方式來(lái)說(shuō),速度問(wèn)題更為重要。所以考慮采用數(shù)據(jù)壓縮傳輸。數(shù)據(jù)的壓縮是作為SSL的一部分存在的,采用的主要壓縮技術(shù)是Zlib。通常的壓縮比可以達(dá)到2:1—5:1。
2結(jié)語(yǔ)
通過(guò)廣域網(wǎng)的數(shù)據(jù)庫(kù)訪問(wèn),存在用戶的身份認(rèn)證、黑客的攻擊、數(shù)據(jù)的被竊取、篡改等安全問(wèn)題,以及廣域網(wǎng)帶寬窄造成的速度慢問(wèn)題。為信息系統(tǒng)的開(kāi)發(fā)應(yīng)用造成了困難。上述問(wèn)題可以通過(guò)數(shù)據(jù)庫(kù)安全訪問(wèn)代理解決。訪問(wèn)代理具有中間件的特點(diǎn)介于數(shù)據(jù)應(yīng)用和數(shù)據(jù)庫(kù)之間,形成了一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)的多層結(jié)構(gòu)。這些結(jié)構(gòu)特點(diǎn)使代理相對(duì)獨(dú)立,降低系統(tǒng)的復(fù)雜度。