On 09/Nov/10 03:05, John R. Levine wrote:
>>  "Signers SHOULD take reasonable steps to ensure
>>  that the messages they're signing are valid according to [RFC 5322,
>>  etc]."  Leaving the definition of "reasonable" out allows flexibility.  It
>>  may be waffly, but I like the approach in this case.
>
> This is OK, but it misses the scenario where a bad guy takes an existing
> signed message and prepends another Subject: or From: header.  It's more
> effective to address this in the verifier.

I'd agree on the effectiveness of that approach from a software design 
POV only.  Designing specifications may involve different 
considerations...

>>  3. It'd be reasonable for the DKIM spec to remind verifiers that
>>  signers aren't supposed to sign stuff like this, so they might
>>  consider that when deciding what to do with it after verification.
>>  It'd be reasonable to remind them of this particular case.  But
>>  I think that all ought to be informative text.
>
> I don't feel strongly about how normative we make the language, but I do
> think it would be a good idea to encourage verifiers not to say the
> signature is valid on a message with extra headers, even if it
> mechanically verifies.  This catches both the sloppy signer and the
> hostile intermediary.
>
> FWIW, my DKIM verifier has for several weeks rejected anything which has
> an extra of any of these [omitted] headers:

Thanks for putting it that way, John.  It makes it easier to clear the 
issue:  I think everybody agrees that DKIM specifications say nothing 
about rejecting.  Therefore, John's software is called a "DKIM 
verifier" somewhat improperly.  It /includes/ a DKIM verifier, but 
also acts as a band-pass message filter.

IMHO, strong feelings about this issue come up from misunderstandings 
about these roles.  On the one hand we have a normative definition of 
the mechanical properties of signatures.  On the other hand we want to 
deal with MTA behavior, since that is the mechanism's semantics.  One 
problem of tackling both topics within the same document is that 
making normative statements about MTA behavior may result in confusion 
between semantic validation and mechanical verification.

At this point I would rephrase the third paragraph of Murray's "Take 
two" for 8.14 Malformed Inputs, as follows:

  Because of this, DKIM implementations for MTAs are strongly advised
  to couple with message filters who can complement their MTA's native
  checks and reject or treat as suspicious any message that has
  multiple copies of header fields that are disallowed by section 3.6
  of [MAIL], particularly those that are typically displayed to end
  users (From, To, Cc, Subject).  A signing module could return an
  error rather than generate a signature;  a verifying module might
  return a syntax error code or arrange not to return a positive
  result even if the signature validates according to normative DKIM
  specification.

However, referring to another document --either ADSPbis or 
draft-kucherawy-mta-malformed-- may allow for stronger and clearer 
language.  For example, setting "dkim=fraud" in an A-R field would not 
be confused with broken signatures like "dkim=fail (technically pass)".
_______________________________________________
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html

Reply via email to