[摘要]數據庫安全越來越受到重視,大到數據庫備份,小到數據項加密,都離不開安全問題。數據庫的安全問題與計算機主機及網絡安全息息相關。而數據庫安全保護是指數據庫設計者時刻保護數據,防止未經授權的操作者對數據進行非法修改,本文試從數據加密要求和實現方式方面進行了論述。
[關鍵詞]數據庫 安全 加密
隨著計算機網絡的快速發展,各個企、事業單位及各組織機構等都逐漸開始大量使用各種信息系統并且通過開放的網絡來進行信息交換,這大大地提高了各類數據庫的利用率。目前主流網站后臺管理系統大多是依靠數據庫,隨著各種加密算法以及密文存儲形式的應用,數據庫的安全性將逐步提高,要想獲得一種能夠較好適應數據庫系統的加密方案,必須對系統的安全性進行全面分析。
一、數據庫系統的安全需求
數據庫安全是信息安全的一個子集,也是信息安全中最重要的部分之一。與信息安全的整體需求相似,數據庫系統的安全要求主要包括數據的保密性、可用性和完整性三個方面。
1.數據的保密性數據的保密性是指禁止任何沒有權限的用戶非法訪問數據。
2.數據的可用性 數據的可用性指任何授權用戶的正常操作必須接受,同時又能保證人機交互友好、系統高效正常運行。
3.數據的完整性 數據庫系統的完整性是指數據要具備正確性、一致性和相容性等特點。
二、數據庫加密的要求
數據庫加密的目的就是要確保數據庫的安全,但是加解密操作過程必然會影響操作的效率,一個好的加密系統就是要在安全性和效率之間取得一個平衡。即:穩定的數據庫加密系統必須滿足以下幾點要求:
1.加解密速度要求足夠快,這樣減少影響數據操作響應時間。
2.加密強度要足夠大,保證長時間而且大量數據不被破譯。但是在實際應用中加密算法不一定在理論上無法破解,但在實際應用中能保證破解的代價大于獲得其中數據的意義。
3.對數據庫的合法用戶來說加解密操作是透明的,它不會影響用戶的合理操作。用戶在明文數據庫系統中能夠進行更新、增加、刪除數據,在密文數據庫中也可以用相同的方法增加、更新和刪除數據,而且感覺不到加解密過程的存在。
4.對加密后的數據庫存儲量并沒有明顯的增加。
5.密鑰管理機制靈活,加解密密鑰存儲安全,使用方便可靠。
三、數據庫加密的粒度
數據庫加密的粒度可以分為文件級、表級、字段級、記錄級和數據元素級等五個層次。
文件級加密。把數據庫文件作為一個整體,對整個數據庫文件用加密算法和加密密鑰加密,形成密文的形式來確保數據的機密性。
2.表級加密。表級加密的對象是整個表格,與文件級加密類似,表級加密中每個表格與其他不同的表密鑰經過一定的加密算法運算后形成密文存儲。
3.字段級加密。字段加密又稱為域加密或屬性級加密,一般而言屬性的個數少于相應表格中的記錄數量,按字段加密需要保存的密鑰數相對較少。并且字段級加密是一種選擇性加密,并不是對所有數據都加密,而是選擇需要保密的字段加密,其余字段仍以明文形式存儲。
4.記錄級加密。所謂記錄級加密是指在數據庫中,每條記錄在相應密鑰的作用下,被加密成密文數據保存起來。在數據庫加密方法中記錄級加密技術是較為常見的加密方式。
四、數據庫加密的實現方式
數據庫加密的實現方式主要體現在在數據庫系統中執行加密的部件所處的位置和層次。按照數據庫系統與加密部件的不同關系,加密的實現方式可以大致分為兩類:庫內加密和庫外加密。
1.庫內加密。所謂庫內加密是指在DBMS內核層中實現加密過程,加/解密過程是透明的,數據完成加解密工作之后才在庫里進行存取操作。優點是在DBMS內完成加密功能,實現DBMS與加密功能的無縫銜接,因此加密功能強。
2.庫外加密。所謂庫外加密是指在DBMS之外進行加/解密操作,DBMS負責密文管理。一般在客戶端實現加/解密操作過程。與庫內加密相比,庫外加密有其自身的特點:首先,加解密過程是在專門的加解密服務器中實現。其次,加密的數據與加密密鑰分開存放。
庫外加密也有其缺點:如數據庫一旦加密某些功能可能會受限制,比如數據庫的數據完整性受到破壞。
3.加密算法的選擇。加密算法分為非對稱加密和對稱加密,對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。它的優越性就在這里,因為對稱式的加密方法如果是在網絡上傳輸加密文件就很難把密鑰告訴對方,不管用什么方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
在加密實施過程中,無論選擇什么加密算法都應當基于下述原則:
(1)算法的安全強度需滿足數據保密性的要求;
(2)與明文數據相比,密文數據量(存儲空間)經加密處理后不應過量增長;
(3)加解密足夠快,并且加解密時延應當是用戶可以接受的。
無論是基于對稱密鑰加密的算法,還是基于非對稱密鑰加密的算法,它們都達到了一個很高的強度,同時加密算法在理論上也已經相當的成熟,形成了一門獨立的學科,而從應用方式上,一般分成軟件加密和硬件加密。前者成本低而且實用靈活,更換也方便;而后者加密效率高,本身安全性高,在應用中,可以根據不同的需要來進行選擇。
參考文獻:
[1]李桂來,劉海濤.網絡數據庫安全的探討[J].中國現代教育裝備,2006
[2]鄭向軍.無線局域網安全技術探討.福建電腦,2009年第25卷第10期