我应该加密CloudSQL数据库中的数据吗?

时间:2017-05-27 13:03:39

标签: django google-app-engine encryption google-cloud-sql pgcrypto

Google CloudSQL documentation声明数据在传输和静止时已加密。

我在Django应用程序中使用pgcrypto来加密敏感信息。但是我想知道这样做有什么意义,因为它已经在加密了。我唯一可以想象的是一个事件,其中部署代码的Google App Engine服务器遭到破坏,数据库的密码以某种方式泄露 - 黑客最终可以在读取它时访问未加密的数据。但是即使使用pgcrypto,如果GAE服务器遭到入侵,他们仍然可以运行代码来获取未加密的数据。

我是否过度思考这个?我们的目标是为最终用户提供尽可能多的“障碍”,以确保他们的数据完全安全。我有一种感觉,我真的不需要pgcrypto,但寻找受过良好教育的回复。

1 个答案:

答案 0 :(得分:0)

受过良好教育的答案是:是的。

CloudSQL提供的底层加密就像OS X提供的FileVault - 你的东西真的是加密的,但是如果你已经登录,那么一切都是世界可读的。

主要担心的是或能够危害您服务器的人能够以纯文本格式读取数据。数据需要加密,我个人超越了大多数数据库提供的默认AES 128位,并切换到带有初始化向量的AES 256位(每个加密内容不同)。这将确保即使您自己也能加密,无法访问和无法读取数据。是的,您的代码最终能够解密,但存储和保护解密密钥完全是另一个主题。