0

谷歌CloudSQL documentation表示數據在傳輸和休息時被加密。我應該在加密CloudSQL數據庫中的數據嗎?

我在Django應用程序中使用pgcrypto來加密敏感信息。不過,我想知道是否有任何意義,因爲它已經在休息時加密了。我能想象的唯一事情就是一個事件,其中部署代碼的Google App Engine服務器被泄露並且數據庫的密碼以某種方式泄露 - 黑客在「讀取」它們時最終會訪問未加密的數據。但是,即使使用pgcrypto,如果GAE服務器遭到入侵,他們仍然可以運行代碼來提取未加密的數據。

我是否在推翻這個?我們的目標是爲最終用戶提供儘可能多的'障礙',以確保他們的數據保持完全安全。我有一種感覺,我並不是真的需要pgcrypto,而是尋找受過教育的回覆。

+0

我認爲你所描述的情況可能需要加密你的數據。在不瞭解應用程序的情況下,它可以讓用戶安心地知道即使你不能訪問他們的數據。 –

+0

的確如此,然而pgcrypto會給我對稱加密,這意味着我仍然能夠讀取和訪問數據(不是直接的,而是間接地通過運行我的代碼然後在運行中解密它 - 這適用於所有使用對稱的應用程序密鑰加密)。使用CloudSQL的內置加密技術,我當然可以使用任何SQL數據庫查看器以純文本形式讀取數據(但仍需要數據庫密碼)。我有一種感覺,pgcrypto會有其好處,不知道其他人做了什麼。 – strangetimes

回答

0

頗受教育的答案是:是的。

CloudSQL提供的基礎加密與OS X提供的FileVault類似 - 您的內容真正被加密,但如果您已登錄,則所有內容對您而言都是世界可讀的。

主要的擔心是,或者有人誰能夠妥協你的服務器,能夠讀取純文本數據。數據需要加密,而且我個人已經超越了大多數數據庫提供的默認AES 128位,並且使用初始化向量(每個加密內容都不同)轉換爲AES 256位。這將確保數據被加密,即使你自己也無法訪問和讀取。是的,您的代碼最終能夠解密,但存儲和保護解密密鑰完全是另一個話題。

相關問題