具有客户端证书的 TLS(/ 由负载均衡器处理)是否提供不可否认性和消息完整性



所以,有几个问题:

1) 在 TLS 期间使用客户端证书是否提供非重新定义?

1a) 跟进:如果是这样,让负载均衡器处理事务是否仍然在终端服务器/服务级别提供这种保证?

2/2a) 与上述问题相同,但为了消息完整性。

我知道MLS的答案,但我不确定TLS。如果我理解正确,TLS 涉及建立共享密钥的握手,并且用于保护管道 - 所以这些东西都不成立,因为每条消息仅使用共享密钥。

在 TLS 期间使用客户端证书是否提供非复查?

不。这是不幸的,因为它涉及实现它所需的一切,除了使数字签名可用。也许可以作为专家证人站在法庭上,并证明由于这一切都发生在幕后,交易无论如何都应该是不可否认的,但我更愿意能够在法庭上出示实际的数字签名。那么就没有什么可争论的了。

2/2a) 与上述问题相同,但为了消息完整性。

TLS 提供消息隐私、消息完整性和至少一个对等方的身份验证(除非您破坏了它)。它不提供授权,也不提供上述不可否认性。

  1. 在 TLS 期间使用客户端证书是否提供非复查?

1a) 跟进:如果是这样,让负载均衡器处理事务仍然在终端服务器/服务上提供此保证水平?

TLS 是关于传输级别安全性的(因此称为传输层安全性)。它旨在根据规范保护客户端和服务器(可能是负载平衡器)之间的通信:

TLS 协议的主要目标是提供隐私和数据
两个通信应用程序之间的完整性。

原则上,您可以保留整个 TLS 交换,特别是保留握手以证明客户端证书对证书验证消息的内容进行了签名。您还必须保留各种生成/计算的中间值(特别是主密钥,以及随后的共享密钥)。这有一个问题:TLS 规范要求(仅使用"应该")删除预主密钥。这可能会使证明从数据返回到客户端证书的路径变得相当困难。(您当然也必须调整SSL/TLS堆栈来记录所有这些。

此外,记录所有这些将在应用程序协议下进行(此处假设HTTPS,但同样适用于其他协议)。在您获得不想否认的实际数据之前,这肯定是另一层。(问题是您可能必须记录整个会话以进行证明,而无法选择使用请求/响应进行隔离。

在会话恢复(例如)和通常并行请求方面,您还可能遇到更多问题。这肯定会增加混乱。

总的来说,这不是TLS的设计目的。不可否认性是关于能够保留交换的证据,可能能够在法庭或类似场合展示它。向人们(可能没有技术背景)解释如何在相关数据和客户端证书之间建立链接可能具有挑战性。

2/2a) 与上述问题相同,但为了消息完整性。

TLS 保证了通信的完整性(请参阅规范简介)。(当然,所有这些都是只要客户端正确验证服务器证书,尽管如果您使用的是客户端证书,您应该能够检测到 MITM。

完整性将仅在 TLS 连接结束之前得到保证。如果您使用的是负载均衡器,这将是负载均衡器本身。(当然,最好通过可信任的网络将负载均衡器链接到其工作节点。

如果您追求的是客户端可以发送不可否认性消息的系统(可以在以后进行审核),则应研究消息级解决方案。

最新更新