加密數據庫的安全性怎樣提高?

數據庫加密越來越常見,但與此同時還是有一些因缺乏加密而造成重要數據泄漏的情況。那么我們應該怎樣提高數據庫的安全性呢?

讓我們先來了解一下常見的Web應用程序框架。在一個典型的數據庫加密Web應用程序中,應用程序會直接將密鑰存儲在服務器的某個角落。這樣就被置于了逆向工程攻擊之列,并且還會造成一些操作性的安全問題。原因是因為沒有使用HSM。

加密數據庫的安全性怎樣提高?

什么是HSM呢?一個HSM本質上就是一個協同處理器。就計算機架構而言,HSM可能含有馮諾依曼機的所有組件——包括儲存、內存以及處理能力。計算機采用二進制算法和內存貯器后,指令和數據便可以一起存放在存貯器中,并可作同樣處理,這樣,不僅可以使計算機的結構大大簡化,而且為實現運算控制自動化和提高運算速度提供了良好的條件。

HSM致力于處理加密和保護加密進程,服務器內存不能訪問重要數據,用戶也無法看到明文密鑰,因此可以保證應用程序和加密數據中間存在一個可信任的路徑。這個時候你可能會想到還有可能被物理入侵呢,其實不用擔心,HSM擁有一個防干擾的密封圈,可阻止攻擊者的電子竊聽和無線電監(jiān)測。

HSM可以防止攻擊者從一個敏感數據庫中盜取信息。如果攻擊者獲得了應用服務器(儲存了明文密鑰)的訪問特權,密碼可以重新找回。無論密碼有多復雜,哪怕是被編譯、被打包或者被更改,它也能給逆向工程了。從安全工程的角度來看,這不是一種最佳的方式。

從操作安全的角度看,讓別人看到敏感、加密數據都是不明智的。其中包括終端用戶,還有開發(fā)團隊、系統(tǒng)管理員以及數據庫管理員。從系統(tǒng)角度看,你同樣不希望看到敏感數據從產品服務器傳播到工作服務器或開發(fā)服務器上。如果你的數據庫含有敏感數據,最好不要讓任何人訪問它。

因為HSM是由一個應用程序開發(fā)團隊部署,它是屬于程序安全領域,而不是基礎設施安全。硬件安全模塊能夠被應用程序用于建立一個安全、可靠的通路。應用程序必須使用HSM供應商提供的應用程序編程接口(API)建立專門執(zhí)行加密的操作。這些API包括常見的加密功能,如對稱算法、非對稱算法和解密操作,散列消息身份驗證代碼,密碼信息身份驗證代碼,RSA,數字簽名算法,Diffie-Hellman密鑰交換,隨機數生成,素數生成以及格式保存生成。HSM程序編程接口可以由特定的供應商提供,比如IBM發(fā)布的常見加密體系結構,或遵循公共標準,如PKCS 11。顯然,有人會需要做一些謹慎的購物來確保適當的功能可用。