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