Oralce在10G時發表了 TDE(Transparent Data Encryption) Column Encryption,他可以針對Table的特定欄位做加密,但這個作法對效能有一定的副作用,因為被加密的欄位若有Index,其值也同時被打亂,後續的存取因為值已經被打亂變成比較沒有效率. 儘快整個存取過程對開發人員是透明的,就是程式不用作另外處理,但因為效能問題,整個成效被大打折扣.
到了Oracle 11G, 一個新觀念被導進來,就是Encrypted Tablespace. 加密的對象變成整個Tablespace, 有效解決了Column level加密所造成的效能問題. 整個運作過程如下述:
- 當被加密的資料被選取時,Server Process一樣將資料搬到Buffer cache,然後回應給User Session. 資料在搬到Buffer cache之前就被解密. 所以資料在Buffer cache時已是解密狀態. 這時不管是Index range scan或Join等的動作,因為也運作在Buffer cahce,所以效能的問題就被解決.
- 後續當資料被寫回磁碟時,DB Writer會再將資料作加密的動作. 也包括 Log writer同樣也會做加密動作.
資料安全管理不易推動的原因多半不是因為沒有工具,而是工具本身有太多副作用不是對執行效能有影響就是造成管理或程式開發很多額外的工作. ORACLE 11G提供的這個新工具想必吸引很多CIO的目光,讓我們一起看看他未來的發展吧!
沒有留言:
張貼留言