Google CloudSQL documentation声明数据在传输和静止时已加密。
我在Django应用程序中使用pgcrypto来加密敏感信息。但是我想知道这样做有什么意义,因为它已经在加密了。我唯一可以想象的是一个事件,其中部署代码的Google App Engine服务器遭到破坏,数据库的密码以某种方式泄露 - 黑客最终可以在读取它时访问未加密的数据。但是即使使用pgcrypto,如果GAE服务器遭到入侵,他们仍然可以运行代码来获取未加密的数据。
我是否过度思考这个?我们的目标是为最终用户提供尽可能多的“障碍”,以确保他们的数据完全安全。我有一种感觉,我真的不需要pgcrypto,但寻找受过良好教育的回复。
答案 0 :(得分:0)
受过良好教育的答案是:是的。
CloudSQL提供的底层加密就像OS X提供的FileVault
- 你的东西真的是加密的,但是如果你已经登录,那么一切都是世界可读的。
主要担心的是您或能够危害您服务器的人能够以纯文本格式读取数据。数据需要加密,我个人超越了大多数数据库提供的默认AES 128位,并切换到带有初始化向量的AES 256位(每个加密内容不同)。这将确保即使您自己也能加密,无法访问和无法读取数据。是的,您的代码最终能够解密,但存储和保护解密密钥完全是另一个主题。