技術交流

簡單又快速的加密方法!資料庫加密,個資不外洩

更新於

在資料存取的過程中,為了保護機敏資料不外洩,需要各個作業環節互相配合,缺一不可。但要如何找到簡單又安全的方法,管理存放於資料庫中的機敏資料呢?

程式加密容易有修改及維護困難的問題

傳統最常見的資料加密方法,是在程式中加密後,將加密結果存入資料庫;相對在讀取時,也是取得加密後的內容,在程式中解密。

對於新開發的系統,這是一個可行方案,但對於既有的系統來說,可能就不是那麼方便。因為在資訊系統發展的過程中,系統已經累積多年來的資料及程式,這些程式包含各種不同的語言,加上系統維護人員的更換,種種因素造成修改困難。

善用資料庫加密 不必修改程式就能做到資料保密

基於上述原因,我們希望找到一個方法,可以不用修改前端程式,又能達到資料保護的目的。這個方法就是讓資料的加解密,在資料庫內部進行,當合法的應用程式帳號存取時,可取得加解密的鍵值,透過加解密的鍵值可以看到解密完的結果;若是非指定的帳號,則無法取得加解密的鍵值。因此即使是 DBA(Database Administrator;資料庫管理師)有權存取資料庫,在非經允許下也看不到機敏資料,強化資料保護效果!

» 詳細文件加密方案

資料庫加密作業原則

  • 配合個資法施行,以最少的變動,將具有個資欄位加密。
  • 加密鍵值存放於加解密伺服器(CryptoServer + HSM),登入後存於系統中,兼具安全性與效能。
  • 應用程式可直接取得解密後的結果,無需自行加、解密。
  • 資料庫管理員,無法直接看到加密資料內容。

為了不修改前端程式,所以前端程式存取的資料表名稱維持不變,但將其改為 View,透過 View 對應的觸發程式,在存取過程中做資料加解密。對前端程式而言,其存取的對象與語法並無改變,因此可以用最低成本達到資料加解密的目的,若需要配合資料的輸出作資料遮罩,也可以在資料庫回傳資料時一併處理,前端程式只需直接顯示即可。

資料庫加密

透過資料庫中的加密與解密程序,可以無需改變既有程式,因此操作人員不需要熟悉前端程式的業務邏輯,也不用擔心程式修改後,還要將所有業務邏輯都重新測試,只需對資料庫中的資料做轉換,就可以達到機敏資料保護的目的。

資料庫加密操作簡單 也能避免資料存取效能降低

對於既有的資料,也可透過同樣原理,在資料庫內部將未加密的原始資料,轉換成加密的資料儲存,並透過資料比對指令,將轉換後的資料解密與轉換前的資料作比對,確保轉換前後的資料一致,此部份只需透過資料庫的指令就可以完成,無需額外撰寫程式。

另外,因為資料加、解密是在資料庫中進行,可減少因加解密所需要的網路傳輸,把對於資料存取效能的影響降至最低。所有含有機敏內容的資料表,皆可採用上述處理原則,輕鬆將現有資料完成加密作業。

資通電腦提供完善的政府專案服務,並透過資料庫加密作業保護機敏資料,提升專案執行效率及安全性!

閱讀更多