我正在为我自己开发(作为 PHP 5.2 + MySQL 应用程序)一个个人信息管理器 Web 应用程序,该应用程序旨在托管在共享主机(如 bluehost 或 dreamhost)上,并存储许多非常机密的个人数据,包括密码等、个人私钥、财务详细信息、联系人等。如何最好地保护这些数据?
我看到以下弱点:
- 黑客或主机管理员对主机的物理访问。
- 嗅探主机和客户端之间的解密数据。
- 在实际发送之前嗅探主机上的解密数据。
和明显的解决方案:
- 在客户端加密和解密(在 JavaScript 或 Java 小程序中),服务器仅使用已加密的数据进行操作。
- 使用 HTTPS。
- 见§1。
有没有更好的想法和已知的良好实现,包括。有什么框架吗?
我对以下语言感兴趣:PHP(5.3 或 5.2)、Ruby、C#4、JavsScript(Firefox 3.7)、Java(1.6)。