技術交流

5大面向教你如何選擇資料庫加密系統

孫介人 孫介人

資料庫的保護似乎一直是個棘手的問題,因為並非 IT、安控、稽核人員都有資料庫管理經驗,由 DBA 或程式開發人員來想辦法,似乎也有公正性上的爭議。加上這幾年個資法上路,企業為求自保或防止機密資料竊取的攻擊,紛紛計畫積極投入資料保護的建置。因應各企業資料特性的差異,無法以一概全,歸納幾個面向需要思考的:

加密範圍/效能

Storage Encrypt:地毯式的全面加密,資料完全加密,此方式適用於如設計圖、記錄檔案、機密文件,這些檔案加密歸檔後並不會經常需要解密使用。

Column Encrypt:至於資料庫的加密,在毫無頭緒的情況下,一般都認為所有欄位、 Table 都如上述的 Storage Encrypt 全面加密最簡單,但這樣加密的資料量非常大,而資料庫通常是伺服諸多應用系統,這些應用系統對資料庫頻繁的存取同時也伴隨著頻繁的加解密,對效能的影響不容小覷。因此,適當的規劃指的是將資料分級,只加密重要的欄位,將效能影響降到最低。

儘管加密整個資料庫具有簡單實作的優勢。企業中的資料庫一般都是龐大且天天都在成長的。而 Storage Encrypt 需要加密運算式在每一次的資料存取時運作,對於小的資料庫還可忍受。但是對於大企業的大資料庫來說,管理這些因為加密所帶來的負擔是無法接受的。

Column Encrypt 只對特定被認為是機密的欄位加密。例如個資機敏資料,如果要存取的資料並非機密的,就無需進行加/解密動作,如此就不會影響到資料庫本身的效能。但 Column Encrypt 在實作上的確是會遇到許多挑戰。

善用遮罩顯示

遮罩其實也可視為加密的一種,重點是機敏資料在顯示時,只做部分解密,因此無法一窺全貌,當然就降低因資料外洩而衍生的訴訟問題。

經常會遇到企業處心積慮將資料庫加密保護得密不透風,以為因此高枕無憂,孰知在夜深人靜的日終批次作業後,成箱被列印出的報表裏頭,個資機敏資料玲瑯滿目,而這些實體報表的資安保全甚至比電子資料要艱難。

加密的方法

加密的方法大體來分有非對稱式及對稱式;非對稱式的加密方式固然機密等級較高,但複雜的邏輯卻要付出時間及效能的代價。非對稱式加密其重點是免除金鑰交換的風險,若以資料庫加密而言,加、解密都在同一個地方,並沒有交換金鑰的需求,所以採取對稱式加密已具足夠的安全防護,實在不需要追逐非對稱式加密的高規格而拖累效能。反觀,若有資料交換需求時,為免除傳遞過程資料被攔截竊取,勢必得加密傳遞,而金鑰的傳遞又是另一則風險,故而非對稱式加密不需傳遞金鑰正好解決此一風險。

稽核

DBA 往往很難列舉出存取資料庫的人、事、時、地、物等舉證所需的關鍵資料,將存取資料庫的行為進行監控、側錄,記錄資料庫存取使用行為便是稽核類產品的重要任務之一,而資料的分析、篩選搜尋及報表的產製,這些都是有助於事後稽查的基本功能。其他如資料庫弱點掃描、資料庫資產清點、行為比對、警告功能等等則有助於事前及事中的防範,若還能加入線上更新機制的話,則可以加強有效性及準確性。

一般往往會將稽核產品當成資料庫專屬的 Log Server,全都錄似乎可以一勞永逸,卻忽略了儲存空間及事件查詢效率等後續問題,建置初期若能對資料庫進行機敏資料的清查並就重點來記錄,將可更有效率的使用,節省儲存成本並大幅節省事件搜尋與追查的時間。

金鑰管理

大部分的加密系統都使用集中的金鑰管理,所有資料都在同一個地方加/解密。在比較先進的欄位級加密系統中,金鑰永遠存在安全的硬體系統中,而資料只有在需要加/解密時才會被送到這裡。這使得安全管理人員可以設計出更好的金鑰政策,創造出真實的安全界線,使跟安全資料無關的交易可以獨立執行。這也使企業可以將責任劃分的更確實。