我有一个配置了 和 的 apache 2.4 服务器mod_auth_form
,mod_session
用于mod_session_crypto
加密会话 cookie 的内容。
如果我没记错的话,默认加密应该是使用 OpenSSL 和 aes256 密码。这是一种使用私钥和公钥的非对称密码。我不太明白这个SessionCryptoPassphrase
指令。这个密码到底是用来做什么的?文档中是这样描述的:
SessionCryptoPassphrase 指令指定用于启用对称在写入会话之前对会话内容进行加密,或者在读取会话之后对会话内容进行解密。
最后,我的问题是,这样加密的 cookie 有多安全?它们仍然包含用户名和密码,只是经过了加密。黑客可以破解它并访问其中的数据吗?知道这个密码短语后,黑客能否获取 cookie 中的信息?
答案1
https://github.com/winlibs/apache/blob/master/2.4.x/modules/session/mod_session_crypto.c#L156用途https://apr.apache.org/docs/apr-util/1.6/group___a_p_r___util___crypto.html#ga98dea2011c0e173ab1f059c5a9ea8b14它根据提供的密码生成密钥。我不清楚 IV 是如何设置/确定的,但它们至少使用 CBC 模式,因此看起来足够安全。
不幸的是,我想与另一个后端应用程序共享 cookie,并且尝试使用mod_session_dbd
似乎比完全复制 KDF 更容易,即使使用相同的密码。