0

所以,有几个问题:

1) 在 TLS 期间使用客户端证书是否提供不可否认性?

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

2/2a) 与上述相同的问题,但针对消息完整性。

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

4

2 回答 2

2

在 TLS 期间使用客户端证书是否提供不可否认性?

不,这是不幸的,因为它参与了实现它所需的一切,除了使数字签名可用。有可能作为专家证人在法庭上站起来,并提出一个案例,因为这一切都发生在幕后,交易无论如何都应该是不可否认的,但我更愿意能够产生一个实际的数字签名法庭。那么就没有什么好争论的了。

2/2a) 与上述相同的问题,但针对消息完整性。

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

于 2012-06-28T11:39:21.127 回答
1
  1. 在 TLS 期间使用客户端证书是否提供不可否认性?

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

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


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

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

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

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

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

2/2a) 与上述相同的问题,但针对消息完整性。

TLS 保证了通信的完整性(参见规范介绍)。(当然,所有这一切,前提是客户端正确验证了服务器证书,尽管如果您仍然使用客户端证书,您应该能够检测到 MITM。)

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

如果您正在使用客户端可以发送不可否认消息的系统,并且可以在以后进行审核,那么您应该研究消息级别的解决方案。

于 2012-06-28T00:18:08.967 回答