比方说,有一个在线日记的网站。用户将其秘密上传到Web服务器并存储在数据库中。通常,没有密码的用户无法看到日记项目。但是,Web管理员或数据库管理员仍然可以连接到数据库并查看所有内容。
是否有解决方案可以防止这种情况发生?我的意思是整个Web应用程序的解决方案,不仅适用于单个用户。
答案 0 :(得分:1)
客户端javascript可以在保存之前使用仅为客户端知道并且从未发送到服务器的密钥对内容进行加密。
但是,服务器可以随时开始提供将密钥发送回服务器的恶意JS。使这个不可能的唯一方法是使您的应用程序成为可安装的客户端应用程序(通过扩展或其他任何 - 但没有任何自动更新)。此外,除非用户可以验证应用正在做什么,否则所有这种偏执都是毫无意义的,因此它需要是开源的。
此时你基本上是在编写GnuPG,所以你不妨使用它。