发送时间戳的意义是什么?

问题描述

据我所知,数字签名正在发生什么:

@H_502_3@Bob creates message and timestamp: M + Timestamp = L
Bob hashes the L: H(L)
Bob signs the H(L) with his private key: Sign(H(L))
Bob sends this signature and L to Alice: L || Sign(H(L))
Alice open H(L) with Bob's public key.
Alice hashes the L: H(L)
Alice compares if the H(L)s match.
If so source integrity has been established. Thus,we can ensure that message is sent by Bob.

那么为什么我们要在消息中包含时间戳?我们已经知道消息是来自Bob的,检查时间戳是否有延迟的意义是什么?

解决方法

如果爱丽丝检查邮件的年龄和/或收集已经接收到的邮件的时间戳,她可以防御重播攻击。

重播攻击是指有人从Bob捕获了真实消息,但后来又(或改为)发送了该消息。