[ietf-dkim] multiple query mechanisms, was Today's jabber

Eric Allman eric at neophilic.com
Fri May 19 15:03:01 PDT 2006


[I chose Paul's message to reply to more or less at random --- it's 
really a response to the thread.]

I'm leaning toward SHOULD, in part because of Paul's quoting of 2119:

> 3. SHOULD   This word, or the adjective "RECOMMENDED", mean that
> there
>     may exist valid reasons in particular circumstances to ignore a
>     particular item, but the full implications must be understood
> and
>     carefully weighed before choosing a different course.
> . . .
>     Imperatives of the type defined in this memo must be used with
> care
>     and sparingly.  In particular, they MUST only be used where it
> is
>     actually required for interoperation or to limit behavior which
> has
>     potential for causing harm (e.g., limiting retransmisssions)
> For
>     example, they must not be used to try to impose a particular
> method
>     on implementors where the method is not required for
>     interoperability.
>
> ...
>
> Can you give an example of how you think the two might differ in
> light of:
>     If there are
>     multiple query mechanisms listed, the choice of query mechanism
>     MUST NOT change the interpretation of the signature.

Speaking pragmatically, there are a couple of reasons I can think of 
where the signer might prefer that verifier query in a particular 
order:

* One mechanism might scale better than another, for example, the 
signer might have a big honking http-based server (postulating for a 
moment a future http-based key query algorithm) and a measly little 
DNS server.

* A signer might be in the process of transitioning, and would like 
to measure how many verifiers really need the old mechanism.

* There might be some "information skew" between different sources 
--- for example, one is a cache which lags another source slightly.

* One might be a copy that the signer would prefer be used, but the 
signer is willing to have verifiers use the direct source if the copy 
is down.  In some sense this is the same argument as MX records with 
non-equal weights.

All that said, you can't force the verifier to do anything, hence 
MUST is inappropriate.  SHOULD feels right to me.

(And yes, I realize that the "skew" argument violates the principal 
that the sources should all be equivalent, but pragmatically it's not 
likely that the signer is going to implement a transaction-based 
store across multiple different technologies.  And besides, there's 
skew in DNS, so we can't escape it.)

eric


More information about the ietf-dkim mailing list