On August 4, 2005 at 13:50, "Arvel Hathcock" wrote:
However, message signatures offer _no_ authenticated identifier prior to
resources being committed.
Such is the nature of message signatures in headers. But, there are still
substantial resource savings because, although you have to go as far as the
DATA command and expend some bandwidth and disk (or RAM) to accept the
message, you can always verify the signature before going any further. In
my MTA's case, DKIM can lead to the rejection of a message which represents
SUBSTANTIAL resource savings because the message won't have to go through
subsequent content-filtering (at the system and user levels), anti- virusing,
or SpamAssassin'ating.
You could potentially save even a little more if the data that is signed is completely in the message headers. For example, if a separate hash of the body is computed and placed in the DKIM-Signature field, the cryptographic signature would be limited to header only data while still protected the integrity of the body.
If the signature fails, there is no need to compute the hash of the body.
The separate hash of the body also allows for limited verification of a message when the body data is not available.