• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WEB數(shù)據(jù)庫安全的訪問技術(shù)

      2009-05-29 04:32:18
      網(wǎng)絡(luò)與信息 2009年5期

      白 斌

      摘要:為了增強WEB數(shù)據(jù)庫的安全,本文主要介紹了通過QDBC安全訪問接口的設(shè)計與實現(xiàn),在基于關(guān)系數(shù)據(jù)庫的安全增強器中對標準ODBC訪問接口做了擴充。

      關(guān)鍵詞:WEB數(shù)據(jù)庫;ODBC;安全增強器

      1引言

      在網(wǎng)絡(luò)發(fā)展的早期。由于用戶對安全還不是很重視,原來數(shù)據(jù)庫的結(jié)構(gòu)是客戶機ODBC-數(shù)據(jù)庫服務(wù)器3層體系結(jié)構(gòu)。隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)庫安全越來越重要,為了提升網(wǎng)絡(luò)數(shù)據(jù)庫的安全,本文提出從客戶機 -ODBC一安全增強器一數(shù)據(jù)庫服務(wù)器這樣的一個4層結(jié)構(gòu)。使得所有使用ODBC訪問接口的應(yīng)用系統(tǒng)對數(shù)據(jù)庫的訪問操作都將首先被提交給安全增強器接受安全檢查,只有檢查通過后才能訪問后臺的RDBMS??紤]到目前在國內(nèi)流行的RDBMS如Oracle等都僅只有C2級的安全,在安全增強系統(tǒng)中實現(xiàn)的安全模塊只需提供強制訪問控制(MAC)和B1級所要求的擴充審計功能,就可以將原來只具有C2級安全的數(shù)據(jù)庫管理系統(tǒng)的安全性能增強到B1級,從而可以滿足對數(shù)據(jù)安全要求較高領(lǐng)域的應(yīng)用需要。由于對安全模塊的操作需要有一個擴充的數(shù)據(jù)安全子語言,而標準的ODBC并不具備處理該語言的能力,因此需要對ODBC所使用的SOL語言進行適當?shù)臄U充,以增加對安全操作命令的處理能力。

      2WEB數(shù)據(jù)庫安全性的內(nèi)容

      WEB數(shù)據(jù)庫的安全性包括:機密性、完整性和可用性,數(shù)據(jù)庫在3個層次上的異構(gòu),客戶機、服務(wù)器通過開放的網(wǎng)絡(luò)環(huán)境,跨不同硬件和軟件平臺通信,數(shù)據(jù)庫安全問題在異構(gòu)環(huán)境下變得更加復(fù)雜。而且異構(gòu)環(huán)境的系統(tǒng)具有可擴展性。能管理分布或聯(lián)邦數(shù)據(jù)庫環(huán)境,每個節(jié)點服務(wù)器還能自治實行集中式安全管理和訪問控制,對自己創(chuàng)建的用戶、規(guī)則、客體進行安全管理。如:由DBA或安全管理員執(zhí)行本部門、本地區(qū)或整體的安全策略,授權(quán)特定的管理員管理各組應(yīng)用程序、用戶、規(guī)則和數(shù)據(jù)庫。因此訪問控制和安全管理尤為重要a異構(gòu)環(huán)境的數(shù)據(jù)庫安全策略有:全局范圍的身份驗證;全局的訪問控制,以支持各類局部訪問控制(自主和強制訪問控制):全局完整性控制;網(wǎng)絡(luò)安全管理,包括網(wǎng)絡(luò)信息加密、網(wǎng)絡(luò)入侵防護和檢測等。

      3WEB數(shù)據(jù)庫的安全增強器基本原理

      在當前,數(shù)據(jù)庫應(yīng)用系統(tǒng)和關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)之間的交互—般都是采用典型的客戶機,服務(wù)器(C/S)結(jié)構(gòu),通過ODBC(Open Database Connectivity)來進行的。其中應(yīng)用系統(tǒng)和ODBC驅(qū)動程序管理器放在客戶機上,提出對數(shù)據(jù)庫訪問的請求,而RDBMS放在后臺服務(wù)器上,提供服務(wù),ODBC通過網(wǎng)絡(luò)傳輸負責(zé)這兩者之間的訪問命令和結(jié)果數(shù)據(jù)的交互。由此看出,如果能夠截獲應(yīng)用系統(tǒng)通過ODBC發(fā)送到數(shù)據(jù)庫服務(wù)器的訪問命令,就可以在ODBC和第三方的RDBMS之間加入我們提供的安全模塊,以達到增強數(shù)據(jù)庫系統(tǒng)的安全功能的目的。目前的數(shù)據(jù)庫系統(tǒng)具有3種標準形式的網(wǎng)絡(luò)訪問接口:ODBC接口、JDBC接口和專用接口,而目前大部分應(yīng)用程序約90%以上均使用ODBC接口來連接后臺數(shù)據(jù)庫。

      基于上述設(shè)計思想,一個通用RDBMS的安全增強器主要由3部分內(nèi)容組成:

      (1)ODBG接口:該接口是連接客戶端軟件與后臺RDBMS的標準接口,通過網(wǎng)絡(luò)傳輸負責(zé)維護這兩者之間命令和數(shù)據(jù)的交互。

      (2)安全模塊:該模塊實現(xiàn)強制訪問控制檢查及安全審計功能,ODBC將客戶端應(yīng)用的SQL訪問請求傳送到服務(wù)器端后,由安全模塊負責(zé)對SQL語句執(zhí)行安全檢查,只有在主體和客體的安全級別符合規(guī)定的訪問要求后才能進入RDBMS進行相應(yīng)操作。同時安全模塊還將負責(zé)此次訪問的安全審計工作。

      (3)與RDBMS的接口模塊:該模塊負責(zé)將經(jīng)過安全檢查的SQL語句轉(zhuǎn)換成RDBMS的標準語句并進入數(shù)據(jù)庫進行相應(yīng)的訪問操作。為了確保應(yīng)用系統(tǒng)-ODBC-安全模塊一數(shù)據(jù)庫服務(wù)器訪問通道的封閉,與RDBMS的接口模塊采用的是后臺數(shù)據(jù)庫的非網(wǎng)絡(luò)訪問接口,并封閉其原有的網(wǎng)絡(luò)訪問接口。

      4ODBC的結(jié)構(gòu)及主要內(nèi)容

      ODBC的4個組成部分:應(yīng)用程序、驅(qū)動程序管理器、驅(qū)動程序、數(shù)據(jù)源以及每部分的功能。ODBC驅(qū)動程序是Microsoft推出的訪問數(shù)據(jù)庫的統(tǒng)一接口。這個接口提供了最大限度的互操作性,每一種對應(yīng)某種DBMS的拓撲結(jié)構(gòu),它們分別是一級驅(qū)動器、二級驅(qū)動器、三級及多級驅(qū)動器。一級驅(qū)動器可以說是一種單機結(jié)構(gòu),數(shù)據(jù)庫和驅(qū)動器放在同一臺機器中,其程序設(shè)計接口由文件I/O構(gòu)成,如Access、Foxpro、dBase等。二級驅(qū)動器就是目前流行的客戶/服務(wù)器系統(tǒng),如Oracle、Sybase、SQL Serve等。三級驅(qū)動器就是在二級驅(qū)動器的客戶和服務(wù)器之間增加一個網(wǎng)關(guān)服務(wù)器,而這個網(wǎng)關(guān)服務(wù)器可以與多個DBMS相連,而網(wǎng)關(guān)服務(wù)器將用戶的請求加載適當?shù)腛DBC驅(qū)動器后發(fā)送到相應(yīng)的數(shù)據(jù)庫服務(wù)器上??紤]到目前的需要,在基于RDBMS的安全增強器中,ODBC的實現(xiàn)采用二級驅(qū)動器方式。

      在基于RDBMS的安全增強器中,為了保證整個數(shù)據(jù)庫系統(tǒng)的安全性,要求安全模塊本身就構(gòu)成一個安全子系統(tǒng),即安全模塊的操作命令也必須受到強制訪問控制的檢查和進行安全審計。這就要求OD8C能夠處理數(shù)據(jù)安全子語言的訪問命令,但是在ODBC的標準規(guī)范中。只有對標準SQL語句的操作,并沒有包含任何有關(guān)B1級安全的命令函數(shù),因此必須在ODBC許可的范圍內(nèi)對ODBC進行適當?shù)臄U展,以增加對數(shù)據(jù)安全子語言的處理能力。使得任何對安全模塊的操作命令都必須經(jīng)由ODBC發(fā)送到安全模塊,以達到增強系統(tǒng)安全的目的。

      為提供對安全模塊的操作與管理,對標準ODBCSOL語言的語法成分進行了如下擴充:

      (1)層次等級的創(chuàng)建與刪除;

      (2)范疇的創(chuàng)建與刪除;

      (3)客體的標識、修改、刪除;

      (4)代理的標識、修改,刪除;

      (5)主體的標識、修改、刪除;

      (6)特權(quán)的授予與回收;

      (7)MAC的啟動與關(guān)閉;

      (8)安全信息瀏覽;

      (9)設(shè)置安全管理員口令;

      (10)審計的啟動與關(guān)閉;

      (11)安全審計選項的設(shè)置與撤消;

      (12)審計報警的打開與關(guān)閉;

      (13)審計信息的瀏覽與刪除;

      (14)設(shè)置審計員口令。

      5ODBC的設(shè)計與實現(xiàn)

      基于RDBMS的安全增強系統(tǒng)中的ODBC的實現(xiàn)采用目前比較常用的Cllent/Server體系結(jié)構(gòu),主要包括客戶端和服務(wù)器端的實現(xiàn)。從ODBC要實現(xiàn)的函數(shù)的內(nèi)容來看。不僅包括常見的數(shù)據(jù)定義和數(shù)據(jù)操縱命令,還包括安全操作命令和數(shù)據(jù)字典

      訪問命令,在數(shù)據(jù)庫服務(wù)器端需要調(diào)用不同的數(shù)據(jù)庫訪問函數(shù)。

      5.1客戶端的設(shè)計與實現(xiàn)

      客戶端主要是根據(jù)ODBC V3.0的規(guī)范來提供一個標準統(tǒng)一的用戶接口,使得具體的實現(xiàn)對用戶來說是透明的。在客戶端主要包括3個句柄:

      (1)環(huán)境句柄HENV:為全程信息標識內(nèi)存存儲。包括有效鏈接句柄和當前活動連接句柄并維護有關(guān)環(huán)境的錯誤集:

      (2)鏈接句柄HDBC:為特定鏈接的信息標識內(nèi)存存儲,每個鏈接句柄與環(huán)境句柄有關(guān)。存放本次鏈接的必要信息,包括網(wǎng)絡(luò)連接的信息和維護有關(guān)連接的錯誤集:

      (3)語句句柄HSTMT:為SQL語句信息標識內(nèi)存存儲。用于存放每次操作的相美信息,以及返回的結(jié)果集和有關(guān)語句的錯誤集。一個語句句柄必須與一個連接句柄相連,但一個連接句柄上可以有多個語句句柄??蛻舳司褪峭ㄟ^這3個訇柄來維護用戶的訪問信息的。

      5.2服務(wù)器端的設(shè)計與實現(xiàn)

      在網(wǎng)絡(luò)環(huán)境下,用戶對數(shù)據(jù)庫的訪問量可能高于在單機環(huán)境下訪問的幾個數(shù)量級。而且在同一時刻會有多個用戶對數(shù)據(jù)庫進行訪問,這就要求服務(wù)器端能夠并發(fā)地處理用戶的訪問請求。在接口的具體實現(xiàn)中,我們借助于操作系統(tǒng)的多任務(wù)多線程的特性,以實現(xiàn)多用戶的數(shù)據(jù)庫并發(fā)訪問操作。在數(shù)據(jù)庫服務(wù)器啟動后將首先產(chǎn)生一個主線程,通過它再創(chuàng)建其他的服務(wù)線程。服務(wù)器端在接收到一次連接請求后都派生出一個線程來處理這次連接中的所有操作。而數(shù)據(jù)庫內(nèi)部的并發(fā)控制由后臺的RDBMS來負責(zé)維護。線程產(chǎn)生后,就開始監(jiān)聽網(wǎng)絡(luò),當它從網(wǎng)絡(luò)上接收到請求時,首先進入語法分析模塊,對于MAC管理語句和審計管理語句,將分別進入MAC管理模塊和審計管理模塊;對于SQL請求,則進入安全模塊進行安全檢查,如果安全檢查不能通過,則進行相應(yīng)的處理并返回錯誤,否則將調(diào)用RDBMS的API函數(shù)進行處理,并將執(zhí)行的結(jié)果發(fā)回客戶端。在同一時間內(nèi)。服務(wù)器端可以派生出多個線程進行并發(fā)操作。

      6ODBC在安全增強系統(tǒng)中的應(yīng)用

      利用上述ODBC研究成果。我們實現(xiàn)了一個基于Oracle數(shù)據(jù)庫系統(tǒng)的安全增強系統(tǒng),并利用該安全增強系統(tǒng)對我們自主實現(xiàn)的ODBC訪問接口進行了功能測試和性能測試。

      整個測試采用1999年江蘇省的網(wǎng)上招生系統(tǒng),該系統(tǒng)共定義了基表38個、視圖30個、存儲過程10個,測試數(shù)據(jù)量總共在40萬條記錄左右。在對ODBC的功能測試中一共選取了85個例子,分為兩個部分:一是按照QDBC的標準對ODBC函數(shù)進行測試(70個例子);二是進行應(yīng)用綜合測試(15個例子)。測試用例共使用了61個ODBC函數(shù),對所有ODBC v3.0調(diào)用函數(shù)都進行了測試,測試結(jié)果表明系統(tǒng)功能完全符合ODBCV3.0的要求。

      我們利用Oracle數(shù)據(jù)庫及其專用的ODBC訪問接口進行了性能對比測試。首先利用Oracle數(shù)據(jù)庫的專用ODBC訪問接口直接訪問Qracle數(shù)據(jù)庫,然后再使用我們實現(xiàn)的ODBC接口通過安全增強系統(tǒng)訪問O-racle數(shù)據(jù)庫,記錄在每次運行過程中,從應(yīng)用程序發(fā)出一條SQL訪問命令開始,一直到獲取該次訪問的執(zhí)行結(jié)果所需的執(zhí)行時間。在測試過程中共選取了15個應(yīng)用例子,每個例子執(zhí)行3次。經(jīng)過測試使用安全增強器時整個系統(tǒng)的效率僅下降5%左右。

      7小結(jié)

      本文通過擴展ODBC所采用的標準SQL語法成分的方法,使得該ODBC實現(xiàn)系統(tǒng)可以支持對數(shù)據(jù)安全子語言命令的處理,從而使得由ODBC、安全模塊、RDBMS接口模塊和后臺RDBMS可以構(gòu)成一個安全的數(shù)據(jù)庫系統(tǒng)。但是ODBC僅是關(guān)系數(shù)據(jù)庫系統(tǒng)在客戶/服務(wù)器方式下的一個網(wǎng)絡(luò)訪問接口,無法實現(xiàn)在Internet環(huán)境中應(yīng)用程序?qū)?shù)據(jù)庫服務(wù)器的直接訪問操作,因此盡快實現(xiàn)一個具有自主知識產(chǎn)權(quán)的JDBC數(shù)據(jù)庫訪問接口,并實現(xiàn)對上述數(shù)據(jù)安全子語言的支持,以構(gòu)建一個Internet環(huán)境中的安全數(shù)據(jù)庫系統(tǒng)將是我們今后進一步的研究工作。

      嘉鱼县| 清苑县| 平湖市| 涞水县| 南开区| 当涂县| 许昌县| 石景山区| 阳曲县| 双城市| 内丘县| 吉木萨尔县| 西林县| 都江堰市| 准格尔旗| 武义县| 东宁县| 弥勒县| 金华市| 屏东市| 突泉县| 嘉祥县| 广宁县| 无为县| 中卫市| 龙门县| 西华县| 大名县| 仪征市| 平邑县| 金秀| 绥江县| 竹溪县| 丹阳市| 砚山县| 察隅县| 丰都县| 镇坪县| 大埔区| 永城市| 进贤县|