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