场景:敏感信息交换(1)从客户端到服务器和(2)从服务器到客户端。
问题:交换的数据没有加密,所以嗅探很容易(理论上总是可能的,对吧?)
解决方案:加密在任一方向(服务器到客户端和客户端到服务器)传输的所有数据。
实施:
(1) 客户端到服务器 - 生成证书,在服务器上安装私钥并配置 Tomcat 以在 HTTPS 上工作(网上有很多教程)。
(2) 服务器到客户端 - 私钥转到客户端(或由客户端生成),但似乎有些教程强烈强调每个客户端都应该拥有自己的证书以进行身份验证。
问题:如果我已经通过数据库用户名/密码(用盐散列)组合验证我的用户,但我仍然需要加密服务器到客户端的数据传输以减少嗅探的机会,我可以只为所有人生成一个私钥吗?客户?还有其他方法可以使用 Tomcat/Spring 实现我所需要的吗?