NGINX社区官方微服务训练营,深入了解K8s网络,线上课程+专家答疑,立即加入>>>
环境:PC网站,HTTP
背景:用户登录网站时,输入账号密码,POST之前,先用RSA的js库加密密码再提交,以保障密码传输过程中的安全。
但是RSA的公钥私钥并非每次打开登录页时服务端动态生成一对全新的公钥私钥,而是把一个事先生成的静态公钥固定在WEB前端,用户提交密码后在服务端用对应的静态私钥解密。
问题:请问我这样长期用一个固定的RSA公钥加密传输的做法是否安全?
显然不安全。因为这样的话,黑客完全可以监控你的请求数据,然后按原数据重新发送一次相同的登录请求。需要每次登录提交生成一对新的公钥和私钥才行。