攻擊者總是盯著企業的關鍵數據,企業將許多人力物力投入到保護數據及數據庫的方案中,例如加密系統。而市場上的加密方案各有特色。那麼,在選擇數據庫的加密方案時,企業需要考慮哪些問題呢?
1、性能:在我們決定加密數據時,需要考慮的一個最大問題是,其性能影響如何?而對這個問題的回答只能是“視方案而定”。在我們的經驗中,透明加密執行起來很好,它對數據庫的性能影響一般從5%到8%不等。本地數據庫對象加密對性能的影響可達到15%到20%。所以,企業必須根據自己的配置狀況和性能要求考慮好此問題。
2、操作:如果你要加密介質,最好能夠保證在需要時能夠及時從此介質恢復。這就要求你經常測試磁帶。同樣道理,如果你使用密鑰輪換來滿足監管要求,就應當試這個過程的操作過程和方式,並測試你的廠商如何處理生產環境中的新密鑰和老密鑰。你最好按照計劃來進行,而不要在懷疑某個加密密鑰遭受破壞後才去測試。
3、復雜程度:加密系統都很復雜。你必須考慮加密引擎在哪裡,它如何加密數據及加密哪些數據,哪些數據不加密,怎樣提供密鑰等等。作為一位數據庫管理員,你需要認識到這種復雜程度並保證自己完全理解加密系統如何工作,特別是在你要證實加密能夠正確地滿足合規要求時,這尤其重要。
加密的復雜性不僅體現在部署方面,還體現在實施階段。有人認為加密只不過是一個簡單的數學公式問題,甚至還有人說,“咱能自己搞定!”。此言差矣。許多很有才的安全專家都在建設自己的加密系統時栽了跟頭。不要去建立自己的安全加密系統。否則,輕則造成不安全,重則會丟失所有數據。所以,你應當采用一種經過檢查的可信的加密產品。
4、密鑰管理:你需要一個密鑰管理系統來保護密鑰。管理員不能將密鑰存儲到數據庫中,也不能將密鑰存放到磁盤上。企業應當將密鑰管理規劃到預算和操作計劃中。
事實上,加密所帶來的安全性與加密密鑰所提供的安全性是一樣的。雖然有不少報道宣稱黑客可以繞過加密,但一個設計和實施良好的加密算法實際上是不可能被破解的。正是由於這個原因,多數攻擊者並不嘗試破解加密算法。相反,他們想得到的是密鑰。
密鑰管理是一個簡單的概念:軟件服務或硬件服務生成並安全地管理加密密鑰。典型的服務可以存儲主鑰,由此生成所有的其它密鑰,生成新密鑰,廢棄老密鑰,並安全地存儲所有密鑰。這些服務還具備多種常見的管理功能,如身份驗證和授權;還可以提供責任分離功能,並可以審計日志的生成。
許多密鑰管理器都有圖形用戶界面來支持管理任務。你需要的是一個可以支持滿足自己密鑰需要的管理器,它應當易於管理並能夠與你的數據庫實現集成。
我們已經看到許多小型公司將密鑰存放到磁盤上,結果在有時在數據庫啟動時,密鑰不可用,因而無法成功地啟動數據庫。密鑰管理系統可以與數據庫集成到一起,因而可以從密鑰服務器協商取得密鑰,並可以在無需管理員干預的情況下自動運行。不過,要實現這些功能,你首先要設置用於將數據庫向密鑰服務器認證的證書,以及密鑰服務器到數據庫的認證。
數據庫廠商一般都提供密鑰管理器,雖然其質量有很大不同。這就需要你做好功課了。如果你不願意,就不必采用廠商提供的密鑰管理器,而是采用滿足你需求的第三方的密鑰管理產品。記住:密鑰管理無論對於安全還是操作都至關重要。絕對不可在此問題上掉以輕心