企業用戶在設計系統的時候往往總是首先考慮讓它們方便于用戶訪問信息,這樣容易導致的一個現象是:把太多注意力放到簡化訪問方面,而忽略了必須確保只有授權的用戶才能夠訪問資源。
不過現在企業都已經意識到,其業務價值不可避免地與其核心系統中的信息綁定在一起,信息從核心系統泄漏,就如同水可以從有孔的熱水器中泄漏一樣,很快,而且會大量流失……
因此,作為信息安全管理人員或者IT管理人員,必須想辦法保護公司珍貴的信息資源,但同時不能盲目地抑制訪問權限。IT人員經常都不得不在安全性和可用性之間尋找平衡,但通常還是沒有對哪些授權客戶應該看到哪些信息給予太多關注。事實上,在大多數企業組織中,大多數用戶(不管是授權還是沒有授權的)都可以看到比他們實際應該看到的多得多的信息。
那么,到底應該怎么保護公司敏感數據,確保只有授權的用戶可以訪問呢?解決方法看起來并不少。
加密數據庫
首先,在數據庫中挑選一些領域進行加密,如針對包含信用卡信息的數據進行加密。不可否認,這將會在某種程度上減慢數據庫的執行。但是同時我們也看到,現在一些先進的加密/解密技術正在變得越來越快速,服務器在多核處理器的充實下也在日漸強大,而今天的數據庫也能夠充分發揮這些多核服務器的性能優勢來應對這些任務。當然,少數CPU使用率在15%以下的服務器除外。
有了大量的處理器處理能力,也許有的人會認為有足夠的能力來加密整個數據庫了,其實我們還是不建議這么做,因為加密是會很快吞噬掉掉處理器所提供的那點富裕空間的,加密了的數據會耗費數據庫的很多空間,而且還需要大量的加密/解密工作來取出或存入數據。
當決定要對整個表格進行加密時,你需要考慮幾個因素。如果你加密整個數據庫,每個表格的加密鑰匙數量嚴格來說應該只有一個——除非是你跨表格使用密鑰,這就減少了必需管理的密鑰數量。別小看這一點,這是非常有吸引力的,因為根據你改變密鑰的頻率以及你需要保留數據的時間長度,你的密鑰庫也許會變得非常龐大。可不幸的是,重新使用密鑰也會降低整體安全性,給了攻擊者更多機會來獲得“金鑰匙”——它將會準許訪問數據庫甚至所有存儲數據中的所有信息。
當然,你也可以選擇僅對表格中某些欄的數據進行加密,而不是對整個表格進行加密。但是仍然沒有檢索具有加密欄的數據庫的尚方寶劍,你仍然需要索引密鑰一樣的東西。如果你選擇對表格中的欄進行加密,同樣每一欄都需要一個特定的密鑰,這顯然增強了安全性,但卻給密鑰管理帶來了更大的壓力。有些解決方案可以讓你使用加密的欄來作為索引,但是進行原始欄的解密來更新索引這個過程是令人痛苦的緩慢,并且當數據庫中的所有數據都被加密時,調試也會非常困難。
你還可以對每行的所有數據加密,但是付出的成本相對于回報來說是很不值的,舉個簡單的例子,如果攻擊者只能看到客戶的性別,那誰會在意呢?一些廠商已經編造出一些臨時解決方案,如在加密前對數據進行壓縮,但是檢索的數量會隨著系統使用的時間流逝而增加,那就意味者很有可能最終你還是需要一個基于某一個已經加密的欄的索引。從這點來說,我們所知道的所有臨時解決方案似乎也就沒有太大意義了。