我正在编写PHP
用于安全加密通信的私人消息系统。
每次用户注册一个帐户时,我都会创建一个新的 RSA 私钥phpseclib
,并使用用户的密码对其进行加密,AES
该密码将安全地存储在数据库中并经过哈希处理和加盐处理。
每次用户使用他的密码登录时,他还应该解锁他的私钥并即时维护它。
该脚本显然只在 SSL 连接下运行。
问题是我需要在用户会话中维护私钥的非加密版本,以确保他能够阅读每条消息并编写新消息,而无需在每次页面刷新时插入密码。
存储在 PHP Session 中并不是一个安全的解决方案,因为 PHP Sessions 仍然存储在服务器上并且可能被破坏。
将其存储在 Cookie 中并不是一个好的解决方案,因为 Cookie 很容易被窃取(但这样我将用户的命运掌握在自己手中)。
是否可以使用 ajax 来维护 PHP 变量(不是 Session)中的密钥并且从不刷新页面但使用 ajax 获取和写入消息?还是有更好的解决方案?
提前致谢。