4
這裏的文件:http://www.postgresql.org/docs/8.2/static/encryption-options.html介紹了幾種方法來使用PostgreSQL時對數據進行加密。使用pgcrypto而不是分區級加密有一些安全優勢嗎?
我想知道是否有任何安全優勢,利用加密特定pgcrypto列,而不是簡單地加密對數據庫所在的整個分區。在我看來,pgcrypto使用起來很麻煩(而不是僅僅使用SQL查詢而不必擔心被加密的東西),所以應該有一個存在的理由。僅僅是人們可能沒有能力管理數據庫服務器(共享主機/等等),所以他們必須爲pgcrypto做點什麼,或者是否存在安全原因?
在我的特殊情況下,應用程序代碼和數據庫位於同一主機上,因此在服務器實時處於活動狀態時會導致數據泄露(可以在代碼中查找加密密鑰在一種情況下,或者簡單地從另一箇中的已安裝卷中檢索數據)。
編輯:我忘了提及,在這種特殊情況下,服務器使用的數據不是客戶端,即客戶端無法在運行時提供密鑰,它必須位於服務器上在應用程序代碼中。
_「如果客戶端提供加密密鑰,服務器不必被信任」_不完全正確,因爲在使用pgcrypto時,密鑰對於數據庫服務器是SENT,因此在妥協如果數據庫服務器(但不是應用程序服務器)遭到入侵。 隨着網頁鏈接,他指出:_「解密數據和解密密鑰是存在於服務器上......這就出現了一個短暫的瞬間,其中**數據和密鑰可以通過某人數據庫服務器的完全訪問權限被截獲**,如系統管理員。「_ – 2013-11-30 05:37:32