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位。这将确保数据被加密,即使你自己也无法访问和读取。是的,您的代码最终能够解密,但存储和保护解密密钥完全是另一个话题。

相关问题