使用 SSL 代理时可以创建 mTLS 连接吗?

使用 SSL 代理时可以创建 mTLS 连接吗?

我正在使用 SSL/TLS 代理,这意味着我已在所有客户端上安装 CA,允许我中断/解密其 TLS 连接。我试图确定 mTLS 连接会发生什么,以及客户端是否有可能与 mTLS 建立成功连接,同时仍允许我的代理对流量进行中间人攻击。此外,我可以编辑流量还是只是拦截/解密它?我无法访问或控制客户端尝试连接的服务器。

我认为,通过将有效的客户端证书发送到目标服务器,我至少可以成功建立连接并解密流量。我本质上是在模仿客户端,但我可以使用自己的受信任密钥伪造连接的服务器端,这样我就可以保留解密从客户端到目标服务器的消息的能力,但我不确定我是否可以解密服务器的响应。

我还不知道当两台主机尝试建立对称密钥时接下来几个步骤会发生什么。

答案1

使用 mTLS 时,服务器和客户端证书的身份验证都在 TLS 握手过程中完成,并且在发送任何应用程序数据之前

MITM 代理可以向客户端提供受信任的服务器证书,因为代理 CA 受到客户端信任。但是,无法向服务器提供受信任的客户端证书:由于代理中缺少匹配的私钥,因此无法传递原始客户端证书。由于服务器不信任该证书,因此也无法创建新证书或提供其他证书。

这意味着 TLS 握手将失败。这也意味着不会发送任何申请数据首先,没有方向。这也意味着没有任何内容需要解密,无论是从客户端到服务器的数据,还是从服务器到客户端的数据。

相关内容