假设A和B之间通过不安全介质进行加密通信,以便A和B与DH协议共享密钥。
如果A向B发送加密消息和该消息的散列/ MAC / HMAC,窃听者是否容易拦截散列/ MAC / HMAC,更改其中的一些位,并发送它到B?
B将无法检查A发送的所有消息的完整性,因此每次从A收到消息时都会销毁它们,对吗?
B将变为不可用???
谢谢
答案 0 :(得分:1)
您描述的过程只是破坏数据的一种非常具体的形式。如果攻击者可以破坏数据,那么攻击者当然可以阻止A对B说话。攻击者可以将数据包丢弃在地面上。这也会阻止A与B说话。
任何数据损坏,而不仅仅是修改HMAC,都会导致同样的情况。如果我修改了经过身份验证的流,那么(未修改的)HMAC将不匹配,它将被丢弃。
HMAC的目的是确保完整性。它与可用性无关。只要连接通过它们,任何系统中的任何人都可以轻易地破坏任何系统中的可用性。 (如果他们不能,他们就不是MitM。)