吳乃鑫 李萍
摘要:數(shù)據(jù)庫的安全是評價一個數(shù)據(jù)庫的重要標(biāo)志,數(shù)據(jù)被非授權(quán)用戶入侵導(dǎo)致數(shù)據(jù)泄露或篡改會給該單位造成很大的損失,該文基于SQL SERVER 2005數(shù)據(jù)庫管理平臺對其安全性機制做了探討和研究,希望對數(shù)據(jù)庫管理員有所幫助。
關(guān)鍵詞:數(shù)據(jù)庫加密;安全;架構(gòu);角色;權(quán)限
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2012)15-3503-02
Research of Security Control Technology of SQL Server 2005
WU Nai-xin1,LI Ping2
(1.Digital Campus Center, Wuxi Institute of Technology, Wuxi 214121, China;2. School of Internet of Things Technology, Wuxi Insti tute of Technology, Wuxi 214121, China)
Abstract:Database security is an important symbol for evaluation of a database, Data from unauthorized users invading result in data leak age, or tampered with to give this unit a great loss, Based on SQL Server 2005 database management platform, its security mechanisms do the exploration and study, hoping to help the database administrator.
Key words:database encryption; security; schema; role; permission
1概述
如今數(shù)據(jù)庫產(chǎn)品使用范圍越來越廣泛,無論是在企業(yè)單位還是在事業(yè)單位政府機關(guān)中,一些重要的數(shù)據(jù)都存儲于數(shù)據(jù)庫中,這會產(chǎn)生一個很重要的問題,就是如何保證數(shù)據(jù)的安全,是大家共同關(guān)注的焦點。常用的數(shù)據(jù)庫引擎商用的如Oracle、DB2、SQL SERVER,開源的如My SQL等,他們都對各自產(chǎn)品提供了一整套的安全機制,本文以SQL SERVER 2005為探討對象,研究其安全機制及其實現(xiàn)方法。
2 SQL SERVER 2005安全體系結(jié)構(gòu)
SQL SERVER 2005安全體系結(jié)構(gòu)是建立在認(rèn)證和訪問許可機制上的,只有通過認(rèn)證的用戶才能登錄到數(shù)據(jù)庫,并獲取相關(guān)權(quán)限許可才能訪問相關(guān)數(shù)據(jù),我們知道SQL SERVER作為數(shù)據(jù)庫系統(tǒng)管理軟件,他是建立操作系統(tǒng)基礎(chǔ)之上的,所以SQL SERVER安全體系結(jié)構(gòu)可以劃分為4個等級[1]:1)客戶機操作系統(tǒng)的安全性;2)SQL Server的登錄安全性;3)數(shù)據(jù)庫的使用安全性;4)數(shù)據(jù)庫對象的使用安全性。
圖1 SQL SERVER的安全等級
1)客戶機操作系統(tǒng)的安全性:前面已經(jīng)敘述,SQL SERVER是建立在操作系統(tǒng)基礎(chǔ)之上的,用戶要使用訪問SQL SERVER服務(wù)器,首先要獲得SQLSERVER所在服務(wù)器的操作系統(tǒng)的認(rèn)證,然后才有可能訪問SQL SERVER管理軟件。
2)SQL Server的登錄安全性:SQL Server 2005服務(wù)器級的安全性建立在控制服務(wù)器登錄帳號和密碼的基礎(chǔ)上,通過驗證用戶的登陸帳號將建立與SQL Server服務(wù)器的連接。管理和設(shè)計合理的登錄帳號是SQL Server系統(tǒng)管理員的重要任務(wù)。SQL Server中的登錄賬號采用了標(biāo)準(zhǔn)SQL Server和集成Windows NT兩種驗證模式。
3)數(shù)據(jù)庫的使用安全性:用戶登陸SQL SERVER 2005服務(wù)器后,進入了SQL SERVER服務(wù)器的級別,但是還不能訪問服務(wù)器中的數(shù)據(jù)庫,要訪問數(shù)據(jù)庫必須具有數(shù)據(jù)庫的用戶名,在SQL SERVER 2005中,登陸名和數(shù)據(jù)庫用戶名通過映射來建立聯(lián)系,一般都會指定一個默認(rèn)的數(shù)據(jù)庫。
4)數(shù)據(jù)庫對象的使用安全性:在每個數(shù)據(jù)庫中有許多的數(shù)據(jù)庫對象(數(shù)據(jù)表、視圖、函數(shù)、存儲過程、觸發(fā)器等)。通過數(shù)據(jù)庫的安全性檢查,并不表示該用戶就能夠訪問數(shù)據(jù)庫中的所有數(shù)據(jù)庫對象。只有對數(shù)據(jù)庫用戶授予相應(yīng)的數(shù)據(jù)庫對象的訪問權(quán)限,這時才能進行操作??梢酝ㄟ^GRANT和REVOKE SQL語句授予和收回權(quán)限。
3 SQL SERVER 2005安全機制
3.1身份驗證機制
SQL SERVER 2005提供了兩種安全身份驗證模式:Windows身份驗證模式和混合身份模式。Windows身份驗證將Windows操作系統(tǒng)安全性的優(yōu)點運用到SQL SERVER平臺中去,混合身份驗證則是SQL SERVER 2005自行檢查帳號和密碼是否正確。
3.2數(shù)據(jù)庫加密機制
SQL Server 2005支持證書、非對稱密鑰和對稱密鑰算法,這樣做的好處,一是可以防止敏感數(shù)據(jù)被泄漏,二是可以防止數(shù)據(jù)被篡改。對稱密鑰支持RC4,RC2,3DES和AES算法,而非對稱密鑰使用RSA算法。證書其實就是非對稱密鑰中公鑰的容器。密鑰管理是安全中比較弱的部分。SQL Server 2005每一層都使用證書、非對稱密鑰和對稱密鑰的組合對它下面的一層進行加密,提高了密鑰安全性。出于性能考慮,一般不用加密強度大的非對稱密鑰或證書直接加密數(shù)據(jù),而是使用對稱密鑰加密數(shù)據(jù)獲得較快的性能,然后使用證書或非對稱密鑰加密對稱密鑰。
圖2 SQL Server2005的多級密碼機制
3.3數(shù)據(jù)庫對象安全認(rèn)證機制
3.3.1角色管理
在SQL SERVER 2005中,通過將權(quán)限賦予角色,再將用戶具有某種角色,從而用戶也具有某種權(quán)限。角色分成兩種類型,服務(wù)器角色和數(shù)據(jù)庫角色,服務(wù)器角色是服務(wù)器級別上的,數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別上的。
3.3.2架構(gòu)
在SQL SERVER 2005中引入了架構(gòu)的概念,微軟的官方說明[2]:“數(shù)據(jù)庫架構(gòu)是一個獨立于數(shù)據(jù)庫用戶的非重復(fù)命名空間,您可以將架構(gòu)視為對象的容器”,架構(gòu)就是數(shù)據(jù)庫對象的容器。架構(gòu)的引入可以提高權(quán)限設(shè)置的力度,使得對象訪問格式為:服務(wù)器名.數(shù)據(jù)庫名.架構(gòu)名.對象名,而非在SQL SERVER 2000中服務(wù)器名.數(shù)據(jù)庫名.用戶名.對象名,從而使之用戶和數(shù)據(jù)庫對象分離,提高了靈活性。在SQL SERVER 2005中,默認(rèn)的架構(gòu)為DBO.
3.3.3權(quán)限管理
權(quán)限是用來控制用戶訪問數(shù)據(jù)庫對象,對于一個用戶來講,可以直接分配到權(quán)限,也可以通過角色得到相應(yīng)的權(quán)限。在SQL SERVER 2005中,權(quán)限可以分為語句權(quán)限、對象權(quán)限和隱含權(quán)限3種。語句權(quán)限如create database、create default等等,對象權(quán)限如se lect、insert、update等等,隱含權(quán)限是指系統(tǒng)預(yù)定義的服務(wù)器角色、數(shù)據(jù)庫擁有者、數(shù)據(jù)庫對象所擁有的權(quán)限。隱含權(quán)限不能明確地賦予和撤消。
4小結(jié)
數(shù)據(jù)庫的安全性一直是數(shù)據(jù)庫技術(shù)非常重要的方面。SQL Server 2005作為微軟數(shù)據(jù)庫產(chǎn)品重要里程碑,其安全控制也非常的優(yōu)秀,本文從安全體系結(jié)構(gòu),各種安全機制分析了SQL SERVER 2005的安全管理機制。
參考文獻:
[1]吳青林,王焱. SQL Server 2005的安全控制研究[ J] .鄖陽師范高等專科學(xué)校學(xué)報, 2010,30(3) .
[2] http://technet.microsoft.com/zh-cn/library/ms190387.aspx.