Owe*_*enK 4 python encryption django django-models
客户希望确保我无法从他们的网站读取敏感数据,这些数据仍由我管理.实际上,这意味着我将拥有数据库访问权限,但我无法读取某些模型字段的内容.有没有办法让我无法访问数据,但仍然由服务器解密以供客户端浏览?
这可以通过公钥加密实现.我之前在PHP中做过类似的事情,但对于Django应用程序的想法是一样的:
本网站上的所有数据均使用系统软件持有的私钥加密存储.客户端在文本文件中保存用于解密数据的相应公钥.
当客户端想要访问他们的数据时,他们将公钥粘贴到授权表单中(在会话中保存密钥),该表单解锁数据.
完成后,他们取消了对会话的授权.
这保护了信息免受授权访问Web应用程序(因此可以安全地防止弱用户名/密码)以及数据库级别的泄漏.
这仍然不是完全安全的:如果您具有对计算机的root访问权限,则可以在上载密钥时捕获密钥,或检查会话信息.为此,可以在客户机器上运行读取软件并通过API访问数据库.
我意识到这是一个古老的问题,但我想我会澄清它确实是可能的.