2012-02-17 22 views
4

這裏的文件:http://www.postgresql.org/docs/8.2/static/encryption-options.html介紹了幾種方法來使用PostgreSQL時對數據進行加密。使用pgcrypto而不是分區級加密有一些安全優勢嗎?

我想知道是否有任何安全優勢,利用加密特定pgcrypto列,而不是簡單地加密對數據庫所在的整個分區。在我看來,pgcrypto使用起來很麻煩(而不是僅僅使用SQL查詢而不必擔心被加密的東西),所以應該有一個存在的理由。僅僅是人們可能沒有能力管理數據庫服務器(共享主機/等等),所以他們必須爲pgcrypto做點什麼,或者是否存在安全原因?

在我的特殊情況下,應用程序代碼和數據庫位於同一主機上,因此在服務器實時處於活動狀態時會導致數據泄露(可以在代碼中查找加密密鑰在一種情況下,或者簡單地從另一箇中的已安裝卷中檢索數據)。

編輯:我忘了提及,在這種特殊情況下,服務器使用的數據不是客戶端,即客戶端無法在運行時提供密鑰,它必須位於服務器上在應用程序代碼中。

回答

5
  • 您可以在不影響數據的前提下訪問DBA SQL級別。
  • 你可以有不同的數據
  • 備份(轉儲)加密
  • 如果客戶端提供了加密密鑰不同的加密密鑰,該服務器沒有如果你分開的被信任
  • 應用程序服務器中,加密密鑰可以位於應用程序服務器上。
  • 您只能加密部分數據。
  • 最後但並非最不重要:有超過單對稱密鑰加密,如非對稱加密,密碼散列cryto安全PRNG,密碼散列來pgcrypto。
+2

_「如果客戶端提供加密密鑰,服務器不必被信任」_不完全正確,因爲在使用pgcrypto時,密鑰對於數據庫服務器是SENT,因此在妥協如果數據庫服務器(但不是應用程序服務器)遭到入侵。 隨着網頁鏈接,他指出:_「解密數據和解密密鑰是存在於服務器上......這就出現了一個短暫的瞬間,其中**數據和密鑰可以通過某人數據庫服務器的完全訪問權限被截獲**,如系統管理員。「_ – 2013-11-30 05:37:32

相關問題